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:
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r--source/blender/makesdna/DNA_mesh_types.h6
-rw-r--r--source/blender/makesdna/DNA_object_types.h4
2 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_mesh_types.h b/source/blender/makesdna/DNA_mesh_types.h
index f54c178f1d0..8a9a69ac178 100644
--- a/source/blender/makesdna/DNA_mesh_types.h
+++ b/source/blender/makesdna/DNA_mesh_types.h
@@ -75,6 +75,12 @@ struct MLoopTri_Store {
/* not saved in file! */
typedef struct Mesh_Runtime {
+ /* Evaluated mesh for objects which do not have effective modifiers. This mesh is sued as a
+ * result of modifier stack evaluation.
+ * Since modifier stack evaluation is threaded on object level we need some synchronization. */
+ struct Mesh *mesh_eval;
+ void *eval_mutex;
+
struct EditMeshData *edit_data;
void *batch_cache;
diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h
index 9bbb6f1656c..e248d60b69b 100644
--- a/source/blender/makesdna/DNA_object_types.h
+++ b/source/blender/makesdna/DNA_object_types.h
@@ -155,6 +155,10 @@ typedef struct Object_Runtime {
* It has all modifiers applied.
*/
struct Mesh *mesh_eval;
+ /* Denotes whether the evaluated mesh is ownbed by this object or is referenced and owned by
+ * somebody else. */
+ int is_mesh_eval_owned;
+ int _pad3[3];
/**
* Mesh structure created during object evaluation.
* It has deforemation only modifiers applied on it.