summaryrefslogtreecommitdiff
path: root/src/intel
diff options
context:
space:
mode:
authorJason Ekstrand <jason@jlekstrand.net>2019-07-15 17:14:26 -0500
committerJason Ekstrand <jason@jlekstrand.net>2019-07-16 15:12:45 +0000
commit6a441151c245d7b59b84502257a0ff1a300b8633 (patch)
tree1e506af8244289cea28aaed142925873a2cff840 /src/intel
parent5ad00fb3ed913599fecbae785284fc883242aaf0 (diff)
downloadmesa-6a441151c245d7b59b84502257a0ff1a300b8633.tar.gz
anv: Account for dynamic stencil write disables in the PMA fix
In 6ce8592836b8 we started looking at the dynamic stencil state and disabling stencil writes when the stencil mask is zero. Unfortunately, we never updated the PMA fix code accordingly so 3DSTATE_WM_DEPTH_STENCIL and the PMA fix were getting out-of-sync causing hangs. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109203 Fixes: 6ce8592836 "anv: Disable stencil writes when both write..." Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Diffstat (limited to 'src/intel')
-rw-r--r--src/intel/vulkan/gen8_cmd_buffer.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/intel/vulkan/gen8_cmd_buffer.c b/src/intel/vulkan/gen8_cmd_buffer.c
index 91d47ccf5bd..3a89b3b5e30 100644
--- a/src/intel/vulkan/gen8_cmd_buffer.c
+++ b/src/intel/vulkan/gen8_cmd_buffer.c
@@ -372,6 +372,8 @@ want_stencil_pma_fix(struct anv_cmd_buffer *cmd_buffer)
*/
const bool stc_write_en =
(ds_iview->image->aspects & VK_IMAGE_ASPECT_STENCIL_BIT) &&
+ (cmd_buffer->state.gfx.dynamic.stencil_write_mask.front ||
+ cmd_buffer->state.gfx.dynamic.stencil_write_mask.back) &&
pipeline->writes_stencil;
/* STC_TEST_EN && 3DSTATE_PS_EXTRA::PixelShaderComputesStencil */