Blender Git Loki

Git Commits -> Revision bc98949

Revision bc98949 by Sergey Sharybin (master)
January 13, 2014, 09:57 (GMT)
Fix T38139: Objects which are in cyclic dependency are not updated

Graph traversal which is based on counting parents which are still
to be updated fails in cases there are cycles in the graph.

If there are cyclic dependencies in the scene all the objects from
the cycles will be updated in a single thread now one by one. This
makes blender behave the same way as it was before multi-threaded
DAG landed to master.

This needed to tweak depsgraph a bit so now dag_check_cycle() sets
is_acyclic field of DAG forest if there are cycles in the graph.

TODO: It might be possible to save some time on evaluation when
all the tagged objects were updated in multi-threaded DAG
traversal.

Commit Details:

Full Hash: bc989497deeaf2ec79ccfbe7b5e43509eb867b06
Parent Commit: e618d82
Lines Changed: +29, -3

4 Modified Paths:

/source/blender/blenkernel/BKE_depsgraph.h (+1, -0) (Diff)
/source/blender/blenkernel/depsgraph_private.h (+1, -1) (Diff)
/source/blender/blenkernel/intern/depsgraph.c (+7, -0) (Diff)
/source/blender/blenkernel/intern/scene.c (+20, -2) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021