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 <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28294>
This commit is contained in:
committed by
Marge Bot
parent
53ec57d42d
commit
f729fe50e5
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user