Kaynağa Gözat

EnvMode GL_BLEND and tex invalidate changes from Daryll

tags/mesa_3_3
Brian Paul 25 yıl önce
ebeveyn
işleme
9f0289dfac

+ 7
- 1
src/mesa/drivers/glide/fxdd.c Dosyayı Görüntüle

@@ -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;
}

+ 2
- 2
src/mesa/drivers/glide/fxddtex.c Dosyayı Görüntüle

@@ -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;

Loading…
İptal
Kaydet