mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-17 08:11:51 +00:00
SPU: Remove "Accurate PUTLLUC" setting (always accurate)
This commit is contained in:
parent
54493747a8
commit
4f0125a0e9
@ -1891,28 +1891,20 @@ void spu_thread::do_putlluc(const spu_mfc_cmd& args)
|
||||
|
||||
*reinterpret_cast<atomic_t<u32>*>(&data) += 0;
|
||||
|
||||
if (g_cfg.core.spu_accurate_putlluc)
|
||||
const auto render = get_rsx_if_needs_res_pause(addr);
|
||||
|
||||
if (render) render->pause();
|
||||
|
||||
auto& super_data = *vm::get_super_ptr<decltype(rdata)>(addr);
|
||||
{
|
||||
const auto render = get_rsx_if_needs_res_pause(addr);
|
||||
|
||||
if (render) render->pause();
|
||||
|
||||
auto& super_data = *vm::get_super_ptr<decltype(rdata)>(addr);
|
||||
{
|
||||
// Full lock (heavyweight)
|
||||
// TODO: vm::check_addr
|
||||
vm::writer_lock lock(addr);
|
||||
mov_rdata(super_data, to_write);
|
||||
res.release(time0 + 128);
|
||||
}
|
||||
|
||||
if (render) render->unpause();
|
||||
}
|
||||
else
|
||||
{
|
||||
mov_rdata(data, to_write);
|
||||
// Full lock (heavyweight)
|
||||
// TODO: vm::check_addr
|
||||
vm::writer_lock lock(addr);
|
||||
mov_rdata(super_data, to_write);
|
||||
res.release(time0 + 128);
|
||||
}
|
||||
|
||||
if (render) render->unpause();
|
||||
}
|
||||
|
||||
vm::reservation_notifier(addr, 128).notify_all();
|
||||
|
@ -43,7 +43,6 @@ struct cfg_root : cfg::node
|
||||
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::_bool spu_accurate_getllar{ this, "Accurate GETLLAR", false, true };
|
||||
cfg::_bool spu_accurate_putlluc{ this, "Accurate PUTLLUC", false, true };
|
||||
cfg::_bool spu_accurate_dma{ this, "Accurate SPU DMA", false };
|
||||
cfg::_bool rsx_accurate_res_access{this, "Accurate RSX reservation access", false, true};
|
||||
cfg::_bool spu_verification{ this, "SPU Verification", true }; // Should be enabled
|
||||
|
@ -21,7 +21,6 @@ enum class emu_settings_type
|
||||
MaxLLVMThreads,
|
||||
EnableTSX,
|
||||
AccurateGETLLAR,
|
||||
AccuratePUTLLUC,
|
||||
AccurateSpuDMA,
|
||||
AccurateLLVMdfma,
|
||||
AccurateVectorNaN,
|
||||
@ -162,7 +161,6 @@ static const QMap<emu_settings_type, cfg_location> settings_location =
|
||||
{ emu_settings_type::MaxLLVMThreads, { "Core", "Max LLVM Compile Threads"}},
|
||||
{ emu_settings_type::EnableTSX, { "Core", "Enable TSX"}},
|
||||
{ emu_settings_type::AccurateGETLLAR, { "Core", "Accurate GETLLAR"}},
|
||||
{ emu_settings_type::AccuratePUTLLUC, { "Core", "Accurate PUTLLUC"}},
|
||||
{ emu_settings_type::AccurateSpuDMA, { "Core", "Accurate SPU DMA"}},
|
||||
{ emu_settings_type::AccurateLLVMdfma, { "Core", "LLVM Accurate DFMA"}},
|
||||
{ emu_settings_type::AccurateVectorNaN, { "Core", "PPU LLVM Accurate Vector NaN values"}},
|
||||
|
@ -1724,9 +1724,6 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
|
||||
m_emu_settings->EnhanceCheckBox(ui->accurateGETLLAR, emu_settings_type::AccurateGETLLAR);
|
||||
SubscribeTooltip(ui->accurateGETLLAR, tooltips.settings.accurate_getllar);
|
||||
|
||||
m_emu_settings->EnhanceCheckBox(ui->accuratePUTLLUC, emu_settings_type::AccuratePUTLLUC);
|
||||
SubscribeTooltip(ui->accuratePUTLLUC, tooltips.settings.accurate_putlluc);
|
||||
|
||||
m_emu_settings->EnhanceCheckBox(ui->accurateSpuDMA, emu_settings_type::AccurateSpuDMA);
|
||||
SubscribeTooltip(ui->accurateSpuDMA, tooltips.settings.accurate_spu_dma);
|
||||
|
||||
|
@ -3442,13 +3442,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="accuratePUTLLUC">
|
||||
<property name="text">
|
||||
<string>Accurate PUTLLUC</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="accurateSpuDMA">
|
||||
<property name="text">
|
||||
|
@ -77,7 +77,6 @@ public:
|
||||
const QString spu_debug = tr("Creates SPU logs.\nOnly useful to developers.\nNever use this.");
|
||||
const QString set_daz_and_ftz = tr("Sets special MXCSR flags to debug errors in SSE operations.\nOnly used in PPU thread when it's not precise.\nOnly useful to developers.\nNever use this.");
|
||||
const QString accurate_getllar = tr("Accurately processes SPU MFC_GETLLAR operation.");
|
||||
const QString accurate_putlluc = tr("Accurately processes SPU MFC_PUTLLUC operation.");
|
||||
const QString accurate_spu_dma = tr("Accurately processes SPU DMA operations.");
|
||||
const QString accurate_llvm_dfma = tr("Provides extra accuracy on FMA instructions at the cost of performance.\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 can't disable it if your CPU supports FMA.");
|
||||
const QString accurate_vector_nan = tr("Forces the floating point NaN (Not A Number) values outputted from PPU vector instructions to be accurate to the real hardware. (0x7FC00000)");
|
||||
|
Loading…
Reference in New Issue
Block a user