[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46775] trunk/blender/source/blender: Fix related to #31446: cycles glsl error with empty image texture node.

Brecht Van Lommel brechtvanlommel at pandora.be
Fri May 18 15:30:34 CEST 2012


Revision: 46775
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46775
Author:   blendix
Date:     2012-05-18 13:30:34 +0000 (Fri, 18 May 2012)
Log Message:
-----------
Fix related to #31446: cycles glsl error with empty image texture node.

Modified Paths:
--------------
    trunk/blender/source/blender/gpu/shaders/gpu_shader_material.glsl
    trunk/blender/source/blender/gpu/shaders/gpu_shader_material.glsl.c
    trunk/blender/source/blender/nodes/shader/nodes/node_shader_tex_environment.c
    trunk/blender/source/blender/nodes/shader/nodes/node_shader_tex_image.c

Modified: trunk/blender/source/blender/gpu/shaders/gpu_shader_material.glsl
===================================================================
--- trunk/blender/source/blender/gpu/shaders/gpu_shader_material.glsl	2012-05-18 13:27:33 UTC (rev 46774)
+++ trunk/blender/source/blender/gpu/shaders/gpu_shader_material.glsl	2012-05-18 13:30:34 UTC (rev 46775)
@@ -2127,12 +2127,23 @@
 	color = texture2D(ima, vec2(u, v));
 }
 
+void node_tex_environment_empty(vec3 co, out vec4 color)
+{
+	color = vec4(0.0);
+}
+
 void node_tex_image(vec3 co, sampler2D ima, out vec4 color, out float alpha)
 {
 	color = texture2D(ima, co.xy);
     alpha = color.a;
 }
 
+void node_tex_image_empty(vec3 co, out vec4 color, out float alpha)
+{
+	color = vec4(0.0);
+    alpha = 0.0;
+}
+
 void node_tex_magic(vec3 p, float scale, float distortion, out vec4 color, out float fac)
 {
 	color = vec4(1.0);

Modified: trunk/blender/source/blender/gpu/shaders/gpu_shader_material.glsl.c
===================================================================
--- trunk/blender/source/blender/gpu/shaders/gpu_shader_material.glsl.c	2012-05-18 13:27:33 UTC (rev 46774)
+++ trunk/blender/source/blender/gpu/shaders/gpu_shader_material.glsl.c	2012-05-18 13:30:34 UTC (rev 46775)
@@ -1,6 +1,6 @@
 /* DataToC output of file <gpu_shader_material_glsl> */
 
-int datatoc_gpu_shader_material_glsl_size = 50823;
+int datatoc_gpu_shader_material_glsl_size = 51015;
 char datatoc_gpu_shader_material_glsl[] = {
  10,102,108,111, 97,116, 32,
 101,120,112, 95, 98,108,101,110,100,101,114, 40,102,108,111, 97,116, 32,102, 41, 10,123, 10,  9,114,101,116,117,114,110, 32,112,
@@ -1539,11 +1539,17 @@
  41, 47, 40, 50, 46, 48, 42, 77, 95, 80, 73, 41, 59, 10,  9,102,108,111, 97,116, 32,118, 32, 61, 32, 97,116, 97,110, 40, 99,111,
  46,122, 44, 32,104,121,112,111,116, 40, 99,111, 46,120, 44, 32, 99,111, 46,121, 41, 41, 47, 77, 95, 80, 73, 32, 43, 32, 48, 46,
  53, 59, 10, 10,  9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,118,101, 99, 50,
- 40,117, 44, 32,118, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,105,109, 97,103,101, 40,
-118,101, 99, 51, 32, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 52,
- 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 41, 10,123, 10,  9, 99,111,108,111,
-114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 99,111, 46,120,121, 41, 59, 10, 32, 32, 32, 32, 97,
-108,112,104, 97, 32, 61, 32, 99,111,108,111,114, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120,
+ 40,117, 44, 32,118, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,101,110,118,105,114,111,
+110,109,101,110,116, 95,101,109,112,116,121, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,
+108,111,114, 41, 10,123, 10,  9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,
+105,100, 32,110,111,100,101, 95,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97,109,112,108,
+101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,
+111, 97,116, 32, 97,108,112,104, 97, 41, 10,123, 10,  9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,
+105,109, 97, 44, 32, 99,111, 46,120,121, 41, 59, 10, 32, 32, 32, 32, 97,108,112,104, 97, 32, 61, 32, 99,111,108,111,114, 46, 97,
+ 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,105,109, 97,103,101, 95,101,109,112,116,121, 40,118,
+101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,
+116, 32, 97,108,112,104, 97, 41, 10,123, 10,  9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10, 32,
+ 32, 32, 32, 97,108,112,104, 97, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120,
  95,109, 97,103,105, 99, 40,118,101, 99, 51, 32,112, 44, 32,102,108,111, 97,116, 32,115, 99, 97,108,101, 44, 32,102,108,111, 97,
 116, 32,100,105,115,116,111,114,116,105,111,110, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,
 116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10,  9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48,

Modified: trunk/blender/source/blender/nodes/shader/nodes/node_shader_tex_environment.c
===================================================================
--- trunk/blender/source/blender/nodes/shader/nodes/node_shader_tex_environment.c	2012-05-18 13:27:33 UTC (rev 46774)
+++ trunk/blender/source/blender/nodes/shader/nodes/node_shader_tex_environment.c	2012-05-18 13:30:34 UTC (rev 46775)
@@ -55,11 +55,8 @@
 	Image *ima= (Image*)node->id;
 	ImageUser *iuser= NULL;
 
-	if (!ima) {
-		float black[4] = {0.0f, 0.0f, 0.0f, 1.0f};
-		GPUNodeLink *vec = GPU_uniform(black);
-		return GPU_stack_link(mat, "set_rgba", out, out, vec);
-	}
+	if (!ima)
+		return GPU_stack_link(mat, "node_tex_environment_empty", in, out);
 
 	if (!in[0].link)
 		in[0].link = GPU_builtin(GPU_VIEW_POSITION);

Modified: trunk/blender/source/blender/nodes/shader/nodes/node_shader_tex_image.c
===================================================================
--- trunk/blender/source/blender/nodes/shader/nodes/node_shader_tex_image.c	2012-05-18 13:27:33 UTC (rev 46774)
+++ trunk/blender/source/blender/nodes/shader/nodes/node_shader_tex_image.c	2012-05-18 13:30:34 UTC (rev 46775)
@@ -55,11 +55,8 @@
 	Image *ima= (Image*)node->id;
 	ImageUser *iuser= NULL;
 
-	if (!ima) {
-		float black[4] = {0.0f, 0.0f, 0.0f, 1.0f};
-		GPUNodeLink *vec = GPU_uniform(black);
-		return GPU_stack_link(mat, "set_rgba", out, out, vec);
-	}
+	if (!ima)
+		return GPU_stack_link(mat, "node_tex_image_empty", in, out);
 	
 	if (!in[0].link)
 		in[0].link = GPU_attribute(CD_MTFACE, "");




More information about the Bf-blender-cvs mailing list