From f06e6be2c16c2ae43b3863dc53a13bc043f52310 Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Mon, 5 Nov 2018 13:13:43 +0300 Subject: [PATCH] Disable npc update for SPU thread groups --- rpcs3/Emu/Cell/SPUThread.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/Cell/SPUThread.cpp b/rpcs3/Emu/Cell/SPUThread.cpp index 915267ef5a..cfb4699ba5 100644 --- a/rpcs3/Emu/Cell/SPUThread.cpp +++ b/rpcs3/Emu/Cell/SPUThread.cpp @@ -509,7 +509,10 @@ void spu_thread::cpu_task() } // save next PC and current SPU Interrupt status - npc = pc | (interrupts_enabled); + if (!group && offset >= RAW_SPU_BASE_ADDR) + { + npc = pc | (interrupts_enabled); + } // Print some stats LOG_NOTICE(SPU, "Stats: Block Weight: %u (Retreats: %u);", block_counter, block_failure); @@ -595,7 +598,10 @@ void spu_thread::cpu_task() } // save next PC and current SPU Interrupt status - npc = pc | (interrupts_enabled); + if (!group && offset >= RAW_SPU_BASE_ADDR) + { + npc = pc | (interrupts_enabled); + } } void spu_thread::cpu_mem()