From b969d8910372cab367483adad80419adf5c472ae Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Sat, 24 Sep 2022 23:50:41 -0700 Subject: [PATCH] Disable Texture Filtering dropdown when Manual Texture Sampling is checked See https://bugs.dolphin-emu.org/issues/13049 --- Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp | 4 ++++ .../Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp | 7 ++++++- Source/Core/DolphinQt/Config/Graphics/GraphicsWindow.h | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp b/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp index 32b24440b6..afdedc3ea0 100644 --- a/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp +++ b/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp @@ -36,6 +36,10 @@ AdvancedWidget::AdvancedWidget(GraphicsWindow* parent) connect(&Settings::Instance(), &Settings::EmulationStateChanged, this, [this](Core::State state) { OnEmulationStateChanged(state != Core::State::Uninitialized); }); + connect(m_manual_texture_sampling, &QCheckBox::toggled, [this, parent] { + SaveSettings(); + emit parent->UseFastTextureSamplingChanged(); + }); OnBackendChanged(); OnEmulationStateChanged(Core::GetState() != Core::State::Uninitialized); diff --git a/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp b/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp index f181780749..6edbffc0e9 100644 --- a/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp +++ b/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp @@ -39,6 +39,8 @@ EnhancementsWidget::EnhancementsWidget(GraphicsWindow* parent) : m_block_save(fa AddDescriptions(); connect(parent, &GraphicsWindow::BackendChanged, [this](const QString& backend) { LoadSettings(); }); + connect(parent, &GraphicsWindow::UseFastTextureSamplingChanged, this, + &EnhancementsWidget::LoadSettings); } constexpr int TEXTURE_FILTERING_DEFAULT = 0; @@ -292,6 +294,8 @@ void EnhancementsWidget::LoadPPShaders() void EnhancementsWidget::LoadSettings() { m_block_save = true; + m_texture_filtering_combo->setEnabled(Config::Get(Config::GFX_HACK_FAST_TEXTURE_SAMPLING)); + // Anti-Aliasing const u32 aa_selection = Config::Get(Config::GFX_MSAA); @@ -488,7 +492,8 @@ void EnhancementsWidget::AddDescriptions() "that are at oblique viewing angles. Force Nearest and Force Linear override the texture " "scaling filter selected by the game.

Any option except 'Default' will alter the look " "of the game's textures and might cause issues in a small number of " - "games.

If unsure, select 'Default'."); + "games.

This option is incompatible with Manual Texture Sampling.

" + "If unsure, select 'Default'."); static const char TR_OUTPUT_RESAMPLING_DESCRIPTION[] = QT_TR_NOOP("Affects how the game output is scaled to the window resolution." "
The performance mostly depends on the number of samples each method uses." diff --git a/Source/Core/DolphinQt/Config/Graphics/GraphicsWindow.h b/Source/Core/DolphinQt/Config/Graphics/GraphicsWindow.h index 5949a2dda3..bc935d79e1 100644 --- a/Source/Core/DolphinQt/Config/Graphics/GraphicsWindow.h +++ b/Source/Core/DolphinQt/Config/Graphics/GraphicsWindow.h @@ -24,6 +24,7 @@ public: signals: void BackendChanged(const QString& backend); + void UseFastTextureSamplingChanged(); private: void CreateMainLayout();