1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2025-02-13 12:40:19 +00:00

Opt-in set DAZ and FTZ

This commit is contained in:
Nekotekina 2018-05-12 22:55:08 +03:00
parent a77896c1b6
commit 4c7afb6952
3 changed files with 11 additions and 9 deletions

@ -508,7 +508,7 @@ void ppu_thread::cpu_task()
{
std::fesetround(FE_TONEAREST);
if (g_cfg.core.ppu_decoder != ppu_decoder_type::precise)
if (g_cfg.core.set_daz_and_ftz && g_cfg.core.ppu_decoder != ppu_decoder_type::precise)
{
// Set DAZ and FTZ
_mm_setcsr(_mm_getcsr() | 0x8840);

@ -413,7 +413,7 @@ void SPUThread::cpu_task()
{
std::fesetround(FE_TOWARDZERO);
if (g_cfg.core.spu_decoder != spu_decoder_type::precise)
if (g_cfg.core.set_daz_and_ftz && g_cfg.core.spu_decoder != spu_decoder_type::precise)
{
// Set DAZ and FTZ
_mm_setcsr(_mm_getcsr() | 0x8840);

@ -288,6 +288,13 @@ struct cfg_root : cfg::node
{
struct node_core : cfg::node
{
static constexpr bool thread_scheduler_enabled_def =
#ifdef _WIN32
true;
#else
false;
#endif
node_core(cfg::node* _this) : cfg::node(_this, "Core") {}
cfg::_enum<ppu_decoder_type> ppu_decoder{this, "PPU Decoder", ppu_decoder_type::llvm};
@ -296,13 +303,8 @@ struct cfg_root : cfg::node
cfg::_bool llvm_logs{this, "Save LLVM logs"};
cfg::string llvm_cpu{this, "Use LLVM CPU"};
cfg::_int<0, INT32_MAX> llvm_threads{this, "Max LLVM Compile Threads", 0};
#ifdef _WIN32
cfg::_bool thread_scheduler_enabled{ this, "Enable thread scheduler", true };
#else
cfg::_bool thread_scheduler_enabled{ this, "Enable thread scheduler", false };
#endif
cfg::_bool thread_scheduler_enabled{this, "Enable thread scheduler", thread_scheduler_enabled_def};
cfg::_bool set_daz_and_ftz{this, "Set DAZ and FTZ", false};
cfg::_enum<spu_decoder_type> spu_decoder{this, "SPU Decoder", spu_decoder_type::asmjit};
cfg::_bool lower_spu_priority{this, "Lower SPU thread priority"};
cfg::_bool spu_debug{this, "SPU Debug"};