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:
parent
7ffbffe170
commit
8366736b67
@ -122,9 +122,9 @@ ENUM(NvdecEmulation, Off, Cpu, Gpu);
|
|||||||
ENUM(ResolutionSetup, Res1_2X, Res3_4X, Res1X, Res3_2X, Res2X, Res3X, Res4X, Res5X, Res6X, Res7X,
|
ENUM(ResolutionSetup, Res1_2X, Res3_4X, Res1X, Res3_2X, Res2X, Res3X, Res4X, Res5X, Res6X, Res7X,
|
||||||
Res8X);
|
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);
|
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);
|
glBindTextureUnit(0, screen_info.display_texture);
|
||||||
|
|
||||||
auto anti_aliasing = Settings::values.anti_aliasing.GetValue();
|
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);
|
LOG_ERROR(Render_OpenGL, "Invalid antialiasing option selected {}", anti_aliasing);
|
||||||
anti_aliasing = Settings::AntiAliasing::None;
|
anti_aliasing = Settings::AntiAliasing::None;
|
||||||
Settings::values.anti_aliasing.SetValue(anti_aliasing);
|
Settings::values.anti_aliasing.SetValue(anti_aliasing);
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#include "applets/qt_software_keyboard.h"
|
#include "applets/qt_software_keyboard.h"
|
||||||
#include "applets/qt_web_browser.h"
|
#include "applets/qt_web_browser.h"
|
||||||
#include "common/nvidia_flags.h"
|
#include "common/nvidia_flags.h"
|
||||||
|
#include "common/settings_enums.h"
|
||||||
#include "configuration/configure_input.h"
|
#include "configuration/configure_input.h"
|
||||||
#include "configuration/configure_per_game.h"
|
#include "configuration/configure_per_game.h"
|
||||||
#include "configuration/configure_tas.h"
|
#include "configuration/configure_tas.h"
|
||||||
@ -1095,10 +1096,9 @@ void GMainWindow::InitializeWidgets() {
|
|||||||
aa_status_button->setFocusPolicy(Qt::NoFocus);
|
aa_status_button->setFocusPolicy(Qt::NoFocus);
|
||||||
connect(aa_status_button, &QPushButton::clicked, [&] {
|
connect(aa_status_button, &QPushButton::clicked, [&] {
|
||||||
auto aa_mode = Settings::values.anti_aliasing.GetValue();
|
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);
|
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);
|
Settings::values.anti_aliasing.SetValue(aa_mode);
|
||||||
aa_status_button->setChecked(true);
|
aa_status_button->setChecked(true);
|
||||||
@ -3702,10 +3702,9 @@ void GMainWindow::OnIncreaseVolume() {
|
|||||||
|
|
||||||
void GMainWindow::OnToggleAdaptingFilter() {
|
void GMainWindow::OnToggleAdaptingFilter() {
|
||||||
auto filter = Settings::values.scaling_filter.GetValue();
|
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);
|
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);
|
Settings::values.scaling_filter.SetValue(filter);
|
||||||
filter_status_button->setChecked(true);
|
filter_status_button->setChecked(true);
|
||||||
|
Loading…
Reference in New Issue
Block a user