diff --git a/Source/Core/VideoCommon/OpcodeDecoding.cpp b/Source/Core/VideoCommon/OpcodeDecoding.cpp index 4dc80f8c3e..ff9cd8e735 100644 --- a/Source/Core/VideoCommon/OpcodeDecoding.cpp +++ b/Source/Core/VideoCommon/OpcodeDecoding.cpp @@ -469,12 +469,13 @@ void OpcodeDecoder_Shutdown() u32 OpcodeDecoder_Run(bool skipped_frame) { u32 totalCycles = 0; - u32 cycles = FifoCommandRunnable(); - while (cycles > 0) + while (true) { + u32 cycles = FifoCommandRunnable(); + if (cycles == 0) + break; skipped_frame ? DecodeSemiNop() : Decode(); totalCycles += cycles; - cycles = FifoCommandRunnable(); } return totalCycles; }