From 3356a76c9b256d23d699bdbcbab5a1ab846a4c05 Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Sat, 11 Feb 2017 17:17:07 +0300 Subject: [PATCH] PPU fix --- rpcs3/Emu/Cell/PPUThread.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index 9bfda7996f..a3c628547c 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -90,9 +90,15 @@ static u32 ppu_cache(u32 addr) return ::narrow(reinterpret_cast(table[ppu_decode(vm::read32(addr))])); } -static void ppu_fallback(ppu_thread& ppu) +static bool ppu_fallback(ppu_thread& ppu, ppu_opcode_t op) { - fmt::throw_exception("Unregistered PPU instruction [0x%08x]", ppu.cia); + if (g_cfg_ppu_decoder.get() == ppu_decoder_type::llvm) + { + fmt::throw_exception("Unregistered PPU function [0x%08x]", ppu.cia); + } + + s_ppu_compiled[ppu.cia / 4] = ppu_cache(ppu.cia); + return false; } extern void ppu_register_range(u32 addr, u32 size)