summaryrefslogtreecommitdiffstats
path: root/src/glx
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2015-04-14 09:24:06 -0700
committerIan Romanick <ian.d.romanick@intel.com>2015-04-15 18:11:54 -0700
commit8957c9e448670e5aa78065619692cf285f9b0a30 (patch)
tree119b34fcb10cbd5f163e4bbd0db1f03fff884e01 /src/glx
parentb229e6c7dee2bb6b1736d6867790dfcd1c50f623 (diff)
downloadexternal_mesa3d-8957c9e448670e5aa78065619692cf285f9b0a30.zip
external_mesa3d-8957c9e448670e5aa78065619692cf285f9b0a30.tar.gz
external_mesa3d-8957c9e448670e5aa78065619692cf285f9b0a30.tar.bz2
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 <ian.d.romanick@intel.com> Acked-by: José Fonseca <jfonseca@vmware.com> Reviewed-by: Chad Versace <chad.versace@intel.com> Cc: Emil Velikov <emil.l.velikov@gmail.com>
Diffstat (limited to 'src/glx')
-rw-r--r--src/glx/glxextensions.c12
1 files changed, 1 insertions, 11 deletions
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);
}