mirror of
				https://git.h3cjp.net/H3cJP/citra.git
				synced 2025-10-31 06:55:03 +00:00 
			
		
		
		
	android: Frontend: Fix rendering aspect ratio & add a setting for it.
This commit is contained in:
		
							parent
							
								
									4f903d8d35
								
							
						
					
					
						commit
						6cc21a56d9
					
				|  | @ -159,11 +159,13 @@ public final class SettingsFragmentPresenter { | |||
|         Setting rendererBackend = rendererSection.getSetting(SettingsFile.KEY_RENDERER_BACKEND); | ||||
|         Setting rendererAccuracy = rendererSection.getSetting(SettingsFile.KEY_RENDERER_ACCURACY); | ||||
|         Setting rendererReolution = rendererSection.getSetting(SettingsFile.KEY_RENDERER_RESOLUTION); | ||||
|         Setting rendererAspectRation = rendererSection.getSetting(SettingsFile.KEY_RENDERER_ASPECT_RATIO); | ||||
|         Setting rendererAsynchronousShaders = rendererSection.getSetting(SettingsFile.KEY_RENDERER_ASYNCHRONOUS_SHADERS); | ||||
| 
 | ||||
|         sl.add(new SingleChoiceSetting(SettingsFile.KEY_RENDERER_BACKEND, Settings.SECTION_RENDERER, R.string.renderer_api, 0, R.array.rendererApiNames, R.array.rendererApiValues, 0, rendererBackend)); | ||||
|         sl.add(new SingleChoiceSetting(SettingsFile.KEY_RENDERER_ACCURACY, Settings.SECTION_RENDERER, R.string.renderer_accuracy, 0, R.array.rendererAccuracyNames, R.array.rendererAccuracyValues, 1, rendererAccuracy)); | ||||
|         sl.add(new SingleChoiceSetting(SettingsFile.KEY_RENDERER_RESOLUTION, Settings.SECTION_RENDERER, R.string.renderer_resolution, 0, R.array.rendererResolutionNames, R.array.rendererResolutionValues, 2, rendererReolution)); | ||||
|         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)); | ||||
|         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)); | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -44,6 +44,7 @@ public final class SettingsFile { | |||
|     public static final String KEY_RENDERER_BACKEND = "backend"; | ||||
|     // Renderer | ||||
|     public static final String KEY_RENDERER_RESOLUTION = "resolution_setup"; | ||||
|     public static final String KEY_RENDERER_ASPECT_RATIO = "aspect_ratio"; | ||||
|     public static final String KEY_RENDERER_ACCURACY = "gpu_accuracy"; | ||||
|     public static final String KEY_RENDERER_ASYNCHRONOUS_SHADERS = "use_asynchronous_shaders"; | ||||
|     public static final String KEY_RENDERER_USE_SPEED_LIMIT = "use_speed_limit"; | ||||
|  |  | |||
|  | @ -294,7 +294,7 @@ anti_aliasing = | |||
| fullscreen_mode = | ||||
| 
 | ||||
| # Aspect ratio | ||||
| # 0: Default (16:9), 1: Force 4:3, 2: Force 21:9, 3: Stretch to Window | ||||
| # 0: Default (16:9), 1: Force 4:3, 2: Force 21:9, 3: Force 16:10, 4: Stretch to Window | ||||
| aspect_ratio = | ||||
| 
 | ||||
| # Anisotropic filtering | ||||
|  |  | |||
|  | @ -46,6 +46,9 @@ EmuWindow_Android::EmuWindow_Android(InputCommon::InputSubsystem* input_subsyste | |||
|     window_width = ANativeWindow_getWidth(surface_); | ||||
|     window_height = ANativeWindow_getHeight(surface_); | ||||
| 
 | ||||
|     // Ensures that we emulate with the correct aspect ratio.
 | ||||
|     UpdateCurrentFramebufferLayout(window_width, window_height); | ||||
| 
 | ||||
|     host_window = surface_; | ||||
|     window_info.type = Core::Frontend::WindowSystemType::Android; | ||||
|     window_info.render_surface = reinterpret_cast<void*>(host_window); | ||||
|  |  | |||
|  | @ -140,6 +140,22 @@ | |||
|         <item>5</item> | ||||
|     </integer-array> | ||||
| 
 | ||||
|     <string-array name="rendererAspectRatioNames"> | ||||
|         <item>Default (16:9)</item> | ||||
|         <item>Force 4:3</item> | ||||
|         <item>Force 21:9</item> | ||||
|         <item>Force 16:10</item> | ||||
|         <item>Stretch to Window</item> | ||||
|     </string-array> | ||||
| 
 | ||||
|     <integer-array name="rendererAspectRatioValues"> | ||||
|         <item>0</item> | ||||
|         <item>1</item> | ||||
|         <item>2</item> | ||||
|         <item>3</item> | ||||
|         <item>4</item> | ||||
|     </integer-array> | ||||
| 
 | ||||
|     <string-array name="cpuAccuracyNames"> | ||||
|         <item>Auto</item> | ||||
|         <item>Accurate</item> | ||||
|  |  | |||
|  | @ -28,6 +28,7 @@ | |||
|     <string name="renderer_api">API</string> | ||||
|     <string name="renderer_accuracy">Accuracy level</string> | ||||
|     <string name="renderer_resolution">Resolution</string> | ||||
|     <string name="renderer_aspect_ratio">Aspect Ratio</string> | ||||
|     <string name="renderer_asynchronous_shaders">Use asynchronous shaders</string> | ||||
|     <string name="renderer_asynchronous_shaders_description">Compiles shaders asynchronously, which will reduce stutter but may introduce glitches.</string> | ||||
| 
 | ||||
|  |  | |||
|  | @ -318,7 +318,7 @@ anti_aliasing = | |||
| fullscreen_mode = | ||||
| 
 | ||||
| # Aspect ratio | ||||
| # 0: Default (16:9), 1: Force 4:3, 2: Force 21:9, 3: Stretch to Window | ||||
| # 0: Default (16:9), 1: Force 4:3, 2: Force 21:9, 3: Force 16:10, 4: Stretch to Window | ||||
| aspect_ratio = | ||||
| 
 | ||||
| # Anisotropic filtering | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue