Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-06-04 17:51:02 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-06-05 15:23:53 +0300
commit863b7b3668fe67a082439181eaf49c3e94a87536 (patch)
treea38d719a870fbe7f4b1b0e83d587f9dc2e1f826f /source/blender/depsgraph/intern/depsgraph_tag.cc
parent4674e23220e7f2623d57bb1f25e7028274b0f69e (diff)
Depsgraph: Store recalc tag in ID->recalc
Allows to have more granularity in checks compared to a node-factory based tagging in a generic tag/flush code.
Diffstat (limited to 'source/blender/depsgraph/intern/depsgraph_tag.cc')
-rw-r--r--source/blender/depsgraph/intern/depsgraph_tag.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/depsgraph_tag.cc b/source/blender/depsgraph/intern/depsgraph_tag.cc
index 2d4963e8fef..c2cc15460d1 100644
--- a/source/blender/depsgraph/intern/depsgraph_tag.cc
+++ b/source/blender/depsgraph/intern/depsgraph_tag.cc
@@ -578,6 +578,11 @@ void graph_id_tag_update(
if (flag == 0) {
deg_graph_node_tag_zero(bmain, graph, id_node, update_source);
}
+ /* Store original flag in the ID.
+ * Allows to have more granularity than a node-factory based flags. */
+ if (id_node != NULL) {
+ id_node->id_cow->recalc |= flag;
+ }
int current_flag = flag;
while (current_flag != 0) {
IDRecalcFlag tag = (IDRecalcFlag)(1 << bitscan_forward_clear_i(&current_flag));