Set DAZ and FTZ

This commit is contained in:
Nekotekina 2018-05-09 23:35:05 +03:00
parent 5d15d64ec8
commit 737db90058
2 changed files with 12 additions and 0 deletions

View file

@ -508,6 +508,12 @@ void ppu_thread::cpu_task()
{ {
std::fesetround(FE_TONEAREST); 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 // Execute cmd_queue
while (cmd64 cmd = cmd_wait()) while (cmd64 cmd = cmd_wait())
{ {

View file

@ -413,6 +413,12 @@ void SPUThread::cpu_task()
{ {
std::fesetround(FE_TOWARDZERO); 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 = [] g_tls_log_prefix = []
{ {
const auto cpu = static_cast<SPUThread*>(get_current_cpu_thread()); const auto cpu = static_cast<SPUThread*>(get_current_cpu_thread());