[Bf-blender-cvs] [3bb88a7807d] blender2.8: Merge branch 'master' into blender2.8

Sergey Sharybin noreply at git.blender.org
Wed Apr 5 15:37:39 CEST 2017


Commit: 3bb88a7807d00560351a0ca6768b8339fa019d2b
Author: Sergey Sharybin
Date:   Wed Apr 5 15:36:55 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB3bb88a7807d00560351a0ca6768b8339fa019d2b

Merge branch 'master' into blender2.8

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



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

diff --cc source/blender/depsgraph/intern/builder/deg_builder.cc
index 137b507acfc,7f62eb122db..f8e384bf51c
--- a/source/blender/depsgraph/intern/builder/deg_builder.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder.cc
@@@ -52,17 -52,95 +52,9 @@@
  
  namespace DEG {
  
- string deg_fcurve_id_name(const FCurve *fcu)
 -static bool check_object_needs_evaluation(Object *object)
--{
- 	char index_buf[32];
- 	// TODO(sergey): Use int-to-string utility or so.
- 	BLI_snprintf(index_buf, sizeof(index_buf), "[%d]", fcu->array_index);
- 	return string(fcu->rna_path) + index_buf;
 -	if (object->recalc & OB_RECALC_ALL) {
 -		/* Object is tagged for update anyway, no need to re-tag it. */
 -		return false;
 -	}
 -	if (object->type == OB_MESH) {
 -		return object->derivedFinal == NULL;
 -	}
 -	else if (ELEM(object->type,
 -	              OB_CURVE, OB_SURF, OB_FONT, OB_MBALL, OB_LATTICE))
 -	{
 -		return object->curve_cache == NULL;
 -	}
 -	return false;
 -}
 -
 -void deg_graph_build_flush_layers(Depsgraph *graph)
 -{
 -	std::stack<OperationDepsNode *> stack;
 -	foreach (OperationDepsNode *node, graph->operations) {
 -		IDDepsNode *id_node = node->owner->owner;
 -		node->done = 0;
 -		node->num_links_pending = 0;
 -		foreach (DepsRelation *rel, node->outlinks) {
 -			if ((rel->from->type == DEPSNODE_TYPE_OPERATION) &&
 -			    (rel->flag & DEPSREL_FLAG_CYCLIC) == 0)
 -			{
 -				++node->num_links_pending;
 -			}
 -		}
 -		if (node->num_links_pending == 0) {
 -			stack.push(node);
 -			node->done = 1;
 -		}
 -		node->owner->layers = id_node->layers;
 -		id_node->id->tag |= LIB_TAG_DOIT;
 -	}
 -	while (!stack.empty()) {
 -		OperationDepsNode *node = stack.top();
 -		stack.pop();
 -		/* Flush layers to parents. */
 -		foreach (DepsRelation *rel, node->inlinks) {
 -			if (rel->from->type == DEPSNODE_TYPE_OPERATION) {
 -				OperationDepsNode *from = (OperationDepsNode *)rel->from;
 -				from->owner->layers |= node->owner->layers;
 -			}
 -		}
 -		/* Schedule parent nodes. */
 -		foreach (DepsRelation *rel, node->inlinks) {
 -			if (rel->from->type == DEPSNODE_TYPE_OPERATION) {
 -				OperationDepsNode *from = (OperationDepsNode *)rel->from;
 -				if ((rel->flag & DEPSREL_FLAG_CYCLIC) == 0) {
 -					BLI_assert(from->num_links_pending > 0);
 -					--from->num_links_pending;
 -				}
 -				if (from->num_links_pending == 0 && from->done == 0) {
 -					stack.push(from);
 -					from->done = 1;
 -				}
 -			}
 -		}
 -	}
--}
--
  void deg_graph_build_finalize(Depsgraph *graph)
  {
 -	/* STEP 1: Make sure new invisible dependencies are ready for use.
 -	 *
 -	 * TODO(sergey): This might do a bit of extra tagging, but it's kinda nice
 -	 * to do it ahead of a time and don't spend time on flushing updates on
 -	 * every frame change.
 -	 */
 -	GHASH_FOREACH_BEGIN(IDDepsNode *, id_node, graph->id_hash)
 -	{
 -		if (id_node->layers == 0) {
 -			ID *id = id_node->id;
 -			if (GS(id->name) == ID_OB) {
 -				Object *object = (Object *)id;
 -				if (check_object_needs_evaluation(object)) {
 -					id_node->tag_update(graph);
 -				}
 -			}
 -		}
 -	}
 -	GHASH_FOREACH_END();
 -	/* STEP 2: Flush visibility layers from children to parent. */
 -	deg_graph_build_flush_layers(graph);
 -	/* STEP 3: Re-tag IDs for update if it was tagged before the relations
 +	/* Re-tag IDs for update if it was tagged before the relations
  	 * update tag.
  	 */
  	GHASH_FOREACH_BEGIN(IDDepsNode *, id_node, graph->id_hash)
diff --cc source/blender/depsgraph/intern/builder/deg_builder.h
index bdc030e3810,b8ea8c8e599..31426819fb9
--- a/source/blender/depsgraph/intern/builder/deg_builder.h
+++ b/source/blender/depsgraph/intern/builder/deg_builder.h
@@@ -38,9 -38,7 +38,6 @@@ namespace DEG 
  
  struct Depsgraph;
  
- /* Get unique identifier for FCurves and Drivers */
- string deg_fcurve_id_name(const FCurve *fcu);
- 
  void deg_graph_build_finalize(struct Depsgraph *graph);
 -void deg_graph_build_flush_layers(struct Depsgraph *graph);
  
  }  // namespace DEG




More information about the Bf-blender-cvs mailing list