[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53273] trunk/blender/intern/cycles/kernel : Cycles OSL: handle new getattribute constant folding with renderstate NULL check,

Brecht Van Lommel brechtvanlommel at pandora.be
Sat Dec 22 16:15:11 CET 2012


Revision: 53273
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53273
Author:   blendix
Date:     2012-12-22 15:15:11 +0000 (Sat, 22 Dec 2012)
Log Message:
-----------
Cycles OSL: handle new getattribute constant folding with renderstate NULL check,
and fix #33654, distance to line segment function is not implemented but compiled
anyway, now it should give a compile error.

Modified Paths:
--------------
    trunk/blender/intern/cycles/kernel/osl/osl_services.cpp
    trunk/blender/intern/cycles/kernel/shaders/stdosl.h

Modified: trunk/blender/intern/cycles/kernel/osl/osl_services.cpp
===================================================================
--- trunk/blender/intern/cycles/kernel/osl/osl_services.cpp	2012-12-22 15:10:04 UTC (rev 53272)
+++ trunk/blender/intern/cycles/kernel/osl/osl_services.cpp	2012-12-22 15:15:11 UTC (rev 53273)
@@ -634,11 +634,10 @@
 {
 	KernelGlobals *kg = kernel_globals;
 	ShaderData *sd = (ShaderData *)renderstate;
-	int object = sd->object;
-	int tri = sd->prim;
+	int object, tri;
 
 	/* lookup of attribute on another object */
-	if (object_name != u_empty) {
+	if (object_name != u_empty || sd == NULL) {
 		OSLGlobals::ObjectNameMap::iterator it = kg->osl->object_name_map.find(object_name);
 
 		if (it == kg->osl->object_name_map.end())
@@ -647,8 +646,12 @@
 		object = it->second;
 		tri = ~0;
 	}
-	else if (object == ~0) {
-		return get_background_attribute(kg, sd, name, type, derivatives, val);
+	else {
+		object = sd->object;
+		tri = sd->prim;
+
+		if (object == ~0)
+			return get_background_attribute(kg, sd, name, type, derivatives, val);
 	}
 
 	/* find attribute on object */

Modified: trunk/blender/intern/cycles/kernel/shaders/stdosl.h
===================================================================
--- trunk/blender/intern/cycles/kernel/shaders/stdosl.h	2012-12-22 15:10:04 UTC (rev 53272)
+++ trunk/blender/intern/cycles/kernel/shaders/stdosl.h	2012-12-22 15:15:11 UTC (rev 53273)
@@ -161,7 +161,6 @@
 float dot (vector a, vector b) BUILTIN;
 float length (vector v) BUILTIN;
 float distance (point a, point b) BUILTIN;
-float distance (point a, point b, point q) BUILTIN;
 normal normalize (normal v) BUILTIN;
 vector normalize (vector v) BUILTIN;
 vector faceforward (vector N, vector I, vector Nref) BUILTIN;




More information about the Bf-blender-cvs mailing list