[Bf-blender-cvs] [f88ce5bf273] blender2.8: Depsgraph: Remove special exception logic from ID node tagging
Sergey Sharybin
noreply at git.blender.org
Fri Dec 15 17:24:15 CET 2017
Commit: f88ce5bf2732d1d597a0859920d3e01cb3579123
Author: Sergey Sharybin
Date: Fri Dec 15 14:49:11 2017 +0100
Branches: blender2.8
https://developer.blender.org/rBf88ce5bf2732d1d597a0859920d3e01cb3579123
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.
===================================================================
M source/blender/depsgraph/intern/nodes/deg_node.cc
===================================================================
diff --git a/source/blender/depsgraph/intern/nodes/deg_node.cc b/source/blender/depsgraph/intern/nodes/deg_node.cc
index 5f83d02082b..62291596323 100644
--- a/source/blender/depsgraph/intern/nodes/deg_node.cc
+++ b/source/blender/depsgraph/intern/nodes/deg_node.cc
@@ -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();
}
More information about the Bf-blender-cvs
mailing list