diff --git a/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp b/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp index 6edbffc0e9..175a659510 100644 --- a/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp +++ b/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp @@ -41,6 +41,8 @@ EnhancementsWidget::EnhancementsWidget(GraphicsWindow* parent) : m_block_save(fa [this](const QString& backend) { LoadSettings(); }); connect(parent, &GraphicsWindow::UseFastTextureSamplingChanged, this, &EnhancementsWidget::LoadSettings); + connect(parent, &GraphicsWindow::UseGPUTextureDecodingChanged, this, + &EnhancementsWidget::LoadSettings); } constexpr int TEXTURE_FILTERING_DEFAULT = 0; @@ -295,6 +297,7 @@ void EnhancementsWidget::LoadSettings() { m_block_save = true; m_texture_filtering_combo->setEnabled(Config::Get(Config::GFX_HACK_FAST_TEXTURE_SAMPLING)); + m_arbitrary_mipmap_detection->setEnabled(!Config::Get(Config::GFX_ENABLE_GPU_TEXTURE_DECODING)); // Anti-Aliasing diff --git a/Source/Core/DolphinQt/Config/Graphics/GraphicsWindow.h b/Source/Core/DolphinQt/Config/Graphics/GraphicsWindow.h index bc935d79e1..97673563b5 100644 --- a/Source/Core/DolphinQt/Config/Graphics/GraphicsWindow.h +++ b/Source/Core/DolphinQt/Config/Graphics/GraphicsWindow.h @@ -25,6 +25,7 @@ public: signals: void BackendChanged(const QString& backend); void UseFastTextureSamplingChanged(); + void UseGPUTextureDecodingChanged(); private: void CreateMainLayout(); diff --git a/Source/Core/DolphinQt/Config/Graphics/HacksWidget.cpp b/Source/Core/DolphinQt/Config/Graphics/HacksWidget.cpp index 9441966f0e..cfdfa866a4 100644 --- a/Source/Core/DolphinQt/Config/Graphics/HacksWidget.cpp +++ b/Source/Core/DolphinQt/Config/Graphics/HacksWidget.cpp @@ -31,6 +31,10 @@ HacksWidget::HacksWidget(GraphicsWindow* parent) connect(parent, &GraphicsWindow::BackendChanged, this, &HacksWidget::OnBackendChanged); OnBackendChanged(QString::fromStdString(Config::Get(Config::MAIN_GFX_BACKEND))); connect(&Settings::Instance(), &Settings::ConfigChanged, this, &HacksWidget::LoadSettings); + connect(m_gpu_texture_decoding, &QCheckBox::toggled, [this, parent] { + SaveSettings(); + emit parent->UseGPUTextureDecodingChanged(); + }); } void HacksWidget::CreateWidgets() @@ -264,8 +268,8 @@ void HacksWidget::AddDescriptions() static const char TR_GPU_DECODING_DESCRIPTION[] = QT_TR_NOOP( "Enables texture decoding using the GPU instead of the CPU.

This may result in " "performance gains in some scenarios, or on systems where the CPU is the " - "bottleneck.

If unsure, leave this " - "unchecked."); + "bottleneck.

This option is incompatible with Arbitrary Mipmap Detection.

" + "If unsure, leave this unchecked."); static const char TR_FAST_DEPTH_CALC_DESCRIPTION[] = QT_TR_NOOP( "Uses a less accurate algorithm to calculate depth values.

Causes issues in a few " "games, but can result in a decent speed increase depending on the game and/or "