diff options
author | Alexander Gavrilov <angavrilov@gmail.com> | 2018-12-03 18:09:45 +0300 |
---|---|---|
committer | Alexander Gavrilov <angavrilov@gmail.com> | 2018-12-03 18:29:06 +0300 |
commit | bb16167fd8727a330a97f591398ac0981c76a562 (patch) | |
tree | 3f19f8097a795242f254a3263bbe84ffb250c774 /source/blender/makesdna/DNA_object_types.h | |
parent | fadad895b2f44044b829e7ffe83174d8ecd8a487 (diff) |
Depsgraph: completely move customdata_mask to the ID node.
Move all mask-related fields from Object and OperationDepsNode
to Object_Runtime and IDDepsNode. Auto-apply DEG_TAG_GEOMETRY
if the mask changes after DEG rebuild. Update DEG API and all
code that uses it.
This fixes "source mesh data is not ready" errors from Data
Transfer modifier when parameters are changed in the UI after
the recent mesh_get_eval_final fix.
Reviewers: sergey
Differential Revision: https://developer.blender.org/D4025
Diffstat (limited to 'source/blender/makesdna/DNA_object_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_object_types.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index 631bb26feec..9df511fab2e 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -156,6 +156,13 @@ typedef struct Object_Runtime { struct GpencilBatchCache *gpencil_cache; struct ObjectBBoneDeform *cached_bbone_deformation; + + /* The custom data layer mask that was last used to calculate mesh_eval and mesh_deform_eval. */ + uint64_t last_data_mask; + + /* Did last modifier stack generation need mapping support? */ + char last_need_mapping; + char pad[7]; } Object_Runtime; typedef struct Object { @@ -236,8 +243,7 @@ typedef struct Object { short nlaflag; /* used for DopeSheet filtering settings (expanded/collapsed) */ short pad[2]; - /* did last modifier stack generation need mapping support? */ - char lastNeedMapping; /* bool */ + char pad12; char duplicator_visibility_flag; /* dupli-frame settings */ @@ -293,8 +299,6 @@ typedef struct Object { struct DerivedMesh *derivedDeform, *derivedFinal; void *pad7; - uint64_t lastDataMask; /* the custom data layer mask that was last used to calculate derivedDeform and derivedFinal */ - uint64_t customdata_mask; /* (extra) custom data layer mask to use for creating derivedmesh, set by depsgraph */ ListBase pc_ids; |