Mesa (master): i965: Don' t clip everything if FRONT_AND_BACK culling while culling disabled.

Eric Anholt anholt at kemper.freedesktop.org
Tue Jul 21 01:32:20 UTC 2009


Module: Mesa
Branch: master
Commit: 81d555068408d4343d7627c8bedda5675f09bd21
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=81d555068408d4343d7627c8bedda5675f09bd21

Author: Eric Anholt <eric at anholt.net>
Date:   Mon Jul 20 17:58:12 2009 -0700

i965: Don't clip everything if FRONT_AND_BACK culling while culling disabled.

Fixes everything-black with meta_clear_tris on quake4-mpdemo and doom3-demo.

Bug #18844, 22077.

---

 src/mesa/drivers/dri/i965/brw_clip.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_clip.c b/src/mesa/drivers/dri/i965/brw_clip.c
index 54d30a3..20a927c 100644
--- a/src/mesa/drivers/dri/i965/brw_clip.c
+++ b/src/mesa/drivers/dri/i965/brw_clip.c
@@ -166,7 +166,8 @@ static void upload_clip_prog(struct brw_context *brw)
 
    /* _NEW_POLYGON */
    if (key.primitive == GL_TRIANGLES) {
-      if (ctx->Polygon.CullFaceMode == GL_FRONT_AND_BACK) 
+      if (ctx->Polygon.CullFlag &&
+	  ctx->Polygon.CullFaceMode == GL_FRONT_AND_BACK)
 	 key.clip_mode = BRW_CLIPMODE_REJECT_ALL;
       else {
 	 GLuint fill_front = CLIP_CULL;




More information about the mesa-commit mailing list