summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar lat9nq2023-06-20 23:29:07 -0400
committerGravatar lat9nq2023-07-21 10:56:55 -0400
commit8366736b67d6febe278b6599badf4e945599bc30 (patch)
treeae24dd924e96dcb771506b26a124111c7ae4b1c5 /src
parentsettings_enums: More aggressively use macros (diff)
downloadyuzu-8366736b67d6febe278b6599badf4e945599bc30.tar.gz
yuzu-8366736b67d6febe278b6599badf4e945599bc30.tar.xz
yuzu-8366736b67d6febe278b6599badf4e945599bc30.zip
settings,opengl,yuzu-qt: Fix AA, Filter maximums
The new enum macros don't support setting values directly. For LastAA and LastFilter, this means we need a simpler approach to loop around the toggle in the frontend...
Diffstat (limited to 'src')
-rw-r--r--src/common/settings_enums.h4
-rw-r--r--src/video_core/renderer_opengl/renderer_opengl.cpp2
-rw-r--r--src/yuzu/main.cpp11
3 files changed, 8 insertions, 9 deletions
diff --git a/src/common/settings_enums.h b/src/common/settings_enums.h
index 71515257a..cc5c929cf 100644
--- a/src/common/settings_enums.h
+++ b/src/common/settings_enums.h
@@ -122,9 +122,9 @@ ENUM(NvdecEmulation, Off, Cpu, Gpu);
122ENUM(ResolutionSetup, Res1_2X, Res3_4X, Res1X, Res3_2X, Res2X, Res3X, Res4X, Res5X, Res6X, Res7X, 122ENUM(ResolutionSetup, Res1_2X, Res3_4X, Res1X, Res3_2X, Res2X, Res3X, Res4X, Res5X, Res6X, Res7X,
123 Res8X); 123 Res8X);
124 124
125ENUM(ScalingFilter, NearestNeighbor, Bilinear, Bicubic, Gaussian, ScaleForce, Fsr, LastFilter); 125ENUM(ScalingFilter, NearestNeighbor, Bilinear, Bicubic, Gaussian, ScaleForce, Fsr, MaxEnum);
126 126
127ENUM(AntiAliasing, None, Fxaa, Smaa, LastAA); 127ENUM(AntiAliasing, None, Fxaa, Smaa, MaxEnum);
128 128
129ENUM(AspectRatio, R16_9, R4_3, R21_9, R16_10, Stretch); 129ENUM(AspectRatio, R16_9, R4_3, R21_9, R16_10, Stretch);
130 130
diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp
index 2a74c1d05..6b8d4e554 100644
--- a/src/video_core/renderer_opengl/renderer_opengl.cpp
+++ b/src/video_core/renderer_opengl/renderer_opengl.cpp
@@ -473,7 +473,7 @@ void RendererOpenGL::DrawScreen(const Layout::FramebufferLayout& layout) {
473 glBindTextureUnit(0, screen_info.display_texture); 473 glBindTextureUnit(0, screen_info.display_texture);
474 474
475 auto anti_aliasing = Settings::values.anti_aliasing.GetValue(); 475 auto anti_aliasing = Settings::values.anti_aliasing.GetValue();
476 if (anti_aliasing > Settings::AntiAliasing::LastAA) { 476 if (anti_aliasing >= Settings::AntiAliasing::MaxEnum) {
477 LOG_ERROR(Render_OpenGL, "Invalid antialiasing option selected {}", anti_aliasing); 477 LOG_ERROR(Render_OpenGL, "Invalid antialiasing option selected {}", anti_aliasing);
478 anti_aliasing = Settings::AntiAliasing::None; 478 anti_aliasing = Settings::AntiAliasing::None;
479 Settings::values.anti_aliasing.SetValue(anti_aliasing); 479 Settings::values.anti_aliasing.SetValue(anti_aliasing);
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 2922b3347..97ae9e49a 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -24,6 +24,7 @@
24#include "applets/qt_software_keyboard.h" 24#include "applets/qt_software_keyboard.h"
25#include "applets/qt_web_browser.h" 25#include "applets/qt_web_browser.h"
26#include "common/nvidia_flags.h" 26#include "common/nvidia_flags.h"
27#include "common/settings_enums.h"
27#include "configuration/configure_input.h" 28#include "configuration/configure_input.h"
28#include "configuration/configure_per_game.h" 29#include "configuration/configure_per_game.h"
29#include "configuration/configure_tas.h" 30#include "configuration/configure_tas.h"
@@ -1095,10 +1096,9 @@ void GMainWindow::InitializeWidgets() {
1095 aa_status_button->setFocusPolicy(Qt::NoFocus); 1096 aa_status_button->setFocusPolicy(Qt::NoFocus);
1096 connect(aa_status_button, &QPushButton::clicked, [&] { 1097 connect(aa_status_button, &QPushButton::clicked, [&] {
1097 auto aa_mode = Settings::values.anti_aliasing.GetValue(); 1098 auto aa_mode = Settings::values.anti_aliasing.GetValue();
1098 if (aa_mode == Settings::AntiAliasing::LastAA) { 1099 aa_mode = static_cast<Settings::AntiAliasing>(static_cast<u32>(aa_mode) + 1);
1100 if (aa_mode == Settings::AntiAliasing::MaxEnum) {
1099 aa_mode = Settings::AntiAliasing::None; 1101 aa_mode = Settings::AntiAliasing::None;
1100 } else {
1101 aa_mode = static_cast<Settings::AntiAliasing>(static_cast<u32>(aa_mode) + 1);
1102 } 1102 }
1103 Settings::values.anti_aliasing.SetValue(aa_mode); 1103 Settings::values.anti_aliasing.SetValue(aa_mode);
1104 aa_status_button->setChecked(true); 1104 aa_status_button->setChecked(true);
@@ -3702,10 +3702,9 @@ void GMainWindow::OnIncreaseVolume() {
3702 3702
3703void GMainWindow::OnToggleAdaptingFilter() { 3703void GMainWindow::OnToggleAdaptingFilter() {
3704 auto filter = Settings::values.scaling_filter.GetValue(); 3704 auto filter = Settings::values.scaling_filter.GetValue();
3705 if (filter == Settings::ScalingFilter::LastFilter) { 3705 filter = static_cast<Settings::ScalingFilter>(static_cast<u32>(filter) + 1);
3706 if (filter == Settings::ScalingFilter::MaxEnum) {
3706 filter = Settings::ScalingFilter::NearestNeighbor; 3707 filter = Settings::ScalingFilter::NearestNeighbor;
3707 } else {
3708 filter = static_cast<Settings::ScalingFilter>(static_cast<u32>(filter) + 1);
3709 } 3708 }
3710 Settings::values.scaling_filter.SetValue(filter); 3709 Settings::values.scaling_filter.SetValue(filter);
3711 filter_status_button->setChecked(true); 3710 filter_status_button->setChecked(true);