diff options
| author | 2021-07-09 19:00:11 -0400 | |
|---|---|---|
| committer | 2021-07-22 21:51:40 -0400 | |
| commit | 8390286a89dd259f0ff44cc95fc20d017b58046f (patch) | |
| tree | efffbf37f0e13306c8fa1abf4f39ba3686d9d4cc | |
| parent | maxwell_to_vk: Add R16_SNORM (diff) | |
| download | yuzu-8390286a89dd259f0ff44cc95fc20d017b58046f.tar.gz yuzu-8390286a89dd259f0ff44cc95fc20d017b58046f.tar.xz yuzu-8390286a89dd259f0ff44cc95fc20d017b58046f.zip | |
renderers: Disable async shader compilation
The current implementation is prone to causing graphical issues. Disable until a better solution is implemented.
| -rw-r--r-- | src/video_core/renderer_opengl/gl_device.cpp | 6 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/video_core/renderer_opengl/gl_device.cpp b/src/video_core/renderer_opengl/gl_device.cpp index 99f8769fc..563b291cd 100644 --- a/src/video_core/renderer_opengl/gl_device.cpp +++ b/src/video_core/renderer_opengl/gl_device.cpp | |||
| @@ -182,9 +182,11 @@ Device::Device() { | |||
| 182 | ? Settings::values.shader_backend.GetValue() | 182 | ? Settings::values.shader_backend.GetValue() |
| 183 | : Settings::ShaderBackend::GLSL; | 183 | : Settings::ShaderBackend::GLSL; |
| 184 | 184 | ||
| 185 | // Completely disable async shaders for now, as it causes graphical glitches | ||
| 186 | use_asynchronous_shaders = false; | ||
| 185 | // Blocks AMD and Intel OpenGL drivers on Windows from using asynchronous shader compilation. | 187 | // Blocks AMD and Intel OpenGL drivers on Windows from using asynchronous shader compilation. |
| 186 | use_asynchronous_shaders = Settings::values.use_asynchronous_shaders.GetValue() && | 188 | // use_asynchronous_shaders = Settings::values.use_asynchronous_shaders.GetValue() && |
| 187 | !(is_amd || (is_intel && !is_linux)); | 189 | // !(is_amd || (is_intel && !is_linux)); |
| 188 | use_driver_cache = is_nvidia; | 190 | use_driver_cache = is_nvidia; |
| 189 | 191 | ||
| 190 | LOG_INFO(Render_OpenGL, "Renderer_VariableAOFFI: {}", has_variable_aoffi); | 192 | LOG_INFO(Render_OpenGL, "Renderer_VariableAOFFI: {}", has_variable_aoffi); |
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index a2646fc6d..39db35175 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | |||
| @@ -269,7 +269,7 @@ PipelineCache::PipelineCache(RasterizerVulkan& rasterizer_, Tegra::Engines::Maxw | |||
| 269 | device{device_}, scheduler{scheduler_}, descriptor_pool{descriptor_pool_}, | 269 | device{device_}, scheduler{scheduler_}, descriptor_pool{descriptor_pool_}, |
| 270 | update_descriptor_queue{update_descriptor_queue_}, render_pass_cache{render_pass_cache_}, | 270 | update_descriptor_queue{update_descriptor_queue_}, render_pass_cache{render_pass_cache_}, |
| 271 | buffer_cache{buffer_cache_}, texture_cache{texture_cache_}, shader_notify{shader_notify_}, | 271 | buffer_cache{buffer_cache_}, texture_cache{texture_cache_}, shader_notify{shader_notify_}, |
| 272 | use_asynchronous_shaders{Settings::values.use_asynchronous_shaders.GetValue()}, | 272 | use_asynchronous_shaders{false}, |
| 273 | workers(std::max(std::thread::hardware_concurrency(), 2U) - 1, "yuzu:PipelineBuilder"), | 273 | workers(std::max(std::thread::hardware_concurrency(), 2U) - 1, "yuzu:PipelineBuilder"), |
| 274 | serialization_thread(1, "yuzu:PipelineSerialization") { | 274 | serialization_thread(1, "yuzu:PipelineSerialization") { |
| 275 | const auto& float_control{device.FloatControlProperties()}; | 275 | const auto& float_control{device.FloatControlProperties()}; |