From 3f9467c946ab79cd2ccb1858e78af4337f3603e2 Mon Sep 17 00:00:00 2001 From: Vladimir Dergachev Date: Sat, 5 Mar 2005 06:10:09 +0000 Subject: Do properly initialize ALPHA_TEST register instead of carefully preserving bogus value. This fixes many, many rendering issues which I wrongly blamed on texture programming or performance.. --- src/mesa/drivers/dri/r300/r300_state.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/mesa/drivers/dri/r300/r300_state.c') diff --git a/src/mesa/drivers/dri/r300/r300_state.c b/src/mesa/drivers/dri/r300/r300_state.c index ad2f754d8c..60ab460996 100644 --- a/src/mesa/drivers/dri/r300/r300_state.c +++ b/src/mesa/drivers/dri/r300/r300_state.c @@ -69,7 +69,7 @@ static void r300AlphaFunc(GLcontext * ctx, GLenum func, GLfloat ref) GLubyte refByte; CLAMPED_FLOAT_TO_UBYTE(refByte, ref); - + R300_STATECHANGE(rmesa, at); pp_misc &= ~(R300_ALPHA_TEST_OP_MASK | R300_REF_ALPHA_MASK); @@ -1997,8 +1997,12 @@ void r300ResetHwState(r300ContextPtr r300) r300SetupPixelShader(r300); r300_set_blend_state(ctx); - r300AlphaFunc(ctx, ctx->Color.AlphaFunc, ctx->Color.AlphaRef); + r300->hw.at.cmd[R300_AT_ALPHA_TEST] = 0; + r300AlphaFunc(ctx, ctx->Color.AlphaFunc, ctx->Color.AlphaRef); + if(ctx->Color.AlphaEnabled) + r300->hw.at.cmd[R300_AT_ALPHA_TEST] |= R300_ALPHA_TEST_ENABLE; + /* Initialize magic registers TODO : learn what they really do, or get rid of those we don't have to touch */ -- cgit v1.2.3