Depsgraph: Remove special exception logic from ID node tagging
This is something what we should be limiting as much as possible, it is enough already to have special mapping cases in depsgreaph_depsgraph_tag.
This commit is contained in:
parent
9515737b55
commit
f88ce5bf27
|
@ -265,38 +265,7 @@ void IDDepsNode::tag_update(Depsgraph *graph)
|
|||
{
|
||||
GHASH_FOREACH_BEGIN(ComponentDepsNode *, comp_node, components)
|
||||
{
|
||||
/* TODO(sergey): What about drivers? */
|
||||
bool do_component_tag = comp_node->type != DEG_NODE_TYPE_ANIMATION;
|
||||
if (comp_node->type == DEG_NODE_TYPE_ANIMATION) {
|
||||
AnimData *adt = BKE_animdata_from_id(id_orig);
|
||||
/* Animation data might be null if relations are tagged for update. */
|
||||
if (adt != NULL && (adt->recalc & ADT_RECALC_ANIM)) {
|
||||
do_component_tag = true;
|
||||
}
|
||||
}
|
||||
else if (comp_node->type == DEG_NODE_TYPE_SHADING) {
|
||||
/* TODO(sergey): For until we properly handle granular flags for DEG_id_tag_update()
|
||||
* we skip flushing here to keep Luca happy.
|
||||
*/
|
||||
if (GS(id_orig->name) != ID_MA &&
|
||||
GS(id_orig->name) != ID_WO)
|
||||
{
|
||||
do_component_tag = false;
|
||||
}
|
||||
}
|
||||
else if (comp_node->type == DEG_NODE_TYPE_SHADING_PARAMETERS) {
|
||||
do_component_tag = false;
|
||||
}
|
||||
else if (comp_node->type == DEG_NODE_TYPE_EVAL_PARTICLES) {
|
||||
/* Only do explicit particle settings tagging. */
|
||||
do_component_tag = false;
|
||||
}
|
||||
else if (comp_node->type == DEG_NODE_TYPE_BATCH_CACHE) {
|
||||
do_component_tag = false;
|
||||
}
|
||||
if (do_component_tag) {
|
||||
comp_node->tag_update(graph);
|
||||
}
|
||||
comp_node->tag_update(graph);
|
||||
}
|
||||
GHASH_FOREACH_END();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue