From f729fe50e55a2268f077c81d9d64a955e988c3d5 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Mon, 4 Mar 2024 15:07:18 +0100 Subject: [PATCH] radv: trigger a new PS epilog when the framebuffer is dirty with ESO When a new framebuffer is used, the color output formats might have changed and a new PS epilog might need to be recompiled. This shouldn't affect graphics pipeline because color output formats must already match. This fixes a couple of failures/flakes like spec@ext_framebuffer_multisample@fast-clear with Zink and shader object. Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_cmd_buffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 5c5aa39b98a..ba7f8d8d10b 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -9243,7 +9243,7 @@ radv_emit_all_graphics_states(struct radv_cmd_buffer *cmd_buffer, const struct r (cmd_buffer->state.dirty & (RADV_CMD_DIRTY_DYNAMIC_COLOR_WRITE_MASK | RADV_CMD_DIRTY_DYNAMIC_COLOR_BLEND_ENABLE | RADV_CMD_DIRTY_DYNAMIC_ALPHA_TO_COVERAGE_ENABLE | RADV_CMD_DIRTY_DYNAMIC_COLOR_BLEND_EQUATION | - RADV_CMD_DIRTY_GRAPHICS_SHADERS)))) { + RADV_CMD_DIRTY_GRAPHICS_SHADERS | RADV_CMD_DIRTY_FRAMEBUFFER)))) { ps_epilog = lookup_ps_epilog(cmd_buffer); if (!ps_epilog) { vk_command_buffer_set_error(&cmd_buffer->vk, VK_ERROR_OUT_OF_HOST_MEMORY);