diff options
-rw-r--r-- | src/mesa/swrast/s_texcombine.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/swrast/s_texcombine.c b/src/mesa/swrast/s_texcombine.c index 3b7bbfe2583..ef2db0dc7e3 100644 --- a/src/mesa/swrast/s_texcombine.c +++ b/src/mesa/swrast/s_texcombine.c @@ -604,7 +604,8 @@ texture_apply( const GLcontext *ctx, format = texUnit->_Current->DepthMode; } - if (texUnit->EnvMode != GL_REPLACE) { + /* skip chan->float conversion when not needed */ + if (texUnit->EnvMode != GL_REPLACE || format != GL_RGBA) { /* convert GLchan colors to GLfloat */ for (i = 0; i < n; i++) { rgba[i][RCOMP] = CHAN_TO_FLOAT(rgbaChan[i][RCOMP]); |