diff options
author | Alexander Gavrilov <angavrilov@gmail.com> | 2020-10-31 19:21:07 +0300 |
---|---|---|
committer | Alexander Gavrilov <angavrilov@gmail.com> | 2020-11-03 16:35:43 +0300 |
commit | 91d320edc3cfb30443af4adbcb09bc3d7a609e1d (patch) | |
tree | 5fa112217c986e516ff30e3ba95556bc2b94d7ce /intern/cycles/render/mesh.cpp | |
parent | 9bc177d8ded4ba498762813a0d5106005fef0e67 (diff) |
Cycles: immediately store the used_shader list in Blender interface.
Uniform attributes require immediate access to the shader list
in object update code, so setting the field can't be deferred
to a background task. This required adding a parameter to the
clear method of Geometry.
Ref D2057
Diffstat (limited to 'intern/cycles/render/mesh.cpp')
-rw-r--r-- | intern/cycles/render/mesh.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/intern/cycles/render/mesh.cpp b/intern/cycles/render/mesh.cpp index 3015ac5e569..49a737f5b1f 100644 --- a/intern/cycles/render/mesh.cpp +++ b/intern/cycles/render/mesh.cpp @@ -213,9 +213,9 @@ void Mesh::reserve_subd_faces(int numfaces, int num_ngons_, int numcorners) subd_attributes.resize(true); } -void Mesh::clear(bool preserve_voxel_data) +void Mesh::clear(bool preserve_shaders, bool preserve_voxel_data) { - Geometry::clear(); + Geometry::clear(preserve_shaders); /* clear all verts and triangles */ verts.clear(); @@ -243,9 +243,9 @@ void Mesh::clear(bool preserve_voxel_data) patch_table = NULL; } -void Mesh::clear() +void Mesh::clear(bool preserve_shaders) { - clear(false); + clear(preserve_shaders, false); } void Mesh::add_vertex(float3 P) |