From 0d957ca400045b2b21f5654eb1672b43c4c1950c Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 18 May 2006 14:16:43 +0000 Subject: change initialization of texcoords - not all C compilers support non-constant array initializers --- src/mesa/shader/slang/slang_library_texsample.c | 42 +++++++++++++++++++++---- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/src/mesa/shader/slang/slang_library_texsample.c b/src/mesa/shader/slang/slang_library_texsample.c index 38765599cf..7d56880400 100644 --- a/src/mesa/shader/slang/slang_library_texsample.c +++ b/src/mesa/shader/slang/slang_library_texsample.c @@ -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]); -- cgit v1.2.3