diff options
| author | 2023-04-16 01:05:28 -0700 | |
|---|---|---|
| committer | 2023-06-03 00:05:50 -0700 | |
| commit | d2e55558dfe2b04eab5073b54e932c34bd1e9064 (patch) | |
| tree | 64086267ef2666a123c5316eccbe6626052a93de /src/android | |
| parent | android: video_core: Add support for disk shader cache. (#64) (diff) | |
| download | yuzu-d2e55558dfe2b04eab5073b54e932c34bd1e9064.tar.gz yuzu-d2e55558dfe2b04eab5073b54e932c34bd1e9064.tar.xz yuzu-d2e55558dfe2b04eab5073b54e932c34bd1e9064.zip | |
android: settings: Add scaling filter & anti-aliasing options. (#66)
Diffstat (limited to 'src/android')
4 files changed, 75 insertions, 0 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt index a137d1c3a..aeb262ce6 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt | |||
| @@ -194,6 +194,10 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) | |||
| 194 | val rendererBackend = rendererSection!!.getSetting(SettingsFile.KEY_RENDERER_BACKEND) | 194 | val rendererBackend = rendererSection!!.getSetting(SettingsFile.KEY_RENDERER_BACKEND) |
| 195 | val rendererAccuracy = rendererSection.getSetting(SettingsFile.KEY_RENDERER_ACCURACY) | 195 | val rendererAccuracy = rendererSection.getSetting(SettingsFile.KEY_RENDERER_ACCURACY) |
| 196 | val rendererResolution = rendererSection.getSetting(SettingsFile.KEY_RENDERER_RESOLUTION) | 196 | val rendererResolution = rendererSection.getSetting(SettingsFile.KEY_RENDERER_RESOLUTION) |
| 197 | val rendererScalingFilter = | ||
| 198 | rendererSection.getSetting(SettingsFile.KEY_RENDERER_SCALING_FILTER) | ||
| 199 | val rendererAntiAliasing = | ||
| 200 | rendererSection.getSetting(SettingsFile.KEY_RENDERER_ANTI_ALIASING) | ||
| 197 | val rendererAspectRatio = | 201 | val rendererAspectRatio = |
| 198 | rendererSection.getSetting(SettingsFile.KEY_RENDERER_ASPECT_RATIO) | 202 | rendererSection.getSetting(SettingsFile.KEY_RENDERER_ASPECT_RATIO) |
| 199 | val rendererUseDiskShaderCache = | 203 | val rendererUseDiskShaderCache = |
| @@ -242,6 +246,30 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView) | |||
| 242 | ) | 246 | ) |
| 243 | add( | 247 | add( |
| 244 | SingleChoiceSetting( | 248 | SingleChoiceSetting( |
| 249 | SettingsFile.KEY_RENDERER_SCALING_FILTER, | ||
| 250 | Settings.SECTION_RENDERER, | ||
| 251 | rendererScalingFilter, | ||
| 252 | R.string.renderer_scaling_filter, | ||
| 253 | 0, | ||
| 254 | R.array.rendererScalingFilterNames, | ||
| 255 | R.array.rendererScalingFilterValues, | ||
| 256 | 1 | ||
| 257 | ) | ||
| 258 | ) | ||
| 259 | add( | ||
| 260 | SingleChoiceSetting( | ||
| 261 | SettingsFile.KEY_RENDERER_ANTI_ALIASING, | ||
| 262 | Settings.SECTION_RENDERER, | ||
| 263 | rendererAntiAliasing, | ||
| 264 | R.string.renderer_anti_aliasing, | ||
| 265 | 0, | ||
| 266 | R.array.rendererAntiAliasingNames, | ||
| 267 | R.array.rendererAntiAliasingValues, | ||
| 268 | 0 | ||
| 269 | ) | ||
| 270 | ) | ||
| 271 | add( | ||
| 272 | SingleChoiceSetting( | ||
| 245 | SettingsFile.KEY_RENDERER_ASPECT_RATIO, | 273 | SettingsFile.KEY_RENDERER_ASPECT_RATIO, |
| 246 | Settings.SECTION_RENDERER, | 274 | Settings.SECTION_RENDERER, |
| 247 | rendererAspectRatio, | 275 | rendererAspectRatio, |
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/utils/SettingsFile.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/utils/SettingsFile.kt index c518d9ba0..493d90954 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/utils/SettingsFile.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/utils/SettingsFile.kt | |||
| @@ -34,6 +34,8 @@ object SettingsFile { | |||
| 34 | 34 | ||
| 35 | // Renderer | 35 | // Renderer |
| 36 | const val KEY_RENDERER_RESOLUTION = "resolution_setup" | 36 | const val KEY_RENDERER_RESOLUTION = "resolution_setup" |
| 37 | const val KEY_RENDERER_SCALING_FILTER = "scaling_filter" | ||
| 38 | const val KEY_RENDERER_ANTI_ALIASING = "anti_aliasing" | ||
| 37 | const val KEY_RENDERER_ASPECT_RATIO = "aspect_ratio" | 39 | const val KEY_RENDERER_ASPECT_RATIO = "aspect_ratio" |
| 38 | const val KEY_RENDERER_ACCURACY = "gpu_accuracy" | 40 | const val KEY_RENDERER_ACCURACY = "gpu_accuracy" |
| 39 | const val KEY_RENDERER_USE_DISK_SHADER_CACHE = "use_disk_shader_cache" | 41 | const val KEY_RENDERER_USE_DISK_SHADER_CACHE = "use_disk_shader_cache" |
diff --git a/src/android/app/src/main/res/values/arrays.xml b/src/android/app/src/main/res/values/arrays.xml index 6d909ddae..628d43197 100644 --- a/src/android/app/src/main/res/values/arrays.xml +++ b/src/android/app/src/main/res/values/arrays.xml | |||
| @@ -121,6 +121,36 @@ | |||
| 121 | <item>4</item> | 121 | <item>4</item> |
| 122 | </integer-array> | 122 | </integer-array> |
| 123 | 123 | ||
| 124 | <string-array name="rendererScalingFilterNames"> | ||
| 125 | <item>@string/scaling_filter_nearest_neighbor</item> | ||
| 126 | <item>@string/scaling_filter_bilinear</item> | ||
| 127 | <item>@string/scaling_filter_bicubic</item> | ||
| 128 | <item>@string/scaling_filter_gaussian</item> | ||
| 129 | <item>@string/scaling_filter_scale_force</item> | ||
| 130 | <item>@string/scaling_filter_fsr</item> | ||
| 131 | </string-array> | ||
| 132 | |||
| 133 | <integer-array name="rendererScalingFilterValues"> | ||
| 134 | <item>0</item> | ||
| 135 | <item>1</item> | ||
| 136 | <item>2</item> | ||
| 137 | <item>3</item> | ||
| 138 | <item>4</item> | ||
| 139 | <item>5</item> | ||
| 140 | </integer-array> | ||
| 141 | |||
| 142 | <string-array name="rendererAntiAliasingNames"> | ||
| 143 | <item>@string/anti_aliasing_none</item> | ||
| 144 | <item>@string/anti_aliasing_fxaa</item> | ||
| 145 | <item>@string/anti_aliasing_smaa</item> | ||
| 146 | </string-array> | ||
| 147 | |||
| 148 | <integer-array name="rendererAntiAliasingValues"> | ||
| 149 | <item>0</item> | ||
| 150 | <item>1</item> | ||
| 151 | <item>2</item> | ||
| 152 | </integer-array> | ||
| 153 | |||
| 124 | <string-array name="cpuAccuracyNames"> | 154 | <string-array name="cpuAccuracyNames"> |
| 125 | <item>@string/cpu_accuracy_auto</item> | 155 | <item>@string/cpu_accuracy_auto</item> |
| 126 | <item>@string/cpu_accuracy_accurate</item> | 156 | <item>@string/cpu_accuracy_accurate</item> |
diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index 45a9694d4..75d1f2293 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml | |||
| @@ -29,6 +29,8 @@ | |||
| 29 | <string name="renderer_accuracy">Accuracy level</string> | 29 | <string name="renderer_accuracy">Accuracy level</string> |
| 30 | <string name="renderer_resolution">Resolution</string> | 30 | <string name="renderer_resolution">Resolution</string> |
| 31 | <string name="renderer_aspect_ratio">Aspect Ratio</string> | 31 | <string name="renderer_aspect_ratio">Aspect Ratio</string> |
| 32 | <string name="renderer_scaling_filter">Window Adapting Filter</string> | ||
| 33 | <string name="renderer_anti_aliasing">Anti-Aliasing Method</string> | ||
| 32 | <string name="renderer_force_max_clock">Force maximum clocks (Adreno only)</string> | 34 | <string name="renderer_force_max_clock">Force maximum clocks (Adreno only)</string> |
| 33 | <string name="renderer_force_max_clock_description">Forces the GPU to run at the maximum possible clocks (thermal constraints will still be applied).</string> | 35 | <string name="renderer_force_max_clock_description">Forces the GPU to run at the maximum possible clocks (thermal constraints will still be applied).</string> |
| 34 | <string name="renderer_asynchronous_shaders">Use asynchronous shaders</string> | 36 | <string name="renderer_asynchronous_shaders">Use asynchronous shaders</string> |
| @@ -166,6 +168,19 @@ | |||
| 166 | <string name="resolution_three">3X (2160p/3240p) (Slow)</string> | 168 | <string name="resolution_three">3X (2160p/3240p) (Slow)</string> |
| 167 | <string name="resolution_four">4X (2880p/4320p) (Slow)</string> | 169 | <string name="resolution_four">4X (2880p/4320p) (Slow)</string> |
| 168 | 170 | ||
| 171 | <!-- Scaling Filters --> | ||
| 172 | <string name="scaling_filter_nearest_neighbor">Nearest Neighbor</string> | ||
| 173 | <string name="scaling_filter_bilinear">Bilinear</string> | ||
| 174 | <string name="scaling_filter_bicubic">Bicubic</string> | ||
| 175 | <string name="scaling_filter_gaussian">Gaussian</string> | ||
| 176 | <string name="scaling_filter_scale_force">ScaleForce</string> | ||
| 177 | <string name="scaling_filter_fsr">AMD FidelityFX™ Super Resolution</string> | ||
| 178 | |||
| 179 | <!-- Anti-Aliasing --> | ||
| 180 | <string name="anti_aliasing_none">None</string> | ||
| 181 | <string name="anti_aliasing_fxaa">FXAA</string> | ||
| 182 | <string name="anti_aliasing_smaa">SMAA</string> | ||
| 183 | |||
| 169 | <!-- Aspect Ratios --> | 184 | <!-- Aspect Ratios --> |
| 170 | <string name="ratio_default">Default (16:9)</string> | 185 | <string name="ratio_default">Default (16:9)</string> |
| 171 | <string name="ratio_force_four_three">Force 4:3</string> | 186 | <string name="ratio_force_four_three">Force 4:3</string> |