mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	renderers: Disable async shader compilation
The current implementation is prone to causing graphical issues. Disable until a better solution is implemented.
This commit is contained in:
		@@ -182,9 +182,11 @@ Device::Device() {
 | 
				
			|||||||
                         ? Settings::values.shader_backend.GetValue()
 | 
					                         ? Settings::values.shader_backend.GetValue()
 | 
				
			||||||
                         : Settings::ShaderBackend::GLSL;
 | 
					                         : Settings::ShaderBackend::GLSL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Completely disable async shaders for now, as it causes graphical glitches
 | 
				
			||||||
 | 
					    use_asynchronous_shaders = false;
 | 
				
			||||||
    // Blocks AMD and Intel OpenGL drivers on Windows from using asynchronous shader compilation.
 | 
					    // Blocks AMD and Intel OpenGL drivers on Windows from using asynchronous shader compilation.
 | 
				
			||||||
    use_asynchronous_shaders = Settings::values.use_asynchronous_shaders.GetValue() &&
 | 
					    // use_asynchronous_shaders = Settings::values.use_asynchronous_shaders.GetValue() &&
 | 
				
			||||||
                               !(is_amd || (is_intel && !is_linux));
 | 
					    //                            !(is_amd || (is_intel && !is_linux));
 | 
				
			||||||
    use_driver_cache = is_nvidia;
 | 
					    use_driver_cache = is_nvidia;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    LOG_INFO(Render_OpenGL, "Renderer_VariableAOFFI: {}", has_variable_aoffi);
 | 
					    LOG_INFO(Render_OpenGL, "Renderer_VariableAOFFI: {}", has_variable_aoffi);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -269,7 +269,7 @@ PipelineCache::PipelineCache(RasterizerVulkan& rasterizer_, Tegra::Engines::Maxw
 | 
				
			|||||||
      device{device_}, scheduler{scheduler_}, descriptor_pool{descriptor_pool_},
 | 
					      device{device_}, scheduler{scheduler_}, descriptor_pool{descriptor_pool_},
 | 
				
			||||||
      update_descriptor_queue{update_descriptor_queue_}, render_pass_cache{render_pass_cache_},
 | 
					      update_descriptor_queue{update_descriptor_queue_}, render_pass_cache{render_pass_cache_},
 | 
				
			||||||
      buffer_cache{buffer_cache_}, texture_cache{texture_cache_}, shader_notify{shader_notify_},
 | 
					      buffer_cache{buffer_cache_}, texture_cache{texture_cache_}, shader_notify{shader_notify_},
 | 
				
			||||||
      use_asynchronous_shaders{Settings::values.use_asynchronous_shaders.GetValue()},
 | 
					      use_asynchronous_shaders{false},
 | 
				
			||||||
      workers(std::max(std::thread::hardware_concurrency(), 2U) - 1, "yuzu:PipelineBuilder"),
 | 
					      workers(std::max(std::thread::hardware_concurrency(), 2U) - 1, "yuzu:PipelineBuilder"),
 | 
				
			||||||
      serialization_thread(1, "yuzu:PipelineSerialization") {
 | 
					      serialization_thread(1, "yuzu:PipelineSerialization") {
 | 
				
			||||||
    const auto& float_control{device.FloatControlProperties()};
 | 
					    const auto& float_control{device.FloatControlProperties()};
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user