Commit: 37a07d8a75d0f133e1d2458b698e82e3c53c3273
Author: Jeroen Bakker
Date:   Thu Jun 11 15:34:16 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB37a07d8a75d0f133e1d2458b698e82e3c53c3273

Fix T77657: NVIDIA Quadro FX4800 crash on startup

Limit support for `GLEW_ARB_base_instance` to OpenGL 4.0 and higher. NVIDIA 
Quadro FX 4800
(TeraScale) report that they support GLEW_ARB_base_instance, but the driver 
does not support
`GLEW_ARB_draw_indirect` as it has an OpenGL3 context what also matches the 
minimum needed
requirements.

We use `GLEW_ARB_draw_indirect` as a target for `glMapBuffer(Range)` what is 
part of the
OpenGL 4 API. So better disable it when we don't have an OpenGL4 context.

Note: fix should be ported to Blender 2.83 LTS

Reviewed By: Clément Foucault

Differential Revision: https://developer.blender.org/D7994

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

M       source/blender/gpu/intern/gpu_extensions.c

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

diff --git a/source/blender/gpu/intern/gpu_extensions.c 
b/source/blender/gpu/intern/gpu_extensions.c
index 447a15f267b..c5c0de89768 100644
--- a/source/blender/gpu/intern/gpu_extensions.c
+++ b/source/blender/gpu/intern/gpu_extensions.c
@@ -304,7 +304,14 @@ void gpu_extensions_init(void)
     }
   }
 
-  GG.glew_arb_base_instance_is_supported = GLEW_ARB_base_instance;
+  /* Limit support for GLEW_ARB_base_instance to OpenGL 4.0 and higher. NVIDIA 
Quadro FX 4800
+   * (TeraScale) report that they support GLEW_ARB_base_instance, but the 
driver does not support
+   * GLEW_ARB_draw_indirect as it has an OpenGL3 context what also matches the 
minimum needed
+   * requirements.
+   *
+   * We use it as a target for glMapBuffer(Range) what is part of the OpenGL 4 
API. So better
+   * disable it when we don't have an OpenGL4 context (See T77657) */
+  GG.glew_arb_base_instance_is_supported = GLEW_ARB_base_instance && 
GLEW_VERSION_4_0;
   GG.glew_arb_texture_cube_map_array_is_supported = 
GLEW_ARB_texture_cube_map_array;
   gpu_detect_mip_render_workaround();

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to