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>2017-12-15 11:43:18 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-12-15 11:43:18 +0300
commitc4046e9082f61bfef87173d20c566a065f2602d7 (patch)
treed04eb7411cb107ed05c3e6e9a83a54065b4a46a4 /source/blender/makesdna/DNA_ID.h
parent400d59be9b058d4bfa31a84547591275f7c700b9 (diff)
Move ID recalc flags into dedicated field in ID
Currently this is a no-visible-changes change, but the idea is to use this dedicated flag to tell which exact components of ID changed, make it more granular than just OBJECT and OBJECT_DATA. Allow setting this field based on what components new dependency graph flushed on evaluation.
Diffstat (limited to 'source/blender/makesdna/DNA_ID.h')
-rw-r--r--source/blender/makesdna/DNA_ID.h20
1 files changed, 11 insertions, 9 deletions
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index f0fc651353f..c1c4d6c5376 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -348,18 +348,20 @@ enum {
/* RESET_AFTER_USE tag existing data before linking so we know what is new. */
LIB_TAG_PRE_EXISTING = 1 << 11,
- /* RESET_AFTER_USE, used by update code (depsgraph). */
- LIB_TAG_ID_RECALC = 1 << 12,
- LIB_TAG_ID_RECALC_DATA = 1 << 13,
- LIB_TAG_ANIM_NO_RECALC = 1 << 14,
- LIB_TAG_ID_RECALC_ALL = (LIB_TAG_ID_RECALC | LIB_TAG_ID_RECALC_DATA),
-
/* RESET_NEVER tag datablock for freeing etc. behavior (usually set when copying real one into temp/runtime one). */
- LIB_TAG_NO_MAIN = 1 << 16, /* Datablock is not listed in Main database. */
- LIB_TAG_NO_USER_REFCOUNT = 1 << 17, /* Datablock does not refcount usages of other IDs. */
+ LIB_TAG_NO_MAIN = 1 << 11, /* Datablock is not listed in Main database. */
+ LIB_TAG_NO_USER_REFCOUNT = 1 << 13, /* Datablock does not refcount usages of other IDs. */
/* Datablock was not allocated by standard system (BKE_libblock_alloc), do not free its memory
* (usual type-specific freeing is called though). */
- LIB_TAG_NOT_ALLOCATED = 1 << 18,
+ LIB_TAG_NOT_ALLOCATED = 1 << 14,
+};
+
+enum {
+ /* RESET_AFTER_USE, used by update code (depsgraph). */
+ ID_RECALC = 1 << 0,
+ ID_RECALC_DATA = 1 << 1,
+ ID_RECALC_SKIP_ANIM_TAG = 1 << 2,
+ ID_RECALC_ALL = (ID_RECALC | ID_RECALC_DATA),
};
/* To filter ID types (filter_id) */