summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_device.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/video_core/renderer_opengl/gl_device.cpp b/src/video_core/renderer_opengl/gl_device.cpp
index 993438a27..9be1b0805 100644
--- a/src/video_core/renderer_opengl/gl_device.cpp
+++ b/src/video_core/renderer_opengl/gl_device.cpp
@@ -195,9 +195,9 @@ Device::Device(Core::Frontend::EmuWindow& emu_window) {
195 has_texture_shadow_lod = HasExtension(extensions, "GL_EXT_texture_shadow_lod"); 195 has_texture_shadow_lod = HasExtension(extensions, "GL_EXT_texture_shadow_lod");
196 has_astc = !has_slow_software_astc && IsASTCSupported(); 196 has_astc = !has_slow_software_astc && IsASTCSupported();
197 has_variable_aoffi = TestVariableAoffi(); 197 has_variable_aoffi = TestVariableAoffi();
198 has_component_indexing_bug = is_amd; 198 has_component_indexing_bug = false;
199 has_precise_bug = TestPreciseBug(); 199 has_precise_bug = TestPreciseBug();
200 has_broken_texture_view_formats = is_amd || (!is_linux && is_intel); 200 has_broken_texture_view_formats = (!is_linux && is_intel);
201 has_nv_viewport_array2 = GLAD_GL_NV_viewport_array2; 201 has_nv_viewport_array2 = GLAD_GL_NV_viewport_array2;
202 has_derivative_control = GLAD_GL_ARB_derivative_control; 202 has_derivative_control = GLAD_GL_ARB_derivative_control;
203 has_vertex_buffer_unified_memory = GLAD_GL_NV_vertex_buffer_unified_memory; 203 has_vertex_buffer_unified_memory = GLAD_GL_NV_vertex_buffer_unified_memory;
@@ -238,10 +238,11 @@ Device::Device(Core::Frontend::EmuWindow& emu_window) {
238 has_lmem_perf_bug = is_nvidia; 238 has_lmem_perf_bug = is_nvidia;
239 239
240 strict_context_required = emu_window.StrictContextRequired(); 240 strict_context_required = emu_window.StrictContextRequired();
241 // Blocks AMD and Intel OpenGL drivers on Windows from using asynchronous shader compilation. 241 // Blocks Intel OpenGL drivers on Windows from using asynchronous shader compilation.
242 // Blocks EGL on Wayland from using asynchronous shader compilation. 242 // Blocks EGL on Wayland from using asynchronous shader compilation.
243 use_asynchronous_shaders = Settings::values.use_asynchronous_shaders.GetValue() && 243 const bool blacklist_async_shaders = (is_intel && !is_linux) || strict_context_required;
244 !(is_amd || (is_intel && !is_linux)) && !strict_context_required; 244 use_asynchronous_shaders =
245 Settings::values.use_asynchronous_shaders.GetValue() && !blacklist_async_shaders;
245 use_driver_cache = is_nvidia; 246 use_driver_cache = is_nvidia;
246 supports_conditional_barriers = !is_intel; 247 supports_conditional_barriers = !is_intel;
247 248