diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2013-08-13 13:57:13 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2013-11-12 16:42:27 -0800 |
commit | 6e491b875f6d0f8fbfa123065ca7d6c61d9ffc38 (patch) | |
tree | b7881cb4bfe87baaa4e6b268db7927707e08d6cc | |
parent | 57cd553eda59751f4a3912dac53c6d28eca17084 (diff) |
i965: Also emit HiZ and Stencil packets when disabling depth on Gen6.
The normal drawing path does this, and it's necessary on Ivybridge,
so let's try it on Sandybridge too. It's not explicitly documented
as necessary, but might help with hangs.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Tested-by: Xinkai Chen <yeled.nova@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Cc: "9.2" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 5563dfabc8c1b7cc1a67e4d64311ea29aef43087)
-rw-r--r-- | src/mesa/drivers/dri/i965/gen6_blorp.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/gen6_blorp.cpp b/src/mesa/drivers/dri/i965/gen6_blorp.cpp index 04c0439b6c8..3bef7705f9b 100644 --- a/src/mesa/drivers/dri/i965/gen6_blorp.cpp +++ b/src/mesa/drivers/dri/i965/gen6_blorp.cpp @@ -924,6 +924,18 @@ gen6_blorp_emit_depth_disable(struct brw_context *brw, OUT_BATCH(0); OUT_BATCH(0); ADVANCE_BATCH(); + + BEGIN_BATCH(3); + OUT_BATCH(_3DSTATE_HIER_DEPTH_BUFFER << 16 | (3 - 2)); + OUT_BATCH(0); + OUT_BATCH(0); + ADVANCE_BATCH(); + + BEGIN_BATCH(3); + OUT_BATCH(_3DSTATE_STENCIL_BUFFER << 16 | (3 - 2)); + OUT_BATCH(0); + OUT_BATCH(0); + ADVANCE_BATCH(); } |