qt: Add cpu blit emulation override to the debug tab

This commit is contained in:
kd-11 2017-10-13 15:36:01 +03:00
parent 86bf61ad35
commit 1572d01c53
4 changed files with 14 additions and 1 deletions

View file

@ -45,7 +45,8 @@
"debugOverlay": "Provides a graphical overlay of various debugging information.\nIf unsure, don't use this option.", "debugOverlay": "Provides a graphical overlay of various debugging information.\nIf unsure, don't use this option.",
"logProg": "Dump game shaders to file. Only useful to developers.\nIf unsure, don't use this option.", "logProg": "Dump game shaders to file. Only useful to developers.\nIf unsure, don't use this option.",
"disableOcclusionQueries": "Disables running occlusion queries. Minor to moderate performance boost.\nMight introduce issues with broken occlusion e.g missing geometry and extreme pop-in.", "disableOcclusionQueries": "Disables running occlusion queries. Minor to moderate performance boost.\nMight introduce issues with broken occlusion e.g missing geometry and extreme pop-in.",
"disableVertexCache": "Disables the vertex cache.\nMight resolve missing or flickering graphics output.\nMay degrade performance." "disableVertexCache": "Disables the vertex cache.\nMight resolve missing or flickering graphics output.\nMay degrade performance.",
"forceCpuBlitEmulation": "Forces emulation of all blit and image manipulation operations on the cpu.\nRequires 'Write Color Buffers' option to also be enabled in most cases to avoid missing graphics.\nSignificatly degrades performance but is more accurate in some cases.\nThis setting overrides the 'GPU texture scaling' option."
}, },
"emulator": { "emulator": {
"gui": { "gui": {

View file

@ -63,6 +63,7 @@ public:
AnisotropicFilterOverride, AnisotropicFilterOverride,
ResolutionScale, ResolutionScale,
MinimumScalableDimension, MinimumScalableDimension,
ForceCPUBlitEmulation,
// Audio // Audio
AudioRenderer, AudioRenderer,
@ -212,6 +213,7 @@ private:
{ StrictRenderingMode, { "Video", "Strict Rendering Mode"}}, { StrictRenderingMode, { "Video", "Strict Rendering Mode"}},
{ DisableVertexCache, { "Video", "Disable Vertex Cache"}}, { DisableVertexCache, { "Video", "Disable Vertex Cache"}},
{ DisableOcclusionQueries, { "Video", "Disable ZCull Occlusion Queries" }}, { DisableOcclusionQueries, { "Video", "Disable ZCull Occlusion Queries" }},
{ ForceCPUBlitEmulation, { "Video", "Force CPU Blit" }},
{ AnisotropicFilterOverride,{ "Video", "Anisotropic Filter Override" }}, { AnisotropicFilterOverride,{ "Video", "Anisotropic Filter Override" }},
{ ResolutionScale, { "Video", "Resolution Scale" }}, { ResolutionScale, { "Video", "Resolution Scale" }},
{ MinimumScalableDimension, { "Video", "Minimum Scalable Dimension" }}, { MinimumScalableDimension, { "Video", "Minimum Scalable Dimension" }},

View file

@ -937,6 +937,9 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
xemu_settings->EnhanceCheckBox(ui->disableHwOcclusionQueries, emu_settings::DisableOcclusionQueries); xemu_settings->EnhanceCheckBox(ui->disableHwOcclusionQueries, emu_settings::DisableOcclusionQueries);
ui->disableHwOcclusionQueries->setToolTip(json_debug["disableOcclusionQueries"].toString()); ui->disableHwOcclusionQueries->setToolTip(json_debug["disableOcclusionQueries"].toString());
xemu_settings->EnhanceCheckBox(ui->forceCpuBlitEmulation, emu_settings::ForceCPUBlitEmulation);
ui->forceCpuBlitEmulation->setToolTip(json_debug["forceCpuBlitEmulation"].toString());
// Checkboxes: core debug options // Checkboxes: core debug options
xemu_settings->EnhanceCheckBox(ui->ppuDebug, emu_settings::PPUDebug); xemu_settings->EnhanceCheckBox(ui->ppuDebug, emu_settings::PPUDebug);
ui->ppuDebug->setToolTip(json_debug["ppuDebug"].toString()); ui->ppuDebug->setToolTip(json_debug["ppuDebug"].toString());

View file

@ -1554,6 +1554,13 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QCheckBox" name="forceCpuBlitEmulation">
<property name="text">
<string>Force CPU blit emulation</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>