summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar ameerj2021-07-09 19:00:11 -0400
committerGravatar ameerj2021-07-22 21:51:40 -0400
commit8390286a89dd259f0ff44cc95fc20d017b58046f (patch)
treeefffbf37f0e13306c8fa1abf4f39ba3686d9d4cc
parentmaxwell_to_vk: Add R16_SNORM (diff)
downloadyuzu-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.cpp6
-rw-r--r--src/video_core/renderer_vulkan/vk_pipeline_cache.cpp2
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()};