summaryrefslogtreecommitdiff
path: root/src/android
diff options
context:
space:
mode:
authorGravatar bunnei2023-04-16 01:05:28 -0700
committerGravatar bunnei2023-06-03 00:05:50 -0700
commitd2e55558dfe2b04eab5073b54e932c34bd1e9064 (patch)
tree64086267ef2666a123c5316eccbe6626052a93de /src/android
parentandroid: video_core: Add support for disk shader cache. (#64) (diff)
downloadyuzu-d2e55558dfe2b04eab5073b54e932c34bd1e9064.tar.gz
yuzu-d2e55558dfe2b04eab5073b54e932c34bd1e9064.tar.xz
yuzu-d2e55558dfe2b04eab5073b54e932c34bd1e9064.zip
android: settings: Add scaling filter & anti-aliasing options. (#66)
Diffstat (limited to 'src/android')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt28
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/utils/SettingsFile.kt2
-rw-r--r--src/android/app/src/main/res/values/arrays.xml30
-rw-r--r--src/android/app/src/main/res/values/strings.xml15
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>