diff options
| author | RALOVICH, Kristóf <tade60@freemail.hu> | 2008-11-27 12:53:43 +0100 | 
|---|---|---|
| committer | Brian Paul <brian.paul@tungstengraphics.com> | 2008-11-27 07:20:38 -0700 | 
| commit | 8c2b4b33c583401e2efe02db859d5af31872921d (patch) | |
| tree | 080c174d22c8398bffe88b48950b724fd9c79f03 | |
| parent | 80d1531ebefe78aaa09a0378d0369963dd925132 (diff) | |
Revert "glx: xcbified visual and FBConfig choosing"
This reverts commit 62688f11355cfa865d420755aa159875b425cc9b.
| -rw-r--r-- | 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 90db81ed2d..be6edf9b19 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;  | 
