Depsgraph: Don't tag original IDs

This is unreliable for cases when multiple dependency graphs
are to be updated.

The only reason why it was attempted to be made is to deal
with cases when ID appears in the dependency graph for the
first time. But even then it should be smart enough bring
itself to an up-to-date state without any extra tricks.
This commit is contained in:
2019-02-14 12:20:51 +01:00
parent 42c53e054f
commit 5f814cb3b4
3 changed files with 0 additions and 8 deletions

View File

@@ -280,7 +280,6 @@ void depsgraph_tag_component(Depsgraph *graph,
ComponentNode *cow_comp =
id_node->find_component(NodeType::COPY_ON_WRITE);
cow_comp->tag_update(graph, update_source);
id_node->id_orig->recalc |= ID_RECALC_COPY_ON_WRITE;
}
}
@@ -758,7 +757,6 @@ static void deg_graph_clear_id_node_func(
DEG::Depsgraph *deg_graph = reinterpret_cast<DEG::Depsgraph *>(data_v);
DEG::IDNode *id_node = deg_graph->id_nodes[i];
id_node->id_cow->recalc &= ~ID_RECALC_ALL;
id_node->id_orig->recalc &= ~ID_RECALC_ALL;
/* Clear embedded node trees too. */
bNodeTree *ntree_cow = ntreeFromID(id_node->id_cow);

View File

@@ -684,7 +684,6 @@ ID *deg_expand_copy_on_write_datablock(const Depsgraph *depsgraph,
{
const ID *id_orig = id_node->id_orig;
ID *id_cow = id_node->id_cow;
const int id_cow_recalc = id_cow->recalc;
/* No need to expand such datablocks, their copied ID is same as original
* one already. */
if (!deg_copy_on_write_is_needed(id_orig)) {
@@ -761,7 +760,6 @@ ID *deg_expand_copy_on_write_datablock(const Depsgraph *depsgraph,
/* Correct or tweak some pointers which are not taken care by foreach
* from above. */
update_special_pointers(depsgraph, id_orig, id_cow);
id_cow->recalc = id_orig->recalc | id_cow_recalc;
return id_cow;
}

View File

@@ -248,10 +248,6 @@ void flush_editors_id_update(Main *bmain,
/* TODO(sergey): Do we need to pass original or evaluated ID here? */
ID *id_orig = id_node->id_orig;
ID *id_cow = id_node->id_cow;
/* Copy tag from original data to CoW storage.
* This is because DEG_id_tag_update() sets tags on original
* data. */
id_cow->recalc |= (id_orig->recalc & ID_RECALC_ALL);
/* Gather recalc flags from all changed components. */
GHASH_FOREACH_BEGIN(ComponentNode *, comp_node, id_node->components)
{