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