Blender Git Loki
Git Commits -> Revision 8106e0a
Revision 8106e0a by Sergey Sharybin April 16, 2018, 09:20 (GMT) |
Depsgraph: Only bind ID-data and indices to depsgraph callbacks This is a part of copy-on-write sanitization, to avoid all the checks which were attempting to keep sub-data pointers intact. Point is: ID pointers never change for CoW datablocks, but nested data pointers might change when updating existing copy. Solution: Only bind ID data pointers and index of sub-data. This will make CoW datablock 7update function was easier in 2.8. In master we were only using pose channel pointers in callbacks, this is exactly what this commit addresses. A linear lookup array is created on pose evaluation init and is thrown away afterwards. One thing we might consider doing is to keep indexed array of poses, similar to chanhash. Reviewers: campbellbarton Reviewed By: campbellbarton Subscribers: dfelinto Differential Revision: https://developer.blender.org/D3124 |
Commit Details:
Full Hash: 8106e0aada37cf9c239f8e3e434dcce8895cd395
Parent Commit: ed74513
Committed By: Gaia Clary
Lines Changed: +106, -44
6 Modified Paths:
/source/blender/blenkernel/BKE_armature.h (+9, -11) (Diff)
/source/blender/blenkernel/intern/armature_update.c (+40, -18) (Diff)
/source/blender/blenloader/intern/readfile.c (+1, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_nodes.h (+1, -1) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc (+49, -13) (Diff)
/source/blender/makesdna/DNA_action_types.h (+6, -1) (Diff)
/source/blender/blenkernel/intern/armature_update.c (+40, -18) (Diff)
/source/blender/blenloader/intern/readfile.c (+1, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_nodes.h (+1, -1) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc (+49, -13) (Diff)
/source/blender/makesdna/DNA_action_types.h (+6, -1) (Diff)