diff --git a/rpcs3/Emu/RSX/VK/VKGSRender.cpp b/rpcs3/Emu/RSX/VK/VKGSRender.cpp index dd396f537e..dbe606e0fe 100644 --- a/rpcs3/Emu/RSX/VK/VKGSRender.cpp +++ b/rpcs3/Emu/RSX/VK/VKGSRender.cpp @@ -2273,6 +2273,10 @@ void VKGSRender::do_local_task(rsx::FIFO_state state) // NOTE: This may cause graphics corruption due to unsynchronized modification on_invalidate_memory_range(m_offloader_fault_range, m_offloader_fault_cause); m_queue_status.clear(flush_queue_state::deadlock); + + // Abort all other operations, this is likely coming from offloader::sync() and we need to unwind the call stack. + // If flush_command_queue is executed at this point, recursion will cause a deadlock to occur. + return; } if (m_flush_requests.pending())