summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/swrast/s_texcombine.c3
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]);