mirror of
https://github.com/RPCS3/rpcs3.git
synced 2026-04-25 12:29:46 -06:00
gui: Group CPU accuracy settings together
This commit is contained in:
parent
934bc34685
commit
f826f95c70
@ -66,10 +66,10 @@ struct cfg_root : cfg::node
|
||||
cfg::_int<-64, 64> stub_ppu_traps{ this, "Stub PPU Traps", 0, true }; // Hack, skip PPU traps for rare cases where the trap is continueable (specify relative instructions to skip)
|
||||
cfg::_bool precise_spu_verification{ this, "Precise SPU Verification", false }; // Disables use of xorsum based spu verification if enabled.
|
||||
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 ppu_fix_vnan{ this, "PPU Vector NaN Handling", true }; // Accuracy. Partial.
|
||||
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 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", true }; // 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.
|
||||
|
||||
|
||||
@ -42,10 +42,10 @@ enum class emu_settings_type
|
||||
PerformanceReport,
|
||||
FullWidthAVX512,
|
||||
PPUNJFixup,
|
||||
PPUVNANFixup,
|
||||
AccurateDFMA,
|
||||
AccuratePPUSAT,
|
||||
AccuratePPUNJ,
|
||||
FixupPPUVNAN,
|
||||
AccuratePPUVNAN,
|
||||
AccuratePPUFPCC,
|
||||
MaxPreemptCount,
|
||||
@ -258,10 +258,10 @@ inline static const std::map<emu_settings_type, cfg_location> settings_location
|
||||
{ emu_settings_type::FullWidthAVX512, { "Core", "Full Width AVX-512"}},
|
||||
{ emu_settings_type::NumPPUThreads, { "Core", "PPU Threads"}},
|
||||
{ emu_settings_type::PPUNJFixup, { "Core", "PPU LLVM Java Mode Handling"}},
|
||||
{ emu_settings_type::PPUVNANFixup, { "Core", "PPU Vector NaN Handling"}},
|
||||
{ emu_settings_type::AccurateDFMA, { "Core", "Use Accurate DFMA"}},
|
||||
{ emu_settings_type::AccuratePPUSAT, { "Core", "PPU Set Saturation 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"}},
|
||||
{ emu_settings_type::MaxPreemptCount, { "Core", "Max CPU Preempt Count"}},
|
||||
|
||||
@ -1499,8 +1499,8 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
|
||||
m_emu_settings->EnhanceCheckBox(ui->ppuNJFixup, emu_settings_type::PPUNJFixup);
|
||||
SubscribeTooltip(ui->ppuNJFixup, tooltips.settings.fixup_ppunj);
|
||||
|
||||
m_emu_settings->EnhanceCheckBox(ui->fixupPPUVNAN, emu_settings_type::FixupPPUVNAN);
|
||||
SubscribeTooltip(ui->fixupPPUVNAN, tooltips.settings.fixup_ppuvnan);
|
||||
m_emu_settings->EnhanceCheckBox(ui->PPUVNANfixup, emu_settings_type::PPUVNANFixup);
|
||||
SubscribeTooltip(ui->PPUVNANfixup, tooltips.settings.fixup_ppuvnan);
|
||||
|
||||
m_emu_settings->EnhanceCheckBox(ui->llvmPrecompilation, emu_settings_type::LLVMPrecompilation);
|
||||
SubscribeTooltip(ui->llvmPrecompilation, tooltips.settings.llvm_precompilation);
|
||||
|
||||
@ -3543,7 +3543,7 @@
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.5</double>
|
||||
<double>0.500000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -3571,7 +3571,7 @@
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.5</double>
|
||||
<double>0.500000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -4309,6 +4309,13 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="disableAsyncHostMM">
|
||||
<property name="text">
|
||||
<string>Disable Asynchronous Memory Manager</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="disableFIFOReordering">
|
||||
<property name="text">
|
||||
@ -4316,6 +4323,20 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="disableHardwareTexelRemapping">
|
||||
<property name="text">
|
||||
<string>Disable Hardware ColorSpace Remapping</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="disableOnDiskShaderCache">
|
||||
<property name="text">
|
||||
<string>Disable On-Disk Shader Cache</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="disableVideoOutput">
|
||||
<property name="text">
|
||||
@ -4382,27 +4403,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="disableAsyncHostMM">
|
||||
<property name="text">
|
||||
<string>Disable Asynchronous Memory Manager</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="disableOnDiskShaderCache">
|
||||
<property name="text">
|
||||
<string>Disable On-Disk Shader Cache</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="disableHardwareTexelRemapping">
|
||||
<property name="text">
|
||||
<string>Disable Hardware ColorSpace Remapping</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacerDebugGPU">
|
||||
<property name="orientation">
|
||||
@ -4428,13 +4428,6 @@
|
||||
<string>Core</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="gb_debug_core_layout">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="accurateDFMA">
|
||||
<property name="text">
|
||||
<string>Accurate DFMA</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="alwaysStart">
|
||||
<property name="text">
|
||||
@ -4456,20 +4449,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="ppuDebug">
|
||||
<property name="text">
|
||||
<string>PPU Debug</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="spuDebug">
|
||||
<property name="text">
|
||||
<string>SPU Debug</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="mfcDebug">
|
||||
<property name="text">
|
||||
@ -4477,59 +4456,24 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="ppuDebug">
|
||||
<property name="text">
|
||||
<string>PPU Debug</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="setDAZandFTZ">
|
||||
<property name="text">
|
||||
<string>Set DAZ and FTZ</string>
|
||||
<string>PPU Set DAZ and FTZ</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="accuratePPUSAT">
|
||||
<widget class="QCheckBox" name="spuDebug">
|
||||
<property name="text">
|
||||
<string>Accurate PPU Saturation Bit</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="accuratePPUNJ">
|
||||
<property name="text">
|
||||
<string>Accurate PPU Non-Java Mode</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="ppuNJFixup">
|
||||
<property name="text">
|
||||
<string>PPU Non-Java Mode Fixup</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="accuratePPUVNAN">
|
||||
<property name="text">
|
||||
<string>Accurate PPU Vector NaN Handling</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="accuratePPUFPCC">
|
||||
<property name="text">
|
||||
<string>Accurate PPU Float Condition Control</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="accurateClineStores">
|
||||
<property name="text">
|
||||
<string>Accurate Cache Line Stores</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="fixupPPUVNAN">
|
||||
<property name="text">
|
||||
<string>PPU Vector NaN Fixup</string>
|
||||
<string>SPU Debug</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -4556,6 +4500,87 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="gb_debug_cpu">
|
||||
<property name="title">
|
||||
<string>CPU Accuracy</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="gb_debug_cpu_layout">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="accurateDFMA">
|
||||
<property name="text">
|
||||
<string>Accurate PPU/SPU Double-Precision FMA</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="accurateClineStores">
|
||||
<property name="text">
|
||||
<string>Accurate PPU/SPU Cache Line Stores</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="accuratePPUFPCC">
|
||||
<property name="text">
|
||||
<string>Accurate PPU Float Condition Control</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="accuratePPUSAT">
|
||||
<property name="text">
|
||||
<string>Accurate PPU Saturation Bit</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="accuratePPUNJ">
|
||||
<property name="text">
|
||||
<string>Accurate PPU Non-Java Mode</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="accuratePPUVNAN">
|
||||
<property name="text">
|
||||
<string>Accurate PPU Vector NaN Handling</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="ppuNJFixup">
|
||||
<property name="text">
|
||||
<string>Approximate PPU Non-Java Mode</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="PPUVNANfixup">
|
||||
<property name="text">
|
||||
<string>Approximate PPU Vector NaN Handling</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacerDebugCore">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Policy::MinimumExpanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@ -28,8 +28,8 @@ public:
|
||||
const QString debug_console_mode = tr("Increases the amount of usable system memory to match a DECR console and more.\nCauses some software to behave differently than on retail hardware.");
|
||||
const QString accurate_rsx_access = tr("Forces RSX pauses on SPU MFC_GETLLAR and SPU MFC_PUTLLUC operations.");
|
||||
const QString accurate_spu_dma = tr("Accurately processes SPU DMA operations.");
|
||||
const QString fixup_ppunj = tr("Legacy option. Fixup result vector values in Non-Java Mode in PPU LLVM.\nIf unsure, do not modify this setting.");
|
||||
const QString accurate_dfma = tr("Use accurate double-precision FMA instructions in PPU and SPU backends.\nWhile disabling it might give a decent performance boost if your CPU doesn't support FMA, it may also introduce subtle bugs that otherwise do not occur.\nYou shouldn't disable it if your CPU supports FMA.");
|
||||
const QString fixup_ppunj = tr("Legacy option. Fixup result vector values in Non-Java Mode in PPU LLVM.\nIf unsure, do not modify this setting.");
|
||||
const QString fixup_ppuvnan = tr("Fixup NaN results in vector instructions in PPU backends.\nIf unsure, do not modify this setting.");
|
||||
const QString silence_all_logs = tr("Stop writing any logs after game startup. Don't use unless you believe it's necessary.");
|
||||
const QString read_color = tr("Initializes render target memory using vm memory.");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user