Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Bakker <jeroen@blender.org>2020-12-02 17:13:13 +0300
committerJeroen Bakker <jeroen@blender.org>2020-12-02 17:17:13 +0300
commitd40f5d41af0ad4183ec42d03cb5d0f56788150b6 (patch)
tree19d325600cc35c9fadad44b3e2dea4b7028106a8 /source/blender/gpu
parentc576d65c2f96b1b2e6ac9437a950082c9a2a753b (diff)
GPU: Blacklist unsupported GPUs that crash during startup.
Since Blender 2.91 the TeraScale 2 based cards crash during startup. This patch will show the user a screen that the platform they are using isn't supported. The GPUs have been carefully handpicked from dozens of reports. T83124, T83127, T83103, T83091, T83045, T83065, T82750, T82889, T82925, T82640, T82429, T82436, T82446.
Diffstat (limited to 'source/blender/gpu')
-rw-r--r--source/blender/gpu/opengl/gl_backend.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/gpu/opengl/gl_backend.cc b/source/blender/gpu/opengl/gl_backend.cc
index b444bd1859d..3d00630bf10 100644
--- a/source/blender/gpu/opengl/gl_backend.cc
+++ b/source/blender/gpu/opengl/gl_backend.cc
@@ -130,6 +130,20 @@ void GLBackend::platform_init()
GPG.support_level = GPU_SUPPORT_LEVEL_LIMITED;
}
}
+
+ /* Since Blender 2.91 AMD TeraScale 2 GPUs crashes during startup. */
+ if (GPU_type_matches(GPU_DEVICE_ATI, GPU_OS_WIN, GPU_DRIVER_ANY)) {
+ if (strstr(renderer, "Radeon HD 4") || strstr(renderer, "Radeon HD 5") ||
+ strstr(renderer, "Radeon HD 6") || strstr(renderer, "ATI FirePro V4") ||
+ strstr(renderer, "AMD Radeon R5 2")) {
+ GPG.support_level = GPU_SUPPORT_LEVEL_UNSUPPORTED;
+ }
+ }
+ if (GPU_type_matches(GPU_DEVICE_ATI, GPU_OS_UNIX, GPU_DRIVER_ANY)) {
+ if (strstr(renderer, "AMD CEDAR")) {
+ GPG.support_level = GPU_SUPPORT_LEVEL_UNSUPPORTED;
+ }
+ }
}
GPG.create_key(GPG.support_level, vendor, renderer, version);
GPG.create_gpu_name(vendor, renderer, version);