diff options
author | Brian Paul <[email protected]> | 2000-05-04 16:15:33 +0000 |
---|---|---|
committer | Brian Paul <[email protected]> | 2000-05-04 16:15:33 +0000 |
commit | 9f0289dfac0c28feee4901eb72903fa4108624d1 (patch) | |
tree | 88b785c5f28d81c516e56a87beb31cef2ca78c22 /src/mesa/drivers | |
parent | a14d28c2bd0e41e9153dc1ae13bdb2451191aafc (diff) |
EnvMode GL_BLEND and tex invalidate changes from Daryll
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/glide/fxdd.c | 8 | ||||
-rw-r--r-- | 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; |