mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-11 00:44:25 +00:00
SPU: Remove inaccurate GETLLAR option
This commit is contained in:
parent
55ed95b42c
commit
ac5d907002
@ -4430,7 +4430,7 @@ bool spu_thread::process_mfc_cmd()
|
|||||||
// Need to check twice for it to be accurate, the code is before and not after this check for:
|
// Need to check twice for it to be accurate, the code is before and not after this check for:
|
||||||
// 1. Reduce time between reservation accesses so TSX panelty would be lowered
|
// 1. Reduce time between reservation accesses so TSX panelty would be lowered
|
||||||
// 2. Increase the chance of change detection: if GETLLAR has been called again new data is probably wanted
|
// 2. Increase the chance of change detection: if GETLLAR has been called again new data is probably wanted
|
||||||
if (rtime == vm::reservation_acquire(addr) && (!g_cfg.core.spu_accurate_getllar || cmp_rdata(rdata, data)))
|
if (rtime == vm::reservation_acquire(addr) && cmp_rdata(rdata, data))
|
||||||
{
|
{
|
||||||
if ([&]() -> bool
|
if ([&]() -> bool
|
||||||
{
|
{
|
||||||
@ -4607,7 +4607,7 @@ bool spu_thread::process_mfc_cmd()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_cfg.core.spu_accurate_getllar && !cmp_rdata(rdata, data))
|
if (!cmp_rdata(rdata, data))
|
||||||
{
|
{
|
||||||
i += 2;
|
i += 2;
|
||||||
continue;
|
continue;
|
||||||
|
@ -41,7 +41,6 @@ struct cfg_root : cfg::node
|
|||||||
cfg::_bool spu_loop_detection{ this, "SPU loop detection", false }; // Try to detect wait loops and trigger thread yield
|
cfg::_bool spu_loop_detection{ this, "SPU loop detection", false }; // Try to detect wait loops and trigger thread yield
|
||||||
cfg::_int<0, 6> max_spurs_threads{ this, "Max SPURS Threads", 6 }; // HACK. If less then 6, max number of running SPURS threads in each thread group.
|
cfg::_int<0, 6> max_spurs_threads{ this, "Max SPURS Threads", 6 }; // HACK. If less then 6, max number of running SPURS threads in each thread group.
|
||||||
cfg::_enum<spu_block_size_type> spu_block_size{ this, "SPU Block Size", spu_block_size_type::safe };
|
cfg::_enum<spu_block_size_type> spu_block_size{ this, "SPU Block Size", spu_block_size_type::safe };
|
||||||
cfg::_bool spu_accurate_getllar{ this, "Accurate GETLLAR", false, true };
|
|
||||||
cfg::_bool spu_accurate_dma{ this, "Accurate SPU DMA", false };
|
cfg::_bool spu_accurate_dma{ this, "Accurate SPU DMA", false };
|
||||||
cfg::_bool spu_accurate_reservations{ this, "Accurate SPU Reservations", true };
|
cfg::_bool spu_accurate_reservations{ this, "Accurate SPU Reservations", true };
|
||||||
cfg::_bool accurate_cache_line_stores{ this, "Accurate Cache Line Stores", false };
|
cfg::_bool accurate_cache_line_stores{ this, "Accurate Cache Line Stores", false };
|
||||||
|
@ -21,7 +21,6 @@ enum class emu_settings_type
|
|||||||
MaxLLVMThreads,
|
MaxLLVMThreads,
|
||||||
LLVMPrecompilation,
|
LLVMPrecompilation,
|
||||||
EnableTSX,
|
EnableTSX,
|
||||||
AccurateGETLLAR,
|
|
||||||
AccurateSpuDMA,
|
AccurateSpuDMA,
|
||||||
AccurateClineStores,
|
AccurateClineStores,
|
||||||
AccurateRSXAccess,
|
AccurateRSXAccess,
|
||||||
@ -213,7 +212,6 @@ inline static const QMap<emu_settings_type, cfg_location> settings_location =
|
|||||||
{ emu_settings_type::MaxLLVMThreads, { "Core", "Max LLVM Compile Threads"}},
|
{ emu_settings_type::MaxLLVMThreads, { "Core", "Max LLVM Compile Threads"}},
|
||||||
{ emu_settings_type::LLVMPrecompilation, { "Core", "LLVM Precompilation"}},
|
{ emu_settings_type::LLVMPrecompilation, { "Core", "LLVM Precompilation"}},
|
||||||
{ emu_settings_type::EnableTSX, { "Core", "Enable TSX"}},
|
{ emu_settings_type::EnableTSX, { "Core", "Enable TSX"}},
|
||||||
{ emu_settings_type::AccurateGETLLAR, { "Core", "Accurate GETLLAR"}},
|
|
||||||
{ emu_settings_type::AccurateSpuDMA, { "Core", "Accurate SPU DMA"}},
|
{ emu_settings_type::AccurateSpuDMA, { "Core", "Accurate SPU DMA"}},
|
||||||
{ emu_settings_type::AccurateClineStores, { "Core", "Accurate Cache Line Stores"}},
|
{ emu_settings_type::AccurateClineStores, { "Core", "Accurate Cache Line Stores"}},
|
||||||
{ emu_settings_type::AccurateRSXAccess, { "Core", "Accurate RSX reservation access"}},
|
{ emu_settings_type::AccurateRSXAccess, { "Core", "Accurate RSX reservation access"}},
|
||||||
|
@ -1461,9 +1461,6 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
|
|||||||
SubscribeTooltip(ui->accurateDFMA, tooltips.settings.accurate_dfma);
|
SubscribeTooltip(ui->accurateDFMA, tooltips.settings.accurate_dfma);
|
||||||
ui->accurateDFMA->setDisabled(utils::has_fma3() || utils::has_fma4());
|
ui->accurateDFMA->setDisabled(utils::has_fma3() || utils::has_fma4());
|
||||||
|
|
||||||
m_emu_settings->EnhanceCheckBox(ui->accurateGETLLAR, emu_settings_type::AccurateGETLLAR);
|
|
||||||
SubscribeTooltip(ui->accurateGETLLAR, tooltips.settings.accurate_getllar);
|
|
||||||
|
|
||||||
m_emu_settings->EnhanceCheckBox(ui->accurateRSXAccess, emu_settings_type::AccurateRSXAccess);
|
m_emu_settings->EnhanceCheckBox(ui->accurateRSXAccess, emu_settings_type::AccurateRSXAccess);
|
||||||
SubscribeTooltip(ui->accurateRSXAccess, tooltips.settings.accurate_rsx_access);
|
SubscribeTooltip(ui->accurateRSXAccess, tooltips.settings.accurate_rsx_access);
|
||||||
|
|
||||||
|
@ -2389,13 +2389,6 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="accurateGETLLAR">
|
|
||||||
<property name="text">
|
|
||||||
<string>Accurate GETLLAR</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="accurateRSXAccess">
|
<widget class="QCheckBox" name="accurateRSXAccess">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -26,7 +26,6 @@ public:
|
|||||||
const QString lib_default_lle = tr("Select to HLE. (LLE by default)");
|
const QString lib_default_lle = tr("Select to HLE. (LLE by default)");
|
||||||
|
|
||||||
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 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_getllar = tr("Accurately processes SPU MFC_GETLLAR operation.");
|
|
||||||
const QString accurate_rsx_access = tr("Forces RSX pauses on SPU MFC_GETLLAR and SPU MFC_PUTLLUC operations.");
|
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 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 fixup_ppunj = tr("Legacy option. Fixup result vector values in Non-Java Mode in PPU LLVM.\nIf unsure, do not modify this setting.");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user