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...
This commit is contained in:
		| @@ -122,9 +122,9 @@ ENUM(NvdecEmulation, Off, Cpu, Gpu); | ||||
| ENUM(ResolutionSetup, Res1_2X, Res3_4X, Res1X, Res3_2X, Res2X, Res3X, Res4X, Res5X, Res6X, Res7X, | ||||
|      Res8X); | ||||
|  | ||||
| ENUM(ScalingFilter, NearestNeighbor, Bilinear, Bicubic, Gaussian, ScaleForce, Fsr, LastFilter); | ||||
| ENUM(ScalingFilter, NearestNeighbor, Bilinear, Bicubic, Gaussian, ScaleForce, Fsr, MaxEnum); | ||||
|  | ||||
| ENUM(AntiAliasing, None, Fxaa, Smaa, LastAA); | ||||
| ENUM(AntiAliasing, None, Fxaa, Smaa, MaxEnum); | ||||
|  | ||||
| ENUM(AspectRatio, R16_9, R4_3, R21_9, R16_10, Stretch); | ||||
|  | ||||
|   | ||||
| @@ -473,7 +473,7 @@ void RendererOpenGL::DrawScreen(const Layout::FramebufferLayout& layout) { | ||||
|     glBindTextureUnit(0, screen_info.display_texture); | ||||
|  | ||||
|     auto anti_aliasing = Settings::values.anti_aliasing.GetValue(); | ||||
|     if (anti_aliasing > Settings::AntiAliasing::LastAA) { | ||||
|     if (anti_aliasing >= Settings::AntiAliasing::MaxEnum) { | ||||
|         LOG_ERROR(Render_OpenGL, "Invalid antialiasing option selected {}", anti_aliasing); | ||||
|         anti_aliasing = Settings::AntiAliasing::None; | ||||
|         Settings::values.anti_aliasing.SetValue(anti_aliasing); | ||||
|   | ||||
| @@ -24,6 +24,7 @@ | ||||
| #include "applets/qt_software_keyboard.h" | ||||
| #include "applets/qt_web_browser.h" | ||||
| #include "common/nvidia_flags.h" | ||||
| #include "common/settings_enums.h" | ||||
| #include "configuration/configure_input.h" | ||||
| #include "configuration/configure_per_game.h" | ||||
| #include "configuration/configure_tas.h" | ||||
| @@ -1095,10 +1096,9 @@ void GMainWindow::InitializeWidgets() { | ||||
|     aa_status_button->setFocusPolicy(Qt::NoFocus); | ||||
|     connect(aa_status_button, &QPushButton::clicked, [&] { | ||||
|         auto aa_mode = Settings::values.anti_aliasing.GetValue(); | ||||
|         if (aa_mode == Settings::AntiAliasing::LastAA) { | ||||
|             aa_mode = Settings::AntiAliasing::None; | ||||
|         } else { | ||||
|         aa_mode = static_cast<Settings::AntiAliasing>(static_cast<u32>(aa_mode) + 1); | ||||
|         if (aa_mode == Settings::AntiAliasing::MaxEnum) { | ||||
|             aa_mode = Settings::AntiAliasing::None; | ||||
|         } | ||||
|         Settings::values.anti_aliasing.SetValue(aa_mode); | ||||
|         aa_status_button->setChecked(true); | ||||
| @@ -3702,10 +3702,9 @@ void GMainWindow::OnIncreaseVolume() { | ||||
|  | ||||
| void GMainWindow::OnToggleAdaptingFilter() { | ||||
|     auto filter = Settings::values.scaling_filter.GetValue(); | ||||
|     if (filter == Settings::ScalingFilter::LastFilter) { | ||||
|         filter = Settings::ScalingFilter::NearestNeighbor; | ||||
|     } else { | ||||
|     filter = static_cast<Settings::ScalingFilter>(static_cast<u32>(filter) + 1); | ||||
|     if (filter == Settings::ScalingFilter::MaxEnum) { | ||||
|         filter = Settings::ScalingFilter::NearestNeighbor; | ||||
|     } | ||||
|     Settings::values.scaling_filter.SetValue(filter); | ||||
|     filter_status_button->setChecked(true); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 lat9nq
					lat9nq