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 "