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:
authorAlexander Gavrilov <angavrilov@gmail.com>2018-12-03 18:09:45 +0300
committerAlexander Gavrilov <angavrilov@gmail.com>2018-12-03 18:29:06 +0300
commitbb16167fd8727a330a97f591398ac0981c76a562 (patch)
tree3f19f8097a795242f254a3263bbe84ffb250c774 /source/blender/makesdna/DNA_object_types.h
parentfadad895b2f44044b829e7ffe83174d8ecd8a487 (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.h12
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;