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
2021-11-10Cleanup: Convert interface_region_search.cc to C++temp-interface-region-search-cppHans Goudey
2021-11-10Merge branch 'blender-v3.0-release'Hans Goudey
2021-11-10Cleanup: Use bool instead of intHans Goudey
2021-11-10Merge branch 'blender-v3.0-release'Hans Goudey
2021-11-10Geometry Nodes: Clarify modifier node group errorsHans Goudey
This commit adds modifier error messages to some of the cases where the node group is configured improperly. It also clears the geometry set when there is an error with the node group. This is consistent to what we do in nodes themselves, and feels more intuitive than passing the input geometry through the node group silently. Fixes T87142
2021-11-10Merge branch 'blender-v3.0-release'Hans Goudey
2021-11-10Fix: Incorrect translation search for modifier error messagesHans Goudey
This function was renamed in rB2bb9a465e6c0e1ca765, but it looks like that commit missed changing the corresponding translation regular expression. Differential Revision: https://developer.blender.org/D13171
2021-11-10Fix T92985: CUDA errors with Cycles film convert kernelsPatrick Mours
rB3a4c8f406a3a3bf0627477c6183a594fa707a6e2 changed the macros that create the film convert kernel entry points, but in the process accidentally changed the parameter definition to one of those (which caused CUDA launch and misaligned address errors) and changed the implementation as well. This restores the correct implementation from before. In addition, the `ccl_gpu_kernel_threads` macro did not work as intended and caused the generated launch bounds to end up with an incorrect input for the second parameter (it was set to "thread_num_registers", rather than the result of the block number calculation). I'm not entirely sure why, as the macro definition looked sound to me. Decided to simply go with two separate macros instead, to simplify and solve this. Also changed how state is captured with the `ccl_gpu_kernel_lambda` macro slightly, to avoid a compiler warning (expression has no effect) that otherwise occurred. Maniphest Tasks: T92985 Differential Revision: https://developer.blender.org/D13175
2021-11-10Merge branch 'blender-v3.0-release'Jeroen Bakker
2021-11-10Fix T91518: crash when recalculating looptris after clearing geometry.Jeroen Bakker
When clearing geometry the runtime mutexes of a mesh were freed. This resulted in crashes afterwards. The clear geometry is an RNA function so would only effect when using from scripts. This patch separates init/freeing of the mutexes from other code so they can be used when needed. Reviewed By: mont29 Maniphest Tasks: T91518 Differential Revision: https://developer.blender.org/D13142
2021-11-10Merge branch 'blender-v3.0-release'Jacques Lucke
2021-11-10Fix T92864: curve object does not sync correctly in cyclesJacques Lucke
The issue was that the `object_is_geometry` method was used in two different contexts that expected the function to behave differently. So a recent change that fixed `object_is_geometry` for one context, broke it for the other context. The two contexts are: * Check if a "real" object can contain a geometry to check if it has to be tagged for sync after an update. * Check if an object/instance actually is a geometry that cycles can work with. I created a new `object_can_have_geometry` method for the first use case, instead of trying to adapt the existing object_is_geometry method to serve both uses. Additionally, I changed it so that a BObjectInfo is passed into `object_is_geometry` to make it more explicit when this method is supposed to be used. Differential Revision: https://developer.blender.org/D13135
2021-11-10Merge branch 'blender-v3.0-release'Philipp Oeser
2021-11-10Fix T92979: Emission Strength Animation read wrong in 3.0Philipp Oeser
First this was wrong for files written in 2.93 read into blender in 3.0 after the CyclesX merge. Then this was fixed by versioning in rB6321dd3d4007. But this caused files written in 3.0 to have this versioning applied as well (leading to socket shifting). Now only do the versioning for files created before the CyclesX merge. Maniphest Tasks: T92979 Differential Revision: https://developer.blender.org/D13173
2021-11-10Merge branch 'blender-v3.0-release'Campbell Barton
2021-11-10Merge branch 'blender-v3.0-release'Campbell Barton
2021-11-10Fix T92874: Custom normals reset when vertex is deletedCampbell Barton
Storing and restoring custom normals was broken by 39b2a7bb7e815e051348bf5c5ec777d091324164 This also caused "Sharp Edge" option for Weld by Distance to fail, reported as T92875.
2021-11-10Fix: Hide selection value in resample curve node, fix orderHans Goudey
Selection sockets are meant to come right after the geometry, this was missed in review of rBa7672caeb255e3. Also, the selection value was not hidden.
2021-11-10Cleanup: Move info_stats.c to C++Hans Goudey
2021-11-10Cycles: Adapt shared kernel/device/gpu layer for MSLMichael Jones
This patch adapts the shared kernel entrypoints so that they can be compiled as MSL (Metal Shading Language). Where possible, the adaptations avoid changes in common code. In MSL, kernel function inputs are explicitly bound to resources. In the case of argument buffers, we declare a struct containing the kernel arguments, accessible via device pointer. This differs from CUDA and HIP where kernel function arguments are declared as traditional C-style function parameters. This patch adapts the entrypoints declared in kernel.h so that they can be translated via a new `ccl_gpu_kernel_signature` macro into the required parameter struct + kernel entrypoint pairing for MSL. MSL buffer attribution must be applied to function parameters or non-static class data members. To allow universal access to the integrator state, kernel data, and texture fetch adapters, we wrap all of the shared kernel code in a `MetalKernelContext` class. This is achieved by bracketing the appropriate kernel headers with "context_begin.h" and "context_end.h" on Metal. When calling deeper into the kernel code, we must reference the context class (e.g. `context.integrator_init_from_camera`). This extra prefixing is performed by a set of defines in "context_end.h". These will require explicit maintenance if entrypoints change. We invite discussion on more maintainable ways to enforce correctness. Lambda expressions are not supported on MSL, so a new `ccl_gpu_kernel_lambda` macro generates an inline function object and optionally capturing any required state. This yields the same behaviour. This approach is applied to all parallel_... implementations which are templated by operation. The lambda expressions in the film_convert... kernels don't adapt cleanly to use function objects. However, these entrypoints can be macro-generated more concisely to avoid lambda expressions entirely, instead relying on constant folding to handle the pixel/channel conversions. A separate implementation of `gpu_parallel_active_index_array` is provided for Metal to workaround some subtle differences in SIMD width, and also to encapsulate some required thread parameters which must be declared as explicit entrypoint function parameters. Ref T92212 Reviewed By: brecht Maniphest Tasks: T92212 Differential Revision: https://developer.blender.org/D13109
2021-11-09Fix: Incorrect assert in dot grid drawingHans Goudey
It's totally valid for the grid levels to be zero.
2021-11-09Merge branch 'blender-v3.0-release'Hans Goudey
2021-11-09Fix: Crash with no active object after recent commitHans Goudey
rBaa13c4b386b13111 added a check for the active object in drawing code, but it missed adding a check for the active base before trying to retrieve its object.
2021-11-09tests/benchmarks: Fix operation on windowsRay Molenkamp
The test script did not work on windows since it had some trouble importing the api module on the blender side of things. turning the file path to the module into a raw string literal sidesteps the backslash issue in the path. Differential Revision: https://developer.blender.org/D13163 Reviewed by: brecht
2021-11-09Merge branch 'blender-v3.0-release'Jacques Lucke
2021-11-09Fix T92908: print warning when instance recursion limit is reachedJacques Lucke
Currently we have a fixed instance recursion limit. While we want to lift this limitation at some point, that is out of scope for a bug fix. For now just print a warning to make it easier to detect the issue. Differential Revision: https://developer.blender.org/D13162
2021-11-09Merge branch 'blender-v3.0-release'Aaron Carlisle
2021-11-09UI: use plural form of "Gizmo" in Gizmo display menusAaron Carlisle
Because the menus list several gizmo visibility settings it makes grammatical sense that the panel name is plural. This also matches the "Overlays" menu.
2021-11-09Cycles: mark both RDNA and RDNA2 as support for HIPBrecht Van Lommel
2021-11-09Merge branch 'blender-v3.0-release'Hans Goudey
2021-11-09Viewport: Remove different outline color for instancesHans Goudey
With instancing becoming more common with geometry nodes, instances are less of a separate thing and more of an essential part of evaluated data. Displaying them with a separate outline, while helpful in some cases, is not worth the lack of visibility or confusion about selected/active status. Information about the performance of the scene due to instancing is always available with the statistics like vertex count, etc. The problems were compounded by the fact that the instancing system is used to output geometry components that don't correspond to the object's original type. So this patch also fixes that problem. Fixes T92079, T81010 Ref T91310 Differential Revision: https://developer.blender.org/D13133
2021-11-09Merge branch 'blender-v3.0-release'Philipp Oeser
2021-11-09Let Unlink Action operator have an undo stepDemeter Dzadik
I noticed while rigging a character and editing actions that the Unlink Action operator had no undo step. Doesn't feel intentional, so this patch adds the necessary flags. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D12346
2021-11-09Fix T92928: Geometry nodes animation decorator wrong for vectorsPhilipp Oeser
Decorators were only added for the first item of an array. Decorators for all items of an array are added: - if the layout is flagged `UI_ITEM_PROP_DECORATE` automatically in `uiItemFullR` or - calling `uiItemDecoratorR` (but only in certain situations, see below) When calling `uiItemDecoratorR` with an index of 0, the following happens: - the index is passed to `uiItemDecoratorR_prop` - that checks with `ui_item_rna_is_expand` if decorators should be added to all items of an array - the check fails (because it only permits RNA_NO_INDEX -- which is -1) So two things we can do: - remain using `uiItemDecoratorR` (that would require to pass an index of RNA_NO_INDEX -- a bad level include -- or -1 - just use `uiLayoutSetPropDecorate` to flag the row properly This patch does later. Differential Revision: https://developer.blender.org/D13159
2021-11-09Merge branch 'blender-v3.0-release'Jacques Lucke
2021-11-09Fix: wrong attribute propagation in Distribute nodeJacques Lucke
Currently the Distribute Points on Faces node does not propagate non-point attributes correctly. That is because it first interpolates the attributes to the point domain on the input mesh, and then propagates them. Differential Revision: https://developer.blender.org/D13148
2021-11-09Merge branch 'blender-v3.0-release'Pablo Vazquez
2021-11-09Cleanup: Remove `SMALL_TRI_RIGHT_VEC` iconPablo Vazquez
Since the recent change to context paths to use the arrow icon instead of the triangle (D13106), the `SMALL_TRI_RIGHT_VEC`is no longer used. This patch removes the icon and all references. - Replace `SMALL_TRI_RIGHT_VEC` with `RIGHTARROW` in Freestyle UI - Remove references to `SMALL_TRI_RIGHT_VEC` and `ICON_SMALL_TRI_RIGHT_VEC`. Fix for built-in add-ons has been done in rBAcc2f71bfe9b0/rBAa84028f8a89a. This will be added to the list of breaking changes [[ https://wiki.blender.org/wiki/Reference/Release_Notes/3.0/Python_API#Breaking_Changes | in the Wiki ]]. Reviewed By: Severin Differential Revision: https://developer.blender.org/D13130
2021-11-09Cycles: add AMD driver version info for HIP on WindowsBrecht Van Lommel
2021-11-09Fix T92645: Cycles OSL crash due use of uninitialized pointerBrecht Van Lommel
Thanks to Ilja Razinkov for identifying the problem and solution.
2021-11-09Merge branch 'blender-v3.0-release'Germano Cavalcante
2021-11-09Fix T92939: Crash on drop when a curve is the active objectGermano Cavalcante
The active object was being set as the edited object even though it was not in edit mode.
2021-11-09View3D Snap Cursor: make the pool a little more restrictiveGermano Cavalcante
The snap cursor tagged overlapping regions to redrawn even though the cursor itself is not drawn.
2021-11-09Expose BLI_string_flip_side_name as bpy.utils.flip_nameDemeter Dzadik
Expose a new function in `bpy.utils.flip_name(name, strip_number=False) that allows flipping bone names, eg "Bone.L" -> "Bone.R". Useful for add-ons to avoid re-implementing Blender's name flipping. Ref D12322
2021-11-09Merge branch 'blender-v3.0-release'Thomas Dinges
2021-11-09Node Editor: Display warning when using Nishita sky texture with EeveeThomas Dinges
Nishita sky is not available in Eevee, display a warning to make this clear inside the Sky texture node. Differential Revision: https://developer.blender.org/D13161
2021-11-09Cleanup: spelling, C style commentsCampbell Barton
2021-11-09Cleanup: clang-formatCampbell Barton
2021-11-09Merge branch 'blender-v3.0-release'Patrick Mours
2021-11-09Cycles: Improve OptiX denoising with dark images and fix crash when denoiser ↵Patrick Mours
is destroyed Adds a pass before denoising that calculates the intensity of the image, which can be passed into the OptiX denoiser for more optimal results for very dark or very bright images. In addition this also fixes a crash that sometimes occurred on exit. The OptiX denoiser object has to be destroyed before the OptiX device context object (since it references that). But in C++ the destructor function of a class is called before its fields are destructed, so "~OptiXDevice" was always called before "OptiXDevice::~Denoiser" and therefore "optixDeviceContextDestroy" was called before "optixDenoiserDestroy", hence the crash. Differential Revision: https://developer.blender.org/D13160