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); |         SettingSection rendererSection = mSettings.getSection(Settings.SECTION_RENDERER); | ||||||
|         Setting resolutionFactor = rendererSection.getSetting(SettingsFile.KEY_RESOLUTION_FACTOR); |         Setting resolutionFactor = rendererSection.getSetting(SettingsFile.KEY_RESOLUTION_FACTOR); | ||||||
|         Setting filterMode = rendererSection.getSetting(SettingsFile.KEY_FILTER_MODE); |         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 shadersAccurateMul = rendererSection.getSetting(SettingsFile.KEY_SHADERS_ACCURATE_MUL); | ||||||
|         Setting render3dMode = rendererSection.getSetting(SettingsFile.KEY_RENDER_3D); |         Setting render3dMode = rendererSection.getSetting(SettingsFile.KEY_RENDER_3D); | ||||||
|         Setting factor3d = rendererSection.getSetting(SettingsFile.KEY_FACTOR_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 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 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_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_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)); |         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.use_hw_shader = sdl2_config->GetBoolean("Renderer", "use_hw_shader", true); | ||||||
|     Settings::values.shaders_accurate_mul = |     Settings::values.shaders_accurate_mul = | ||||||
|         sdl2_config->GetBoolean("Renderer", "shaders_accurate_mul", false); |         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.use_shader_jit = sdl2_config->GetBoolean("Renderer", "use_shader_jit", true); | ||||||
|     Settings::values.resolution_factor = |     Settings::values.resolution_factor = | ||||||
|         static_cast<u16>(sdl2_config->GetInteger("Renderer", "resolution_factor", 1)); |         static_cast<u16>(sdl2_config->GetInteger("Renderer", "resolution_factor", 1)); | ||||||
|  |  | ||||||
|  | @ -7,25 +7,7 @@ | ||||||
| namespace GameSettings { | namespace GameSettings { | ||||||
| 
 | 
 | ||||||
| void LoadOverrides(u64 program_id) { | 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) { |     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
 |         // JAP / The Legend of Zelda: Ocarina of Time 3D
 | ||||||
|     case 0x0004000000033400: |     case 0x0004000000033400: | ||||||
|         // USA / The Legend of Zelda: Ocarina of Time 3D
 |         // USA / The Legend of Zelda: Ocarina of Time 3D
 | ||||||
|  | @ -38,24 +20,6 @@ void LoadOverrides(u64 program_id) { | ||||||
|     case 0x000400000008F900: |     case 0x000400000008F900: | ||||||
|         // This game requires accurate multiplication to render properly
 |         // This game requires accurate multiplication to render properly
 | ||||||
|         Settings::values.shaders_accurate_mul = true; |         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; |         break; | ||||||
| 
 | 
 | ||||||
|         // USA / Mario & Luigi: Superstar Saga + Bowsers Minions
 |         // 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); |     LoadDiskCacheProgress(VideoCore::LoadCallbackStage::Prepare, 0, 0); | ||||||
| 
 | 
 | ||||||
|     std::unique_ptr<Frontend::GraphicsContext> cpu_context; |     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); |     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); |     LoadDiskCacheProgress(VideoCore::LoadCallbackStage::Complete, 0, 0); | ||||||
| 
 | 
 | ||||||
|     SCOPE_EXIT({ TryShutdown(); }); |     SCOPE_EXIT({ TryShutdown(); }); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue