diff mbox

rendercopy/gen8: Also emit 3DSTATE_WM_DEPTH_STENCIL.

Message ID 1401832350-10171-1-git-send-email-kenneth@whitecape.org (mailing list archive)
State New, archived
Headers show

Commit Message

Kenneth Graunke June 3, 2014, 9:52 p.m. UTC
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>
Cc: Ben Widawsky <ben@bwidawsk.net>
---
 lib/gen8_render.h     | 1 +
 lib/rendercopy_gen8.c | 4 ++++
 2 files changed, 5 insertions(+)

Comments

Ben Widawsky June 3, 2014, 10:04 p.m. UTC | #1
On Tue, Jun 03, 2014 at 02:52:30PM -0700, Kenneth Graunke wrote:
> 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>
> Cc: Ben Widawsky <ben@bwidawsk.net>

I sat with Ken all day today (after a few days of debugging myself) and
it does what it purport to do, and fixes a bunch of tests.

Reviewed-by: Ben Widawsky <ben@bwidawsk.net>

FWIW: I don't think we need to update the null state in the kernel. It's
actually kind of nice for finding userspace bugs.
Jani Nikula June 4, 2014, 7:27 a.m. UTC | #2
On Wed, 04 Jun 2014, Ben Widawsky <ben@bwidawsk.net> wrote:
> On Tue, Jun 03, 2014 at 02:52:30PM -0700, Kenneth Graunke wrote:
>> 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

From this bug,

Tested-by: Guo Jinxian <jinxianx.guo@intel.com>

>> 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>
>> Cc: Ben Widawsky <ben@bwidawsk.net>
>
> I sat with Ken all day today (after a few days of debugging myself) and
> it does what it purport to do, and fixes a bunch of tests.
>
> Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
>
> FWIW: I don't think we need to update the null state in the kernel. It's
> actually kind of nice for finding userspace bugs.
>
> -- 
> Ben Widawsky, Intel Open Source Technology Center
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox

Patch

diff --git a/lib/gen8_render.h b/lib/gen8_render.h
index fffc100..0eec80c 100644
--- a/lib/gen8_render.h
+++ b/lib/gen8_render.h
@@ -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)
diff --git a/lib/rendercopy_gen8.c b/lib/rendercopy_gen8.c
index 6f5a698..e7567d2 100644
--- a/lib/rendercopy_gen8.c
+++ b/lib/rendercopy_gen8.c
@@ -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);