summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mesa/shader/slang/slang_library_texsample.c42
1 files 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]);