Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-14Merge remote-tracking branch 'origin/blender-v3.1-release'Kévin Dietrich
2022-02-14Fix T95177: GPU subdiv crashes mirror modifier in edit-modeKévin Dietrich
The issue has two causes: on one hand origin indices were not handled properly, on the other hand the extraction type (Mesh, BMesh, or mapped) was not detected correctly. For the second case reuse the MeshRenderData creation from the coarse code path so that we make the same decisions. Loose geometry extraction had to be updated to properly handle the BMesh cases. For the origin indices, in some cases (for edges and faces), the arrays used by the subdivision code already have the origin indices baked into them, so mapping them a second time through the origin index layer is wrong, and could cause out of bounds accesses. For vertices especially, we would use two arrays: one for mapping subdivision vertices to coarse vertices, and another one to map coarse vertices to subdivision loops used for the selection index buffer. The second one is now removed (which saves a bit of memory) as it is did not have the proper data setup for use with the origin indices and we can easily compute it using the first array anyway.
2022-02-14Fix (studio reported) crash in new resync code.Bastien Montagne
We do not always resync/replace the root ID of a hierarchy now that we do partial resync.
2022-02-14Merge branch 'blender-v3.1-release'Bastien Montagne
2022-02-14Fix T95601: Missing handling of keyingsets ID pointers in ↵Bastien Montagne
lib_query/foreach_id code. This will have to be backported to 2.93 and possibly 2.83 if possible.
2022-02-14Merge remote-tracking branch 'origin/blender-v3.1-release'Sybren A. Stüvel
2022-02-14Fix segfault calling `id_properties_ui("prop").update()`Sybren A. Stüvel
Fix segfault when calling `some_id.id_properties_ui("propname").update()`, i.e. call the `update()` function without any keyword arguments. In such a case, Python passes `kwargs = NULL`, but `PyDict_Contains()` is not `NULL`-safe.
2022-02-14Merge branch 'blender-v3.1-release'Jeroen Bakker
2022-02-14Cleanup use c style comments.Jeroen Bakker
2022-02-14Fix T95725: Changing render slot doesn't update displayed image.Jeroen Bakker
Fixed by checking the requested pass, layer and view against the previous used one.
2022-02-14Phase out IMA_GPU_REFRESH.Jeroen Bakker
IMA_GPU_REFRESH is replaced by BKE_image_partial_update_mark_full_update and should not be used anymore.
2022-02-14Merge branch 'blender-v3.1-release'Jeroen Bakker
2022-02-14Fix T95699: Compostior backdrop not updated.Jeroen Bakker
The Viewer marked the gpu texture to be out of date. But it should have used the mark_full_update as the gpu textures are only used by the render/draw engines. The image/node editor uses the image engine that have its own GPU textures.
2022-02-14Image Engine: Remove region_uv_bounds.Jeroen Bakker
They have been replaced by clipping_uv_bounds. Using region_uv_bounds could lead to problems when drawing the compositor backdrop.
2022-02-14Image Engine: Limit the number of interal textures.Jeroen Bakker
Currently one a single texture slot is used to update the screen. Current design is implemented to use multiple textures. for now limit the number of texture slots to 1.
2022-02-14Merge branch 'blender-v3.1-release'Jacques Lucke
2022-02-14Fix T95749: missing update when normal node changesJacques Lucke
This node is a bit of a weird case, because it uses the value stored in an output socket as an input. So when we want to determine if the Dot changed, we also have to check if the Normal output changed. A cleaner solution would be to refactor this by either storing the normal on the node directly (instead of in an output socket), or by exposing it by a separate input. This refactor should be done separately though.
2022-02-14GNUmakefile: update arguments for 'doc_man' targetCampbell Barton
Add '--verbose' argument to the script so the destination is printed. Otherwise there is no hint to where the man page was written.
2022-02-14GNUmakefile: remove package targets that no longer existCampbell Barton
2022-02-14GNUmakefile: don't echo output for checking utilities & docsCampbell Barton
When running checkers, showing commands to activate them adds noise.
2022-02-14GNUmakefile: use PYTHON variable instead of python3Campbell Barton
Also update the Python3 binary on macOS.
2022-02-13Cleanup: Clang tidyHans Goudey
Use using instead of typedef, remove redundant string init, use "empty", address qualified auto, use nullptr.
2022-02-13Cleanup: Optimize gl query code pathJesse Yurkovich
Currently whenever gl queries are performed for the viewport, a large 1024 byte array is allocated to store the query results (256 of them). Unfortunately, if any gizmo using a `draw_select` callback is active (e.g. the transform gizmos), these queries (and allocations) will occur during every mouse move event. Change the vector to allow for up to 16 query results before making an allocation. This provides enough space for every built-in gizmo except Scale Cage (which needs 27 queries). It also removes unnecessary allocations from two other related vectors used during query processing. Differential Revision: https://developer.blender.org/D13784
2022-02-12Fix (unreported): Issues with 'SNAP_NOT_SELECTED' for pose and edit modesGermano Cavalcante
This is a regression partially introduced in rB0a6f428be7f0. Bones being transformed into edit mode were snapping to themselves. And the bones of the pose mode weren't even snapping. (Curious that this was not reported).
2022-02-12Fix T94860: GPencil - Avoid drift in Sculpt when mouse/pen is not movedAntonio Vazquez
This fix avoid the drif checking if the previous position is equals to new one, in this case, the pen has not moved and can be canceled. Differential Revision: https://developer.blender.org/D13870
2022-02-12Merge branch 'blender-v3.1-release'Aaron Carlisle
2022-02-12Fix T91423: View Animation not working with stereoscopic animationsAaron Carlisle
The animation playback did not take into account individual stereoscopic views. This patch fixes this by playing back the active view render. Reviewed By: campbellbarton Maniphest Tasks: T91423 Differential Revision: https://developer.blender.org/D14070
2022-02-12Merge branch 'blender-v3.1-release'Brecht Van Lommel
2022-02-12Cycles: Fix Metal kernel compilation for AMD GPUsMichael Jones
Workaround for a compilation issue preventing kernels compiling for AMD GPUs: Avoid problematic use of templates on Metal by making `gpu_parallel_active_index_array` a wrapper macro, and moving `blocksize` to be a macro parameter. Reviewed By: brecht Differential Revision: https://developer.blender.org/D14081
2022-02-12Cycles: Removed redundant/buggy code in multiscatter BSDFStefan Werner
A zero length vector was normalized and the resulting NaN used in further calculations. This caused trouble on some compilers when using fast math. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D14058
2022-02-11Merge branch 'blender-v3.1-release'Brecht Van Lommel
2022-02-11Cycles: enable Metal on AMD GPUs, set macOS minimum versionsMichael Jones
* Apple Silicon support enabled on macOS 12.2+ * AMD support enabled on macOS 12.3+ This patch also fixes a device enumeration crash on certain AMD configs which was caused by over-release of MTLDevice objects. Differential Revision: https://developer.blender.org/D14090
2022-02-11UI: Improve node drop shadowLeon Schittek
Improve the nodes' drop shadow by making it scale with the view and replace the loop for the alpha calculation with something more explicit. The amount of drop shadow softness was scaled with the zoom level and therefore had a fixed screen space size. DPI and UI scale weren't taken into account either. This patch fixes both issues by basing the shadow softness on the `widget_unit` that scales correctly in zoomable views and takes UI scale etc. into account. Differential Revision: https://developer.blender.org/D13356
2022-02-11Fix missing license file from last commitBrecht Van Lommel
2022-02-11Cycles: show Metal device in preferences also on Intel MacsBrecht Van Lommel
In anticipation of enabling AMD Metal support. Ref D14090, T92212
2022-02-11Cycles: use SPDX license headersBrecht Van Lommel
* Replace license text in headers with SPDX identifiers. * Remove specific license info from outdated readme.txt, instead leave details to the source files. * Add list of SPDX license identifiers used, and corresponding license texts. * Update copyright dates while we're at it. Ref D14069, T95597
2022-02-11Fix (studio-reported) liboverrides potential infinite loop in hierarchy root ↵Bastien Montagne
doversion. Drivers make it way too easy to create dependenciy loops between IDs, so need to use the same trick as in other dependency-following code in this file to prevent those infinite loops. hard to predict for sure how bad of a hierarchy root this can end up producing, but in general cases think this should be OK.
2022-02-11Merge branch 'blender-v3.1-release'Sergey Sharybin
2022-02-11Fix Cycles compilation on 32bit ARM platformSergey Sharybin
The rbit instruction is only available starting with ARMv6T2 and the register prefix is different from what AARCH64 uses. Separate the 32 and 64 bit ARM branches, add missing ISA checks. Made sure the code works as intended on macMini with Apple silicon, and on Raspberry Pi 4 B running 32bit Raspbian OS. Differential Revision: https://developer.blender.org/D14056
2022-02-11LibOverride: Add partial resync.Bastien Montagne
Reduce compute effort of liboverrides resync process by only re-syncing the parts of the override hierarchy that actually need it. The main change compared to existing code (which was systematically resyncing a whole override hierarchy), is that resyncing now operates over several sub-hierarchies at once, each defined by their own 'resync root' ID. This ensures that we do not get several new overrides for the same data inside of the same hierarchy. Implements T95682. Differential Revision: https://developer.blender.org/D14079
2022-02-11Merge branch 'blender-v3.1-release'Brecht Van Lommel
2022-02-11Remap multiple items in referenced data.Jeroen Bakker
This patch increases the performance when remapping data. {D13615} introduced a mechanism to remap multiple items in a single go. This patch uses the same mechanism when remapping data inside ID datablocks. Benchmark results when loading the village scene of sprite fright on AMD Ryzen 7 3800X 8-Core Processor Before this patch 115 seconds When patch applied less than 43 seconds There is still some room for improvement by porting relink code. Reviewed By: mont29 Maniphest Tasks: T95279 Differential Revision: https://developer.blender.org/D14043
2022-02-11Helper functions for IDRemapper.Jeroen Bakker
Adds helper functions to debug IDRemapper data structure. `BKE_id_remapper_result_string` converst a given IDRemapperApplyResult to a readable form for logging purposes. `BKE_id_remapper_print` prints out the rules inside a IDRemapper struct.
2022-02-11Docs: add license text files for all SPDX identifiersBrecht Van Lommel
2022-02-11Cycles: refactor to keep session thread alive for duration of sessionBrecht Van Lommel
Instead of creating and destroying threads when starting and stopping renders, keep a single thread alive for the duration of the session. This makes it so all display driver OpenGL resource allocation and destruction can happen in the same thread. This was implemented as part of trying to solve another bug, but it did not help. Still I prefer this behavior, to eliminate potential future issues wit graphics drivers or with future Cycles display driver implementations. Differential Revision: https://developer.blender.org/D14086
2022-02-11Fix T95420: Cycles crash with stereo render and tilesBrecht Van Lommel
For reasons unclear, destroying and then recreating a vertex buffer in the render OpenGL context is affecting the immediate mode vertex buffer in the draw manager OpenGL context. Instead just create a single vertex buffer and use it for the lifetime of the render OpenGL context. There's not really any need to have a separate one per tile as far as I can tell. Differential Revision: https://developer.blender.org/D14084
2022-02-11Tests: enable full Cycles Metal device regression tests on buildbotBrecht Van Lommel
Now that all tests are passing. This does add about 5 minutes to the macOS builds on buildbot. Ref T92212
2022-02-11Cycles: support rendering attributes for Curves objectsKévin Dietrich
This adds support for exporting attributes from a Blender Curves object to Cycles. The implementation follows that of the Mesh object. This also creates motion blur data if the "velocity" attribute is present on the Curves. Ref T94193 Reviewed By: brecht Maniphest Tasks: T94193 Differential Revision: https://developer.blender.org/D14088
2022-02-11Merge remote-tracking branch 'origin/blender-v3.1-release'Kévin Dietrich
2022-02-11Fix T95698: deadlock with GPU subdivisionKévin Dietrich
Multithreaded tasks have to be isolated when holding a mutex, which was missing for the generation of the subdivision wrapper.