From 3a672fe6fbdc22123b4c6342c5ac44ecf189eacb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dietrich?= Date: Mon, 7 Mar 2022 16:42:21 +0100 Subject: GPU: disable compute shader for problematic drivers Some drivers for legacy platforms seem to have issues with compute shaders, as revealed by T94936. This disables compute shader for the known drivers where this issue is present. It is not clear if the issue is Windows only or not, so this disable them for all operating systems. See T94936 for a list of configurations where the issue is reproducible or not. Differential Revision: https://developer.blender.org/D14264 --- source/blender/gpu/opengl/gl_backend.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/blender/gpu/opengl/gl_backend.cc b/source/blender/gpu/opengl/gl_backend.cc index 92d180f1140..0a169f619bd 100644 --- a/source/blender/gpu/opengl/gl_backend.cc +++ b/source/blender/gpu/opengl/gl_backend.cc @@ -283,6 +283,11 @@ static void detect_workarounds() GCaps.shader_image_load_store_support = false; GCaps.broken_amd_driver = true; } + /* Compute shaders have some issues with those versions (see T94936). */ + if (GPU_type_matches(GPU_DEVICE_ATI, GPU_OS_ANY, GPU_DRIVER_OFFICIAL) && + (strstr(version, "4.5.14831") || strstr(version, "4.5.14760"))) { + GCaps.compute_shader_support = false; + } /* We have issues with this specific renderer. (see T74024) */ if (GPU_type_matches(GPU_DEVICE_ATI, GPU_OS_UNIX, GPU_DRIVER_OPENSOURCE) && (strstr(renderer, "AMD VERDE") || strstr(renderer, "AMD KAVERI") || -- cgit v1.2.3