diff --git a/include/ui/game_screen.hpp b/include/ui/game_screen.hpp index 172ea7c1..2bfb64dc 100644 --- a/include/ui/game_screen.hpp +++ b/include/ui/game_screen.hpp @@ -118,7 +118,7 @@ private: int pendingPOMQuality = 1; // 0=Low(16), 1=Medium(32), 2=High(64) bool pendingFSR = false; int pendingUpscalingMode = 0; // 0=Off, 1=FSR1, 2=FSR2 - int pendingFSRQuality = 0; // 0=UltraQuality, 1=Quality, 2=Balanced, 3=Performance + int pendingFSRQuality = 0; // 0=UltraQuality, 1=Quality, 2=Balanced, 3=Native(100%) float pendingFSRSharpness = 0.5f; float pendingFSR2JitterSign = 0.40f; float pendingFSR2MotionVecScaleX = 1.0f; diff --git a/src/ui/game_screen.cpp b/src/ui/game_screen.cpp index 673a416f..b444777b 100644 --- a/src/ui/game_screen.cpp +++ b/src/ui/game_screen.cpp @@ -321,7 +321,8 @@ void GameScreen::render(game::GameHandler& gameHandler) { if (!fsrSettingsApplied_) { auto* renderer = core::Application::getInstance().getRenderer(); if (renderer) { - static const float fsrScales[] = { 0.77f, 0.67f, 0.59f, 0.50f }; + static const float fsrScales[] = { 0.77f, 0.67f, 0.59f, 1.00f }; + pendingFSRQuality = std::clamp(pendingFSRQuality, 0, 3); renderer->setFSRQuality(fsrScales[pendingFSRQuality]); renderer->setFSRSharpness(pendingFSRSharpness); renderer->setFSR2DebugTuning(pendingFSR2JitterSign, pendingFSR2MotionVecScaleX, pendingFSR2MotionVecScaleY); @@ -6336,8 +6337,9 @@ void GameScreen::renderSettingsWindow() { ImGui::TextDisabled("FSR2 backend: %s", renderer->isAmdFsr2SdkAvailable() ? "AMD FidelityFX SDK" : "Internal fallback"); } - const char* fsrQualityLabels[] = { "Ultra Quality (77%)", "Quality (67%)", "Balanced (59%)", "Performance (50%)" }; - static const float fsrScaleFactors[] = { 0.77f, 0.67f, 0.59f, 0.50f }; + const char* fsrQualityLabels[] = { "Ultra Quality (77%)", "Quality (67%)", "Balanced (59%)", "Native (100%)" }; + static const float fsrScaleFactors[] = { 0.77f, 0.67f, 0.59f, 1.00f }; + pendingFSRQuality = std::clamp(pendingFSRQuality, 0, 3); if (ImGui::Combo("FSR Quality", &pendingFSRQuality, fsrQualityLabels, 4)) { if (renderer) renderer->setFSRQuality(fsrScaleFactors[pendingFSRQuality]); saveSettings();