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:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-05-27 12:45:33 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-05-29 11:44:11 +0300
commit2f7711962a69de8192d048514e5927e49a1a63a2 (patch)
tree7a91196fc710ec8e47bda75cd763d09386e43d8d /source/blender/makesdna/DNA_object_types.h
parentda7e5e861f54ae0ca9b7ec1c71432fb08f7a53fa (diff)
Fix T58251: Cycles ignores linked meshes when rendering
The idea is to share a mesh data-block as a result across all objects which are sharing same original mesh and have no effective modifiers. This mesh is owned by an original copy-on-written version of object data. Tricky part is to make sure it is only initialized once, and currently a silly mutex lock is used. In practice it only locks if the mesh is not already there. As an extra bonus, even viewport memory is also lower after this change. Reviewers: brecht, mont29 Reviewed By: brecht, mont29 Differential Revision: https://developer.blender.org/D4954
Diffstat (limited to 'source/blender/makesdna/DNA_object_types.h')
-rw-r--r--source/blender/makesdna/DNA_object_types.h4
1 files changed, 4 insertions, 0 deletions
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.