From: Ian Romanick Date: Tue, 14 Apr 2015 16:24:06 +0000 (-0700) Subject: glx: Create proper server dependency for GLX_EXT_create_context_es2_profile X-Git-Tag: upstream/17.1.0~19450 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8957c9e448670e5aa78065619692cf285f9b0a30;p=platform%2Fupstream%2Fmesa.git glx: Create proper server dependency for GLX_EXT_create_context_es2_profile Previously GLX_EXT_create_context_es2_profile was marked as "direct only" so that it would not depend on server support. Since the extension required functions that are part of GLX_ARB_create_context_profile, support for the EXT was disabled if the ARB was not supported. This was complete rubbish. If the server supported the ARB but not the EXT, sending a request with GLX_CONTEXT_ES2_PROFILE_BIT_EXT would result in GLXBadProfileARB. Instead of the misguided hack, make GLX_EXT_create_context_es2_profile properly depend on server support by not marking it as "direct only." Signed-off-by: Ian Romanick Acked-by: José Fonseca Reviewed-by: Chad Versace Cc: Emil Velikov --- diff --git a/src/glx/glxextensions.c b/src/glx/glxextensions.c index ce5d66d..a326f0d 100644 --- a/src/glx/glxextensions.c +++ b/src/glx/glxextensions.c @@ -84,7 +84,7 @@ static const struct extension_info known_glx_extensions[] = { { GLX(EXT_visual_rating), VER(0,0), Y, Y, N, N }, { GLX(EXT_fbconfig_packed_float), VER(0,0), Y, Y, N, N }, { GLX(EXT_framebuffer_sRGB), VER(0,0), Y, Y, N, N }, - { GLX(EXT_create_context_es2_profile), VER(0,0), Y, N, N, Y }, + { GLX(EXT_create_context_es2_profile), VER(0,0), Y, N, N, N }, { GLX(MESA_copy_sub_buffer), VER(0,0), Y, N, N, N }, { GLX(MESA_multithread_makecurrent),VER(0,0), Y, N, Y, N }, { GLX(MESA_query_renderer), VER(0,0), Y, N, N, Y }, @@ -627,16 +627,6 @@ __glXCalculateUsableExtensions(struct glx_screen * psc, } } - /* This hack is necessary because GLX_ARB_create_context_profile depends on - * server support, but GLX_EXT_create_context_es2_profile is direct-only. - * Without this hack, it would be possible to advertise - * GLX_EXT_create_context_es2_profile without - * GLX_ARB_create_context_profile. That would be a problem. - */ - if (!IS_SET(server_support, ARB_create_context_profile_bit)) { - CLR_BIT(usable, EXT_create_context_es2_profile_bit); - } - psc->effectiveGLXexts = __glXGetStringFromTable(known_glx_extensions, usable); }