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

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to