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
path: root/intern
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2012-04-23 22:15:38 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-04-23 22:15:38 +0400
commit95432a2a2bc371eab628e7846bb5736f236d0efe (patch)
treeb96442ecf4343f8d606f9b58b95e473b019ba267 /intern
parentfb6ee37aa2c4419901e5a9b52393a4edfa4735be (diff)
Fix #31065: cycles render crash with large node groups, increased the stack
size now, this seems to work well after some testing. Fix: material override not working on objects without a material assigned.
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/blender/blender_mesh.cpp3
-rw-r--r--intern/cycles/kernel/svm/svm_types.h2
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