DolphinQt: Remove software renderer settings widget
Thus, the software renderer uses the same settings as everything else, fixing https://bugs.dolphin-emu.org/issues/13051.
This commit is contained in:
parent
b90d23158f
commit
3d0cd8b076
|
@ -92,8 +92,6 @@ add_executable(dolphin-emu
|
||||||
Config/Graphics/HacksWidget.h
|
Config/Graphics/HacksWidget.h
|
||||||
Config/Graphics/PostProcessingConfigWindow.cpp
|
Config/Graphics/PostProcessingConfigWindow.cpp
|
||||||
Config/Graphics/PostProcessingConfigWindow.h
|
Config/Graphics/PostProcessingConfigWindow.h
|
||||||
Config/Graphics/SoftwareRendererWidget.cpp
|
|
||||||
Config/Graphics/SoftwareRendererWidget.h
|
|
||||||
Config/GraphicsModListWidget.cpp
|
Config/GraphicsModListWidget.cpp
|
||||||
Config/GraphicsModListWidget.h
|
Config/GraphicsModListWidget.h
|
||||||
Config/GraphicsModWarningWidget.cpp
|
Config/GraphicsModWarningWidget.cpp
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
#include "DolphinQt/Config/Graphics/EnhancementsWidget.h"
|
#include "DolphinQt/Config/Graphics/EnhancementsWidget.h"
|
||||||
#include "DolphinQt/Config/Graphics/GeneralWidget.h"
|
#include "DolphinQt/Config/Graphics/GeneralWidget.h"
|
||||||
#include "DolphinQt/Config/Graphics/HacksWidget.h"
|
#include "DolphinQt/Config/Graphics/HacksWidget.h"
|
||||||
#include "DolphinQt/Config/Graphics/SoftwareRendererWidget.h"
|
|
||||||
#include "DolphinQt/MainWindow.h"
|
#include "DolphinQt/MainWindow.h"
|
||||||
#include "DolphinQt/QtUtils/WrapInScrollArea.h"
|
#include "DolphinQt/QtUtils/WrapInScrollArea.h"
|
||||||
|
|
||||||
|
@ -51,30 +50,19 @@ void GraphicsWindow::CreateMainLayout()
|
||||||
m_enhancements_widget = new EnhancementsWidget(this);
|
m_enhancements_widget = new EnhancementsWidget(this);
|
||||||
m_hacks_widget = new HacksWidget(this);
|
m_hacks_widget = new HacksWidget(this);
|
||||||
m_advanced_widget = new AdvancedWidget(this);
|
m_advanced_widget = new AdvancedWidget(this);
|
||||||
m_software_renderer = new SoftwareRendererWidget(this);
|
|
||||||
|
|
||||||
connect(m_general_widget, &GeneralWidget::BackendChanged, this,
|
connect(m_general_widget, &GeneralWidget::BackendChanged, this,
|
||||||
&GraphicsWindow::OnBackendChanged);
|
&GraphicsWindow::OnBackendChanged);
|
||||||
connect(m_software_renderer, &SoftwareRendererWidget::BackendChanged, this,
|
|
||||||
&GraphicsWindow::OnBackendChanged);
|
|
||||||
|
|
||||||
m_wrapped_general = GetWrappedWidget(m_general_widget, this, 50, 100);
|
m_wrapped_general = GetWrappedWidget(m_general_widget, this, 50, 100);
|
||||||
m_wrapped_enhancements = GetWrappedWidget(m_enhancements_widget, this, 50, 100);
|
m_wrapped_enhancements = GetWrappedWidget(m_enhancements_widget, this, 50, 100);
|
||||||
m_wrapped_hacks = GetWrappedWidget(m_hacks_widget, this, 50, 100);
|
m_wrapped_hacks = GetWrappedWidget(m_hacks_widget, this, 50, 100);
|
||||||
m_wrapped_advanced = GetWrappedWidget(m_advanced_widget, this, 50, 100);
|
m_wrapped_advanced = GetWrappedWidget(m_advanced_widget, this, 50, 100);
|
||||||
m_wrapped_software = GetWrappedWidget(m_software_renderer, this, 50, 100);
|
|
||||||
|
|
||||||
if (Config::Get(Config::MAIN_GFX_BACKEND) != "Software Renderer")
|
m_tab_widget->addTab(m_wrapped_general, tr("General"));
|
||||||
{
|
m_tab_widget->addTab(m_wrapped_enhancements, tr("Enhancements"));
|
||||||
m_tab_widget->addTab(m_wrapped_general, tr("General"));
|
m_tab_widget->addTab(m_wrapped_hacks, tr("Hacks"));
|
||||||
m_tab_widget->addTab(m_wrapped_enhancements, tr("Enhancements"));
|
m_tab_widget->addTab(m_wrapped_advanced, tr("Advanced"));
|
||||||
m_tab_widget->addTab(m_wrapped_hacks, tr("Hacks"));
|
|
||||||
m_tab_widget->addTab(m_wrapped_advanced, tr("Advanced"));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_tab_widget->addTab(m_wrapped_software, tr("Software Renderer"));
|
|
||||||
}
|
|
||||||
|
|
||||||
setLayout(main_layout);
|
setLayout(main_layout);
|
||||||
}
|
}
|
||||||
|
@ -86,20 +74,6 @@ void GraphicsWindow::OnBackendChanged(const QString& backend_name)
|
||||||
|
|
||||||
setWindowTitle(
|
setWindowTitle(
|
||||||
tr("%1 Graphics Configuration").arg(tr(g_video_backend->GetDisplayName().c_str())));
|
tr("%1 Graphics Configuration").arg(tr(g_video_backend->GetDisplayName().c_str())));
|
||||||
if (backend_name == QStringLiteral("Software Renderer") && m_tab_widget->count() > 1)
|
|
||||||
{
|
|
||||||
m_tab_widget->clear();
|
|
||||||
m_tab_widget->addTab(m_wrapped_software, tr("Software Renderer"));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (backend_name != QStringLiteral("Software Renderer") && m_tab_widget->count() == 1)
|
|
||||||
{
|
|
||||||
m_tab_widget->clear();
|
|
||||||
m_tab_widget->addTab(m_wrapped_general, tr("General"));
|
|
||||||
m_tab_widget->addTab(m_wrapped_enhancements, tr("Enhancements"));
|
|
||||||
m_tab_widget->addTab(m_wrapped_hacks, tr("Hacks"));
|
|
||||||
m_tab_widget->addTab(m_wrapped_advanced, tr("Advanced"));
|
|
||||||
}
|
|
||||||
|
|
||||||
emit BackendChanged(backend_name);
|
emit BackendChanged(backend_name);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,113 +0,0 @@
|
||||||
// Copyright 2017 Dolphin Emulator Project
|
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
#include "DolphinQt/Config/Graphics/SoftwareRendererWidget.h"
|
|
||||||
|
|
||||||
#include <QComboBox>
|
|
||||||
#include <QGridLayout>
|
|
||||||
#include <QGroupBox>
|
|
||||||
#include <QLabel>
|
|
||||||
#include <QSpinBox>
|
|
||||||
#include <QVBoxLayout>
|
|
||||||
|
|
||||||
#include "Core/Config/GraphicsSettings.h"
|
|
||||||
#include "Core/Config/MainSettings.h"
|
|
||||||
#include "Core/ConfigManager.h"
|
|
||||||
#include "Core/Core.h"
|
|
||||||
|
|
||||||
#include "DolphinQt/Config/Graphics/GraphicsBool.h"
|
|
||||||
#include "DolphinQt/Config/Graphics/GraphicsWindow.h"
|
|
||||||
#include "DolphinQt/Config/ToolTipControls/ToolTipComboBox.h"
|
|
||||||
#include "DolphinQt/Settings.h"
|
|
||||||
|
|
||||||
#include "UICommon/VideoUtils.h"
|
|
||||||
|
|
||||||
#include "VideoCommon/VideoBackendBase.h"
|
|
||||||
#include "VideoCommon/VideoConfig.h"
|
|
||||||
|
|
||||||
SoftwareRendererWidget::SoftwareRendererWidget(GraphicsWindow* parent)
|
|
||||||
{
|
|
||||||
CreateWidgets();
|
|
||||||
LoadSettings();
|
|
||||||
ConnectWidgets();
|
|
||||||
AddDescriptions();
|
|
||||||
emit BackendChanged(QString::fromStdString(Config::Get(Config::MAIN_GFX_BACKEND)));
|
|
||||||
|
|
||||||
connect(parent, &GraphicsWindow::BackendChanged, [this] { LoadSettings(); });
|
|
||||||
connect(&Settings::Instance(), &Settings::EmulationStateChanged, this, [this](Core::State state) {
|
|
||||||
OnEmulationStateChanged(state != Core::State::Uninitialized);
|
|
||||||
});
|
|
||||||
OnEmulationStateChanged(Core::GetState() != Core::State::Uninitialized);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SoftwareRendererWidget::CreateWidgets()
|
|
||||||
{
|
|
||||||
auto* main_layout = new QVBoxLayout;
|
|
||||||
|
|
||||||
auto* rendering_box = new QGroupBox(tr("Rendering"));
|
|
||||||
auto* rendering_layout = new QGridLayout();
|
|
||||||
m_backend_combo = new ToolTipComboBox();
|
|
||||||
|
|
||||||
rendering_box->setLayout(rendering_layout);
|
|
||||||
rendering_layout->addWidget(new QLabel(tr("Backend:")), 1, 1);
|
|
||||||
rendering_layout->addWidget(m_backend_combo, 1, 2);
|
|
||||||
|
|
||||||
for (const auto& backend : VideoBackendBase::GetAvailableBackends())
|
|
||||||
m_backend_combo->addItem(tr(backend->GetDisplayName().c_str()));
|
|
||||||
|
|
||||||
main_layout->addWidget(rendering_box);
|
|
||||||
main_layout->addStretch();
|
|
||||||
|
|
||||||
setLayout(main_layout);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SoftwareRendererWidget::ConnectWidgets()
|
|
||||||
{
|
|
||||||
connect(m_backend_combo, qOverload<int>(&QComboBox::currentIndexChanged),
|
|
||||||
[this](int) { SaveSettings(); });
|
|
||||||
}
|
|
||||||
|
|
||||||
void SoftwareRendererWidget::LoadSettings()
|
|
||||||
{
|
|
||||||
for (const auto& backend : VideoBackendBase::GetAvailableBackends())
|
|
||||||
{
|
|
||||||
if (backend->GetName() == Config::Get(Config::MAIN_GFX_BACKEND))
|
|
||||||
{
|
|
||||||
m_backend_combo->setCurrentIndex(
|
|
||||||
m_backend_combo->findText(tr(backend->GetDisplayName().c_str())));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void SoftwareRendererWidget::SaveSettings()
|
|
||||||
{
|
|
||||||
for (const auto& backend : VideoBackendBase::GetAvailableBackends())
|
|
||||||
{
|
|
||||||
if (tr(backend->GetDisplayName().c_str()) == m_backend_combo->currentText())
|
|
||||||
{
|
|
||||||
const auto backend_name = backend->GetName();
|
|
||||||
if (backend_name != Config::Get(Config::MAIN_GFX_BACKEND))
|
|
||||||
emit BackendChanged(QString::fromStdString(backend_name));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void SoftwareRendererWidget::AddDescriptions()
|
|
||||||
{
|
|
||||||
static const char TR_BACKEND_DESCRIPTION[] = QT_TR_NOOP(
|
|
||||||
"Selects what graphics API to use internally.<br>The software renderer is extremely "
|
|
||||||
"slow and only useful for debugging, so you'll want to use either Direct3D or "
|
|
||||||
"OpenGL. Different games and different GPUs will behave differently on each "
|
|
||||||
"backend, so for the best emulation experience it's recommended to try both and "
|
|
||||||
"choose the one that's less problematic.<br><br><dolphin_emphasis>If unsure, select "
|
|
||||||
"OpenGL.</dolphin_emphasis>");
|
|
||||||
|
|
||||||
m_backend_combo->SetTitle(tr("Backend"));
|
|
||||||
m_backend_combo->SetDescription(tr(TR_BACKEND_DESCRIPTION));
|
|
||||||
}
|
|
||||||
|
|
||||||
void SoftwareRendererWidget::OnEmulationStateChanged(bool running)
|
|
||||||
{
|
|
||||||
m_backend_combo->setEnabled(!running);
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
// Copyright 2017 Dolphin Emulator Project
|
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "DolphinQt/Config/Graphics/GraphicsWidget.h"
|
|
||||||
|
|
||||||
class GraphicsBool;
|
|
||||||
class GraphicsWindow;
|
|
||||||
class QSpinBox;
|
|
||||||
class ToolTipComboBox;
|
|
||||||
|
|
||||||
class SoftwareRendererWidget final : public GraphicsWidget
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
explicit SoftwareRendererWidget(GraphicsWindow* parent);
|
|
||||||
|
|
||||||
signals:
|
|
||||||
void BackendChanged(const QString& backend);
|
|
||||||
|
|
||||||
private:
|
|
||||||
void LoadSettings() override;
|
|
||||||
void SaveSettings() override;
|
|
||||||
|
|
||||||
void CreateWidgets();
|
|
||||||
void ConnectWidgets();
|
|
||||||
void AddDescriptions();
|
|
||||||
|
|
||||||
void OnEmulationStateChanged(bool running);
|
|
||||||
|
|
||||||
ToolTipComboBox* m_backend_combo;
|
|
||||||
};
|
|
|
@ -79,7 +79,6 @@
|
||||||
<ClCompile Include="Config\Graphics\GraphicsWindow.cpp" />
|
<ClCompile Include="Config\Graphics\GraphicsWindow.cpp" />
|
||||||
<ClCompile Include="Config\Graphics\HacksWidget.cpp" />
|
<ClCompile Include="Config\Graphics\HacksWidget.cpp" />
|
||||||
<ClCompile Include="Config\Graphics\PostProcessingConfigWindow.cpp" />
|
<ClCompile Include="Config\Graphics\PostProcessingConfigWindow.cpp" />
|
||||||
<ClCompile Include="Config\Graphics\SoftwareRendererWidget.cpp" />
|
|
||||||
<ClCompile Include="Config\GraphicsModListWidget.cpp" />
|
<ClCompile Include="Config\GraphicsModListWidget.cpp" />
|
||||||
<ClCompile Include="Config\GraphicsModWarningWidget.cpp" />
|
<ClCompile Include="Config\GraphicsModWarningWidget.cpp" />
|
||||||
<ClCompile Include="Config\InfoWidget.cpp" />
|
<ClCompile Include="Config\InfoWidget.cpp" />
|
||||||
|
@ -276,7 +275,6 @@
|
||||||
<QtMoc Include="Config\Graphics\GraphicsWindow.h" />
|
<QtMoc Include="Config\Graphics\GraphicsWindow.h" />
|
||||||
<QtMoc Include="Config\Graphics\HacksWidget.h" />
|
<QtMoc Include="Config\Graphics\HacksWidget.h" />
|
||||||
<QtMoc Include="Config\Graphics\PostProcessingConfigWindow.h" />
|
<QtMoc Include="Config\Graphics\PostProcessingConfigWindow.h" />
|
||||||
<QtMoc Include="Config\Graphics\SoftwareRendererWidget.h" />
|
|
||||||
<QtMoc Include="Config\GraphicsModListWidget.h" />
|
<QtMoc Include="Config\GraphicsModListWidget.h" />
|
||||||
<QtMoc Include="Config\GraphicsModWarningWidget.h" />
|
<QtMoc Include="Config\GraphicsModWarningWidget.h" />
|
||||||
<QtMoc Include="Config\InfoWidget.h" />
|
<QtMoc Include="Config\InfoWidget.h" />
|
||||||
|
|
Loading…
Reference in New Issue