diff --git a/Source/Core/DolphinLib.props b/Source/Core/DolphinLib.props
index 05142ae672..ec9ac2065a 100644
--- a/Source/Core/DolphinLib.props
+++ b/Source/Core/DolphinLib.props
@@ -534,7 +534,6 @@
-
@@ -1160,7 +1159,6 @@
-
diff --git a/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp b/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp
index 113c9fe835..c5889d2ad4 100644
--- a/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp
+++ b/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp
@@ -23,8 +23,6 @@
#include "DolphinQt/QtUtils/NonDefaultQPushButton.h"
#include "DolphinQt/Settings.h"
-#include "UICommon/VideoUtils.h"
-
#include "VideoCommon/PostProcessing.h"
#include "VideoCommon/VideoBackendBase.h"
#include "VideoCommon/VideoCommon.h"
@@ -260,18 +258,38 @@ void EnhancementsWidget::LoadSettings()
m_block_save = true;
// Anti-Aliasing
- const int aa_selection = Config::Get(Config::GFX_MSAA);
+ const u32 aa_selection = Config::Get(Config::GFX_MSAA);
const bool ssaa = Config::Get(Config::GFX_SSAA);
const int aniso = Config::Get(Config::GFX_ENHANCE_MAX_ANISOTROPY);
const TextureFilteringMode tex_filter_mode =
Config::Get(Config::GFX_ENHANCE_FORCE_TEXTURE_FILTERING);
m_aa_combo->clear();
- for (const auto& option : VideoUtils::GetAvailableAntialiasingModes(m_msaa_modes))
- m_aa_combo->addItem(option == "None" ? tr("None") : QString::fromStdString(option));
- m_aa_combo->setCurrentText(
- QString::fromStdString(std::to_string(aa_selection) + "x " + (ssaa ? "SSAA" : "MSAA")));
+ for (const u32 aa_mode : g_Config.backend_info.AAModes)
+ {
+ if (aa_mode == 1)
+ m_aa_combo->addItem(tr("None"), 1);
+ else
+ m_aa_combo->addItem(tr("%1x MSAA").arg(aa_mode), static_cast(aa_mode));
+
+ if (aa_mode == aa_selection && !ssaa)
+ m_aa_combo->setCurrentIndex(m_aa_combo->count() - 1);
+ }
+ if (g_Config.backend_info.bSupportsSSAA)
+ {
+ for (const u32 aa_mode : g_Config.backend_info.AAModes)
+ {
+ if (aa_mode != 1) // don't show "None" twice
+ {
+ // Mark SSAA using negative values in the variant
+ m_aa_combo->addItem(tr("%1x SSAA").arg(aa_mode), -static_cast(aa_mode));
+ if (aa_mode == aa_selection && ssaa)
+ m_aa_combo->setCurrentIndex(m_aa_combo->count() - 1);
+ }
+ }
+ }
+
m_aa_combo->setEnabled(m_aa_combo->count() > 1);
switch (tex_filter_mode)
@@ -310,22 +328,10 @@ void EnhancementsWidget::SaveSettings()
if (m_block_save)
return;
- bool is_ssaa = m_aa_combo->currentText().endsWith(QStringLiteral("SSAA"));
-
- int aa_value = m_aa_combo->currentIndex();
-
- if (aa_value == 0)
- {
- aa_value = 1;
- }
- else
- {
- if (aa_value > m_msaa_modes)
- aa_value -= m_msaa_modes;
- aa_value = std::pow(2, aa_value);
- }
- Config::SetBaseOrCurrent(Config::GFX_MSAA, static_cast(aa_value));
+ const u32 aa_value = static_cast(std::abs(m_aa_combo->currentData().toInt()));
+ const bool is_ssaa = m_aa_combo->currentData().toInt() < 0;
+ Config::SetBaseOrCurrent(Config::GFX_MSAA, aa_value);
Config::SetBaseOrCurrent(Config::GFX_SSAA, is_ssaa);
const int texture_filtering_selection = m_texture_filtering_combo->currentData().toInt();
diff --git a/Source/Core/UICommon/CMakeLists.txt b/Source/Core/UICommon/CMakeLists.txt
index f2ffbd0821..947aeae346 100644
--- a/Source/Core/UICommon/CMakeLists.txt
+++ b/Source/Core/UICommon/CMakeLists.txt
@@ -23,8 +23,6 @@ add_library(uicommon
UICommon.h
USBUtils.cpp
USBUtils.h
- VideoUtils.cpp
- VideoUtils.h
)
target_link_libraries(uicommon
diff --git a/Source/Core/UICommon/VideoUtils.cpp b/Source/Core/UICommon/VideoUtils.cpp
deleted file mode 100644
index 17947e81b2..0000000000
--- a/Source/Core/UICommon/VideoUtils.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2017 Dolphin Emulator Project
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include "UICommon/VideoUtils.h"
-
-#include "Common/Assert.h"
-#include "VideoCommon/VideoConfig.h"
-
-namespace VideoUtils
-{
-std::vector GetAvailableAntialiasingModes(int& msaa_modes)
-{
- std::vector modes;
- const auto& aa_modes = g_Config.backend_info.AAModes;
- const bool supports_ssaa = g_Config.backend_info.bSupportsSSAA;
- msaa_modes = 0;
-
- for (const auto mode : aa_modes)
- {
- if (mode == 1)
- {
- modes.push_back("None");
- ASSERT_MSG(VIDEO, !supports_ssaa || msaa_modes == 0, "SSAA setting won't work correctly");
- }
- else
- {
- modes.push_back(std::to_string(mode) + "x MSAA");
- msaa_modes++;
- }
- }
-
- if (supports_ssaa)
- {
- for (const auto mode : aa_modes)
- {
- if (mode != 1)
- modes.push_back(std::to_string(mode) + "x SSAA");
- }
- }
-
- return modes;
-}
-} // namespace VideoUtils
diff --git a/Source/Core/UICommon/VideoUtils.h b/Source/Core/UICommon/VideoUtils.h
deleted file mode 100644
index 492813adab..0000000000
--- a/Source/Core/UICommon/VideoUtils.h
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2017 Dolphin Emulator Project
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#include
-#include
-
-namespace VideoUtils
-{
-std::vector GetAvailableAntialiasingModes(int& m_msaa_modes);
-} // namespace VideoUtils