[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52674] trunk/blender/intern/cycles: Fix #33347: cycles OSL crash connecting string to vector socket.

Brecht Van Lommel brechtvanlommel at pandora.be
Fri Nov 30 07:10:17 CET 2012


Revision: 52674
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52674
Author:   blendix
Date:     2012-11-30 06:10:16 +0000 (Fri, 30 Nov 2012)
Log Message:
-----------
Fix #33347: cycles OSL crash connecting string to vector socket.

Modified Paths:
--------------
    trunk/blender/intern/cycles/kernel/shaders/node_convert_from_color.osl
    trunk/blender/intern/cycles/kernel/shaders/node_convert_from_float.osl
    trunk/blender/intern/cycles/kernel/shaders/node_convert_from_int.osl
    trunk/blender/intern/cycles/kernel/shaders/node_convert_from_normal.osl
    trunk/blender/intern/cycles/kernel/shaders/node_convert_from_point.osl
    trunk/blender/intern/cycles/kernel/shaders/node_convert_from_vector.osl
    trunk/blender/intern/cycles/render/nodes.cpp

Added Paths:
-----------
    trunk/blender/intern/cycles/kernel/shaders/node_convert_from_string.osl

Modified: trunk/blender/intern/cycles/kernel/shaders/node_convert_from_color.osl
===================================================================
--- trunk/blender/intern/cycles/kernel/shaders/node_convert_from_color.osl	2012-11-30 06:10:01 UTC (rev 52673)
+++ trunk/blender/intern/cycles/kernel/shaders/node_convert_from_color.osl	2012-11-30 06:10:16 UTC (rev 52674)
@@ -20,6 +20,7 @@
 
 shader node_convert_from_color(
 	color Color = color(0.0, 0.0, 0.0),
+	output string String = "",
 	output float Val = 0.0,
 	output int ValInt = 0,
 	output vector Vector = vector(0.0, 0.0, 0.0),

Modified: trunk/blender/intern/cycles/kernel/shaders/node_convert_from_float.osl
===================================================================
--- trunk/blender/intern/cycles/kernel/shaders/node_convert_from_float.osl	2012-11-30 06:10:01 UTC (rev 52673)
+++ trunk/blender/intern/cycles/kernel/shaders/node_convert_from_float.osl	2012-11-30 06:10:16 UTC (rev 52674)
@@ -20,6 +20,7 @@
 
 shader node_convert_from_float(
 	float Val = 0.0,
+	output string String = "",
 	output int ValInt = 0,
 	output color Color = color(0.0, 0.0, 0.0),
 	output vector Vector = vector(0.0, 0.0, 0.0),

Modified: trunk/blender/intern/cycles/kernel/shaders/node_convert_from_int.osl
===================================================================
--- trunk/blender/intern/cycles/kernel/shaders/node_convert_from_int.osl	2012-11-30 06:10:01 UTC (rev 52673)
+++ trunk/blender/intern/cycles/kernel/shaders/node_convert_from_int.osl	2012-11-30 06:10:16 UTC (rev 52674)
@@ -20,6 +20,7 @@
 
 shader node_convert_from_int(
 	int ValInt = 0,
+	output string String = "",
 	output float Val = 0.0,
 	output color Color = color(0.0, 0.0, 0.0),
 	output vector Vector = vector(0.0, 0.0, 0.0),

Modified: trunk/blender/intern/cycles/kernel/shaders/node_convert_from_normal.osl
===================================================================
--- trunk/blender/intern/cycles/kernel/shaders/node_convert_from_normal.osl	2012-11-30 06:10:01 UTC (rev 52673)
+++ trunk/blender/intern/cycles/kernel/shaders/node_convert_from_normal.osl	2012-11-30 06:10:16 UTC (rev 52674)
@@ -20,6 +20,7 @@
 
 shader node_convert_from_normal(
 	normal Normal = normal(0.0, 0.0, 0.0),
+	output string String = "",
 	output float Val = 0.0,
 	output int ValInt = 0,
 	output vector Vector = vector(0.0, 0.0, 0.0),

Modified: trunk/blender/intern/cycles/kernel/shaders/node_convert_from_point.osl
===================================================================
--- trunk/blender/intern/cycles/kernel/shaders/node_convert_from_point.osl	2012-11-30 06:10:01 UTC (rev 52673)
+++ trunk/blender/intern/cycles/kernel/shaders/node_convert_from_point.osl	2012-11-30 06:10:16 UTC (rev 52674)
@@ -20,6 +20,7 @@
 
 shader node_convert_from_point(
 	point Point = point(0.0, 0.0, 0.0),
+	output string String = "",
 	output float Val = 0.0,
 	output int ValInt = 0,
 	output vector Vector = vector(0.0, 0.0, 0.0),

Copied: trunk/blender/intern/cycles/kernel/shaders/node_convert_from_string.osl (from rev 52668, trunk/blender/intern/cycles/kernel/shaders/node_convert_from_int.osl)
===================================================================
--- trunk/blender/intern/cycles/kernel/shaders/node_convert_from_string.osl	                        (rev 0)
+++ trunk/blender/intern/cycles/kernel/shaders/node_convert_from_string.osl	2012-11-30 06:10:16 UTC (rev 52674)
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2011, Blender Foundation.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include "stdosl.h"
+
+shader node_convert_from_string(
+	string String = "",
+	output color Color = color(0.0, 0.0, 0.0),
+	output float Val = 0.0,
+	output int ValInt = 0,
+	output vector Vector = vector(0.0, 0.0, 0.0),
+	output point Point = point(0.0, 0.0, 0.0),
+	output normal Normal = normal(0.0, 0.0, 0.0))
+{
+}
+

Modified: trunk/blender/intern/cycles/kernel/shaders/node_convert_from_vector.osl
===================================================================
--- trunk/blender/intern/cycles/kernel/shaders/node_convert_from_vector.osl	2012-11-30 06:10:01 UTC (rev 52673)
+++ trunk/blender/intern/cycles/kernel/shaders/node_convert_from_vector.osl	2012-11-30 06:10:16 UTC (rev 52674)
@@ -20,6 +20,7 @@
 
 shader node_convert_from_vector(
 	vector Vector = vector(0.0, 0.0, 0.0),
+	output string String = "",
 	output float Val = 0.0,
 	output int ValInt = 0,
 	output color Color = color(0.0, 0.0, 0.0),

Modified: trunk/blender/intern/cycles/render/nodes.cpp
===================================================================
--- trunk/blender/intern/cycles/render/nodes.cpp	2012-11-30 06:10:01 UTC (rev 52673)
+++ trunk/blender/intern/cycles/render/nodes.cpp	2012-11-30 06:10:16 UTC (rev 52674)
@@ -1124,6 +1124,8 @@
 		add_input("Point", SHADER_SOCKET_POINT);
 	else if(from == SHADER_SOCKET_NORMAL)
 		add_input("Normal", SHADER_SOCKET_NORMAL);
+	else if(from == SHADER_SOCKET_STRING)
+		add_input("String", SHADER_SOCKET_STRING);
 	else
 		assert(0);
 
@@ -1139,6 +1141,8 @@
 		add_output("Point", SHADER_SOCKET_POINT);
 	else if(to == SHADER_SOCKET_NORMAL)
 		add_output("Normal", SHADER_SOCKET_NORMAL);
+	else if(to == SHADER_SOCKET_STRING)
+		add_output("String", SHADER_SOCKET_STRING);
 	else
 		assert(0);
 }




More information about the Bf-blender-cvs mailing list