From 5b980b99a03cebe11784f1caf93e0337a4126571 Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Sun, 16 Jan 2022 01:16:46 +0300 Subject: [PATCH] PPU: Rename new ppu_use_nj_bit setting to flip it back Some mistakes were made. --- rpcs3/Emu/system_config.h | 2 +- rpcs3/rpcs3qt/emu_settings_type.h | 2 +- rpcs3/rpcs3qt/settings_dialog.cpp | 22 ++++++++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/system_config.h b/rpcs3/Emu/system_config.h index d6de518728..f313c0d452 100644 --- a/rpcs3/Emu/system_config.h +++ b/rpcs3/Emu/system_config.h @@ -58,7 +58,7 @@ struct cfg_root : cfg::node cfg::_bool ppu_llvm_nj_fixup{ this, "PPU LLVM Java Mode Handling", true }; // Partially respect current Java Mode for alti-vec ops by PPU LLVM cfg::_bool use_accurate_dfma{ this, "Use Accurate DFMA", true }; // Enable accurate double-precision FMA for CPUs which do not support it natively cfg::_bool ppu_set_sat_bit{ this, "PPU Set Saturation Bit", false }; // Accuracy. If unset, completely disable saturation flag handling. - cfg::_bool ppu_use_nj_bit{ this, "PPU Use Non-Java Mode Bit", false }; // Accuracy. If unset, ignore NJ flag completely. + cfg::_bool ppu_use_nj_bit{ this, "PPU Accurate Non-Java Mode", false }; // Accuracy. If set, accurately emulate NJ flag. Implies NJ fixup. cfg::_bool ppu_fix_vnan{ this, "PPU Fixup Vector NaN Values", false }; // Accuracy. Partial. cfg::_bool ppu_set_vnan{ this, "PPU Accurate Vector NaN Values", false }; // Accuracy. Implies ppu_fix_vnan. cfg::_bool ppu_set_fpcc{ this, "PPU Set FPCC Bits", false }; // Accuracy. diff --git a/rpcs3/rpcs3qt/emu_settings_type.h b/rpcs3/rpcs3qt/emu_settings_type.h index faf959b350..2f736cf5fb 100644 --- a/rpcs3/rpcs3qt/emu_settings_type.h +++ b/rpcs3/rpcs3qt/emu_settings_type.h @@ -199,7 +199,7 @@ inline static const QMap settings_location = { emu_settings_type::PPUNJFixup, { "Core", "PPU LLVM Java Mode Handling"}}, { emu_settings_type::AccurateDFMA, { "Core", "Use Accurate DFMA"}}, { emu_settings_type::AccuratePPUSAT, { "Core", "PPU Set Saturation Bit"}}, - { emu_settings_type::AccuratePPUNJ, { "Core", "PPU Use Non-Java Mode Bit"}}, + { emu_settings_type::AccuratePPUNJ, { "Core", "PPU Accurate Non-Java Mode"}}, { emu_settings_type::FixupPPUVNAN, { "Core", "PPU Fixup Vector NaN Values"}}, { emu_settings_type::AccuratePPUVNAN, { "Core", "PPU Accurate Vector NaN Values"}}, { emu_settings_type::AccuratePPUFPCC, { "Core", "PPU Set FPCC Bits"}}, diff --git a/rpcs3/rpcs3qt/settings_dialog.cpp b/rpcs3/rpcs3qt/settings_dialog.cpp index 92912ce068..16a2f1bafc 100644 --- a/rpcs3/rpcs3qt/settings_dialog.cpp +++ b/rpcs3/rpcs3qt/settings_dialog.cpp @@ -330,6 +330,28 @@ settings_dialog::settings_dialog(std::shared_ptr gui_settings, std m_emu_settings->EnhanceRadioButton(ppu_bg, emu_settings_type::PPUDecoder); + connect(ppu_bg, &QButtonGroup::idToggled, [this](int id, bool checked) + { + if (!checked) return; + + switch (id) + { + case static_cast(ppu_decoder_type::_static): + ui->accuratePPUFPCC->setEnabled(true); + ui->accuratePPUNJ->setEnabled(true); + ui->accuratePPUVNAN->setEnabled(true); + break; + case static_cast(ppu_decoder_type::dynamic): + case static_cast(ppu_decoder_type::llvm): + ui->accuratePPUFPCC->setEnabled(false); + ui->accuratePPUNJ->setEnabled(false); + ui->accuratePPUVNAN->setEnabled(false); + break; + default: + break; + } + }); + // SPU tool tips SubscribeTooltip(ui->spu__static, tooltips.settings.spu__static); SubscribeTooltip(ui->spu_dynamic, tooltips.settings.spu_dynamic);