diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index e09be04d395..2a4a54fcd6b 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -10020,7 +10020,6 @@ radv_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCou primary->state.emitted_compute_pipeline = secondary->state.emitted_compute_pipeline; primary->state.emitted_rt_pipeline = secondary->state.emitted_rt_pipeline; - primary->state.ps_epilog = secondary->state.ps_epilog; primary->state.emitted_vs_prolog = secondary->state.emitted_vs_prolog; if (secondary->state.last_ia_multi_vgt_param) { @@ -10083,6 +10082,9 @@ radv_CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCou primary->state.last_first_instance = -1; primary->state.last_drawid = -1; primary->state.last_vertex_offset_valid = false; + + /* Make sure to re-emit the PS epilog if the same graphics pipeline is bind again. */ + primary->state.ps_epilog = NULL; } static void