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:
authorBastien Montagne <montagne29@wanadoo.fr>2018-04-18 12:25:31 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2018-04-18 12:25:31 +0300
commit7cdc0b76aa976d7e6f7abd97ceb75529cf9a785b (patch)
tree386aa7bd99a4ec955bd982bcd2772687d46eb951 /source/blender/makesdna/DNA_ID.h
parent05ef225272366f754a56ef5bfe63405f6af01729 (diff)
Make depsgraph tag for auto-override IDs it updates.
This will reduce amount of needless auto-override checks, at least when not touching anything related to overriding IDs...
Diffstat (limited to 'source/blender/makesdna/DNA_ID.h')
-rw-r--r--source/blender/makesdna/DNA_ID.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index d53f290e606..f192c9ea75a 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -387,6 +387,10 @@ typedef enum ID_Type {
#define ID_IS_STATIC_OVERRIDE_TEMPLATE(_id) (((ID *)(_id))->override_static != NULL && \
((ID *)(_id))->override_static->reference == NULL)
+#define ID_IS_STATIC_OVERRIDE_AUTO(_id) (!ID_IS_LINKED((_id)) && \
+ ID_IS_STATIC_OVERRIDE((_id)) && \
+ (((ID *)(_id))->flag & LIB_OVERRIDE_STATIC_AUTO))
+
#ifdef GS
# undef GS
#endif
@@ -436,6 +440,8 @@ enum {
/* RESET_NEVER tag datablock as being up-to-date regarding its reference. */
LIB_TAG_OVERRIDESTATIC_REFOK = 1 << 9,
+ /* RESET_NEVER tag datablock as needing an auto-override execution, if enabled. */
+ LIB_TAG_OVERRIDESTATIC_AUTOREFRESH = 1 << 17,
/* tag datablock has having an extra user. */
LIB_TAG_EXTRAUSER = 1 << 2,