diff options
-rw-r--r-- | intern/cycles/blender/blender_mesh.cpp | 3 | ||||
-rw-r--r-- | intern/cycles/kernel/svm/svm_types.h | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp index 7c8d36ab574..7caa6b3d511 100644 --- a/intern/cycles/blender/blender_mesh.cpp +++ b/intern/cycles/blender/blender_mesh.cpp @@ -227,6 +227,7 @@ Mesh *BlenderSync::sync_mesh(BL::Object b_ob, bool holdout, bool object_updated) /* test if we can instance or if the object is modified */ BL::ID b_ob_data = b_ob.data(); BL::ID key = (object_is_modified(b_ob) || holdout)? b_ob: b_ob_data; + BL::Material material_override = render_layer.material_override; /* find shader indices */ vector<uint> used_shaders; @@ -246,6 +247,8 @@ Mesh *BlenderSync::sync_mesh(BL::Object b_ob, bool holdout, bool object_updated) if(used_shaders.size() == 0) { if(holdout) used_shaders.push_back(scene->default_holdout); + else if(material_override) + find_shader(material_override, used_shaders, scene->default_surface); else used_shaders.push_back(scene->default_surface); } diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h index 13d72307765..68eb39bdd29 100644 --- a/intern/cycles/kernel/svm/svm_types.h +++ b/intern/cycles/kernel/svm/svm_types.h @@ -24,7 +24,7 @@ CCL_NAMESPACE_BEGIN /* Stack */ /* SVM stack has a fixed size */ -#define SVM_STACK_SIZE 64 +#define SVM_STACK_SIZE 255 /* SVM stack offsets with this value indicate that it's not on the stack */ #define SVM_STACK_INVALID 255 |