feat: Improve FSR2 UI with dropdown quality mode and conditional FSR sharpness

- Convert FSR2 quality mode from number input to dropdown with 4 options
- Disable and grey out FSR sharpness slider when FSR2 is selected
- Add proper enum-based settings for FSR2 quality modes
- Update both Vulkan and OpenGL FSR2 implementations
- Connect UI state changes automatically

Provides better UX by using appropriate controls and preventing confusion
between FSR 1.0 and FSR 2.0 sharpening options.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
Zephyron
2025-07-29 15:49:05 +10:00
parent 3b8da3d80a
commit 568999fd59
7 changed files with 93 additions and 41 deletions

View File

@@ -348,15 +348,15 @@ struct Values {
true,
true};
SwitchableSetting<int, true> fsr2_quality_mode{linkage,
2, // Performance by default
0, // Quality
3, // Ultra Performance
"fsr2_quality_mode",
Category::Renderer,
Specialization::Default,
true,
true};
SwitchableSetting<FSR2QualityMode, true> fsr2_quality_mode{linkage,
FSR2QualityMode::Performance, // Performance by default
FSR2QualityMode::Quality,
FSR2QualityMode::UltraPerformance,
"fsr2_quality_mode",
Category::Renderer,
Specialization::Default,
true,
true};
SwitchableSetting<u8, false> bg_red{
linkage, 0, "bg_red", Category::Renderer, Specialization::Default, true, true};