From 37e325fe15b3e5f42bcc7e9a5f904ce54e90e9df Mon Sep 17 00:00:00 2001 From: Vitaliy Triang3l Kuzmin Date: Mon, 3 Apr 2023 22:23:11 +0300 Subject: [PATCH] radv: Enable the null export workaround with POPS MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Samuel Pitoiset Reviewed-by: Timur Kristóf Signed-off-by: Vitaliy Triang3l Kuzmin Part-of: --- src/amd/vulkan/radv_pipeline_graphics.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_pipeline_graphics.c b/src/amd/vulkan/radv_pipeline_graphics.c index 2eb1b7a..fdb9917 100644 --- a/src/amd/vulkan/radv_pipeline_graphics.c +++ b/src/amd/vulkan/radv_pipeline_graphics.c @@ -3812,8 +3812,11 @@ radv_needs_null_export_workaround(const struct radv_device *device, const struct * instructions if any are present. * * GFX11 requires one color output, otherwise the DCC decompression does nothing. + * + * Primitive Ordered Pixel Shading also requires an export, otherwise interlocking doesn't work + * correctly before GFX11, and a hang happens on GFX11. */ - return (gfx_level <= GFX9 || ps->info.ps.can_discard || + return (gfx_level <= GFX9 || ps->info.ps.can_discard || ps->info.ps.pops || (custom_blend_mode == V_028808_CB_DCC_DECOMPRESS_GFX11 && gfx_level >= GFX11)) && !ps->info.ps.writes_z && !ps->info.ps.writes_stencil && !ps->info.ps.writes_sample_mask; } -- 2.7.4