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.
This commit is contained in:
Ani 2024-09-21 13:16:02 +01:00
parent 466a93dca5
commit 02362a4807

View File

@ -733,7 +733,7 @@ error_code sys_spu_thread_initialize(ppu_thread& ppu, vm::ptr<u32> thread, u32 g
{ {
if (g_cfg.core.max_spurs_threads < 6 && group->max_num > 0u + g_cfg.core.max_spurs_threads) 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. // Hack: don't run more SPURS threads than specified.
group->max_run = g_cfg.core.max_spurs_threads; group->max_run = g_cfg.core.max_spurs_threads;