1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-25 20:22:30 +01:00

PPU Interpreter: fix accuracy flag dispatch

This commit is contained in:
Nekotekina 2022-01-16 01:00:37 +03:00
parent f95395b351
commit 22240777aa

View File

@ -74,7 +74,7 @@ struct ppu_exec_select
static ppu_intrp_func_t select(bs_t<ppu_exec_bit> selected, F func) static ppu_intrp_func_t select(bs_t<ppu_exec_bit> selected, F func)
{ {
// Make sure there is no flag duplication, otherwise skip flag // Make sure there is no flag duplication, otherwise skip flag
if constexpr (((Flags0 != Flag) && ...) && (Flag != fix_vnan || ((Flags0 != set_vnan) && ...)) && (Flag != fix_nj || ((Flags0 != use_nj) && ...))) if constexpr (((Flags0 != Flag) && ...))
{ {
// Test only relevant flags at runtime initialization (compile both variants) // Test only relevant flags at runtime initialization (compile both variants)
if (selected & Flag) if (selected & Flag)
@ -7583,11 +7583,11 @@ ppu_interpreter_rt_base::ppu_interpreter_rt_base() noexcept
if (g_cfg.core.ppu_set_sat_bit) if (g_cfg.core.ppu_set_sat_bit)
selected += set_sat; selected += set_sat;
if (g_cfg.core.ppu_use_nj_bit) if (g_cfg.core.ppu_use_nj_bit)
selected += use_nj; selected += use_nj + fix_nj;
if (g_cfg.core.ppu_llvm_nj_fixup) if (g_cfg.core.ppu_llvm_nj_fixup)
selected += fix_nj; selected += fix_nj;
if (g_cfg.core.ppu_set_vnan) if (g_cfg.core.ppu_set_vnan)
selected += set_vnan; selected += set_vnan + fix_vnan;
if (g_cfg.core.ppu_fix_vnan) if (g_cfg.core.ppu_fix_vnan)
selected += fix_vnan; selected += fix_vnan;
if (g_cfg.core.ppu_set_fpcc) if (g_cfg.core.ppu_set_fpcc)