mirror of
https://git.eden-emu.dev/archive/citron
synced 2026-03-31 08:28:28 -04:00
feat: Add FSR 2.0 scaling filter option
- Add FSR2 to ScalingFilter enum alongside existing FSR - Implement FSR2 classes for both Vulkan and OpenGL renderers - Add fsr2_quality_mode setting with 4 quality levels (Quality, Balanced, Performance, Ultra Performance) - Integrate FSR2 into present pipeline for both renderers - Add UI support for FSR2 option in scaling filter dropdown - Add FSR2 quality mode setting with dropdown selection - Update translations and Android strings for new options - Default to Performance mode for optimal balance This provides users with FSR 2.0 as a scaling option, offering different quality/performance characteristics compared to FSR 1.0. The implementation uses quality-based sharpening values and integrates seamlessly with the existing rendering pipeline. Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
@@ -28,6 +28,7 @@ enum class IntSetting(override val key: String) : AbstractIntSetting {
|
||||
LOCK_DRAWER("lock_drawer"),
|
||||
VERTICAL_ALIGNMENT("vertical_alignment"),
|
||||
FSR_SHARPENING_SLIDER("fsr_sharpening_slider"),
|
||||
FSR2_QUALITY_MODE("fsr2_quality_mode"),
|
||||
|
||||
// Zep Zone settings
|
||||
MEMORY_LAYOUT_MODE("memory_layout_mode"),
|
||||
|
||||
@@ -245,6 +245,15 @@ abstract class SettingsItem(
|
||||
units = "%"
|
||||
)
|
||||
)
|
||||
put(
|
||||
SingleChoiceSetting(
|
||||
IntSetting.FSR2_QUALITY_MODE,
|
||||
titleId = R.string.fsr2_quality_mode,
|
||||
descriptionId = R.string.fsr2_quality_mode_description,
|
||||
choicesId = R.array.fsr2QualityModeNames,
|
||||
valuesId = R.array.fsr2QualityModeValues
|
||||
)
|
||||
)
|
||||
put(
|
||||
SingleChoiceSetting(
|
||||
IntSetting.RENDERER_ANTI_ALIASING,
|
||||
|
||||
@@ -182,6 +182,7 @@ class SettingsFragmentPresenter(
|
||||
add(IntSetting.RENDERER_VSYNC.key)
|
||||
add(IntSetting.RENDERER_SCALING_FILTER.key)
|
||||
add(IntSetting.FSR_SHARPENING_SLIDER.key)
|
||||
add(IntSetting.FSR2_QUALITY_MODE.key)
|
||||
add(IntSetting.RENDERER_ANTI_ALIASING.key)
|
||||
add(IntSetting.MAX_ANISOTROPY.key)
|
||||
add(IntSetting.RENDERER_SCREEN_LAYOUT.key)
|
||||
|
||||
@@ -228,6 +228,12 @@
|
||||
<string name="renderer_scaling_filter">Filtre de fenêtre adaptatif</string>
|
||||
<string name="fsr_sharpness">Netteté FSR</string>
|
||||
<string name="fsr_sharpness_description">Détermine à quel point l\'image sera affinée lors de l\'utilisation du contraste dynamique FSR.</string>
|
||||
<string name="fsr2_quality_mode">Mode qualité FSR 2.0</string>
|
||||
<string name="fsr2_quality_mode_description">Sélectionne le mode qualité pour l\'upscaling FSR 2.0. Qualité offre une meilleure qualité d\'image, Performance offre de meilleures performances.</string>
|
||||
<string name="fsr2_quality_quality">Qualité</string>
|
||||
<string name="fsr2_quality_balanced">Équilibré</string>
|
||||
<string name="fsr2_quality_performance">Performance</string>
|
||||
<string name="fsr2_quality_ultra_performance">Performance Ultra</string>
|
||||
<string name="renderer_anti_aliasing">Méthode d\'anticrénelage</string>
|
||||
<string name="renderer_force_max_clock">Forcer les fréquences maximales (Adreno uniquement)</string>
|
||||
<string name="renderer_force_max_clock_description">Forcer le GPU à fonctionner à ses fréquences maximales possibles (les contraintes thermiques seront toujours appliquées).</string>
|
||||
@@ -558,6 +564,7 @@
|
||||
<string name="scaling_filter_gaussian">Gaussien</string>
|
||||
<string name="scaling_filter_scale_force">ScaleForce</string>
|
||||
<string name="scaling_filter_fsr">AMD FidelityFX™ Super Resolution</string>
|
||||
<string name="scaling_filter_fsr2">AMD FidelityFX™ Super Resolution 2.0</string>
|
||||
|
||||
<!-- Anti-Aliasing -->
|
||||
<string name="anti_aliasing_none">Aucune</string>
|
||||
|
||||
@@ -160,6 +160,7 @@
|
||||
<item>@string/scaling_filter_gaussian</item>
|
||||
<item>@string/scaling_filter_scale_force</item>
|
||||
<item>@string/scaling_filter_fsr</item>
|
||||
<item>@string/scaling_filter_fsr2</item>
|
||||
</string-array>
|
||||
|
||||
<integer-array name="rendererScalingFilterValues">
|
||||
@@ -169,6 +170,21 @@
|
||||
<item>3</item>
|
||||
<item>4</item>
|
||||
<item>5</item>
|
||||
<item>6</item>
|
||||
</integer-array>
|
||||
|
||||
<string-array name="fsr2QualityModeNames">
|
||||
<item>@string/fsr2_quality_quality</item>
|
||||
<item>@string/fsr2_quality_balanced</item>
|
||||
<item>@string/fsr2_quality_performance</item>
|
||||
<item>@string/fsr2_quality_ultra_performance</item>
|
||||
</string-array>
|
||||
|
||||
<integer-array name="fsr2QualityModeValues">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
<item>3</item>
|
||||
</integer-array>
|
||||
|
||||
<string-array name="rendererAntiAliasingNames">
|
||||
|
||||
@@ -229,6 +229,12 @@
|
||||
<string name="renderer_scaling_filter">Window adapting filter</string>
|
||||
<string name="fsr_sharpness">FSR sharpness</string>
|
||||
<string name="fsr_sharpness_description">Determines how sharpened the image will look while using FSR\'s dynamic contrast</string>
|
||||
<string name="fsr2_quality_mode">FSR 2.0 Quality Mode</string>
|
||||
<string name="fsr2_quality_mode_description">Selects the quality mode for FSR 2.0 upscaling. Quality provides better image quality, Performance provides better performance.</string>
|
||||
<string name="fsr2_quality_quality">Quality</string>
|
||||
<string name="fsr2_quality_balanced">Balanced</string>
|
||||
<string name="fsr2_quality_performance">Performance</string>
|
||||
<string name="fsr2_quality_ultra_performance">Ultra Performance</string>
|
||||
<string name="renderer_anti_aliasing">Anti-aliasing method</string>
|
||||
<string name="renderer_force_max_clock">Force maximum clocks (Adreno only)</string>
|
||||
<string name="renderer_force_max_clock_description">Forces the GPU to run at the maximum possible clocks (thermal constraints will still be applied).</string>
|
||||
@@ -587,6 +593,7 @@
|
||||
<string name="scaling_filter_gaussian">Gaussian</string>
|
||||
<string name="scaling_filter_scale_force">ScaleForce</string>
|
||||
<string name="scaling_filter_fsr">AMD FidelityFX™ Super Resolution</string>
|
||||
<string name="scaling_filter_fsr2">AMD FidelityFX™ Super Resolution 2.0</string>
|
||||
|
||||
<!-- Anti-Aliasing -->
|
||||
<string name="anti_aliasing_none">None</string>
|
||||
|
||||
Reference in New Issue
Block a user