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 <bastien@blender.org>2021-08-10 11:04:57 +0300
committerBastien Montagne <bastien@blender.org>2021-08-10 11:07:10 +0300
commit76d52cbcb42381d2ceb71f6aacbf6753906e01d0 (patch)
tree6508fb7af7d1676aa7d7f3171c204bd47a44e308
parent7c2c66cdb8db8f38edc57a890c0ec7ea28b9fad3 (diff)
Cleanup: Comment COW/LOCALIZED ID tags.
This was really missing there (some COW tags behavior was also documented in some code using them, like in `sound.c`, but not in their definition). Ref. T88555.
-rw-r--r--source/blender/makesdna/DNA_ID.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index f7f4b0e6104..3995e98f34d 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -563,13 +563,32 @@ enum {
/**
* The data-block is a copy-on-write/localized version.
*
+ * RESET_NEVER
+ *
* \warning This should not be cleared on existing data.
* If support for this is needed, see T88026 as this flag controls memory ownership
* of physics *shared* pointers.
*/
LIB_TAG_COPIED_ON_WRITE = 1 << 12,
-
+ /**
+ * The data-block is not the original COW ID created by the depsgraph, but has be re-allocated
+ * during the evaluation process of another ID.
+ *
+ * RESET_NEVER
+ *
+ * Typical example is object data, when evaluating the object's modifier stack the final obdata
+ * can be different than the COW initial obdata ID.
+ */
LIB_TAG_COPIED_ON_WRITE_EVAL_RESULT = 1 << 13,
+
+ /**
+ * The data-block is fully outside of any ID management area, and should be considered as a
+ * purely independent data.
+ *
+ * RESET_NEVER
+ *
+ * NOTE: Only used by nodegroups currently.
+ */
LIB_TAG_LOCALIZED = 1 << 14,
/* RESET_NEVER tag data-block for freeing etc. behavior