change initialization of texcoords - not all C compilers support non-constant array...
authorBrian Paul <brian.paul@tungstengraphics.com>
Thu, 18 May 2006 14:16:43 +0000 (14:16 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Thu, 18 May 2006 14:16:43 +0000 (14:16 +0000)
src/mesa/shader/slang/slang_library_texsample.c

index 38765599cff8e4f768701c8f54088ac267ef154e..7d56880400fd27ab08db24d5cc280dccb0c605fd 100644 (file)
@@ -39,10 +39,15 @@ GLvoid _slang_library_tex1d (GLfloat bias, GLfloat s, GLfloat sampler, GLfloat *
        GET_CURRENT_CONTEXT(ctx);
        SWcontext *swrast = SWRAST_CONTEXT(ctx);
        GLuint unit = (GLuint) sampler;
-       GLfloat texcoord[4] = { s, 0.0f, 0.0f, 1.0f };
+       GLfloat texcoord[4];
        GLfloat lambda = bias;
        GLchan rgba[4];
 
+       texcoord[0] = s;
+       texcoord[1] = 0.0f;
+       texcoord[2] = 0.0f;
+       texcoord[3] = 1.0f;
+
        swrast->TextureSample[unit] (ctx, ctx->Texture.Unit[unit]._Current, 1,
                (const GLfloat (*)[4]) texcoord, &lambda, &rgba);
        color[0] = CHAN_TO_FLOAT(rgba[0]);
@@ -56,10 +61,15 @@ GLvoid _slang_library_tex2d (GLfloat bias, GLfloat s, GLfloat t, GLfloat sampler
        GET_CURRENT_CONTEXT(ctx);
        SWcontext *swrast = SWRAST_CONTEXT(ctx);
        GLuint unit = (GLuint) sampler;
-       GLfloat texcoord[4] = { s, t, 0.0f, 1.0f };
+       GLfloat texcoord[4];
        GLfloat lambda = bias;
        GLchan rgba[4];
 
+       texcoord[0] = s;
+       texcoord[1] = t;
+       texcoord[2] = 0.0f;
+       texcoord[3] = 1.0f;
+
        swrast->TextureSample[unit] (ctx, ctx->Texture.Unit[unit]._Current, 1,
                (const GLfloat (*)[4]) texcoord, &lambda, &rgba);
        color[0] = CHAN_TO_FLOAT(rgba[0]);
@@ -74,10 +84,15 @@ GLvoid _slang_library_tex3d (GLfloat bias, GLfloat s, GLfloat t, GLfloat r, GLfl
        GET_CURRENT_CONTEXT(ctx);
        SWcontext *swrast = SWRAST_CONTEXT(ctx);
        GLuint unit = (GLuint) sampler;
-       GLfloat texcoord[4] = { s, t, r, 1.0f };
+       GLfloat texcoord[4];
        GLfloat lambda = bias;
        GLchan rgba[4];
 
+       texcoord[0] = s;
+       texcoord[1] = t;
+       texcoord[2] = r;
+       texcoord[3] = 1.0f;
+
        swrast->TextureSample[unit] (ctx, ctx->Texture.Unit[unit]._Current, 1,
                (const GLfloat (*)[4]) texcoord, &lambda, &rgba);
        color[0] = CHAN_TO_FLOAT(rgba[0]);
@@ -92,10 +107,15 @@ GLvoid _slang_library_texcube (GLfloat bias, GLfloat s, GLfloat t, GLfloat r, GL
        GET_CURRENT_CONTEXT(ctx);
        SWcontext *swrast = SWRAST_CONTEXT(ctx);
        GLuint unit = (GLuint) sampler;
-       GLfloat texcoord[4] = { s, t, r, 1.0f };
+       GLfloat texcoord[4];
        GLfloat lambda = bias;
        GLchan rgba[4];
 
+       texcoord[0] = s;
+       texcoord[1] = t;
+       texcoord[2] = r;
+       texcoord[3] = 1.0f;
+
        swrast->TextureSample[unit] (ctx, ctx->Texture.Unit[unit]._Current, 1,
                (const GLfloat (*)[4]) texcoord, &lambda, &rgba);
        color[0] = CHAN_TO_FLOAT(rgba[0]);
@@ -110,10 +130,15 @@ GLvoid _slang_library_shad1d (GLfloat bias, GLfloat s, GLfloat t, GLfloat r, GLf
        GET_CURRENT_CONTEXT(ctx);
        SWcontext *swrast = SWRAST_CONTEXT(ctx);
        GLuint unit = (GLuint) sampler;
-       GLfloat texcoord[4] = { s, t, r, 1.0f };
+       GLfloat texcoord[4];
        GLfloat lambda = bias;
        GLchan rgba[4];
 
+       texcoord[0] = s;
+       texcoord[1] = t;
+       texcoord[2] = r;
+       texcoord[3] = 1.0f;
+
        swrast->TextureSample[unit] (ctx, ctx->Texture.Unit[unit]._Current, 1,
                (const GLfloat (*)[4]) texcoord, &lambda, &rgba);
        color[0] = CHAN_TO_FLOAT(rgba[0]);
@@ -128,10 +153,15 @@ GLvoid _slang_library_shad2d (GLfloat bias, GLfloat s, GLfloat t, GLfloat r, GLf
        GET_CURRENT_CONTEXT(ctx);
        SWcontext *swrast = SWRAST_CONTEXT(ctx);
        GLuint unit = (GLuint) sampler;
-       GLfloat texcoord[4] = { s, t, r, 1.0f };
+       GLfloat texcoord[4];
        GLfloat lambda = bias;
        GLchan rgba[4];
 
+       texcoord[0] = s;
+       texcoord[1] = t;
+       texcoord[2] = r;
+       texcoord[3] = 1.0f;
+
        swrast->TextureSample[unit] (ctx, ctx->Texture.Unit[unit]._Current, 1,
                (const GLfloat (*)[4]) texcoord, &lambda, &rgba);
        color[0] = CHAN_TO_FLOAT(rgba[0]);