Commit: c2ffea7f129f8ba47c2547ca02fd27b0a2a44981
Author: Sergey Sharybin
Date:   Wed Jul 19 09:40:34 2017 +0200
Branches: blender2.8
https://developer.blender.org/rBc2ffea7f129f8ba47c2547ca02fd27b0a2a44981

Depsgraph: Remove hacky workaround for copy-on-write tagging flushing updates 
to everything

Wasn't working reliably,m and it's somewhat dangerous anyway. Seed something 
smarter.

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

M       source/blender/depsgraph/intern/depsgraph_tag.cc
M       source/blender/depsgraph/intern/eval/deg_eval_flush.cc
M       source/blender/depsgraph/intern/nodes/deg_node_operation.cc
M       source/blender/depsgraph/intern/nodes/deg_node_operation.h

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

diff --git a/source/blender/depsgraph/intern/depsgraph_tag.cc 
b/source/blender/depsgraph/intern/depsgraph_tag.cc
index db7d2a4323b..561d21bc40b 100644
--- a/source/blender/depsgraph/intern/depsgraph_tag.cc
+++ b/source/blender/depsgraph/intern/depsgraph_tag.cc
@@ -227,7 +227,6 @@ void id_tag_update_copy_on_write(Depsgraph *graph, 
IDDepsNode *id_node)
                id_node->find_component(DEG_NODE_TYPE_COPY_ON_WRITE);
        OperationDepsNode *cow_node = cow_comp->get_entry_operation();
        cow_node->tag_update(graph);
-       cow_node->flag |= DEPSOP_FLAG_SKIP_FLUSH;
 }
 #endif
 
diff --git a/source/blender/depsgraph/intern/eval/deg_eval_flush.cc 
b/source/blender/depsgraph/intern/eval/deg_eval_flush.cc
index 3717e62ef7e..861e7ec2650 100644
--- a/source/blender/depsgraph/intern/eval/deg_eval_flush.cc
+++ b/source/blender/depsgraph/intern/eval/deg_eval_flush.cc
@@ -105,10 +105,8 @@ void deg_graph_flush_updates(Main *bmain, Depsgraph *graph)
         */
        GSET_FOREACH_BEGIN(OperationDepsNode *, op_node, graph->entry_tags)
        {
-               if ((op_node->flag & DEPSOP_FLAG_SKIP_FLUSH) == 0) {
-                       queue.push_back(op_node);
-                       op_node->scheduled = true;
-               }
+               queue.push_back(op_node);
+               op_node->scheduled = true;
        }
        GSET_FOREACH_END();
 
diff --git a/source/blender/depsgraph/intern/nodes/deg_node_operation.cc 
b/source/blender/depsgraph/intern/nodes/deg_node_operation.cc
index 84b3d33f494..7467264f612 100644
--- a/source/blender/depsgraph/intern/nodes/deg_node_operation.cc
+++ b/source/blender/depsgraph/intern/nodes/deg_node_operation.cc
@@ -76,9 +76,6 @@ string OperationDepsNode::full_identifier() const
 
 void OperationDepsNode::tag_update(Depsgraph *graph)
 {
-       if (flag & DEPSOP_FLAG_SKIP_FLUSH) {
-               flag &= ~DEPSOP_FLAG_SKIP_FLUSH;
-       }
        if (flag & DEPSOP_FLAG_NEEDS_UPDATE) {
                return;
        }
diff --git a/source/blender/depsgraph/intern/nodes/deg_node_operation.h 
b/source/blender/depsgraph/intern/nodes/deg_node_operation.h
index 8a1fadd9c6c..de90f5db397 100644
--- a/source/blender/depsgraph/intern/nodes/deg_node_operation.h
+++ b/source/blender/depsgraph/intern/nodes/deg_node_operation.h
@@ -50,11 +50,6 @@ typedef enum eDepsOperation_Flag {
         * implications...
         */
        DEPSOP_FLAG_USES_PYTHON        = (1 << 2),
-
-       /* Special flag which indicates that update tag sohuld not be flushed
-        * up to the dependent nodes.
-        */
-       DEPSOP_FLAG_SKIP_FLUSH         = (1 << 3),
 } eDepsOperation_Flag;
 
 /* Atomic Operation - Base type for all operations */

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

Reply via email to