Mesa (radeon-rewrite): When clearing the stencil buffer, don' t use a two-sided stencil

Alex Deucher agd5f at kemper.freedesktop.org
Wed May 6 21:10:47 UTC 2009


Module: Mesa
Branch: radeon-rewrite
Commit: cfc3ac8d6e3024d1284cfc3f50f695b6b8008c5f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cfc3ac8d6e3024d1284cfc3f50f695b6b8008c5f

Author: Owen W. Taylor <otaylor at fishsoup.net>
Date:   Wed May  6 14:44:16 2009 -0400

When clearing the stencil buffer, don't use a two-sided stencil

In radeon_clear_tris(), when clearing the stencil buffer,
pass GL_FRONT_AND_BACK to _mesa_StencilFuncSeparate(), to avoid
triggering a software fallback on r300 and below.

https://bugs.freedesktop.org/show_bug.cgi?id=21601

---

 src/mesa/drivers/dri/radeon/radeon_common.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c
index 8b5b892..ee3ee9c 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common.c
+++ b/src/mesa/drivers/dri/radeon/radeon_common.c
@@ -1429,7 +1429,7 @@ void radeon_clear_tris(GLcontext *ctx, GLbitfield mask)
       if (this_mask & BUFFER_BIT_STENCIL) {
 	 _mesa_Enable(GL_STENCIL_TEST);
 	 _mesa_StencilOp(GL_REPLACE, GL_REPLACE, GL_REPLACE);
-	 _mesa_StencilFuncSeparate(GL_FRONT, GL_ALWAYS, ctx->Stencil.Clear,
+	 _mesa_StencilFuncSeparate(GL_FRONT_AND_BACK, GL_ALWAYS, ctx->Stencil.Clear,
 				   ctx->Stencil.WriteMask[0]);
       } else {
 	 _mesa_Disable(GL_STENCIL_TEST);




More information about the mesa-commit mailing list