Blender Git Loki

Git Commits -> Revision 27da305

Revision 27da305 by Campbell Barton (master)
June 24, 2021, 10:23 (GMT)
Depsgraph: support flushing parameters without a full COW update

Avoid computationally expensive copying operations
when only some settings have been modified.

This is done by adding support for updating parameters
without tagging for copy-on-write.

Currently only mesh data blocks are supported,
other data-blocks can be added individually.

This prepares for changing values such as edit-mesh auto-smooth angle
in edit-mode without duplicating all mesh-data.
The benefit will only be seen when the user interface no longer tags
all ID's for copy on write updates.

ID_RECALC_GEOMETRY_ALL_MODES has been added to support situations
where non edit-mode geometry is modified in edit-mode.
While this isn't something user are likely to do,
Python scripts may change the underlying mesh.

Reviewed By: sergey

Ref D11377

Commit Details:

Full Hash: 27da305a404f72a75a37892e1ac080c6531d059b
Parent Commit: 67b352f
Lines Changed: +128, -11

1 Added Path:

/source/blender/blenkernel/intern/lib_id_eval.c (+48, -0) (View)

12 Modified Paths:

/source/blender/blenkernel/BKE_lib_id.h (+3, -0) (Diff)
/source/blender/blenkernel/CMakeLists.txt (+1, -0) (Diff)
/source/blender/blenkernel/intern/mesh_validate.c (+2, -2) (Diff)
/source/blender/blenkernel/intern/paint.c (+1, -1) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc (+13, -1) (Diff)
/source/blender/depsgraph/intern/depsgraph_tag.cc (+3, -0) (Diff)
/source/blender/depsgraph/intern/node/deg_node_component.h (+17, -1) (Diff)
/source/blender/editors/mesh/editmesh_tools.c (+1, -1) (Diff)
/source/blender/makesdna/DNA_ID.h (+21, -0) (Diff)
/source/blender/makesrna/intern/rna_mesh.c (+16, -3) (Diff)
/source/blender/makesrna/intern/rna_mesh_api.c (+1, -1) (Diff)
/source/blender/python/bmesh/bmesh_py_types.c (+1, -1) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021