From: Kenneth Graunke Date: Tue, 22 Apr 2014 02:43:50 +0000 (-0700) Subject: i965/skl: Emit extra zeros in 3DSTATE_DS on Skylake. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=77f584c7f98d981927d3a2ea4639ac9d7afbef01;p=mesa.git i965/skl: Emit extra zeros in 3DSTATE_DS on Skylake. Skylake's 3DSTATE_DS packet has a few more fields; we don't support domain shaders yet though. Signed-off-by: Kenneth Graunke Reviewed-by: Kristian Høgsberg Reviewed-by: Anuj Phogat --- diff --git a/src/mesa/drivers/dri/i965/gen8_disable.c b/src/mesa/drivers/dri/i965/gen8_disable.c index 276bd2e55fd..0839a4999a2 100644 --- a/src/mesa/drivers/dri/i965/gen8_disable.c +++ b/src/mesa/drivers/dri/i965/gen8_disable.c @@ -92,16 +92,11 @@ disable_stages(struct brw_context *brw) OUT_BATCH(0); ADVANCE_BATCH(); - BEGIN_BATCH(9); - OUT_BATCH(_3DSTATE_DS << 16 | (9 - 2)); - OUT_BATCH(0); - OUT_BATCH(0); - OUT_BATCH(0); - OUT_BATCH(0); - OUT_BATCH(0); - OUT_BATCH(0); - OUT_BATCH(0); - OUT_BATCH(0); + int ds_pkt_len = brw->gen >= 9 ? 11 : 9; + BEGIN_BATCH(ds_pkt_len); + OUT_BATCH(_3DSTATE_DS << 16 | (ds_pkt_len - 2)); + for (int i = 0; i < ds_pkt_len - 1; i++) + OUT_BATCH(0); ADVANCE_BATCH(); BEGIN_BATCH(2);