From 742b7195af85738a75ed711aaacd5882003b8b8b Mon Sep 17 00:00:00 2001 From: jpolo1224 Date: Mon, 24 Aug 2026 16:27:31 -0400 Subject: [PATCH] SGSR: name the sharpness slider after the upscaler it is driving The slider is shared, and that is deliberate -- the two upscalers want the same thing from the user and a second control would only let them disagree. But the NUMBER means different things to each: RCAS stops for FSR1, a 0..2 edge-sharpness factor for SGSR. Labelling it "FSR Sharpness" while SGSR is selected says the setting belongs to something that is not running. It now names whichever is selected, in both pickers. --- platforms/android/app/src/main/java/com/armsx2/i18n/I18n.kt | 5 +++++ .../java/com/armsx2/ui/emulation/EmulationMenuScreen.kt | 6 +++++- .../app/src/main/java/com/armsx2/ui/settings/RendererTab.kt | 5 ++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/platforms/android/app/src/main/java/com/armsx2/i18n/I18n.kt b/platforms/android/app/src/main/java/com/armsx2/i18n/I18n.kt index 209cd1f86a..63a390c8b5 100644 --- a/platforms/android/app/src/main/java/com/armsx2/i18n/I18n.kt +++ b/platforms/android/app/src/main/java/com/armsx2/i18n/I18n.kt @@ -1269,6 +1269,11 @@ private val BASE_EN: Map = mapOf( "renderer.fsr1.description" to "AMD FidelityFX Super Resolution 1 — upscales the frame to the screen with edge-adaptive sharpening instead of a plain stretch. Replaces CAS.", "renderer.fsr1.label" to "FSR 1 Upscaling", "renderer.fsr1.sharpness.label" to "FSR Sharpness", + // The slider is shared between the upscalers, but the number means a different thing to + // each -- RCAS stops for FSR1, a 0..2 edge-sharpness factor for SGSR -- so it says which one + // it is currently driving rather than naming whichever came first. + "renderer.sgsr.sharpness.label" to "SGSR Sharpness", + "renderer.sgsr.description" to "Qualcomm Snapdragon Game Super Resolution 1 — a single-pass edge-directed upscale built for mobile GPUs. Cheaper than FSR 1. Replaces CAS.", "renderer.fxaa.description" to "Fast post-process anti-aliasing — smooths jagged edges with a light blur.", "renderer.fxaa.label" to "FXAA", "renderer.deinterlacing.description" to "Changes how interlaced video is displayed. Auto is safest.", diff --git a/platforms/android/app/src/main/java/com/armsx2/ui/emulation/EmulationMenuScreen.kt b/platforms/android/app/src/main/java/com/armsx2/ui/emulation/EmulationMenuScreen.kt index 6c27b64f24..fd605db214 100644 --- a/platforms/android/app/src/main/java/com/armsx2/ui/emulation/EmulationMenuScreen.kt +++ b/platforms/android/app/src/main/java/com/armsx2/ui/emulation/EmulationMenuScreen.kt @@ -878,7 +878,11 @@ private fun GraphicsPane(state: EmulationMenuUiState, viewModel: EmulationMenuVi ) if (fsr1On) { com.armsx2.ui.settings.IntSliderRow( - label = str("renderer.fsr1.sharpness.label"), + label = str( + if (settings.upscaler == com.armsx2.config.Settings.UPSCALER_SGSR) + "renderer.sgsr.sharpness.label" + else "renderer.fsr1.sharpness.label", + ), value = settings.fsrSharpness.coerceIn(0, 100), min = 0, max = 100, diff --git a/platforms/android/app/src/main/java/com/armsx2/ui/settings/RendererTab.kt b/platforms/android/app/src/main/java/com/armsx2/ui/settings/RendererTab.kt index a453c22376..04983fea15 100644 --- a/platforms/android/app/src/main/java/com/armsx2/ui/settings/RendererTab.kt +++ b/platforms/android/app/src/main/java/com/armsx2/ui/settings/RendererTab.kt @@ -417,7 +417,10 @@ fun RendererTab(state: MutableState) { // sharpness, so the number means different things, but it is the same intent and // a second slider would only invite disagreement between them. IntSliderRow( - label = str("renderer.fsr1.sharpness.label"), + label = str( + if (s.upscaler == Settings.UPSCALER_SGSR) "renderer.sgsr.sharpness.label" + else "renderer.fsr1.sharpness.label", + ), value = s.fsrSharpness.coerceIn(0, 100), min = 0, max = 100,