Revision f12e2ec by Brecht Van Lommel May 26, 2021, 16:27 (GMT) |
Fix buildbot CUDA/OptiX warnings on macOS Explicitly disable these, rather than relying on them not being found. Also, don't duplicates the architectures list. |
Revision de3d54e by Falk David May 26, 2021, 16:23 (GMT) |
GPencil: Cleanup - Conform with RNA naming scheme The newly added `disable_masks_viewlayer` RNA property did not conform with the RNA naming scheme. This renames it to `use_viewlayer_masks`. |
Revision 6b00df1 by Campbell Barton May 26, 2021, 15:52 (GMT) |
Cleanup: shadow warning Move reproject_type into an extern, to avoid declaring multiple times. |
Revision df32b50 by Campbell Barton May 26, 2021, 15:52 (GMT) |
Revision 6cbe5dd by Bastien Montagne May 26, 2021, 15:05 (GMT) |
ID management: remapping: add flag to enforce refcounting handling. While indeally we should only skip refcounting when relevant tag is set, doing this in remapping code is too risky for now. Related to previous commit and T88555. |
Revision 653d39c by Bastien Montagne May 26, 2021, 15:05 (GMT) |
LibOverride: Do not try to generate override data of linked data. This is obviously not saved, and should never be editable, so was only a waste of time. |
Revision daf39af by Bastien Montagne May 26, 2021, 15:05 (GMT) |
IDManagement: Shapekey: add a `owner_get` callback. Even though shepkeys are not strictly speaking an embedded data, they share quiet a few points with those, and from liboverride perspective they are embedded, so... |
Revision 51ca983 by Bastien Montagne May 26, 2021, 15:05 (GMT) |
LibOverride: add helper to retrieve override data from an ID. Embedded IDs do not own their own override data, but rather use the one from their owner. |
Revision 72d6604 by Bastien Montagne May 26, 2021, 15:05 (GMT) |
LibOverride: add recursive resync. Recursive resync means also resyncing overrides that are linked from other library files into current working file. Note that this allows to get 'working' files even when their dependencies are out of sync. However, since linked data is never written/saved, this has to be re-done every time the working file is loaded, until said dependencies are updated properly. NOTE: This is still missing the 'report' side of things, which is part of a larger task to enhance reports regarding both linking, and liboverrides (see T88393). ---------- Technical notes: Implementing this proved to be slightly more challenging than expected, mainly because one of the key aspects of the feature was never done in Blender before: manipulating, re-creating linked data. This ended up moving the whole resync code to use temp IDs out of bmain, which is better in the long run anyway (and more aligned with what we generally want to do when manipulating temp ID data). It should also give a marginal improvement in performances for regular resync. This commit also had to carefully 'sort' libraries by level of indirect usage, as we want to resync first the libraries that are the least directly used, i.e. libraries that are most used by other libraries. |
Revision ee849ca by Bastien Montagne May 26, 2021, 15:05 (GMT) |
ID management: Do not assume that `NO_MAIN` means `NO_USER_REFCOUNT` While this is still very fuzzy in current code, this old behavior makes it close to impossible to efficiently use out-of-main temp data, as it implies that we'd need to update refcounts everytime we add something back into BMain (an 'un-refcount' ID usages when removing from BMain). Now that we have two separate flags/tags for those two different things, let's not merge them anymore. Note that this is somewhat on-going process, still needs more checks and cleanup. Related to T88555. |
Revision 8f9599d by Jeroen Bakker May 26, 2021, 15:03 (GMT) |
DrawManager: Use Compute Shader to Update Hair. This patch will use compute shaders to create the VBO for hair. The previous implementation uses tranform feedback. Timings master (transform feedback with GPU_USAGE_STATIC between 0.000069s and 0.000362s Timings transform feedback with GPU_USAGE_DEVICE_ONLY. between 0.000057s and 0.000122s Timings compute shader between 0.000032 and 0.000092s Future improvements: * Generate hair Index buffer using compute shaders: currently done single threaded on CPU, easy to add as compute shader. Reviewed By: fclem Differential Revision: https://developer.blender.org/D11057 |
Revision 87055dc by Jeroen Bakker May 26, 2021, 14:49 (GMT) |
GPU: Compute Pipeline. With the compute pipeline calculation can be offloaded to the GPU. This patch only adds the framework for compute. So no changes for users at this moment. NOTE: As this is an OpenGL4.3 feature it must always have a fallback. Use `GPU_compute_shader_support` to check if compute pipeline can be used. Check `gpu_shader_compute*` test cases for usage. This patch also adds support for shader storage buffer objects and device only vertex/index buffers. An alternative that had been discussed was adding this to the `GPUBatch`, this was eventually not chosen as it would lead to more code when used as part of a shading group. The idea is that we add an `eDRWCommandType` in the near future. Reviewed By: fclem Differential Revision: https://developer.blender.org/D10913 |
Revision e459a25 by Falk David May 26, 2021, 14:46 (GMT) |
GPencil: Add option to disable masks in view layer This patch adds an option in the Layers > Relations panel called "Disable Masks in Render". When checked, no masks on this layer are included in the render. Example: | {F10087680} | {F10087681} | See T88202 for why this is needed. Reviewed By: antoniov Maniphest Tasks: T88202 Differential Revision: https://developer.blender.org/D11234 |
Revision a6f3bb3 by Falk David May 26, 2021, 14:34 (GMT) |
Merge branch 'blender-v2.93-release' |
Revision d5a5575 by Falk David May 26, 2021, 14:32 (GMT) |
Fix: GPencil mask shows in view layer render Currently when rendering the view layer of a grease pencil layer that has a mask layer attached, the mask layer would show in the rendered image. This is inconsistent with the default behaviour with no mask on the grease pencil layer, because it would only render what's on that particular layer and not anything from any other layer. This patch makes the masks invisible in the render. Note: This might seem like not the best solution, but because masks are just regular grease pencil layers, it's tricky to pass this edge-case to the drawing code. The way it is handled right now is the best I could come up with, without making changes that could affect something else. Reviewed By: antoniov Maniphest Tasks: T88202 Differential Revision: https://developer.blender.org/D11403 |
Revision 3f27efd by Jacques Lucke May 26, 2021, 14:20 (GMT) |
Merge branch 'blender-v2.93-release' |
Revision ba5b4d1 by Jacques Lucke May 26, 2021, 14:06 (GMT) |
Fix T88250: crash when instancing object in disabled collection This issue was that `BKE_object_eval_uber_data` was not called for the text object, because its geometry was not dependent upon and its `is_directly_visible` tag was `false`. The crash happens in rendering code, because the evaluated data is missing. This not only affects text objects, but all object types that have a geometry component that geometry nodes does not support yet. The solution is to just add the missing dependencies. Differential Revision: https://developer.blender.org/D11385 |
Revision 06f86dd by Antonio Vazquez May 26, 2021, 13:43 (GMT) |
GPencil: Bake GPencil object transforms into a new GPencil object This operator is a common request of animators to convert the transformation (inluding modifiers) of one grease pencil object, into a new object, generating strokes. Reviewed By: pepeland Maniphest Tasks: T87424 Differential Revision: https://developer.blender.org/D11014 |
Revision b67423f by Jacques Lucke May 26, 2021, 12:19 (GMT) |
Nodes: fix threading issues with node ui storage Calling BKE_nodetree_attribute_hint_add from multiple threads still was not safe before.. One issue was that context_map embedded its values directly. So when context_map grows, all NodeUIStorage would move as well. I could patch around that by using std::unique_ptr in a few places, but that just becomes too complex for now. Instead I simplified the locking a bit by adding just locking a mutex in NodeTreeUIStorage all the time while an attribute hint is added. Differential Revision: https://developer.blender.org/D11399 |
Revision afec66c by Jacques Lucke May 26, 2021, 10:25 (GMT) |
Fix T88588: crash when muting node with multi input socket The bug existed before the new evaluator already, but the new evaluator is more sensitive to this kind of error. |
|
|
|


Master Commits
MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021