diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-07-19 10:40:34 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-07-19 16:20:06 +0300 |
commit | c2ffea7f129f8ba47c2547ca02fd27b0a2a44981 (patch) | |
tree | dfc533b3e3724f12f8a7059f75b97c6a8a9e1771 /source/blender | |
parent | 3212e72cfea2bbfdb8bbf765f0326b17e588bfb3 (diff) |
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.
Diffstat (limited to 'source/blender')
4 files changed, 2 insertions, 13 deletions
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 */ |