[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