From 9f0289dfac0c28feee4901eb72903fa4108624d1 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 4 May 2000 16:15:33 +0000 Subject: EnvMode GL_BLEND and tex invalidate changes from Daryll --- src/mesa/drivers/glide/fxdd.c | 8 +++++++- src/mesa/drivers/glide/fxddtex.c | 4 ++-- 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; -- cgit v1.2.3