diff options
| author | 2023-06-20 23:29:07 -0400 | |
|---|---|---|
| committer | 2023-07-21 10:56:55 -0400 | |
| commit | 8366736b67d6febe278b6599badf4e945599bc30 (patch) | |
| tree | ae24dd924e96dcb771506b26a124111c7ae4b1c5 /src | |
| parent | settings_enums: More aggressively use macros (diff) | |
| download | yuzu-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.h | 4 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/renderer_opengl.cpp | 2 | ||||
| -rw-r--r-- | src/yuzu/main.cpp | 11 |
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); | |||
| 122 | ENUM(ResolutionSetup, Res1_2X, Res3_4X, Res1X, Res3_2X, Res2X, Res3X, Res4X, Res5X, Res6X, Res7X, | 122 | ENUM(ResolutionSetup, Res1_2X, Res3_4X, Res1X, Res3_2X, Res2X, Res3X, Res4X, Res5X, Res6X, Res7X, |
| 123 | Res8X); | 123 | Res8X); |
| 124 | 124 | ||
| 125 | ENUM(ScalingFilter, NearestNeighbor, Bilinear, Bicubic, Gaussian, ScaleForce, Fsr, LastFilter); | 125 | ENUM(ScalingFilter, NearestNeighbor, Bilinear, Bicubic, Gaussian, ScaleForce, Fsr, MaxEnum); |
| 126 | 126 | ||
| 127 | ENUM(AntiAliasing, None, Fxaa, Smaa, LastAA); | 127 | ENUM(AntiAliasing, None, Fxaa, Smaa, MaxEnum); |
| 128 | 128 | ||
| 129 | ENUM(AspectRatio, R16_9, R4_3, R21_9, R16_10, Stretch); | 129 | ENUM(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 | ||
| 3703 | void GMainWindow::OnToggleAdaptingFilter() { | 3703 | void 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); |