summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2013-12-09 23:29:35 -0800
committerDamien Lespiau <damien.lespiau@intel.com>2013-12-10 11:36:23 +0000
commitfdbdc7f325af9b42684fc6c7100cb57c52b31c4a (patch)
tree4a7995c5afc3bdf7f3adaf1340333d76a2e267ce
parent8cd3a9d5438a5e6961823c15fd41ae02b09c7c9b (diff)
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 <kenneth@whitecape.org> Reviewed-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Cc: Ben Widawsky <ben@bwidawsk.net> Cc: Damien Lespiau <damien.lespiau@intel.com>
-rw-r--r--lib/gen8_render.h2
-rw-r--r--lib/rendercopy_gen8.c10
2 files changed, 12 insertions, 0 deletions
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
@@ -679,7 +679,17 @@ gen8_emit_ds(struct intel_batchbuffer *batch) {
}
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);