diff --git a/rpcs3/Emu/Cell/PPUThread.cpp b/rpcs3/Emu/Cell/PPUThread.cpp index a135c15566d4..f24347d8be56 100644 --- a/rpcs3/Emu/Cell/PPUThread.cpp +++ b/rpcs3/Emu/Cell/PPUThread.cpp @@ -508,6 +508,12 @@ void ppu_thread::cpu_task() { std::fesetround(FE_TONEAREST); + if (g_cfg.core.ppu_decoder != ppu_decoder_type::precise) + { + // Set DAZ and FTZ + //_mm_setcsr(_mm_getcsr() | 0x8840); + } + // Execute cmd_queue while (cmd64 cmd = cmd_wait()) { diff --git a/rpcs3/Emu/Cell/SPUThread.cpp b/rpcs3/Emu/Cell/SPUThread.cpp index 3025ff490e5c..330d8f6ac3c4 100644 --- a/rpcs3/Emu/Cell/SPUThread.cpp +++ b/rpcs3/Emu/Cell/SPUThread.cpp @@ -413,6 +413,12 @@ void SPUThread::cpu_task() { std::fesetround(FE_TOWARDZERO); + if (g_cfg.core.spu_decoder != spu_decoder_type::precise) + { + // Set DAZ and FTZ + //_mm_setcsr(_mm_getcsr() | 0x8840); + } + g_tls_log_prefix = [] { const auto cpu = static_cast(get_current_cpu_thread());