mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	Android: remove async GPU until it is fixed on desktop
This commit is contained in:
		
							parent
							
								
									3adc278965
								
							
						
					
					
						commit
						5681e91cf7
					
				
					 4 changed files with 0 additions and 50 deletions
				
			
		|  | @ -353,7 +353,6 @@ public final class SettingsFragmentPresenter { | |||
|         SettingSection rendererSection = mSettings.getSection(Settings.SECTION_RENDERER); | ||||
|         Setting resolutionFactor = rendererSection.getSetting(SettingsFile.KEY_RESOLUTION_FACTOR); | ||||
|         Setting filterMode = rendererSection.getSetting(SettingsFile.KEY_FILTER_MODE); | ||||
|         Setting useAsynchronousGpuEmulation = rendererSection.getSetting(SettingsFile.KEY_USE_ASYNCHRONOUS_GPU_EMULATION); | ||||
|         Setting shadersAccurateMul = rendererSection.getSetting(SettingsFile.KEY_SHADERS_ACCURATE_MUL); | ||||
|         Setting render3dMode = rendererSection.getSetting(SettingsFile.KEY_RENDER_3D); | ||||
|         Setting factor3d = rendererSection.getSetting(SettingsFile.KEY_FACTOR_3D); | ||||
|  | @ -367,7 +366,6 @@ public final class SettingsFragmentPresenter { | |||
|         sl.add(new HeaderSetting(null, null, R.string.renderer, 0)); | ||||
|         sl.add(new SliderSetting(SettingsFile.KEY_RESOLUTION_FACTOR, Settings.SECTION_RENDERER, R.string.internal_resolution, R.string.internal_resolution_description, 1, 4, "x", 1, resolutionFactor)); | ||||
|         sl.add(new CheckBoxSetting(SettingsFile.KEY_FILTER_MODE, Settings.SECTION_RENDERER, R.string.linear_filtering, R.string.linear_filtering_description, true, filterMode)); | ||||
|         sl.add(new CheckBoxSetting(SettingsFile.KEY_USE_ASYNCHRONOUS_GPU_EMULATION, Settings.SECTION_RENDERER, R.string.asynchronous_gpu, R.string.asynchronous_gpu_description, true, useAsynchronousGpuEmulation)); | ||||
|         sl.add(new CheckBoxSetting(SettingsFile.KEY_SHADERS_ACCURATE_MUL, Settings.SECTION_RENDERER, R.string.shaders_accurate_mul, R.string.shaders_accurate_mul_description, false, shadersAccurateMul)); | ||||
|         sl.add(new CheckBoxSetting(SettingsFile.KEY_USE_DISK_SHADER_CACHE, Settings.SECTION_RENDERER, R.string.use_disk_shader_cache, R.string.use_disk_shader_cache_description, true, useDiskShaderCache)); | ||||
| 
 | ||||
|  |  | |||
|  | @ -118,8 +118,6 @@ void Config::ReadValues() { | |||
|     Settings::values.use_hw_shader = sdl2_config->GetBoolean("Renderer", "use_hw_shader", true); | ||||
|     Settings::values.shaders_accurate_mul = | ||||
|         sdl2_config->GetBoolean("Renderer", "shaders_accurate_mul", false); | ||||
|     Settings::values.use_asynchronous_gpu_emulation = | ||||
|         sdl2_config->GetBoolean("Renderer", "use_asynchronous_gpu_emulation", true); | ||||
|     Settings::values.use_shader_jit = sdl2_config->GetBoolean("Renderer", "use_shader_jit", true); | ||||
|     Settings::values.resolution_factor = | ||||
|         static_cast<u16>(sdl2_config->GetInteger("Renderer", "resolution_factor", 1)); | ||||
|  |  | |||
|  | @ -7,25 +7,7 @@ | |||
| namespace GameSettings { | ||||
| 
 | ||||
| void LoadOverrides(u64 program_id) { | ||||
|     Settings::values.gpu_timing_mode_submit_list = Settings::GpuTimingMode::Asynch_1ms; | ||||
|     Settings::values.gpu_timing_mode_swap_buffers = Settings::GpuTimingMode::Asynch_8ms; | ||||
|     Settings::values.gpu_timing_mode_memory_fill = Settings::GpuTimingMode::Asynch_2ms; | ||||
|     Settings::values.gpu_timing_mode_display_transfer = Settings::GpuTimingMode::Synch; | ||||
|     Settings::values.gpu_timing_mode_flush = Settings::GpuTimingMode::Skip; | ||||
|     Settings::values.gpu_timing_mode_flush_and_invalidate = Settings::GpuTimingMode::Asynch; | ||||
|     Settings::values.gpu_timing_mode_invalidate = Settings::GpuTimingMode::Synch; | ||||
| 
 | ||||
|     switch (program_id) { | ||||
|         // JAP / Dragon Quest VII: Fragments of the Forgotten Past
 | ||||
|     case 0x0004000000065E00: | ||||
|         // USA / Dragon Quest VII: Fragments of the Forgotten Past
 | ||||
|     case 0x000400000018EF00: | ||||
|         // EUR / Dragon Quest VII: Fragments of the Forgotten Past
 | ||||
|     case 0x000400000018F000: | ||||
|         // This game is currently broken with asynchronous GPU
 | ||||
|         Settings::values.use_asynchronous_gpu_emulation = false; | ||||
|         break; | ||||
| 
 | ||||
|         // JAP / The Legend of Zelda: Ocarina of Time 3D
 | ||||
|     case 0x0004000000033400: | ||||
|         // USA / The Legend of Zelda: Ocarina of Time 3D
 | ||||
|  | @ -38,24 +20,6 @@ void LoadOverrides(u64 program_id) { | |||
|     case 0x000400000008F900: | ||||
|         // This game requires accurate multiplication to render properly
 | ||||
|         Settings::values.shaders_accurate_mul = true; | ||||
|         Settings::values.gpu_timing_mode_submit_list = Settings::GpuTimingMode::Asynch_1ms; | ||||
|         Settings::values.gpu_timing_mode_swap_buffers = Settings::GpuTimingMode::Asynch_4ms; | ||||
|         Settings::values.gpu_timing_mode_memory_fill = Settings::GpuTimingMode::Asynch; | ||||
|         Settings::values.gpu_timing_mode_display_transfer = Settings::GpuTimingMode::Asynch; | ||||
|         Settings::values.gpu_timing_mode_flush = Settings::GpuTimingMode::Skip; | ||||
|         Settings::values.gpu_timing_mode_flush_and_invalidate = Settings::GpuTimingMode::Skip; | ||||
|         break; | ||||
| 
 | ||||
|         // JAP / Super Mario 3D Land
 | ||||
|     case 0x0004000000054100: | ||||
|         // USA / Super Mario 3D Land
 | ||||
|     case 0x0004000000054000: | ||||
|         // EUR / Super Mario 3D Land
 | ||||
|     case 0x0004000000053F00: | ||||
|         // KOR / Super Mario 3D Land
 | ||||
|     case 0x0004000000089D00: | ||||
|         // This game has very sensitive timings with asynchronous GPU
 | ||||
|         Settings::values.gpu_timing_mode_submit_list = Settings::GpuTimingMode::Synch; | ||||
|         break; | ||||
| 
 | ||||
|         // USA / Mario & Luigi: Superstar Saga + Bowsers Minions
 | ||||
|  |  | |||
|  | @ -204,18 +204,8 @@ static Core::System::ResultStatus RunCitra(const std::string& filepath) { | |||
|     LoadDiskCacheProgress(VideoCore::LoadCallbackStage::Prepare, 0, 0); | ||||
| 
 | ||||
|     std::unique_ptr<Frontend::GraphicsContext> cpu_context; | ||||
|     if (Settings::values.use_asynchronous_gpu_emulation) { | ||||
|         cpu_context = window->CreateSharedContext(); | ||||
|         cpu_context->MakeCurrent(); | ||||
|     } | ||||
| 
 | ||||
|     system.Renderer().Rasterizer()->LoadDiskResources(stop_run, &LoadDiskCacheProgress); | ||||
| 
 | ||||
|     if (Settings::values.use_asynchronous_gpu_emulation) { | ||||
|         cpu_context->DoneCurrent(); | ||||
|         cpu_context.reset(); | ||||
|     } | ||||
| 
 | ||||
|     LoadDiskCacheProgress(VideoCore::LoadCallbackStage::Complete, 0, 0); | ||||
| 
 | ||||
|     SCOPE_EXIT({ TryShutdown(); }); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue