diff --git a/rpcs3/Emu/CPU/CPUThread.cpp b/rpcs3/Emu/CPU/CPUThread.cpp index d0cf1e100e..5384413847 100644 --- a/rpcs3/Emu/CPU/CPUThread.cpp +++ b/rpcs3/Emu/CPU/CPUThread.cpp @@ -479,6 +479,8 @@ namespace cpu_counter void cpu_thread::operator()() { + thread_ctrl::scoped_priority stock_prio(0); + const auto old_prefix = g_tls_log_prefix; g_tls_this_thread = this; diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index eb92f8e6f4..b86cde77b9 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -3413,10 +3413,8 @@ extern void ppu_precompile(std::vector& dir_queue, std::vector& dir_queue, std::vectorget().index), thread_count, [&]() { -#ifdef _WIN32 - // Set low priority - thread_ctrl::scoped_priority low_prio(-1); -#endif + // Set low priority + thread_ctrl::scoped_priority low_prio(-1); #ifdef __APPLE__ pthread_jit_write_protect_np(false); diff --git a/rpcs3/Emu/Cell/SPURecompiler.cpp b/rpcs3/Emu/Cell/SPURecompiler.cpp index 76ae5c0470..211805cc4d 100644 --- a/rpcs3/Emu/Cell/SPURecompiler.cpp +++ b/rpcs3/Emu/Cell/SPURecompiler.cpp @@ -660,10 +660,8 @@ void spu_cache::initialize() #ifdef __APPLE__ pthread_jit_write_protect_np(false); #endif -#ifdef _WIN32 // Set low priority thread_ctrl::scoped_priority low_prio(-1); -#endif // Initialize compiler instances for parallel compilation std::unique_ptr compiler; diff --git a/rpcs3/Emu/RSX/GL/GLPipelineCompiler.cpp b/rpcs3/Emu/RSX/GL/GLPipelineCompiler.cpp index 6852214dbd..19dc24f81d 100644 --- a/rpcs3/Emu/RSX/GL/GLPipelineCompiler.cpp +++ b/rpcs3/Emu/RSX/GL/GLPipelineCompiler.cpp @@ -38,10 +38,8 @@ namespace gl void pipe_compiler::operator()() { -#ifndef _WIN32 - // Set low priority - thread_ctrl::scoped_priority low_prio(-1); -#endif + thread_ctrl::scoped_priority stock_prio(0); + while (thread_ctrl::state() != thread_state::aborting) { for (auto&& job : m_work_queue.pop_all()) diff --git a/rpcs3/Emu/RSX/VK/VKPipelineCompiler.cpp b/rpcs3/Emu/RSX/VK/VKPipelineCompiler.cpp index 9e2f95277e..c34efeb7ae 100644 --- a/rpcs3/Emu/RSX/VK/VKPipelineCompiler.cpp +++ b/rpcs3/Emu/RSX/VK/VKPipelineCompiler.cpp @@ -32,10 +32,8 @@ namespace vk void pipe_compiler::operator()() { -#ifndef _WIN32 - // Set low priority - thread_ctrl::scoped_priority low_prio(-1); -#endif + thread_ctrl::scoped_priority stock_prio(0); + while (thread_ctrl::state() != thread_state::aborting) { for (auto&& job : m_work_queue.pop_all())