Add the accurate xfloat option to the CPU tab

This commit is contained in:
Megamouse 2018-08-13 08:13:50 +02:00 committed by Ivan
parent 449888b9db
commit aaea9d6946
4 changed files with 20 additions and 0 deletions

View File

@ -25,6 +25,7 @@
"liblv2": "This closely emulates how games can load and unload system module files on a real PlayStation 3.\nSome games require this.\nThis is the preferred option."
},
"checkboxes": {
"accurateXFloat": "Fixes bugs in various games at the cost of performance.\nThis setting is only applied when SPU LLVM is active.",
"spuCache": "Should normally stay enabled.\nDisable this if the cache becomes too large.\nDisabling it does not remove the existing cache.",
"enableThreadScheduler": "Allows RPCS3 to manually schedule physical cores to run specific tasks on, instead of letting the OS handle it.\nVery useful on Windows, especially for AMD Ryzen systems where it can give huge performance gains.",
"lowerSPUThrPrio": "Runs SPU threads with lower priority than PPU threads.\nUsually faster on an i3 or i5, possibly slower or no difference on an i7 or Ryzen.",

View File

@ -41,6 +41,7 @@ public:
EnableTSX,
AccurateGETLLAR,
AccuratePUTLLUC,
AccurateXFloat,
SetDAZandFTZ,
SPUBlockSize,
SPUCache,
@ -234,6 +235,7 @@ private:
{ EnableTSX, { "Core", "Enable TSX"}},
{ AccurateGETLLAR, { "Core", "Accurate GETLLAR"}},
{ AccuratePUTLLUC, { "Core", "Accurate PUTLLUC"}},
{ AccurateXFloat, { "Core", "Accurate xfloat"}},
{ SetDAZandFTZ, { "Core", "Set DAZ and FTZ"}},
{ SPUBlockSize, { "Core", "SPU Block Size"}},
{ SPUCache, { "Core", "SPU Cache"}},

View File

@ -180,6 +180,9 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
xemu_settings->EnhanceCheckBox(ui->spuLoopDetection, emu_settings::SPULoopDetection);
SubscribeTooltip(ui->spuLoopDetection, json_cpu_cbs["spuLoopDetection"].toString());
xemu_settings->EnhanceCheckBox(ui->accurateXFloat, emu_settings::AccurateXFloat);
SubscribeTooltip(ui->accurateXFloat, json_cpu_cbs["accurateXFloat"].toString());
// Comboboxes
xemu_settings->EnhanceComboBox(ui->spuBlockSize, emu_settings::SPUBlockSize);
@ -282,6 +285,13 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
}
}
connect(ui->spu_llvm, &QAbstractButton::toggled, [this](bool checked)
{
ui->accurateXFloat->setEnabled(checked);
});
ui->accurateXFloat->setEnabled(ui->spu_llvm->isChecked());
#ifndef LLVM_AVAILABLE
ui->ppu_llvm->setEnabled(false);
ui->spu_llvm->setEnabled(false);

View File

@ -237,6 +237,13 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="accurateXFloat">
<property name="text">
<string>Accurate xfloat</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>