[Bf-blender-cvs] [5e6f60b] depsgraph_refactor: Correct flushing, this was only happening with (still dysfunctional) frame change updates.

Lukas Tönne noreply at git.blender.org
Sat May 31 13:17:24 CEST 2014


Commit: 5e6f60bbe84e74e104b789e03ebe242b3f8fdfea
Author: Lukas Tönne
Date:   Sat May 31 13:10:13 2014 +0200
https://developer.blender.org/rB5e6f60bbe84e74e104b789e03ebe242b3f8fdfea

Correct flushing, this was only happening with (still dysfunctional)
frame change updates.

===================================================================

M	source/blender/depsgraph/intern/depsgraph_eval.cpp

===================================================================

diff --git a/source/blender/depsgraph/intern/depsgraph_eval.cpp b/source/blender/depsgraph/intern/depsgraph_eval.cpp
index 94c9aed..142bd78 100644
--- a/source/blender/depsgraph/intern/depsgraph_eval.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_eval.cpp
@@ -162,14 +162,18 @@ void DEG_evaluate_on_refresh(Depsgraph *graph, eEvaluationContextType context_ty
 	/* XXX could use a separate pool for each eval context */
 	static DepsgraphTaskPool task_pool = DepsgraphTaskPool();
 	
+	/* recursively push updates out to all nodes dependent on this, 
+	 * until all affected are tagged and/or scheduled up for eval
+	 */
+	DEG_graph_flush_updates(graph);
+	
+	calculate_pending_parents(graph);
+	
 	/* clear tags */
 	for (Depsgraph::OperationNodes::const_iterator it = graph->operations.begin(); it != graph->operations.end(); ++it) {
 		OperationDepsNode *node = *it;
 		node->done = 0;
 	}
-	
-	calculate_pending_parents(graph);
-	
 	/* calculate priority for operation nodes */
 	for (Depsgraph::OperationNodes::const_iterator it = graph->operations.begin(); it != graph->operations.end(); ++it) {
 		OperationDepsNode *node = *it;
@@ -201,11 +205,6 @@ void DEG_evaluate_on_framechange(Depsgraph *graph, eEvaluationContextType contex
 	graph->tag_update(tsrc);
 #endif
 	
-	/* recursively push updates out to all nodes dependent on this, 
-	 * until all affected are tagged and/or scheduled up for eval
-	 */
-	DEG_graph_flush_updates(graph);
-	
 	/* perform recalculation updates */
 	DEG_evaluate_on_refresh(graph, context_type);
 }




More information about the Bf-blender-cvs mailing list