H. Verbeet : wined3d: Specify the GLSL language version our shaders are written to.

Alexandre Julliard julliard at winehq.org
Tue Jul 1 08:27:33 CDT 2008


Module: wine
Branch: master
Commit: d76de4eede91634011a93b05b5a0fe1b1b6a8028
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d76de4eede91634011a93b05b5a0fe1b1b6a8028

Author: H. Verbeet <hverbeet at gmail.com>
Date:   Mon Jun 30 23:03:47 2008 +0200

wined3d: Specify the GLSL language version our shaders are written to.

This prevents some driver warnings when using language features from
1.20, like "first class arrays".

---

 dlls/wined3d/glsl_shader.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 1f5df18..a9ab92c 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -2988,6 +2988,8 @@ static GLhandleARB generate_param_reorder_function(IWineD3DVertexShader *vertexs
     buffer.lineNo = 0;
     buffer.newline = TRUE;
 
+    shader_addline(&buffer, "#version 120\n");
+
     if(vs_major < 3 && ps_major < 3) {
         /* That one is easy: The vertex shader writes to the builtin varyings, the pixel shader reads from them.
          * Take care about the texcoord .w fixup though if we're using the fixed function fragment pipeline
@@ -3310,6 +3312,7 @@ static GLhandleARB create_glsl_blt_shader(WineD3D_GL_Info *gl_info) {
     GLhandleARB program_id;
     GLhandleARB vshader_id, pshader_id;
     const char *blt_vshader[] = {
+        "#version 120\n"
         "void main(void)\n"
         "{\n"
         "    gl_Position = gl_Vertex;\n"
@@ -3320,6 +3323,7 @@ static GLhandleARB create_glsl_blt_shader(WineD3D_GL_Info *gl_info) {
     };
 
     const char *blt_pshader[] = {
+        "#version 120\n"
         "uniform sampler2D sampler;\n"
         "void main(void)\n"
         "{\n"
@@ -3494,6 +3498,8 @@ static void shader_glsl_generate_pshader(IWineD3DPixelShader *iface, SHADER_BUFF
     /* Create the hw GLSL shader object and assign it as the baseShader.prgId */
     GLhandleARB shader_obj = GL_EXTCALL(glCreateShaderObjectARB(GL_FRAGMENT_SHADER_ARB));
 
+    shader_addline(buffer, "#version 120\n");
+
     if (GL_SUPPORT(ARB_DRAW_BUFFERS)) {
         shader_addline(buffer, "#extension GL_ARB_draw_buffers : enable\n");
     }
@@ -3579,6 +3585,8 @@ static void shader_glsl_generate_vshader(IWineD3DVertexShader *iface, SHADER_BUF
     /* Create the hw GLSL shader program and assign it as the baseShader.prgId */
     GLhandleARB shader_obj = GL_EXTCALL(glCreateShaderObjectARB(GL_VERTEX_SHADER_ARB));
 
+    shader_addline(buffer, "#version 120\n");
+
     /* Base Declarations */
     shader_generate_glsl_declarations( (IWineD3DBaseShader*) This, reg_maps, buffer, &GLINFO_LOCATION);
 




More information about the wine-cvs mailing list