r200: Fix mixed indetion in r200TclFallback.

This commit is contained in:
Pauli Nieminen 2010-03-21 20:02:10 +02:00
parent 9a7acbccfb
commit 44e3ec3c05
1 changed files with 19 additions and 20 deletions

View File

@ -687,25 +687,24 @@ static char *getFallbackString(GLuint bit)
void r200TclFallback( GLcontext *ctx, GLuint bit, GLboolean mode ) void r200TclFallback( GLcontext *ctx, GLuint bit, GLboolean mode )
{ {
r200ContextPtr rmesa = R200_CONTEXT(ctx); r200ContextPtr rmesa = R200_CONTEXT(ctx);
GLuint oldfallback = rmesa->radeon.TclFallback; GLuint oldfallback = rmesa->radeon.TclFallback;
if (mode) { if (mode) {
rmesa->radeon.TclFallback |= bit; rmesa->radeon.TclFallback |= bit;
if (oldfallback == 0) { if (oldfallback == 0) {
if (R200_DEBUG & RADEON_FALLBACKS) if (R200_DEBUG & RADEON_FALLBACKS)
fprintf(stderr, "R200 begin tcl fallback %s\n", fprintf(stderr, "R200 begin tcl fallback %s\n",
getFallbackString( bit )); getFallbackString( bit ));
transition_to_swtnl( ctx ); transition_to_swtnl( ctx );
} }
} } else {
else { rmesa->radeon.TclFallback &= ~bit;
rmesa->radeon.TclFallback &= ~bit; if (oldfallback == bit) {
if (oldfallback == bit) { if (R200_DEBUG & RADEON_FALLBACKS)
if (R200_DEBUG & RADEON_FALLBACKS) fprintf(stderr, "R200 end tcl fallback %s\n",
fprintf(stderr, "R200 end tcl fallback %s\n", getFallbackString( bit ));
getFallbackString( bit )); transition_to_hwtnl( ctx );
transition_to_hwtnl( ctx ); }
} }
}
} }