i965/gen8: fix cull distance emission for tessellation shaders.
authorDave Airlie <airlied@redhat.com>
Tue, 7 Jun 2016 00:27:44 +0000 (10:27 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 7 Jun 2016 01:52:17 +0000 (11:52 +1000)
This fixes some cases of:
GL45-CTS.cull_distance.functional
on Skylake.

Reviewed-by: Chris Forbes <chrisforbes@google.com>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/mesa/drivers/dri/i965/gen8_ds_state.c

index 95582ac44482400917978f4ca1640b21a09085ae..0219d072c726298f6467128c0da63370a38c32e5 100644 (file)
@@ -69,9 +69,11 @@ gen8_upload_ds_state(struct brw_context *brw)
                  GEN7_DS_SIMD8_DISPATCH_ENABLE : 0) |
                 (tes_prog_data->domain == BRW_TESS_DOMAIN_TRI ?
                  GEN7_DS_COMPUTE_W_COORDINATE_ENABLE : 0));
-      OUT_BATCH(SET_FIELD(vue_prog_data->cull_distance_mask |
-                          ctx->Transform.ClipPlanesEnabled,
-                          GEN8_DS_USER_CLIP_DISTANCE));
+      OUT_BATCH(SET_FIELD(ctx->Transform.ClipPlanesEnabled,
+                          GEN8_DS_USER_CLIP_DISTANCE) |
+                SET_FIELD(vue_prog_data->cull_distance_mask,
+                          GEN8_DS_USER_CULL_DISTANCE));
+
 
       if (brw->gen >= 9) {
          OUT_BATCH(0);