diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-11-28 19:09:36 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-11-29 13:01:08 +0300 |
commit | 3478d66b285b44de3a36a14db7436254bab84995 (patch) | |
tree | 9d62154ad44ce6b0fb2d2ec9a9f0fc3468c8fb75 | |
parent | a6b6689c0ab769bfdf4db932e4afd75ac0d42e10 (diff) |
Depsgraph: Remove object-specific flag which was storing update tag
There were following issues:
- This was used in a similar way of DEG's ID update callback. No reason to have
yet-another-way of informing editors/engines about changes. Better to keep
regular update mechanism usable and fast for those needs.
- It wasn't granular at all, and granularity in flags is something what we
need to support anyway, even for existing ID update.
- There is no reason to have it per-object. Depsgraph operates on IDs.
- It wasn't clear when and who clears the flag, and was possible to run into
conflicts.
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 2 | ||||
-rw-r--r-- | source/blender/depsgraph/intern/eval/deg_eval_flush.cc | 3 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_object_types.h | 2 |
3 files changed, 1 insertions, 6 deletions
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 107e9299740..3795e1bbf0e 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -467,8 +467,6 @@ void BKE_object_free(Object *ob) } BLI_freelistN(&ob->drawdata); - ob->deg_update_flag = 0; - BKE_sculptsession_free(ob); BLI_freelistN(&ob->pc_ids); diff --git a/source/blender/depsgraph/intern/eval/deg_eval_flush.cc b/source/blender/depsgraph/intern/eval/deg_eval_flush.cc index 5a07e88670b..e7d5a13d81f 100644 --- a/source/blender/depsgraph/intern/eval/deg_eval_flush.cc +++ b/source/blender/depsgraph/intern/eval/deg_eval_flush.cc @@ -220,9 +220,6 @@ void deg_graph_flush_updates(Main *bmain, Depsgraph *graph) /* Ignore, does not translate to recalc flags. */ break; } - - /* TODO : replace with more granular flags */ - object->deg_update_flag |= DEG_RUNTIME_DATA_UPDATE; } /* When some target changes bone, we might need to re-run the * whole IK solver, otherwise result might be unpredictable. diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index 6187a46dcd7..e39c6c37814 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -326,7 +326,7 @@ typedef struct Object { struct IDProperty *base_collection_properties; /* used by depsgraph, flushed from base */ ListBase drawdata; /* runtime, ObjectEngineData */ - int deg_update_flag; /* what has been updated in this object */ + int pad1; int select_color; /* Mesh structure createrd during object evaluaiton. |