Add Accurate PPU 128 Reservations to Debug tab

This commit is contained in:
Megamouse 2020-09-29 09:25:12 +02:00
parent 531eb04fd7
commit 046923d9f7
5 changed files with 56 additions and 3 deletions

View File

@ -27,6 +27,7 @@ enum class emu_settings_type
AccurateVectorNaN,
AccurateRSXAccess,
AccurateXFloat,
AccuratePPU128Loop,
SetDAZandFTZ,
SPUBlockSize,
SPUCache,
@ -176,6 +177,7 @@ static const QMap<emu_settings_type, cfg_location> settings_location =
{ emu_settings_type::MaxSPURSThreads, { "Core", "Max SPURS Threads"}},
{ emu_settings_type::SleepTimersAccuracy, { "Core", "Sleep Timers Accuracy"}},
{ emu_settings_type::ClocksScale, { "Core", "Clocks scale"}},
{ emu_settings_type::AccuratePPU128Loop, { "Core", "Accurate PPU 128-byte Reservation Op Max Length"}},
// Graphics Tab
{ emu_settings_type::Renderer, { "Video", "Renderer"}},

View File

@ -239,7 +239,7 @@
<height>85</height>
</rect>
</property>
<layout class="QVBoxLayout" name="scrollAreaWidgetContents_notes">
<layout class="QVBoxLayout" name="scrollAreaWidgetContents_notes_layout">
<property name="spacing">
<number>0</number>
</property>

View File

@ -1744,6 +1744,13 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> gui_settings, std
m_emu_settings->EnhanceCheckBox(ui->hookStFunc, emu_settings_type::HookStaticFuncs);
SubscribeTooltip(ui->hookStFunc, tooltips.settings.hook_static_functions);
// Comboboxes
m_emu_settings->EnhanceComboBox(ui->combo_accurate_ppu_128, emu_settings_type::AccuratePPU128Loop, true);
SubscribeTooltip(ui->gb_accurate_ppu_128, tooltips.settings.accurate_ppu_128_loop);
ui->combo_accurate_ppu_128->setItemText(ui->combo_accurate_ppu_128->findData(-1), tr("Always Enabled", "Accurate PPU 128 Reservations"));
ui->combo_accurate_ppu_128->setItemText(ui->combo_accurate_ppu_128->findData(0), tr("Disabled", "Accurate PPU 128 Reservations"));
// Layout fix for High Dpi
layout()->setSizeConstraint(QLayout::SetFixedSize);
}

View File

@ -3521,7 +3521,7 @@
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<spacer name="verticalSpacerDebugCore">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
@ -3537,7 +3537,50 @@
</widget>
</item>
<item>
<widget class="QWidget" name="debug_spacer_widget" native="true"/>
<widget class="QWidget" name="debug_more_stuff" native="true">
<layout class="QVBoxLayout" name="debug_more_stuff_layout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QGroupBox" name="gb_accurate_ppu_128">
<property name="title">
<string>Accurate PPU 128 Reservations</string>
</property>
<layout class="QVBoxLayout" name="gb_accurate_ppu_128_layout">
<item>
<widget class="QComboBox" name="combo_accurate_ppu_128"/>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacerDebugMore">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</item>

View File

@ -96,6 +96,7 @@ public:
const QString strict_texture_flushing = tr("Forces texture flushing even in situations where it is not necessary/correct. Known to cause visual artifacts, but useful for debugging certain texture cache issues.");
const QString disable_native_fp16 = tr("Disables hardware half-float support which is known to cause problems in some rare cases on some GPUs.");
const QString enable_3d = tr("Enables 3D stereo rendering.\nNote that only anaglyph viewing is supported at the moment.");
const QString accurate_ppu_128_loop = tr("When enabled, PPU atomic operations will operate on entire cache line data, as opposed to a single 64bit block of memory when disabled.\nNumerical values control whether or not to enable the accurate version based on the atomic operation's length.");
// emulator