aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2000-05-04 16:15:33 +0000
committerBrian Paul <[email protected]>2000-05-04 16:15:33 +0000
commit9f0289dfac0c28feee4901eb72903fa4108624d1 (patch)
tree88b785c5f28d81c516e56a87beb31cef2ca78c22
parenta14d28c2bd0e41e9153dc1ae13bdb2451191aafc (diff)
EnvMode GL_BLEND and tex invalidate changes from Daryll
-rw-r--r--src/mesa/drivers/glide/fxdd.c8
-rw-r--r--src/mesa/drivers/glide/fxddtex.c4
2 files changed, 9 insertions, 3 deletions
diff --git a/src/mesa/drivers/glide/fxdd.c b/src/mesa/drivers/glide/fxdd.c
index 4f179a789d6..d37943f0c22 100644
--- a/src/mesa/drivers/glide/fxdd.c
+++ b/src/mesa/drivers/glide/fxdd.c
@@ -966,8 +966,14 @@ static GLboolean fxIsInHardware(GLcontext *ctx)
}
if (ctx->Texture.ReallyEnabled & TEXTURE0_2D) {
- if (ctx->Texture.Unit[0].EnvMode == GL_BLEND)
+ if (ctx->Texture.Unit[0].EnvMode == GL_BLEND &&
+ (ctx->Texture.ReallyEnabled & TEXTURE1_2D ||
+ ctx->Texture.Unit[0].EnvColor[0] != 0 ||
+ ctx->Texture.Unit[0].EnvColor[1] != 0 ||
+ ctx->Texture.Unit[0].EnvColor[2] != 0 ||
+ ctx->Texture.Unit[0].EnvColor[3] != 1)) {
return GL_FALSE;
+ }
if (ctx->Texture.Unit[0].Current->Image[0]->Border > 0)
return GL_FALSE;
}
diff --git a/src/mesa/drivers/glide/fxddtex.c b/src/mesa/drivers/glide/fxddtex.c
index 01a67c49ea3..55e0be6bf70 100644
--- a/src/mesa/drivers/glide/fxddtex.c
+++ b/src/mesa/drivers/glide/fxddtex.c
@@ -95,9 +95,9 @@ static void fxTexInvalidate(GLcontext *ctx, struct gl_texture_object *tObj)
fxMesaContext fxMesa=(fxMesaContext)ctx->DriverCtx;
tfxTexInfo *ti;
- fxTMMoveOutTM(fxMesa,tObj); /* TO DO: SLOW but easy to write */
-
ti=fxTMGetTexInfo(tObj);
+ if (ti->isInTM) fxTMMoveOutTM(fxMesa,tObj); /* TO DO: SLOW but easy to write */
+
ti->validated=GL_FALSE;
fxMesa->new_state|=FX_NEW_TEXTURING;
ctx->Driver.RenderStart = fxSetupFXUnits;