summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mesa/swrast/s_texture.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/swrast/s_texture.c b/src/mesa/swrast/s_texture.c
index 36f2975312..6f38aab7f0 100644
--- a/src/mesa/swrast/s_texture.c
+++ b/src/mesa/swrast/s_texture.c
@@ -3727,7 +3727,7 @@ texture_combine( const GLcontext *ctx, GLuint unit, GLuint n,
#if CHAN_TYPE == GL_FLOAT
rgba[i][ACOMP] = ((arg0[i][ACOMP] * arg2[i][ACOMP]) + arg1[i][ACOMP]) * Amult;
#else
- GLuint a = (PROD(arg0[i][ACOMP], arg2[i][ACOMP])
+ GLint a = (PROD(arg0[i][ACOMP], arg2[i][ACOMP])
+ ((GLuint) arg1[i][ACOMP] << CHAN_BITS))
>> shift;
rgba[i][ACOMP] = (GLchan) CLAMP(a, 0, CHAN_MAX);