From 268bcd1c7b1f527e4b36e8caa2a3460a362bbe06 Mon Sep 17 00:00:00 2001 From: Eladash Date: Thu, 16 Jul 2020 15:02:47 +0300 Subject: [PATCH] rsx: Fix false desync events --- rpcs3/Emu/RSX/RSXFIFO.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/rpcs3/Emu/RSX/RSXFIFO.cpp b/rpcs3/Emu/RSX/RSXFIFO.cpp index 4a4a6d6116..6ca36f661d 100644 --- a/rpcs3/Emu/RSX/RSXFIFO.cpp +++ b/rpcs3/Emu/RSX/RSXFIFO.cpp @@ -177,15 +177,6 @@ namespace rsx return; } - // Validate the args ptr if the command attempts to read from it - m_args_ptr = m_iotable->get_addr(m_internal_get + 4); - if (m_args_ptr == umax) [[unlikely]] - { - // Optional recovery - data.reg = FIFO_ERROR; - return; - } - verify(HERE), !m_remaining_commands; const u32 count = (m_cmd >> 18) & 0x7ff; @@ -196,6 +187,15 @@ namespace rsx return; } + // Validate the args ptr if the command attempts to read from it + m_args_ptr = m_iotable->get_addr(m_internal_get + 4); + if (m_args_ptr == umax) [[unlikely]] + { + // Optional recovery + data.reg = FIFO_ERROR; + return; + } + if (count > 1) { // Set up readback parameters