Mesa (master): glx: Stop force-enabling extensions "implied" by GLX 1.3
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Apr 29 22:33:32 UTC 2021
Module: Mesa
Branch: master
Commit: 416e6b174cbf674d5b7cde2a0a2c32d3a7205cb8
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=416e6b174cbf674d5b7cde2a0a2c32d3a7205cb8
Author: Adam Jackson <ajax at redhat.com>
Date: Thu Apr 22 14:44:26 2021 -0400
glx: Stop force-enabling extensions "implied" by GLX 1.3
1.3 has been ubiquitous since xserver 1.2 in early 2007, and has always
been supported with DRI2.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10418>
---
src/glx/glxcmds.c | 8 +++-----
src/glx/glxextensions.c | 27 +--------------------------
src/glx/glxextensions.h | 3 +--
3 files changed, 5 insertions(+), 33 deletions(-)
diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c
index e39521503fd..d4348a9d17c 100644
--- a/src/glx/glxcmds.c
+++ b/src/glx/glxcmds.c
@@ -1329,6 +1329,7 @@ glXQueryExtensionsString(Display * dpy, int screen)
{
struct glx_screen *psc;
struct glx_display *priv;
+ int is_direct_capable = GL_FALSE;
if (GetGLXPrivScreenConfig(dpy, screen, &priv, &psc) != Success) {
return NULL;
@@ -1341,13 +1342,10 @@ glXQueryExtensionsString(Display * dpy, int screen)
GLX_EXTENSIONS);
}
- __glXCalculateUsableExtensions(psc,
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
- (psc->driScreen != NULL),
-#else
- GL_FALSE,
+ is_direct_capable = (psc->driScreen != NULL);
#endif
- priv->minorVersion);
+ __glXCalculateUsableExtensions(psc, is_direct_capable);
}
return psc->effectiveGLXexts;
diff --git a/src/glx/glxextensions.c b/src/glx/glxextensions.c
index e649a70c55a..71f84936a70 100644
--- a/src/glx/glxextensions.c
+++ b/src/glx/glxextensions.c
@@ -644,13 +644,11 @@ __glXGetClientExtensions(Display *dpy)
* \param psc Pointer to GLX per-screen record.
* \param display_is_direct_capable True if the display is capable of
* direct rendering.
- * \param minor_version GLX minor version from the server.
*/
void
__glXCalculateUsableExtensions(struct glx_screen * psc,
- GLboolean display_is_direct_capable,
- int minor_version)
+ GLboolean display_is_direct_capable)
{
unsigned char server_support[__GLX_EXT_BYTES];
unsigned char usable[__GLX_EXT_BYTES];
@@ -664,29 +662,6 @@ __glXCalculateUsableExtensions(struct glx_screen * psc,
psc->serverGLXexts, server_support);
- /* This is a hack. Some servers support GLX 1.3 but don't export
- * all of the extensions implied by GLX 1.3. If the server claims
- * support for GLX 1.3, enable support for the extensions that can be
- * "emulated" as well.
- */
-#ifndef GLX_USE_APPLEGL
- if (minor_version >= 3) {
- SET_BIT(server_support, EXT_visual_info_bit);
- SET_BIT(server_support, EXT_visual_rating_bit);
- SET_BIT(server_support, SGI_make_current_read_bit);
- SET_BIT(server_support, SGIX_fbconfig_bit);
- SET_BIT(server_support, SGIX_pbuffer_bit);
-
- /* This one is a little iffy. GLX 1.3 doesn't incorporate all of this
- * extension. However, the only part that is not strictly client-side
- * is shared. That's the glXQueryContext / glXQueryContextInfoEXT
- * function.
- */
-
- SET_BIT(server_support, EXT_import_context_bit);
- }
-#endif
-
/* An extension is supported if the client-side (i.e., libGL) supports
* it and the "server" supports it. In this case that means that either
* the true server supports it or it is only for direct-rendering and
diff --git a/src/glx/glxextensions.h b/src/glx/glxextensions.h
index 18e834d196c..999db335717 100644
--- a/src/glx/glxextensions.h
+++ b/src/glx/glxextensions.h
@@ -263,8 +263,7 @@ extern GLboolean __glXExtensionBitIsEnabled(struct glx_screen *psc,
extern const char *__glXGetClientExtensions(Display *dpy);
extern void __glXCalculateUsableExtensions(struct glx_screen *psc,
GLboolean
- display_is_direct_capable,
- int server_minor_version);
+ display_is_direct_capable);
extern void __glXParseExtensionOverride(struct glx_screen *psc,
const char *override);
More information about the mesa-commit
mailing list