From 35bbe177ecea3fdd06d97d0c13beadb75049ac72 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Mon, 21 Apr 2014 19:47:07 -0700 Subject: [PATCH] i965/skl: Update Viewport Z Clip Test Enable bits for Skylake. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Skylake has separate controls for enabling the Z Clip Test for the near and far planes. For now, maintain the legacy behavior by setting both. Signed-off-by: Kenneth Graunke Reviewed-by: Kristian Høgsberg Reviewed-by: Anuj Phogat --- src/mesa/drivers/dri/i965/brw_defines.h | 2 ++ src/mesa/drivers/dri/i965/gen8_sf_state.c | 10 ++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_defines.h b/src/mesa/drivers/dri/i965/brw_defines.h index 950f97a..3725452 100644 --- a/src/mesa/drivers/dri/i965/brw_defines.h +++ b/src/mesa/drivers/dri/i965/brw_defines.h @@ -1914,6 +1914,7 @@ enum brw_message_target { #define _3DSTATE_RASTER 0x7850 /* GEN8+ */ /* DW1 */ +# define GEN9_RASTER_VIEWPORT_Z_FAR_CLIP_TEST_ENABLE (1 << 26) # define GEN8_RASTER_FRONT_WINDING_CCW (1 << 21) # define GEN8_RASTER_CULL_BOTH (0 << 16) # define GEN8_RASTER_CULL_NONE (1 << 16) @@ -1924,6 +1925,7 @@ enum brw_message_target { # define GEN8_RASTER_LINE_AA_ENABLE (1 << 2) # define GEN8_RASTER_SCISSOR_ENABLE (1 << 1) # define GEN8_RASTER_VIEWPORT_Z_CLIP_TEST_ENABLE (1 << 0) +# define GEN9_RASTER_VIEWPORT_Z_NEAR_CLIP_TEST_ENABLE (1 << 0) /* Gen8 BLEND_STATE */ /* DW0 */ diff --git a/src/mesa/drivers/dri/i965/gen8_sf_state.c b/src/mesa/drivers/dri/i965/gen8_sf_state.c index 0a15d9c..1d7b932 100644 --- a/src/mesa/drivers/dri/i965/gen8_sf_state.c +++ b/src/mesa/drivers/dri/i965/gen8_sf_state.c @@ -291,8 +291,14 @@ upload_raster(struct brw_context *brw) dw1 |= GEN8_RASTER_SCISSOR_ENABLE; /* _NEW_TRANSFORM */ - if (!ctx->Transform.DepthClamp) - dw1 |= GEN8_RASTER_VIEWPORT_Z_CLIP_TEST_ENABLE; + if (!ctx->Transform.DepthClamp) { + if (brw->gen >= 9) { + dw1 |= GEN9_RASTER_VIEWPORT_Z_NEAR_CLIP_TEST_ENABLE | + GEN9_RASTER_VIEWPORT_Z_FAR_CLIP_TEST_ENABLE; + } else { + dw1 |= GEN8_RASTER_VIEWPORT_Z_CLIP_TEST_ENABLE; + } + } BEGIN_BATCH(5); OUT_BATCH(_3DSTATE_RASTER << 16 | (5 - 2)); -- 2.7.4