Mesa (master): Revert "glx: xcbified visual and FBConfig choosing"

Brian Paul brianp at kemper.freedesktop.org
Thu Nov 27 14:21:02 UTC 2008


Module: Mesa
Branch: master
Commit: 8c2b4b33c583401e2efe02db859d5af31872921d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8c2b4b33c583401e2efe02db859d5af31872921d

Author: RALOVICH, Kristóf <tade60 at freemail.hu>
Date:   Thu Nov 27 12:53:43 2008 +0100

Revert "glx: xcbified visual and FBConfig choosing"

This reverts commit 62688f11355cfa865d420755aa159875b425cc9b.

---

 src/glx/x11/glxext.c |  109 +++-----------------------------------------------
 1 files changed, 6 insertions(+), 103 deletions(-)

diff --git a/src/glx/x11/glxext.c b/src/glx/x11/glxext.c
index 90db81e..be6edf9 100644
--- a/src/glx/x11/glxext.c
+++ b/src/glx/x11/glxext.c
@@ -465,14 +465,8 @@ __glXInitializeVisualConfigFromTags(__GLcontextModes * config, int count,
 }
 
 static __GLcontextModes *
-createConfigsFromProperties(
-#ifdef USE_XCB
-   uint32_t* properties,
-#else
-   Display *dpy,
-#endif
-   int nvisuals, int nprops,
-   int screen, GLboolean tagged_only)
+createConfigsFromProperties(Display * dpy, int nvisuals, int nprops,
+                            int screen, GLboolean tagged_only)
 {
    INT32 buf[__GLX_TOTAL_CONFIG], *props;
    unsigned prop_size;
@@ -502,11 +496,7 @@ createConfigsFromProperties(
    /* Read each config structure and convert it into our format */
    m = modes;
    for (i = 0; i < nvisuals; i++) {
-#ifdef USE_XCB
-      memcpy(props, &properties[i*nprops], prop_size);
-#else
       _XRead(dpy, (char *) props, prop_size);
-#endif
       /* Older X servers don't send this so we default it here. */
       m->drawableType = GLX_WINDOW_BIT;
       __glXInitializeVisualConfigFromTags(m, nprops, props,
@@ -524,34 +514,8 @@ createConfigsFromProperties(
 static GLboolean
 getVisualConfigs(Display * dpy, __GLXdisplayPrivate * priv, int screen)
 {
-   __GLXscreenConfigs *psc;
-#ifdef USE_XCB
-   xcb_connection_t* c = XGetXCBConnection(dpy);
-   xcb_glx_get_visual_configs_reply_t* reply = NULL;
-   uint32_t* props;
-
-   psc = priv->screenConfigs + screen;
-   psc->visuals = NULL;
-
-   reply = xcb_glx_get_visual_configs_reply(c,
-                                            xcb_glx_get_visual_configs(c,
-                                                                       screen),
-                                            NULL);
-   if(!reply)
-      goto out;
-
-   props = xcb_glx_get_visual_configs_property_list(reply);
-   psc->visuals = createConfigsFromProperties(props,
-                                              reply->num_visuals,
-                                              reply->num_properties,
-                                              screen,
-                                              GL_FALSE);
-   free(reply);
-
-out:
-   return psc->visuals != NULL;
-#else /* USE_XCB */
    xGLXGetVisualConfigsReq *req;
+   __GLXscreenConfigs *psc;
    xGLXGetVisualConfigsReply reply;
 
    LockDisplay(dpy);
@@ -574,78 +538,19 @@ out:
  out:
    UnlockDisplay(dpy);
    return psc->visuals != NULL;
-#endif /* USE_XCB */
 }
 
 static GLboolean
 getFBConfigs(Display * dpy, __GLXdisplayPrivate * priv, int screen)
 {
-   __GLXscreenConfigs *psc;
-#ifdef USE_XCB
-   xcb_connection_t* c = XGetXCBConnection(dpy);
-   xcb_glx_get_fb_configs_reply_t* reply_fb = NULL;
-   xcb_glx_get_fb_configs_sgix_reply_t* reply_sgix = NULL;
-   uint32_t num_fb_configs;
-   uint32_t num_properties;
-   uint32_t* props;
-
-   psc = priv->screenConfigs + screen;
-   psc->serverGLXexts = __glXQueryServerString(dpy, priv->majorOpcode,
-                                               screen, GLX_EXTENSIONS);
-   psc->configs = NULL;
-
-   if (atof(priv->serverGLXversion) >= 1.3) {
-      reply_fb = xcb_glx_get_fb_configs_reply(c,
-                                              xcb_glx_get_fb_configs(c,
-                                                                     screen),
-                                              NULL);
-      if (!reply_fb)
-         goto out;
-
-      num_fb_configs = reply_fb->num_fb_configs;
-      num_properties = reply_fb->num_properties * 2;
-      props = xcb_glx_get_fb_configs_property_list(reply_fb);
-   } else if (strstr(psc->serverGLXexts, "GLX_SGIX_fbconfig") != NULL) {
-      reply_sgix = xcb_glx_get_fb_configs_sgix_reply(
-         c,
-         xcb_glx_get_fb_configs_sgix(c,
-                                     65540, /* X_GLXvop_GetFBConfigsSGIX */
-                                     0,
-                                     screen),
-         NULL);
-
-      if (!reply_sgix)
-         goto out;
-
-      num_fb_configs = reply_sgix->num_fb_configs;
-      num_properties = reply_sgix->num_properties * 2;
-      props = xcb_glx_get_fb_configs_sgix_property_list(reply_sgix);
-   } else
-      goto out;
-
-   psc->configs = createConfigsFromProperties(props,
-                                              num_fb_configs,
-                                              num_properties,
-                                              screen,
-                                              GL_TRUE);
-
-   if (reply_fb)
-      free(reply_fb);
-
-   if (reply_sgix)
-      free(reply_sgix);
-
-out:
-   return psc->configs != NULL;
-#else /* USE_XCB */
    xGLXGetFBConfigsReq *fb_req;
    xGLXGetFBConfigsSGIXReq *sgi_req;
    xGLXVendorPrivateWithReplyReq *vpreq;
    xGLXGetFBConfigsReply reply;
+   __GLXscreenConfigs *psc;
 
    psc = priv->screenConfigs + screen;
-   psc->serverGLXexts = __glXQueryServerString(dpy, priv->majorOpcode,
-                                               screen, GLX_EXTENSIONS);
+   psc->serverGLXexts = __glXQueryServerString(dpy, priv->majorOpcode, screen, GLX_EXTENSIONS);
 
    LockDisplay(dpy);
 
@@ -680,7 +585,6 @@ out:
  out:
    UnlockDisplay(dpy);
    return psc->configs != NULL;
-#endif /* USE_XCB */
 }
 
 /*
@@ -704,8 +608,7 @@ AllocAndFetchScreenConfigs(Display * dpy, __GLXdisplayPrivate * priv)
    memset(psc, 0, screens * sizeof(__GLXscreenConfigs));
    priv->screenConfigs = psc;
 
-   priv->serverGLXversion = __glXQueryServerString(dpy, priv->majorOpcode,
-                                                   0, GLX_VERSION);
+   priv->serverGLXversion = __glXQueryServerString(dpy, priv->majorOpcode, 0, GLX_VERSION);
    if (priv->serverGLXversion == NULL) {
       FreeScreenConfigs(priv);
       return GL_FALSE;




More information about the mesa-commit mailing list