diff --git a/src/core/fullscreen_ui.cpp b/src/core/fullscreen_ui.cpp index 19d5fbf27..dc7866a04 100644 --- a/src/core/fullscreen_ui.cpp +++ b/src/core/fullscreen_ui.cpp @@ -4449,30 +4449,15 @@ void FullscreenUI::DrawDisplaySettingsPage() "Usually results in worse frame pacing."), "Display", "DisableMailboxPresentation", false); - switch (renderer) - { #ifdef _WIN32 - case GPURenderer::HardwareD3D11: - { - DrawToggleSetting( - bsi, FSUI_CSTR("Use Blit Swap Chain"), - FSUI_CSTR("Uses a blit presentation model instead of flipping. This may be needed on some systems."), "Display", - "UseBlitSwapChain", false); - } - break; -#endif - - case GPURenderer::Software: - { - DrawToggleSetting(bsi, FSUI_CSTR("Threaded Rendering"), - FSUI_CSTR("Uses a second thread for drawing graphics. Speed boost, and safe to use."), "GPU", - "UseThread", true); - } - break; - - default: - break; + if (renderer == GPURenderer::HardwareD3D11 || renderer == GPURenderer::Software) + { + DrawToggleSetting( + bsi, FSUI_CSTR("Use Blit Swap Chain"), + FSUI_CSTR("Uses a blit presentation model instead of flipping. This may be needed on some systems."), "Display", + "UseBlitSwapChain", false); } +#endif if (is_hardware && pgxp_enabled) { @@ -5187,6 +5172,9 @@ void FullscreenUI::DrawAdvancedSettingsPage() DrawToggleSetting(bsi, FSUI_CSTR("Show Enhancement Settings"), FSUI_CSTR("Shows enhancement settings in the bottom-right corner of the screen."), "Display", "ShowEnhancements", false); + DrawToggleSetting(bsi, FSUI_CSTR("Threaded Rendering"), + FSUI_CSTR("Uses a second thread for drawing graphics. Speed boost, and safe to use."), "GPU", + "UseThread", true); DrawEnumSetting(bsi, FSUI_CSTR("Wireframe Rendering"), FSUI_CSTR("Overlays or replaces normal triangle drawing with a wireframe/line view."), "GPU", "WireframeMode", GPUWireframeMode::Disabled, &Settings::ParseGPUWireframeMode, diff --git a/src/duckstation-qt/graphicssettingswidget.cpp b/src/duckstation-qt/graphicssettingswidget.cpp index 3f883e7b0..a07b13ef4 100644 --- a/src/duckstation-qt/graphicssettingswidget.cpp +++ b/src/duckstation-qt/graphicssettingswidget.cpp @@ -118,7 +118,6 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget* SettingWidgetBinder::BindWidgetToEnumSetting(sif, m_ui.displayRotation, "Display", "Rotation", &Settings::ParseDisplayRotation, &Settings::GetDisplayRotationName, Settings::DEFAULT_DISPLAY_ROTATION); - SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.gpuThread, "GPU", "UseThread", true); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.disableMailboxPresentation, "Display", "DisableMailboxPresentation", false); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.stretchDisplayVertically, "Display", "StretchVertically", @@ -256,6 +255,8 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget* // Debugging Tab + SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.gpuThread, "GPU", "UseThread", true); + SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.useDebugDevice, "GPU", "UseDebugDevice", false); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.disableShaderCache, "GPU", "DisableShaderCache", false); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.disableDualSource, "GPU", "DisableDualSourceBlend", false); @@ -371,9 +372,6 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget* m_ui.displayAlignment, tr("Position"), QString::fromUtf8(Settings::GetDisplayAlignmentDisplayName(Settings::DEFAULT_DISPLAY_ALIGNMENT)), tr("Determines the position on the screen when black borders must be added.")); - dialog->registerWidgetHelp(m_ui.gpuThread, tr("Threaded Rendering"), tr("Checked"), - tr("Uses a second thread for drawing graphics. Currently only available for the software " - "renderer, but can provide a significant speed improvement, and is safe to use.")); dialog->registerWidgetHelp( m_ui.disableMailboxPresentation, tr("Disable Mailbox Presentation"), tr("Unchecked"), tr("Forces the use of FIFO over Mailbox presentation, i.e. double buffering instead of triple buffering. " @@ -559,6 +557,9 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* dialog, QWidget* dialog->registerWidgetHelp(m_ui.gpuWireframeMode, tr("Wireframe Mode"), tr("Disabled"), tr("Draws a wireframe outline of the triangles rendered by the console's GPU, either as a " "replacement or an overlay.")); + dialog->registerWidgetHelp(m_ui.gpuThread, tr("Threaded Rendering"), tr("Checked"), + tr("Uses a second thread for drawing graphics. Currently only available for the software " + "renderer, but can provide a significant speed improvement, and is safe to use.")); dialog->registerWidgetHelp( m_ui.useDebugDevice, tr("Use Debug Device"), tr("Unchecked"), diff --git a/src/duckstation-qt/graphicssettingswidget.ui b/src/duckstation-qt/graphicssettingswidget.ui index 739f950b9..d3a19e343 100644 --- a/src/duckstation-qt/graphicssettingswidget.ui +++ b/src/duckstation-qt/graphicssettingswidget.ui @@ -405,13 +405,6 @@ - - - - Threaded Rendering - - - @@ -433,7 +426,7 @@ - + Software Renderer Readbacks @@ -1223,6 +1216,17 @@ + + + + + + Threaded Rendering + + + + +