[Bf-blender-cvs] [68ffb2a2672] blender2.8: Merge branch 'master' into blender2.8

Sergey Sharybin noreply at git.blender.org
Fri Dec 15 17:55:31 CET 2017


Commit: 68ffb2a2672a0e944e5e4fdf0f31c7223c2f1920
Author: Sergey Sharybin
Date:   Fri Dec 15 17:55:23 2017 +0100
Branches: blender2.8
https://developer.blender.org/rB68ffb2a2672a0e944e5e4fdf0f31c7223c2f1920

Merge branch 'master' into blender2.8

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



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

diff --cc source/blender/depsgraph/intern/debug/deg_debug_graphviz.cc
index 5111db08e03,d7457b9eb6c..bd3d74b307b
--- a/source/blender/depsgraph/intern/debug/deg_debug_graphviz.cc
+++ b/source/blender/depsgraph/intern/debug/deg_debug_graphviz.cc
@@@ -398,11 -403,9 +398,13 @@@ static void deg_debug_graphviz_node(con
  			}
  			break;
  		}
 -		default:
 +		case DEG_NODE_TYPE_UNDEFINED:
 +		case DEG_NODE_TYPE_TIMESOURCE:
 +		case DEG_NODE_TYPE_OPERATION:
  			deg_debug_graphviz_node_single(ctx, node);
  			break;
++		case NUM_DEG_NODE_TYPES:
++			break;
  	}
  }
  
diff --cc source/blender/depsgraph/intern/depsgraph.cc
index 1227db4c1bb,30ab21b1d8c..995157f5c9a
--- a/source/blender/depsgraph/intern/depsgraph.cc
+++ b/source/blender/depsgraph/intern/depsgraph.cc
@@@ -279,27 -273,15 +279,27 @@@ IDDepsNode *Depsgraph::find_id_node(con
  	return reinterpret_cast<IDDepsNode *>(BLI_ghash_lookup(id_hash, id));
  }
  
 -IDDepsNode *Depsgraph::add_id_node(ID *id, const char *name)
 +IDDepsNode *Depsgraph::add_id_node(ID *id, bool do_tag, ID *id_cow_hint)
  {
 +	BLI_assert((id->tag & LIB_TAG_COPY_ON_WRITE) == 0);
  	IDDepsNode *id_node = find_id_node(id);
  	if (!id_node) {
- 		DepsNodeFactory *factory = deg_get_node_factory(DEG_NODE_TYPE_ID_REF);
+ 		DepsNodeFactory *factory = deg_type_get_factory(DEG_NODE_TYPE_ID_REF);
 -		id_node = (IDDepsNode *)factory->create_node(id, "", name);
 -		id->tag |= LIB_TAG_DOIT;
 -		/* register */
 +		id_node = (IDDepsNode *)factory->create_node(id, "", id->name);
 +		id_node->init_copy_on_write(id_cow_hint);
 +		if (do_tag) {
 +			id->tag |= LIB_TAG_DOIT;
 +		}
 +		/* Register node in ID hash.
 +		 *
 +		 * NOTE: We address ID nodes by the original ID pointer they are
 +		 * referencing to.
 +		 */
  		BLI_ghash_insert(id_hash, id, id_node);
 +		id_nodes.push_back(id_node);
 +	}
 +	else if (do_tag) {
 +		id->tag |= LIB_TAG_DOIT;
  	}
  	return id_node;
  }
diff --cc source/blender/depsgraph/intern/depsgraph_types.h
index b12becc5589,b2dbe5d2a62..d091f42bf80
--- a/source/blender/depsgraph/intern/depsgraph_types.h
+++ b/source/blender/depsgraph/intern/depsgraph_types.h
@@@ -144,11 -122,11 +144,14 @@@ typedef enum eDepsNode_Type 
  	DEG_NODE_TYPE_EVAL_PARTICLES,
  	/* Material Shading Component */
  	DEG_NODE_TYPE_SHADING,
 +	DEG_NODE_TYPE_SHADING_PARAMETERS,
  	/* Cache Component */
  	DEG_NODE_TYPE_CACHE,
 +	/* Batch Cache Component */
 +	DEG_NODE_TYPE_BATCH_CACHE,
+ 
+ 	/* Total number of meaningful node types. */
+ 	NUM_DEG_NODE_TYPES,
  } eDepsNode_Type;
  
  /* Identifiers for common operations (as an enum). */
diff --cc source/blender/depsgraph/intern/nodes/deg_node.cc
index 62291596323,1d4d542e7cc..3f70f8e1281
--- a/source/blender/depsgraph/intern/nodes/deg_node.cc
+++ b/source/blender/depsgraph/intern/nodes/deg_node.cc
@@@ -250,8 -202,8 +250,8 @@@ ComponentDepsNode *IDDepsNode::add_comp
  {
  	ComponentDepsNode *comp_node = find_component(type, name);
  	if (!comp_node) {
- 		DepsNodeFactory *factory = deg_get_node_factory(type);
+ 		DepsNodeFactory *factory = deg_type_get_factory(type);
 -		comp_node = (ComponentDepsNode *)factory->create_node(this->id, "", name);
 +		comp_node = (ComponentDepsNode *)factory->create_node(this->id_orig, "", name);
  
  		/* Register. */
  		ComponentIDKey *key = OBJECT_GUARDED_NEW(ComponentIDKey, type, name);
diff --cc source/blender/depsgraph/intern/nodes/deg_node_component.cc
index 01181453982,17f35acee79..f4530ecebdb
--- a/source/blender/depsgraph/intern/nodes/deg_node_component.cc
+++ b/source/blender/depsgraph/intern/nodes/deg_node_component.cc
@@@ -227,8 -231,8 +227,8 @@@ OperationDepsNode *ComponentDepsNode::a
  {
  	OperationDepsNode *op_node = find_operation(opcode, name, name_tag);
  	if (!op_node) {
- 		DepsNodeFactory *factory = deg_get_node_factory(DEG_NODE_TYPE_OPERATION);
+ 		DepsNodeFactory *factory = deg_type_get_factory(DEG_NODE_TYPE_OPERATION);
 -		op_node = (OperationDepsNode *)factory->create_node(this->owner->id, "", name);
 +		op_node = (OperationDepsNode *)factory->create_node(this->owner->id_orig, "", name);
  
  		/* register opnode in this component's operation set */
  		OperationIDKey *key = OBJECT_GUARDED_NEW(OperationIDKey, opcode, name, name_tag);



More information about the Bf-blender-cvs mailing list