[Bf-blender-cvs] [861b7071a24] master: Fix crash drawing hair with older GPUs.

Jeroen Bakker noreply at git.blender.org
Mon Sep 6 15:51:50 CEST 2021


Commit: 861b7071a24be8ef052570b11c044ad0f8df7f3f
Author: Jeroen Bakker
Date:   Mon Sep 6 15:47:44 2021 +0200
Branches: master
https://developer.blender.org/rB861b7071a24be8ef052570b11c044ad0f8df7f3f

Fix crash drawing hair with older GPUs.

Some GPU's have support for compute shaders, but don't support
GLSL 4.3. This resulted in compiler errors and crashes.

This issue could have been solved by supporting older GLSL languages but
that would have been a hassle to get it right. We already have a
fallback in place for GPU's that don't support compute shaders at all.

===================================================================

M	source/blender/gpu/opengl/gl_backend.cc

===================================================================

diff --git a/source/blender/gpu/opengl/gl_backend.cc b/source/blender/gpu/opengl/gl_backend.cc
index 772fc19d919..2855d5078ff 100644
--- a/source/blender/gpu/opengl/gl_backend.cc
+++ b/source/blender/gpu/opengl/gl_backend.cc
@@ -460,7 +460,7 @@ void GLBackend::capabilities_init()
 
   GCaps.mem_stats_support = GLEW_NVX_gpu_memory_info || GLEW_ATI_meminfo;
   GCaps.shader_image_load_store_support = GLEW_ARB_shader_image_load_store;
-  GCaps.compute_shader_support = GLEW_ARB_compute_shader;
+  GCaps.compute_shader_support = GLEW_ARB_compute_shader && GLEW_VERSION_4_3;
   if (GCaps.compute_shader_support) {
     glGetIntegeri_v(GL_MAX_COMPUTE_WORK_GROUP_COUNT, 0, &GCaps.max_work_group_count[0]);
     glGetIntegeri_v(GL_MAX_COMPUTE_WORK_GROUP_COUNT, 1, &GCaps.max_work_group_count[1]);



More information about the Bf-blender-cvs mailing list