rendercopy/gen8: Also emit 3DSTATE_WM_DEPTH_STENCIL.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 3 Jun 2014 21:52:30 +0000 (14:52 -0700)
committerBen Widawsky <benjamin.widawsky@intel.com>
Wed, 4 Jun 2014 17:54:38 +0000 (10:54 -0700)
rendercopy was failing to emit 3DSTATE_WM_DEPTH_STENCIL, which is a new
packet on Broadwell.  Mesa emits this packet.

This appears to fix various tests on a fresh boot, when Mesa has never
run.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78890
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78891
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78935
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78936
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78937
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78938
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Tested-by: Guo Jinxian <jinxianx.guo@intel.com>
Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
lib/gen8_render.h
lib/rendercopy_gen8.c

index fffc100..0eec80c 100644 (file)
@@ -48,6 +48,7 @@
                                                GEN6_3D(3, 0, 0x21)
 #define GEN8_3DSTATE_PS_BLEND                  GEN6_3D(3, 0, 0x4d)
 # define GEN8_PS_BLEND_HAS_WRITEABLE_RT                        (1 << 30)
+#define GEN8_3DSTATE_WM_DEPTH_STENCIL          GEN6_3D(3, 0, 0x4e)
 #define GEN8_3DSTATE_PS_EXTRA                  GEN6_3D(3,0, 0x4f)
 # define GEN8_PSX_PIXEL_SHADER_VALID                   (1 << 31)
 # define GEN8_PSX_ATTRIBUTE_ENABLE                     (1 << 8)
index 6f5a698..e7567d2 100644 (file)
@@ -816,6 +816,10 @@ gen8_emit_ps(struct intel_batchbuffer *batch, uint32_t kernel) {
 
 static void
 gen8_emit_depth(struct intel_batchbuffer *batch) {
+       OUT_BATCH(GEN8_3DSTATE_WM_DEPTH_STENCIL | (3 - 2));
+       OUT_BATCH(0);
+       OUT_BATCH(0);
+
        OUT_BATCH(GEN7_3DSTATE_DEPTH_BUFFER | (8-2));
        OUT_BATCH(0);
        OUT_BATCH(0);