Blender Git Commits

Blender Git "soc-2021-porting-modifiers-to-nodes_all" branch commits.

Page: 5 / 26

July 30, 2021, 14:56 (GMT)
Cleanup: reduce indentation in bpy.props

Remove unnecessary NULL checks.
July 30, 2021, 14:56 (GMT)
Fix menu poll function being ignored for UILayout.menu

Using `UILayout.menu()` [1] or `UILayout.menu_contents() [2], the menu
would just always be added, the `poll()` check not being executed. As
API user I would expect the `poll()` to deterimine visiblity of the
menu.

[1] https://docs.blender.org/api/current/bpy.types.UILayout.html#bpy.types.UILayout.menu
[2] https://docs.blender.org/api/current/bpy.types.UILayout.html#bpy.types.UILayout.menu_contents

Differential Revision: https://developer.blender.org/D12053

Reviewed by: Campbell Barton
July 30, 2021, 14:56 (GMT)
Fix Cycles crash with fluid object motion blur disabled

Motion attributes expects mesh to have non-zero number of motion steps,
which was violated in the case when fluid mesh had motion blur disabled.

This is a bit of annoying fix, because of the order of updates. More
ideal solution would be to handle cached and fluid velocities in the
sync_mesh_motion() which ensures all the dependencies between settings.
July 30, 2021, 14:56 (GMT)
Fix memory leaks in Python gizmo get/set handlers
July 30, 2021, 14:56 (GMT)
Cycles: remove WITH_CYCLES_DEBUG, add WITH_CYCLES_DEBUG_NAN

WITH_CYCLES_DEBUG was used for rendering BVH debugging passes. But since we
mainly use Embree an OptiX now, this information is no longer important.

WITH_CYCLES_DEBUG_NAN will enable additional checks for NaNs and invalid values
in the kernel, for Cycles developers. Previously these asserts where enabled in
all debug builds, but this is too likely to crash Blender in scenes that render
fine regardless of the NaNs. So this is behind a CMake option now.

Fixes T90240
July 30, 2021, 14:56 (GMT)
BlenRead: Add GHash-based search for already read linked IDs.

Ths commit adds a new `IDNameLibMap` to `Main`, used during file reading
to quickly find already read linked IDs.

Without that, search would use string-based search over list of linked
data, which becomes extremely slow and inneficient in cases where a lot
of IDs are linked from a same library. See also {T89194}.

Extrem-usecase reported in T89194 is now about 4 times faster in linked
data reading (about 2 times faster for the whole .blend file loading).

More normal cases (like Sprites studio production files) have barely
measurable speed improvements, a few percents at best.

NOTE: `main_idmap` API was extended to support insertion and removal of
IDs from the mapping, avoids having to re-create the whole thing several
time during libraries expansion in readcode.

Differential Revision: https://developer.blender.org/D11757
July 30, 2021, 14:56 (GMT)
Fix building without Cycles logging

Ideally can use assert() checks instead of suppressing the check entirely,
but for now just fix compilation error quickly.
July 30, 2021, 14:56 (GMT)
Regression Testing: Running tests based on blend files

Runs tests based on blend files with minimum python interaction.
Developed as part of GSoC 2021 - Regression Testing of Geometry Nodes.
Earlier, tests were built from scratch by adding a modifier/operation
from the Python API.
Now, tests can also be created inside blender and are compared using
Python script.

Features: Automatically adding expected object if it doesn't exist.
This patch adds tests for the following Geometry Nodes category:
* Curves
* Geometry
* Mesh
* Points

The implemented UML diagram for refactoring of mesh test framework.
{F10225906}

Technical Changes:
SpecMeshTest: It adds the modifier/operation based on the Spec provided.
BlendFileTest: It applies already existing modifier/operation from the blend file.

Test folders hierarchy with tests. This folder should be extracted to `libtestsmodeling`
{F10240651}
Note: The `geometry_nodes` folder might lie under another `geometry_nodes` folder while extracting, please double check. Use the inner-most one.
The hierarchy should be:
-`libtestsmodelinggeometry_nodesmesh`
-`libtestsmodelinggeometry_nodespoints`
and so on.

* From `ctest` the tests should be run as `ctest -R geo_node -C [Configuration]` on Windows.
* Each single test can be run with its entire name e..g `ctest -R geo_node_geometry_join_geometry`.(just an example). Run `ctest -N -R geo_node` to see all tests.
* From blender, the tests can be run `blender -b pathtoblendfile --python pathtogeo_node_test.py`

Reviewed By: zazizizou, JacquesLucke

Differential Revision: https://developer.blender.org/D11611
July 30, 2021, 14:56 (GMT)
Remove the code in `BKE_collection_move` to preserve LayerCollection flags.

This code was actually buggy (forcefully re-enabling excluded layers in some
cases).

Further more, it should not be needed now that layerCollection resync code
reuses as much as possible existing layers instead of deleting and
re-creating them all the time.

Differential Revision: https://developer.blender.org/D12016
July 30, 2021, 14:56 (GMT)
Cleanup: use PyC_AsArray_FAST function where possible

Oversight in 2453dc1b0ecad21a84b45e8c900a16cc42fa12f1.
July 30, 2021, 14:56 (GMT)
Cleanup: Remove debug-only code
July 30, 2021, 14:56 (GMT)
Fix memory leak with Python RNA property get callback errors

Failure to return a list of the expected size & type wasn't
decrementing the value, leaking a reference.

Caused by 127b5423d6203d521acb2b96b7de5534e8dbe79a a workaround for the
real error that was fixed f5e020a7a6ad6451fcaf075ae14f7014b8a4faea.
July 30, 2021, 14:56 (GMT)
Cleanup: add note from T85517 fix
July 30, 2021, 14:56 (GMT)
Cleanup: comment spelling & punctuation
July 30, 2021, 14:56 (GMT)
Fix T89415: update multi input indices after deleting a node

When deleting a node, links attached to that node are deleted, but if one
of those links was connected to a multi input socket, the indices of the
other links connected to it were not updated. This adds updates both in
the case of a normal delete as well as after a delete with reconnect.

Differential Revision: https://developer.blender.org/D11716
July 30, 2021, 14:56 (GMT)
Fix LLVM 12 symbol conflict with Mesa drivers, after recent Linux libs update
July 30, 2021, 14:56 (GMT)
PyAPI: support different int sizes for PyC_AsArray
July 30, 2021, 14:56 (GMT)
Added YAML builtbot config file.

Builtbot is switching over from json to yaml. Both
configuration files should be kept in sync for now.

The json file will be removed when everything works as expected.
July 30, 2021, 14:56 (GMT)
Cleanup: Fix build warning

Introduced in 3964785a1458
July 30, 2021, 14:56 (GMT)
Cleanup: Remove unnecesary undefs

Macros `SEQ_ALL_END` and `SEQ_ALL_BEGIN` no longer use `seq->tmp`.
Therefore they are safe to use regardless from where they are called.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021