forked from eden-emu/eden
		
	android: frontend: settings: Add graphics debugging.
This commit is contained in:
		
							parent
							
								
									0276197744
								
							
						
					
					
						commit
						4769d716fc
					
				
					 4 changed files with 18 additions and 6 deletions
				
			
		|  | @ -162,6 +162,7 @@ public final class SettingsFragmentPresenter { | |||
|         Setting rendererAspectRation = rendererSection.getSetting(SettingsFile.KEY_RENDERER_ASPECT_RATIO); | ||||
|         Setting rendererForceMaxClocks = rendererSection.getSetting(SettingsFile.KEY_RENDERER_FORCE_MAX_CLOCK); | ||||
|         Setting rendererAsynchronousShaders = rendererSection.getSetting(SettingsFile.KEY_RENDERER_ASYNCHRONOUS_SHADERS); | ||||
|         Setting rendererDebug = rendererSection.getSetting(SettingsFile.KEY_RENDERER_DEBUG); | ||||
| 
 | ||||
|         sl.add(new SingleChoiceSetting(SettingsFile.KEY_RENDERER_BACKEND, Settings.SECTION_RENDERER, R.string.renderer_api, 0, R.array.rendererApiNames, R.array.rendererApiValues, 1, 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)); | ||||
|  | @ -169,6 +170,7 @@ public final class SettingsFragmentPresenter { | |||
|         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_FORCE_MAX_CLOCK, Settings.SECTION_RENDERER, R.string.renderer_force_max_clock, R.string.renderer_force_max_clock_description, true, rendererForceMaxClocks)); | ||||
|         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)); | ||||
|         sl.add(new CheckBoxSetting(SettingsFile.KEY_RENDERER_DEBUG, Settings.SECTION_RENDERER, R.string.renderer_debug, R.string.renderer_debug_description, false, rendererDebug)); | ||||
|     } | ||||
| 
 | ||||
|     private void addAudioSettings(ArrayList<SettingsItem> sl) { | ||||
|  |  | |||
|  | @ -49,6 +49,7 @@ public final class SettingsFile { | |||
|     public static final String KEY_RENDERER_ASYNCHRONOUS_SHADERS = "use_asynchronous_shaders"; | ||||
|     public static final String KEY_RENDERER_FORCE_MAX_CLOCK = "force_max_clock"; | ||||
|     public static final String KEY_RENDERER_USE_SPEED_LIMIT = "use_speed_limit"; | ||||
|     public static final String KEY_RENDERER_DEBUG = "debug"; | ||||
|     public static final String KEY_RENDERER_SPEED_LIMIT = "speed_limit"; | ||||
|     // Audio | ||||
|     public static final String KEY_AUDIO_VOLUME = "volume"; | ||||
|  |  | |||
|  | @ -77,20 +77,27 @@ public: | |||
|                              const std::string& custom_driver_name, | ||||
|                              const std::string& file_redirect_dir) { | ||||
|         void* handle{}; | ||||
|         const char* file_redirect_dir_{}; | ||||
|         int featureFlags{}; | ||||
| 
 | ||||
|         // Enable driver file redirection when renderer debugging is enabled.
 | ||||
|         if (Settings::values.renderer_debug && file_redirect_dir.size()) { | ||||
|             featureFlags |= ADRENOTOOLS_DRIVER_FILE_REDIRECT; | ||||
|             file_redirect_dir_ = file_redirect_dir.c_str(); | ||||
|         } | ||||
| 
 | ||||
|         // Try to load a custom driver.
 | ||||
|         if (custom_driver_name.size()) { | ||||
|             handle = adrenotools_open_libvulkan( | ||||
|                 RTLD_NOW, ADRENOTOOLS_DRIVER_CUSTOM | ADRENOTOOLS_DRIVER_FILE_REDIRECT, nullptr, | ||||
|                 hook_lib_dir.c_str(), custom_driver_dir.c_str(), custom_driver_name.c_str(), | ||||
|                 file_redirect_dir.c_str(), nullptr); | ||||
|                 RTLD_NOW, featureFlags | ADRENOTOOLS_DRIVER_CUSTOM, nullptr, hook_lib_dir.c_str(), | ||||
|                 custom_driver_dir.c_str(), custom_driver_name.c_str(), file_redirect_dir_, nullptr); | ||||
|         } | ||||
| 
 | ||||
|         // Try to load the system driver.
 | ||||
|         if (!handle) { | ||||
|             handle = adrenotools_open_libvulkan(RTLD_NOW, ADRENOTOOLS_DRIVER_FILE_REDIRECT, nullptr, | ||||
|                                                 hook_lib_dir.c_str(), nullptr, nullptr, | ||||
|                                                 file_redirect_dir.c_str(), nullptr); | ||||
|             handle = | ||||
|                 adrenotools_open_libvulkan(RTLD_NOW, featureFlags, nullptr, hook_lib_dir.c_str(), | ||||
|                                            nullptr, nullptr, file_redirect_dir_, nullptr); | ||||
|         } | ||||
| 
 | ||||
|         m_vulkan_library = std::make_shared<Common::DynamicLibrary>(handle); | ||||
|  |  | |||
|  | @ -33,6 +33,8 @@ | |||
|     <string name="renderer_force_max_clock_description">Forces the GPU to run at the maximum possible clocks (thermal constraints will still be applied).</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> | ||||
|     <string name="renderer_debug">Enable graphics debugging</string> | ||||
|     <string name="renderer_debug_description">When checked, the graphics API enters a slower debugging mode.</string> | ||||
| 
 | ||||
|     <!-- Audio settings strings --> | ||||
|     <string name="audio_volume">Volume</string> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 bunnei
						bunnei