i965: Don't clip everything if FRONT_AND_BACK culling while culling disabled.
authorEric Anholt <eric@anholt.net>
Tue, 21 Jul 2009 00:58:12 +0000 (17:58 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 21 Jul 2009 01:31:13 +0000 (18:31 -0700)
Fixes everything-black with meta_clear_tris on quake4-mpdemo and doom3-demo.

Bug #18844, 22077.

src/mesa/drivers/dri/i965/brw_clip.c

index 54d30a3f42252a9601ba1a04d5eacd3aa84f8230..20a927cf386a2f43417e1ca39430492ef5fee53f 100644 (file)
@@ -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;