glx: revert using nonexsisten XCB version of glXGetFBConfigsSGIX
authorRALOVICH, Kristóf <tade60@freemail.hu>
Sat, 8 Nov 2008 17:18:26 +0000 (18:18 +0100)
committerBrian Paul <brian.paul@tungstengraphics.com>
Wed, 26 Nov 2008 17:02:11 +0000 (10:02 -0700)
This uses a GLX VendorPrivate request. VendorPrivates are real GLX API
calls but use the same protocol request. XCB does not currently
support specific VendorPrivetes directly. See eg.:
http://lists.freedesktop.org/archives/xcb/2008-November/004036.html
for more information.

src/glx/x11/glxext.c

index 90db81ed2d85daca168a9ac1a7e338b8a80d8f04..729cf3aa86d0d3911594ec2523f8ac90c7888bd2 100644 (file)
@@ -581,63 +581,6 @@ 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;
@@ -680,7 +623,6 @@ out:
  out:
    UnlockDisplay(dpy);
    return psc->configs != NULL;
-#endif /* USE_XCB */
 }
 
 /*