[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45891] trunk/blender/intern/cycles: Fix #31065: cycles render crash with large node groups, increased the stack
Brecht Van Lommel
brechtvanlommel at pandora.be
Mon Apr 23 20:15:39 CEST 2012
Revision: 45891
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45891
Author: blendix
Date: 2012-04-23 18:15:38 +0000 (Mon, 23 Apr 2012)
Log Message:
-----------
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.
Modified Paths:
--------------
trunk/blender/intern/cycles/blender/blender_mesh.cpp
trunk/blender/intern/cycles/kernel/svm/svm_types.h
Modified: trunk/blender/intern/cycles/blender/blender_mesh.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_mesh.cpp 2012-04-23 17:33:12 UTC (rev 45890)
+++ trunk/blender/intern/cycles/blender/blender_mesh.cpp 2012-04-23 18:15:38 UTC (rev 45891)
@@ -227,6 +227,7 @@
/* 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 @@
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);
}
Modified: trunk/blender/intern/cycles/kernel/svm/svm_types.h
===================================================================
--- trunk/blender/intern/cycles/kernel/svm/svm_types.h 2012-04-23 17:33:12 UTC (rev 45890)
+++ trunk/blender/intern/cycles/kernel/svm/svm_types.h 2012-04-23 18:15:38 UTC (rev 45891)
@@ -24,7 +24,7 @@
/* 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
More information about the Bf-blender-cvs
mailing list