CPU/Recompiler: Don't use intepreter icache when falling back

Fixes broken rendering in TOCA 2.

It has self-modifying code every frame, which gets falled back to the
interpreter, and using the interpreter's icache, which resulted in
stale code executing.
This commit is contained in:
Connor McLaughlin
2021-05-11 20:07:38 +10:00
parent e24a2aa6ac
commit 1ed1d641a6
3 changed files with 43 additions and 6 deletions

View File

@ -2009,7 +2009,7 @@ template<PGXPMode pgxp_mode>
void InterpretUncachedBlock()
{
g_state.regs.npc = g_state.regs.pc;
if (!FetchInstruction())
if (!FetchInstructionForInterpreterFallback())
return;
// At this point, pc contains the last address executed (in the previous block). The instruction has not been fetched
@ -2032,7 +2032,7 @@ void InterpretUncachedBlock()
const bool branch = IsBranchInstruction(g_state.current_instruction);
if (!g_state.current_instruction_in_branch_delay_slot || branch)
{
if (!FetchInstruction())
if (!FetchInstructionForInterpreterFallback())
break;
}
else