From ed00b5def64c10a5a243399aeda383c30eb886ff Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Thu, 11 Jun 2020 15:34:16 +0200 Subject: Fix T77657: NVIDIA Quadro FX4800 crash on startup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- source/blender/gpu/intern/gpu_extensions.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'source/blender/gpu') diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c index 469abefca68..ab55fcfb1e0 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(); -- cgit v1.2.3