Blender Git Commit Log
Git Commits -> Revision bac7353
Revision bac7353 by Sergey Sharybin (master) May 12, 2015, 11:06 (GMT) |
Depsgraph: New dependency graph integration commit This commit integrates the work done so far on the new dependency graph system, where goal was to replace legacy depsgraph with the new one, supporting loads of neat features like: - More granular dependency relation nature, which solves issues with fake cycles in the dependencies. - Move towards all-animatable, by better integration of drivers into the system. - Lay down some basis for upcoming copy-on-write, overrides and so on. The new system is living side-by-side with the previous one and disabled by default, so nothing will become suddenly broken. The way to enable new depsgraph is to pass `--new-depsgraph` command line argument. It's a bit early to consider the system production-ready, there are some TODOs and issues were discovered during the merge period, they'll be addressed ASAP. But it's important to merge, because it's the only way to attract artists to really start testing this system. There are number of assorted documents related on the design of the new system: * http://wiki.blender.org/index.php/User:Aligorith/GSoC2013_Depsgraph#Design_Documents * http://wiki.blender.org/index.php/User:Nazg-gul/DependencyGraph There are also some user-related information online: * http://code.blender.org/2015/02/blender-dependency-graph-branch-for-users/ * http://code.blender.org/2015/03/more-dependency-graph-tricks/ Kudos to everyone who was involved into the project: - Joshua "Aligorith" Leung -- design specification, initial code - Lukas "lukas_t" Toenne -- integrating code into blender, with further fixes - Sergey "Sergey" "Sharybin" -- some mocking around, trying to wrap up the project and so - Bassam "slikdigit" Kurdali -- stressing the new system, reporting all the issues and recording/writing documentation. - Everyone else who i forgot to mention here :) |
Commit Details:
Full Hash: bac735380189c63d2b8824cba8e0398bb35e9af2
Parent Commit: a093414
Lines Changed: +11844, -58
40 Added Paths:
/source/blender/depsgraph/CMakeLists.txt (+116, -0) (View)
/source/blender/depsgraph/DEG_depsgraph.h (+210, -0) (View)
/source/blender/depsgraph/DEG_depsgraph_build.h (+117, -0) (View)
/source/blender/depsgraph/DEG_depsgraph_debug.h (+107, -0) (View)
/source/blender/depsgraph/DEG_depsgraph_query.h (+191, -0) (View)
/source/blender/depsgraph/intern/depsgraph.cc (+469, -0) (View)
/source/blender/depsgraph/intern/depsgraph.h (+220, -0) (View)
/source/blender/depsgraph/intern/depsgraph_build.cc (+365, -0) (View)
/source/blender/depsgraph/intern/depsgraph_build.h (+404, -0) (View)
/source/blender/depsgraph/intern/depsgraph_build_nodes.cc (+1199, -0) (View)
/source/blender/depsgraph/intern/depsgraph_build_relations.cc (+1815, -0) (View)
/source/blender/depsgraph/intern/depsgraph_debug.cc (+1187, -0) (View)
/source/blender/depsgraph/intern/depsgraph_debug.h (+83, -0) (View)
/source/blender/depsgraph/intern/depsgraph_eval.cc (+386, -0) (View)
/source/blender/depsgraph/intern/depsgraph_intern.h (+164, -0) (View)
/source/blender/depsgraph/intern/depsgraph_query.cc (+213, -0) (View)
/source/blender/depsgraph/intern/depsgraph_queue.cc (+173, -0) (View)
/source/blender/depsgraph/intern/depsgraph_queue.h (+87, -0) (View)
/source/blender/depsgraph/intern/depsgraph_tag.cc (+490, -0) (View)
/source/blender/depsgraph/intern/depsgraph_types.h (+169, -0) (View)
/source/blender/depsgraph/intern/depsgraph_type_defines.cc (+98, -0) (View)
/source/blender/depsgraph/intern/depsnode.cc (+308, -0) (View)
/source/blender/depsgraph/intern/depsnode.h (+243, -0) (View)
/source/blender/depsgraph/intern/depsnode_component.cc (+314, -0) (View)
/source/blender/depsgraph/intern/depsnode_component.h (+197, -0) (View)
/source/blender/depsgraph/intern/depsnode_opcodes.h (+141, -0) (View)
/source/blender/depsgraph/intern/depsnode_operation.cc (+100, -0) (View)
/source/blender/depsgraph/intern/depsnode_operation.h (+86, -0) (View)
/source/blender/depsgraph/SConscript (+74, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_cycle.cc (+134, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_cycle.h (+31, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_function.h (+106, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_hash.h (+66, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_map.h (+61, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_pchanmap.cc (+132, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_pchanmap.h (+55, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_set.h (+60, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_transitive.cc (+133, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_transitive.h (+32, -0) (View)
/source/blender/makesrna/intern/rna_depsgraph.c (+112, -0) (View)
/source/blender/depsgraph/DEG_depsgraph.h (+210, -0) (View)
/source/blender/depsgraph/DEG_depsgraph_build.h (+117, -0) (View)
/source/blender/depsgraph/DEG_depsgraph_debug.h (+107, -0) (View)
/source/blender/depsgraph/DEG_depsgraph_query.h (+191, -0) (View)
/source/blender/depsgraph/intern/depsgraph.cc (+469, -0) (View)
/source/blender/depsgraph/intern/depsgraph.h (+220, -0) (View)
/source/blender/depsgraph/intern/depsgraph_build.cc (+365, -0) (View)
/source/blender/depsgraph/intern/depsgraph_build.h (+404, -0) (View)
/source/blender/depsgraph/intern/depsgraph_build_nodes.cc (+1199, -0) (View)
/source/blender/depsgraph/intern/depsgraph_build_relations.cc (+1815, -0) (View)
/source/blender/depsgraph/intern/depsgraph_debug.cc (+1187, -0) (View)
/source/blender/depsgraph/intern/depsgraph_debug.h (+83, -0) (View)
/source/blender/depsgraph/intern/depsgraph_eval.cc (+386, -0) (View)
/source/blender/depsgraph/intern/depsgraph_intern.h (+164, -0) (View)
/source/blender/depsgraph/intern/depsgraph_query.cc (+213, -0) (View)
/source/blender/depsgraph/intern/depsgraph_queue.cc (+173, -0) (View)
/source/blender/depsgraph/intern/depsgraph_queue.h (+87, -0) (View)
/source/blender/depsgraph/intern/depsgraph_tag.cc (+490, -0) (View)
/source/blender/depsgraph/intern/depsgraph_types.h (+169, -0) (View)
/source/blender/depsgraph/intern/depsgraph_type_defines.cc (+98, -0) (View)
/source/blender/depsgraph/intern/depsnode.cc (+308, -0) (View)
/source/blender/depsgraph/intern/depsnode.h (+243, -0) (View)
/source/blender/depsgraph/intern/depsnode_component.cc (+314, -0) (View)
/source/blender/depsgraph/intern/depsnode_component.h (+197, -0) (View)
/source/blender/depsgraph/intern/depsnode_opcodes.h (+141, -0) (View)
/source/blender/depsgraph/intern/depsnode_operation.cc (+100, -0) (View)
/source/blender/depsgraph/intern/depsnode_operation.h (+86, -0) (View)
/source/blender/depsgraph/SConscript (+74, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_cycle.cc (+134, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_cycle.h (+31, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_function.h (+106, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_hash.h (+66, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_map.h (+61, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_pchanmap.cc (+132, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_pchanmap.h (+55, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_set.h (+60, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_transitive.cc (+133, -0) (View)
/source/blender/depsgraph/util/depsgraph_util_transitive.h (+32, -0) (View)
/source/blender/makesrna/intern/rna_depsgraph.c (+112, -0) (View)
93 Modified Paths:
/build_files/cmake/macros.cmake (+1, -0) (Diff)
/build_files/scons/tools/Blender.py (+1, -1) (Diff)
/build_files/scons/tools/btools.py (+3, -1) (Diff)
/CMakeLists.txt (+3, -0) (Diff)
/source/blender/blenkernel/BKE_depsgraph.h (+1, -0) (Diff)
/source/blender/blenkernel/BKE_modifier.h (+12, -0) (Diff)
/source/blender/blenkernel/CMakeLists.txt (+5, -0) (Diff)
/source/blender/blenkernel/intern/action.c (+6, -1) (Diff)
/source/blender/blenkernel/intern/armature_update.c (+2, -0) (Diff)
/source/blender/blenkernel/intern/depsgraph.c (+383, -22) (Diff)
/source/blender/blenkernel/intern/library.c (+4, -3) (Diff)
/source/blender/blenkernel/intern/mesh.c (+3, -2) (Diff)
/source/blender/blenkernel/intern/object_update.c (+2, -0) (Diff)
/source/blender/blenkernel/intern/scene.c (+99, -21) (Diff)
/source/blender/blenkernel/SConscript (+4, -0) (Diff)
/source/blender/blenloader/intern/readfile.c (+1, -0) (Diff)
/source/blender/CMakeLists.txt (+1, -0) (Diff)
/source/blender/editors/space_view3d/CMakeLists.txt (+1, -0) (Diff)
/source/blender/editors/space_view3d/SConscript (+1, -0) (Diff)
/source/blender/editors/space_view3d/space_view3d.c (+6, -2) (Diff)
/source/blender/editors/transform/CMakeLists.txt (+4, -0) (Diff)
/source/blender/editors/transform/SConscript (+3, -0) (Diff)
/source/blender/editors/transform/transform_conversions.c (+4, -0) (Diff)
/source/blender/makesdna/DNA_scene_types.h (+1, -0) (Diff)
/source/blender/makesrna/intern/CMakeLists.txt (+2, -0) (Diff)
/source/blender/makesrna/intern/makesrna.c (+1, -0) (Diff)
/source/blender/makesrna/intern/rna_internal.h (+1, -0) (Diff)
/source/blender/makesrna/intern/rna_object_api.c (+4, -2) (Diff)
/source/blender/makesrna/intern/rna_scene.c (+5, -0) (Diff)
/source/blender/makesrna/intern/SConscript (+1, -0) (Diff)
/source/blender/makesrna/SConscript (+1, -0) (Diff)
/source/blender/modifiers/CMakeLists.txt (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_armature.c (+13, -0) (Diff)
/source/blender/modifiers/intern/MOD_array.c (+23, -0) (Diff)
/source/blender/modifiers/intern/MOD_bevel.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_boolean.c (+16, -0) (Diff)
/source/blender/modifiers/intern/MOD_build.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_cast.c (+13, -0) (Diff)
/source/blender/modifiers/intern/MOD_cloth.c (+22, -0) (Diff)
/source/blender/modifiers/intern/MOD_collision.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_correctivesmooth.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_curve.c (+21, -0) (Diff)
/source/blender/modifiers/intern/MOD_datatransfer.c (+13, -0) (Diff)
/source/blender/modifiers/intern/MOD_decimate.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_displace.c (+16, -0) (Diff)
/source/blender/modifiers/intern/MOD_dynamicpaint.c (+22, -0) (Diff)
/source/blender/modifiers/intern/MOD_edgesplit.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_explode.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_fluidsim.c (+28, -0) (Diff)
/source/blender/modifiers/intern/MOD_hook.c (+20, -0) (Diff)
/source/blender/modifiers/intern/MOD_laplaciandeform.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_laplaciansmooth.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_lattice.c (+13, -0) (Diff)
/source/blender/modifiers/intern/MOD_mask.c (+18, -0) (Diff)
/source/blender/modifiers/intern/MOD_meshcache.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_meshdeform.c (+14, -0) (Diff)
/source/blender/modifiers/intern/MOD_mirror.c (+15, -0) (Diff)
/source/blender/modifiers/intern/MOD_multires.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_none.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_normal_edit.c (+13, -0) (Diff)
/source/blender/modifiers/intern/MOD_ocean.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_particleinstance.c (+14, -1) (Diff)
/source/blender/modifiers/intern/MOD_particlesystem.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_remesh.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_screw.c (+15, -0) (Diff)
/source/blender/modifiers/intern/MOD_shapekey.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_shrinkwrap.c (+18, -0) (Diff)
/source/blender/modifiers/intern/MOD_simpledeform.c (+13, -0) (Diff)
/source/blender/modifiers/intern/MOD_skin.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_smoke.c (+107, -0) (Diff)
/source/blender/modifiers/intern/MOD_smooth.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_softbody.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_solidify.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_subsurf.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_surface.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_triangulate.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_util.h (+2, -0) (Diff)
/source/blender/modifiers/intern/MOD_uvproject.c (+18, -0) (Diff)
/source/blender/modifiers/intern/MOD_uvwarp.c (+25, -0) (Diff)
/source/blender/modifiers/intern/MOD_warp.c (+17, -0) (Diff)
/source/blender/modifiers/intern/MOD_wave.c (+16, -0) (Diff)
/source/blender/modifiers/intern/MOD_weightvgedit.c (+18, -0) (Diff)
/source/blender/modifiers/intern/MOD_weightvgmix.c (+18, -0) (Diff)
/source/blender/modifiers/intern/MOD_weightvgproximity.c (+21, -0) (Diff)
/source/blender/modifiers/intern/MOD_wireframe.c (+1, -0) (Diff)
/source/blender/modifiers/SConscript (+1, -0) (Diff)
/source/blender/render/CMakeLists.txt (+1, -0) (Diff)
/source/blender/render/intern/source/pipeline.c (+3, -2) (Diff)
/source/blender/render/SConscript (+1, -0) (Diff)
/source/blender/SConscript (+1, -0) (Diff)
/source/blenderplayer/CMakeLists.txt (+1, -0) (Diff)
/source/creator/CMakeLists.txt (+1, -0) (Diff)
/source/creator/creator.c (+14, -0) (Diff)
/build_files/scons/tools/Blender.py (+1, -1) (Diff)
/build_files/scons/tools/btools.py (+3, -1) (Diff)
/CMakeLists.txt (+3, -0) (Diff)
/source/blender/blenkernel/BKE_depsgraph.h (+1, -0) (Diff)
/source/blender/blenkernel/BKE_modifier.h (+12, -0) (Diff)
/source/blender/blenkernel/CMakeLists.txt (+5, -0) (Diff)
/source/blender/blenkernel/intern/action.c (+6, -1) (Diff)
/source/blender/blenkernel/intern/armature_update.c (+2, -0) (Diff)
/source/blender/blenkernel/intern/depsgraph.c (+383, -22) (Diff)
/source/blender/blenkernel/intern/library.c (+4, -3) (Diff)
/source/blender/blenkernel/intern/mesh.c (+3, -2) (Diff)
/source/blender/blenkernel/intern/object_update.c (+2, -0) (Diff)
/source/blender/blenkernel/intern/scene.c (+99, -21) (Diff)
/source/blender/blenkernel/SConscript (+4, -0) (Diff)
/source/blender/blenloader/intern/readfile.c (+1, -0) (Diff)
/source/blender/CMakeLists.txt (+1, -0) (Diff)
/source/blender/editors/space_view3d/CMakeLists.txt (+1, -0) (Diff)
/source/blender/editors/space_view3d/SConscript (+1, -0) (Diff)
/source/blender/editors/space_view3d/space_view3d.c (+6, -2) (Diff)
/source/blender/editors/transform/CMakeLists.txt (+4, -0) (Diff)
/source/blender/editors/transform/SConscript (+3, -0) (Diff)
/source/blender/editors/transform/transform_conversions.c (+4, -0) (Diff)
/source/blender/makesdna/DNA_scene_types.h (+1, -0) (Diff)
/source/blender/makesrna/intern/CMakeLists.txt (+2, -0) (Diff)
/source/blender/makesrna/intern/makesrna.c (+1, -0) (Diff)
/source/blender/makesrna/intern/rna_internal.h (+1, -0) (Diff)
/source/blender/makesrna/intern/rna_object_api.c (+4, -2) (Diff)
/source/blender/makesrna/intern/rna_scene.c (+5, -0) (Diff)
/source/blender/makesrna/intern/SConscript (+1, -0) (Diff)
/source/blender/makesrna/SConscript (+1, -0) (Diff)
/source/blender/modifiers/CMakeLists.txt (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_armature.c (+13, -0) (Diff)
/source/blender/modifiers/intern/MOD_array.c (+23, -0) (Diff)
/source/blender/modifiers/intern/MOD_bevel.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_boolean.c (+16, -0) (Diff)
/source/blender/modifiers/intern/MOD_build.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_cast.c (+13, -0) (Diff)
/source/blender/modifiers/intern/MOD_cloth.c (+22, -0) (Diff)
/source/blender/modifiers/intern/MOD_collision.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_correctivesmooth.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_curve.c (+21, -0) (Diff)
/source/blender/modifiers/intern/MOD_datatransfer.c (+13, -0) (Diff)
/source/blender/modifiers/intern/MOD_decimate.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_displace.c (+16, -0) (Diff)
/source/blender/modifiers/intern/MOD_dynamicpaint.c (+22, -0) (Diff)
/source/blender/modifiers/intern/MOD_edgesplit.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_explode.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_fluidsim.c (+28, -0) (Diff)
/source/blender/modifiers/intern/MOD_hook.c (+20, -0) (Diff)
/source/blender/modifiers/intern/MOD_laplaciandeform.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_laplaciansmooth.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_lattice.c (+13, -0) (Diff)
/source/blender/modifiers/intern/MOD_mask.c (+18, -0) (Diff)
/source/blender/modifiers/intern/MOD_meshcache.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_meshdeform.c (+14, -0) (Diff)
/source/blender/modifiers/intern/MOD_mirror.c (+15, -0) (Diff)
/source/blender/modifiers/intern/MOD_multires.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_none.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_normal_edit.c (+13, -0) (Diff)
/source/blender/modifiers/intern/MOD_ocean.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_particleinstance.c (+14, -1) (Diff)
/source/blender/modifiers/intern/MOD_particlesystem.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_remesh.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_screw.c (+15, -0) (Diff)
/source/blender/modifiers/intern/MOD_shapekey.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_shrinkwrap.c (+18, -0) (Diff)
/source/blender/modifiers/intern/MOD_simpledeform.c (+13, -0) (Diff)
/source/blender/modifiers/intern/MOD_skin.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_smoke.c (+107, -0) (Diff)
/source/blender/modifiers/intern/MOD_smooth.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_softbody.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_solidify.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_subsurf.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_surface.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_triangulate.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_util.h (+2, -0) (Diff)
/source/blender/modifiers/intern/MOD_uvproject.c (+18, -0) (Diff)
/source/blender/modifiers/intern/MOD_uvwarp.c (+25, -0) (Diff)
/source/blender/modifiers/intern/MOD_warp.c (+17, -0) (Diff)
/source/blender/modifiers/intern/MOD_wave.c (+16, -0) (Diff)
/source/blender/modifiers/intern/MOD_weightvgedit.c (+18, -0) (Diff)
/source/blender/modifiers/intern/MOD_weightvgmix.c (+18, -0) (Diff)
/source/blender/modifiers/intern/MOD_weightvgproximity.c (+21, -0) (Diff)
/source/blender/modifiers/intern/MOD_wireframe.c (+1, -0) (Diff)
/source/blender/modifiers/SConscript (+1, -0) (Diff)
/source/blender/render/CMakeLists.txt (+1, -0) (Diff)
/source/blender/render/intern/source/pipeline.c (+3, -2) (Diff)
/source/blender/render/SConscript (+1, -0) (Diff)
/source/blender/SConscript (+1, -0) (Diff)
/source/blenderplayer/CMakeLists.txt (+1, -0) (Diff)
/source/creator/CMakeLists.txt (+1, -0) (Diff)
/source/creator/creator.c (+14, -0) (Diff)