summaryrefslogtreecommitdiff
path: root/xc/extras/Mesa/src/state.c
diff options
context:
space:
mode:
Diffstat (limited to 'xc/extras/Mesa/src/state.c')
-rw-r--r--xc/extras/Mesa/src/state.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/xc/extras/Mesa/src/state.c b/xc/extras/Mesa/src/state.c
index 4c910aa5b..aa9ad4df0 100644
--- a/xc/extras/Mesa/src/state.c
+++ b/xc/extras/Mesa/src/state.c
@@ -925,9 +925,12 @@ void gl_update_state( GLcontext *ctx )
ctx->NewState |= NEW_TEXTURING | NEW_RASTER_OPS;
}
+ /* XXX this is a hack, gone in 3.5 */
if (ctx->NewState & NEW_TEXTURE_ENV) {
if (ctx->Texture.Unit[0].EnvMode == ctx->Texture.Unit[0].LastEnvMode &&
- ctx->Texture.Unit[1].EnvMode == ctx->Texture.Unit[1].LastEnvMode)
+ ctx->Texture.Unit[1].EnvMode == ctx->Texture.Unit[1].LastEnvMode &&
+ ctx->Texture.Unit[0].EnvMode != GL_COMBINE_EXT &&
+ ctx->Texture.Unit[1].EnvMode != GL_COMBINE_EXT)
ctx->NewState &= ~NEW_TEXTURE_ENV;
ctx->Texture.Unit[0].LastEnvMode = ctx->Texture.Unit[0].EnvMode;
ctx->Texture.Unit[1].LastEnvMode = ctx->Texture.Unit[1].EnvMode;