diff --git a/rpcs3/rpcs3qt/emu_settings.h b/rpcs3/rpcs3qt/emu_settings.h index 0369de793c..03acd04033 100644 --- a/rpcs3/rpcs3qt/emu_settings.h +++ b/rpcs3/rpcs3qt/emu_settings.h @@ -39,6 +39,7 @@ public: EnableTSX, AccurateGETLLAR, AccuratePUTLLUC, + AccuratePPUfma, AccurateRSXAccess, AccurateXFloat, SetDAZandFTZ, @@ -287,6 +288,7 @@ private: { EnableTSX, { "Core", "Enable TSX"}}, { AccurateGETLLAR, { "Core", "Accurate GETLLAR"}}, { AccuratePUTLLUC, { "Core", "Accurate PUTLLUC"}}, + { AccuratePPUfma, { "Core", "PPU Accurate FMA"}}, { AccurateRSXAccess, { "Core", "Accurate RSX reservation access"}}, { AccurateXFloat, { "Core", "Accurate xfloat"}}, { SetDAZandFTZ, { "Core", "Set DAZ and FTZ"}}, diff --git a/rpcs3/rpcs3qt/settings_dialog.cpp b/rpcs3/rpcs3qt/settings_dialog.cpp index a60c57cb72..d88536e937 100644 --- a/rpcs3/rpcs3qt/settings_dialog.cpp +++ b/rpcs3/rpcs3qt/settings_dialog.cpp @@ -963,6 +963,9 @@ settings_dialog::settings_dialog(std::shared_ptr gui_settings, std m_emu_settings->EnhanceCheckBox(ui->debugConsoleMode, emu_settings::DebugConsoleMode); SubscribeTooltip(ui->debugConsoleMode, tooltips.settings.debug_console_mode); + m_emu_settings->EnhanceCheckBox(ui->accuratePPUfma, emu_settings::AccuratePPUfma); + SubscribeTooltip(ui->accuratePPUfma, tooltips.settings.accurate_ppu_fma); + m_emu_settings->EnhanceCheckBox(ui->silenceAllLogs, emu_settings::SilenceAllLogs); SubscribeTooltip(ui->silenceAllLogs, tooltips.settings.silence_all_logs); diff --git a/rpcs3/rpcs3qt/settings_dialog.ui b/rpcs3/rpcs3qt/settings_dialog.ui index c840b5e127..2660a5d034 100644 --- a/rpcs3/rpcs3qt/settings_dialog.ui +++ b/rpcs3/rpcs3qt/settings_dialog.ui @@ -1717,6 +1717,13 @@ + + + + Accurate PPU FMA + + + diff --git a/rpcs3/rpcs3qt/tooltips.h b/rpcs3/rpcs3qt/tooltips.h index f6e3f99e3b..d575a98adf 100644 --- a/rpcs3/rpcs3qt/tooltips.h +++ b/rpcs3/rpcs3qt/tooltips.h @@ -78,6 +78,7 @@ public: const QString set_daz_and_ftz = tr("Never use this."); const QString accurate_getllar = tr("Never use this."); const QString accurate_putlluc = tr("Never use this."); + const QString accurate_ppu_fma = tr("Enables extra accuracy on FMA instructions, which can be needed by some games.\nIt can impact performance negatively on CPUs without FMA acceleration support"); const QString accurate_rsx_access = tr("Never use this."); const QString hook_static_functions = tr("Allows to hook some functions like 'memcpy' replacing them with high-level implementations. May do nothing or break things. Experimental."); const QString gl_legacy_buffers = tr("Enables use of classic OpenGL buffers which allows capturing tools to work with RPCS3 e.g RenderDoc.\nIf unsure, don't use this option.");