[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55729] trunk/blender/source/blender/gpu/ intern: Fix #34788, #34744: GLSL error, #version line needs to be at the top of the shader

Brecht Van Lommel brechtvanlommel at pandora.be
Tue Apr 2 18:37:31 CEST 2013


Revision: 55729
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55729
Author:   blendix
Date:     2013-04-02 16:37:31 +0000 (Tue, 02 Apr 2013)
Log Message:
-----------
Fix #34788, #34744: GLSL error, #version line needs to be at the top of the shader
and this wasn't the case anymore after recent changes.

Modified Paths:
--------------
    trunk/blender/source/blender/gpu/intern/gpu_codegen.c
    trunk/blender/source/blender/gpu/intern/gpu_extensions.c

Modified: trunk/blender/source/blender/gpu/intern/gpu_codegen.c
===================================================================
--- trunk/blender/source/blender/gpu/intern/gpu_codegen.c	2013-04-02 16:37:28 UTC (rev 55728)
+++ trunk/blender/source/blender/gpu/intern/gpu_codegen.c	2013-04-02 16:37:31 UTC (rev 55729)
@@ -680,12 +680,6 @@
 
 	ds = BLI_dynstr_new();
 
-	if (GPU_bicubic_bump_support()) {
-		BLI_dynstr_append(ds, "/* These are needed for high quality bump mapping */\n"
-				"#version 130\n"
-				"#extension GL_ARB_texture_query_lod: enable\n"
-				"#define BUMP_BICUBIC\n");
-	}
 	BLI_dynstr_append(ds, datatoc_gpu_shader_material_glsl);
 
 

Modified: trunk/blender/source/blender/gpu/intern/gpu_extensions.c
===================================================================
--- trunk/blender/source/blender/gpu/intern/gpu_extensions.c	2013-04-02 16:37:28 UTC (rev 55728)
+++ trunk/blender/source/blender/gpu/intern/gpu_extensions.c	2013-04-02 16:37:31 UTC (rev 55729)
@@ -1136,6 +1136,18 @@
 	fprintf(stderr, "%s\n", log);
 }
 
+static const char *gpu_shader_standard_extensions(void)
+{
+	/* need this extensions for high quality bump mapping */
+	if(GPU_bicubic_bump_support()) {
+		return "#version 130\n"
+		       "#extension GL_ARB_texture_query_lod: enable\n"
+		       "#define BUMP_BICUBIC\n";
+	}
+
+	return "";
+}
+
 static const char *gpu_shader_standard_defines(void)
 {
 	/* some useful defines to detect GPU type */
@@ -1177,9 +1189,10 @@
 	}
 
 	if (vertexcode) {
-		const char *source[3];
+		const char *source[4];
 		int num_source = 0;
 
+		source[num_source++] = gpu_shader_standard_extensions();
 		source[num_source++] = gpu_shader_standard_defines();
 
 		if (defines) source[num_source++] = defines;
@@ -1201,9 +1214,10 @@
 	}
 
 	if (fragcode) {
-		const char *source[4];
+		const char *source[5];
 		int num_source = 0;
 
+		source[num_source++] = gpu_shader_standard_extensions();
 		source[num_source++] = gpu_shader_standard_defines();
 
 		if (defines) source[num_source++] = defines;




More information about the Bf-blender-cvs mailing list