From 02362a480712a18cc3567eea2f9195fa65c4e117 Mon Sep 17 00:00:00 2001 From: Ani Date: Sat, 21 Sep 2024 13:16:02 +0100 Subject: [PATCH] spu: Do not apply a Max SPURS Threads limit to libSail On all the tested games (e.g. Naruto Ultimate Ninja Storm, Catherine), limiting SPURS threads for "_libsailCellSpursKernelGroup" causes video playback to hang and the game to permanently freeze. These games still function properly while limiting the other CellSpursKernelGroup groups, as I've confirmed through manual thread pausing. I have not found a single example that shows that _libsailCellSpursKernelGroup threads can be limited without the game freezing. This allows the Max SPURS Threads setting to work with more games, or to work with a lower thread limit count for games where it already works. --- rpcs3/Emu/Cell/lv2/sys_spu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpcs3/Emu/Cell/lv2/sys_spu.cpp b/rpcs3/Emu/Cell/lv2/sys_spu.cpp index 07a3e9f0ef..8985ba33e6 100644 --- a/rpcs3/Emu/Cell/lv2/sys_spu.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_spu.cpp @@ -733,7 +733,7 @@ error_code sys_spu_thread_initialize(ppu_thread& ppu, vm::ptr thread, u32 g { if (g_cfg.core.max_spurs_threads < 6 && group->max_num > 0u + g_cfg.core.max_spurs_threads) { - if (group->name.ends_with("CellSpursKernelGroup")) + if (group->name.ends_with("CellSpursKernelGroup") && !group->name.ends_with("_libsailCellSpursKernelGroup")) { // Hack: don't run more SPURS threads than specified. group->max_run = g_cfg.core.max_spurs_threads;