[Bf-blender-cvs] [8f222a0ba02] asset-engine: Cleanup while attempting to fix auto-override detection in DEG.

Bastien Montagne noreply at git.blender.org
Fri Nov 10 17:13:37 CET 2017


Commit: 8f222a0ba02b21f1cbb533fcec1fa4821c888a53
Author: Bastien Montagne
Date:   Fri Nov 10 17:12:11 2017 +0100
Branches: asset-engine
https://developer.blender.org/rB8f222a0ba02b21f1cbb533fcec1fa4821c888a53

Cleanup while attempting to fix auto-override detection in DEG.

Not sure why that piece of code stopped working, but now this operation
is pretty much never evaluated... Will have to either dig deeper in DEG
or ask Sergey about it, but not a crucial issue for now.

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

M	source/blender/depsgraph/intern/builder/deg_builder_nodes.cc

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

diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index 872ce13803d..bb793733867 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@ -212,14 +212,16 @@ IDDepsNode *DepsgraphNodeBuilder::add_id_node(ID *id, bool do_tag)
 
 	if (is_idnode_created) {
 		if (id->override != NULL && (id->flag & LIB_AUTOOVERRIDE) != 0) {
+			printf("new idnode for overriding ID %s, adding overide_generator component...\n", id->name);
 			ComponentDepsNode *comp_node = id_node->add_component(DEG_NODE_TYPE_PARAMETERS, "override_generator");
-			comp_node->owner = id_node;
 
-			/* TDOD We most certainly do not want to run this on every deg evaluation! Especially not during animation? */
+			/* TODO We most certainly do not want to run this on every deg evaluation! Especially not during animation? */
 			/* Ideally, putting this in some kind of queue (only one entry per ID in whole queue) and consuming it in a
 			 * low-priority background thread would be ideal, but we need to ensure IDs remain valid for the thread? */
+			/* However currently, operation is essentially a NOP most of the time
+			 * (uses a delay to only actually run at most every 200ms or so). */
 			add_operation_node(comp_node, function_bind(BKE_override_operations_create, id, false),
-			                   DEG_OPCODE_OPERATION, "override_generator", 0);
+			                   DEG_OPCODE_PARAMETERS_EVAL, "override_generator", -1);
 		}
 	}



More information about the Bf-blender-cvs mailing list