radv: fix re-emitting fragment output state when resetting gfx pipeline state

When switching from pipeline to shader objects.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33840>
This commit is contained in:
Samuel Pitoiset 2025-03-03 11:23:57 +01:00 committed by Marge Bot
parent 779c8d1669
commit 7f6e28db26

View file

@ -13731,9 +13731,6 @@ radv_reset_pipeline_state(struct radv_cmd_buffer *cmd_buffer, VkPipelineBindPoin
cmd_buffer->state.gs_copy_shader = NULL;
cmd_buffer->state.last_vgt_shader = NULL;
cmd_buffer->state.emitted_vs_prolog = NULL;
cmd_buffer->state.spi_shader_col_format = 0;
cmd_buffer->state.spi_shader_z_format = 0;
cmd_buffer->state.cb_shader_mask = 0;
cmd_buffer->state.ms.sample_shading_enable = false;
cmd_buffer->state.ms.min_sample_shading = 1.0f;
cmd_buffer->state.rast_prim = 0;
@ -13748,6 +13745,14 @@ radv_reset_pipeline_state(struct radv_cmd_buffer *cmd_buffer, VkPipelineBindPoin
cmd_buffer->state.dirty |= RADV_CMD_DIRTY_FRAMEBUFFER;
}
if (cmd_buffer->state.spi_shader_col_format || cmd_buffer->state.spi_shader_z_format ||
cmd_buffer->state.cb_shader_mask) {
cmd_buffer->state.spi_shader_col_format = 0;
cmd_buffer->state.spi_shader_z_format = 0;
cmd_buffer->state.cb_shader_mask = 0;
cmd_buffer->state.dirty |= RADV_CMD_DIRTY_FRAGMENT_OUTPUT;
}
cmd_buffer->state.uses_vrs = false;
cmd_buffer->state.uses_vrs_coarse_shading = false;