diff options
7 files changed, 25 insertions, 2 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.java index c84467c16..b6176e504 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.java | |||
| @@ -159,11 +159,13 @@ public final class SettingsFragmentPresenter { | |||
| 159 | Setting rendererBackend = rendererSection.getSetting(SettingsFile.KEY_RENDERER_BACKEND); | 159 | Setting rendererBackend = rendererSection.getSetting(SettingsFile.KEY_RENDERER_BACKEND); |
| 160 | Setting rendererAccuracy = rendererSection.getSetting(SettingsFile.KEY_RENDERER_ACCURACY); | 160 | Setting rendererAccuracy = rendererSection.getSetting(SettingsFile.KEY_RENDERER_ACCURACY); |
| 161 | Setting rendererReolution = rendererSection.getSetting(SettingsFile.KEY_RENDERER_RESOLUTION); | 161 | Setting rendererReolution = rendererSection.getSetting(SettingsFile.KEY_RENDERER_RESOLUTION); |
| 162 | Setting rendererAspectRation = rendererSection.getSetting(SettingsFile.KEY_RENDERER_ASPECT_RATIO); | ||
| 162 | Setting rendererAsynchronousShaders = rendererSection.getSetting(SettingsFile.KEY_RENDERER_ASYNCHRONOUS_SHADERS); | 163 | Setting rendererAsynchronousShaders = rendererSection.getSetting(SettingsFile.KEY_RENDERER_ASYNCHRONOUS_SHADERS); |
| 163 | 164 | ||
| 164 | sl.add(new SingleChoiceSetting(SettingsFile.KEY_RENDERER_BACKEND, Settings.SECTION_RENDERER, R.string.renderer_api, 0, R.array.rendererApiNames, R.array.rendererApiValues, 0, rendererBackend)); | 165 | sl.add(new SingleChoiceSetting(SettingsFile.KEY_RENDERER_BACKEND, Settings.SECTION_RENDERER, R.string.renderer_api, 0, R.array.rendererApiNames, R.array.rendererApiValues, 0, rendererBackend)); |
| 165 | sl.add(new SingleChoiceSetting(SettingsFile.KEY_RENDERER_ACCURACY, Settings.SECTION_RENDERER, R.string.renderer_accuracy, 0, R.array.rendererAccuracyNames, R.array.rendererAccuracyValues, 1, rendererAccuracy)); | 166 | sl.add(new SingleChoiceSetting(SettingsFile.KEY_RENDERER_ACCURACY, Settings.SECTION_RENDERER, R.string.renderer_accuracy, 0, R.array.rendererAccuracyNames, R.array.rendererAccuracyValues, 1, rendererAccuracy)); |
| 166 | sl.add(new SingleChoiceSetting(SettingsFile.KEY_RENDERER_RESOLUTION, Settings.SECTION_RENDERER, R.string.renderer_resolution, 0, R.array.rendererResolutionNames, R.array.rendererResolutionValues, 2, rendererReolution)); | 167 | sl.add(new SingleChoiceSetting(SettingsFile.KEY_RENDERER_RESOLUTION, Settings.SECTION_RENDERER, R.string.renderer_resolution, 0, R.array.rendererResolutionNames, R.array.rendererResolutionValues, 2, rendererReolution)); |
| 168 | sl.add(new SingleChoiceSetting(SettingsFile.KEY_RENDERER_ASPECT_RATIO, Settings.SECTION_RENDERER, R.string.renderer_aspect_ratio, 0, R.array.rendererAspectRatioNames, R.array.rendererAspectRatioValues, 0, rendererAspectRation)); | ||
| 167 | sl.add(new CheckBoxSetting(SettingsFile.KEY_RENDERER_ASYNCHRONOUS_SHADERS, Settings.SECTION_RENDERER, R.string.renderer_asynchronous_shaders, R.string.renderer_asynchronous_shaders_description, false, rendererAsynchronousShaders)); | 169 | sl.add(new CheckBoxSetting(SettingsFile.KEY_RENDERER_ASYNCHRONOUS_SHADERS, Settings.SECTION_RENDERER, R.string.renderer_asynchronous_shaders, R.string.renderer_asynchronous_shaders_description, false, rendererAsynchronousShaders)); |
| 168 | } | 170 | } |
| 169 | 171 | ||
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/utils/SettingsFile.java b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/utils/SettingsFile.java index 6526f9139..392c2e62d 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/utils/SettingsFile.java +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/utils/SettingsFile.java | |||
| @@ -44,6 +44,7 @@ public final class SettingsFile { | |||
| 44 | public static final String KEY_RENDERER_BACKEND = "backend"; | 44 | public static final String KEY_RENDERER_BACKEND = "backend"; |
| 45 | // Renderer | 45 | // Renderer |
| 46 | public static final String KEY_RENDERER_RESOLUTION = "resolution_setup"; | 46 | public static final String KEY_RENDERER_RESOLUTION = "resolution_setup"; |
| 47 | public static final String KEY_RENDERER_ASPECT_RATIO = "aspect_ratio"; | ||
| 47 | public static final String KEY_RENDERER_ACCURACY = "gpu_accuracy"; | 48 | public static final String KEY_RENDERER_ACCURACY = "gpu_accuracy"; |
| 48 | public static final String KEY_RENDERER_ASYNCHRONOUS_SHADERS = "use_asynchronous_shaders"; | 49 | public static final String KEY_RENDERER_ASYNCHRONOUS_SHADERS = "use_asynchronous_shaders"; |
| 49 | public static final String KEY_RENDERER_USE_SPEED_LIMIT = "use_speed_limit"; | 50 | public static final String KEY_RENDERER_USE_SPEED_LIMIT = "use_speed_limit"; |
diff --git a/src/android/app/src/main/jni/default_ini.h b/src/android/app/src/main/jni/default_ini.h index 60db951c8..eecda4756 100644 --- a/src/android/app/src/main/jni/default_ini.h +++ b/src/android/app/src/main/jni/default_ini.h | |||
| @@ -294,7 +294,7 @@ anti_aliasing = | |||
| 294 | fullscreen_mode = | 294 | fullscreen_mode = |
| 295 | 295 | ||
| 296 | # Aspect ratio | 296 | # Aspect ratio |
| 297 | # 0: Default (16:9), 1: Force 4:3, 2: Force 21:9, 3: Stretch to Window | 297 | # 0: Default (16:9), 1: Force 4:3, 2: Force 21:9, 3: Force 16:10, 4: Stretch to Window |
| 298 | aspect_ratio = | 298 | aspect_ratio = |
| 299 | 299 | ||
| 300 | # Anisotropic filtering | 300 | # Anisotropic filtering |
diff --git a/src/android/app/src/main/jni/emu_window/emu_window.cpp b/src/android/app/src/main/jni/emu_window/emu_window.cpp index 9062c0ae3..cef296037 100644 --- a/src/android/app/src/main/jni/emu_window/emu_window.cpp +++ b/src/android/app/src/main/jni/emu_window/emu_window.cpp | |||
| @@ -46,6 +46,9 @@ EmuWindow_Android::EmuWindow_Android(InputCommon::InputSubsystem* input_subsyste | |||
| 46 | window_width = ANativeWindow_getWidth(surface_); | 46 | window_width = ANativeWindow_getWidth(surface_); |
| 47 | window_height = ANativeWindow_getHeight(surface_); | 47 | window_height = ANativeWindow_getHeight(surface_); |
| 48 | 48 | ||
| 49 | // Ensures that we emulate with the correct aspect ratio. | ||
| 50 | UpdateCurrentFramebufferLayout(window_width, window_height); | ||
| 51 | |||
| 49 | host_window = surface_; | 52 | host_window = surface_; |
| 50 | window_info.type = Core::Frontend::WindowSystemType::Android; | 53 | window_info.type = Core::Frontend::WindowSystemType::Android; |
| 51 | window_info.render_surface = reinterpret_cast<void*>(host_window); | 54 | window_info.render_surface = reinterpret_cast<void*>(host_window); |
diff --git a/src/android/app/src/main/res/values/arrays.xml b/src/android/app/src/main/res/values/arrays.xml index bf9922be8..53c4765b1 100644 --- a/src/android/app/src/main/res/values/arrays.xml +++ b/src/android/app/src/main/res/values/arrays.xml | |||
| @@ -140,6 +140,22 @@ | |||
| 140 | <item>5</item> | 140 | <item>5</item> |
| 141 | </integer-array> | 141 | </integer-array> |
| 142 | 142 | ||
| 143 | <string-array name="rendererAspectRatioNames"> | ||
| 144 | <item>Default (16:9)</item> | ||
| 145 | <item>Force 4:3</item> | ||
| 146 | <item>Force 21:9</item> | ||
| 147 | <item>Force 16:10</item> | ||
| 148 | <item>Stretch to Window</item> | ||
| 149 | </string-array> | ||
| 150 | |||
| 151 | <integer-array name="rendererAspectRatioValues"> | ||
| 152 | <item>0</item> | ||
| 153 | <item>1</item> | ||
| 154 | <item>2</item> | ||
| 155 | <item>3</item> | ||
| 156 | <item>4</item> | ||
| 157 | </integer-array> | ||
| 158 | |||
| 143 | <string-array name="cpuAccuracyNames"> | 159 | <string-array name="cpuAccuracyNames"> |
| 144 | <item>Auto</item> | 160 | <item>Auto</item> |
| 145 | <item>Accurate</item> | 161 | <item>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 239fde48d..cc84f700e 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml | |||
| @@ -28,6 +28,7 @@ | |||
| 28 | <string name="renderer_api">API</string> | 28 | <string name="renderer_api">API</string> |
| 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_asynchronous_shaders">Use asynchronous shaders</string> | 32 | <string name="renderer_asynchronous_shaders">Use asynchronous shaders</string> |
| 32 | <string name="renderer_asynchronous_shaders_description">Compiles shaders asynchronously, which will reduce stutter but may introduce glitches.</string> | 33 | <string name="renderer_asynchronous_shaders_description">Compiles shaders asynchronously, which will reduce stutter but may introduce glitches.</string> |
| 33 | 34 | ||
diff --git a/src/yuzu_cmd/default_ini.h b/src/yuzu_cmd/default_ini.h index 644a30e59..911d461e4 100644 --- a/src/yuzu_cmd/default_ini.h +++ b/src/yuzu_cmd/default_ini.h | |||
| @@ -318,7 +318,7 @@ anti_aliasing = | |||
| 318 | fullscreen_mode = | 318 | fullscreen_mode = |
| 319 | 319 | ||
| 320 | # Aspect ratio | 320 | # Aspect ratio |
| 321 | # 0: Default (16:9), 1: Force 4:3, 2: Force 21:9, 3: Stretch to Window | 321 | # 0: Default (16:9), 1: Force 4:3, 2: Force 21:9, 3: Force 16:10, 4: Stretch to Window |
| 322 | aspect_ratio = | 322 | aspect_ratio = |
| 323 | 323 | ||
| 324 | # Anisotropic filtering | 324 | # Anisotropic filtering |