diff options
author | Bastien Montagne <bastien@blender.org> | 2021-08-10 11:04:57 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2021-08-10 11:07:10 +0300 |
commit | 76d52cbcb42381d2ceb71f6aacbf6753906e01d0 (patch) | |
tree | 6508fb7af7d1676aa7d7f3171c204bd47a44e308 /source/blender/makesdna | |
parent | 7c2c66cdb8db8f38edc57a890c0ec7ea28b9fad3 (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.
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_ID.h | 21 |
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 |