From fdbdc7f325af9b42684fc6c7100cb57c52b31c4a Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Mon, 9 Dec 2013 23:29:35 -0800 Subject: [PATCH] rendercopy/bdw: Emit 3DSTATE_WM_HZ_OP. We don't want depth/stencil fast clears or HiZ resolves; we want normal drawing. Without this, the pixel pipeline doesn't work. Signed-off-by: Kenneth Graunke Reviewed-by: Damien Lespiau Signed-off-by: Damien Lespiau Cc: Ben Widawsky Cc: Damien Lespiau --- lib/gen8_render.h | 2 ++ lib/rendercopy_gen8.c | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/lib/gen8_render.h b/lib/gen8_render.h index 7b898766..ca53d646 100644 --- a/lib/gen8_render.h +++ b/lib/gen8_render.h @@ -22,6 +22,8 @@ # define GEN8_3DSTATE_MULTISAMPLE_NUMSAMPLES_8 (3 << 1) # define GEN9_3DSTATE_MULTISAMPLE_NUMSAMPLES_16 (4 << 1) +#define GEN8_3DSTATE_WM_HZ_OP GEN6_3D(3, 0, 0x52) + #define GEN8_3DSTATE_VF_INSTANCING GEN6_3D(3, 0, 0x49) #define GEN7_3DSTATE_GS GEN6_3D(3, 0, 0x11) #define GEN7_3DSTATE_CONSTANT_GS GEN6_3D(3, 0, 0x16) diff --git a/lib/rendercopy_gen8.c b/lib/rendercopy_gen8.c index 1a137dd9..38dc0e7d 100644 --- a/lib/rendercopy_gen8.c +++ b/lib/rendercopy_gen8.c @@ -678,8 +678,18 @@ gen8_emit_ds(struct intel_batchbuffer *batch) { OUT_BATCH(0); } +static void +gen8_emit_wm_hz_op(struct intel_batchbuffer *batch) { + OUT_BATCH(GEN8_3DSTATE_WM_HZ_OP | (5-2)); + OUT_BATCH(0); + OUT_BATCH(0); + OUT_BATCH(0); + OUT_BATCH(0); +} + static void gen8_emit_null_state(struct intel_batchbuffer *batch) { + gen8_emit_wm_hz_op(batch); gen8_emit_hs(batch); OUT_BATCH(GEN7_3DSTATE_TE | (4-2)); OUT_BATCH(0);