From: Eric Anholt Date: Tue, 25 Sep 2012 19:15:19 +0000 (-0700) Subject: glx: Replace DRI2SwapInterval custom protocol with XCB. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=811602885bb5fa56f04927c29b882675e7ff311c;p=mesa.git glx: Replace DRI2SwapInterval custom protocol with XCB. Reviewed-by: Chad Versace --- diff --git a/src/glx/dri2.c b/src/glx/dri2.c index 0c49b83dbae..c77ef7b7142 100644 --- a/src/glx/dri2.c +++ b/src/glx/dri2.c @@ -585,23 +585,4 @@ void DRI2SwapBuffers(Display *dpy, XID drawable, CARD64 target_msc, } #endif -#ifdef X_DRI2SwapInterval -void DRI2SwapInterval(Display *dpy, XID drawable, int interval) -{ - XExtDisplayInfo *info = DRI2FindDisplay(dpy); - xDRI2SwapIntervalReq *req; - - XextSimpleCheckExtension (dpy, info, dri2ExtensionName); - - LockDisplay(dpy); - GetReq(DRI2SwapInterval, req); - req->reqType = info->codes->major_opcode; - req->dri2ReqType = X_DRI2SwapInterval; - req->drawable = drawable; - req->interval = interval; - UnlockDisplay(dpy); - SyncHandle(); -} -#endif - #endif /* GLX_DIRECT_RENDERING */ diff --git a/src/glx/dri2.h b/src/glx/dri2.h index 991ab377e9d..179e8f91cc6 100644 --- a/src/glx/dri2.h +++ b/src/glx/dri2.h @@ -89,7 +89,4 @@ extern void DRI2SwapBuffers(Display *dpy, XID drawable, CARD64 target_msc, CARD64 divisor, CARD64 remainder, CARD64 *count); -extern void -DRI2SwapInterval(Display *dpy, XID drawable, int interval); - #endif diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c index cb3412e8fc6..9a7dd7a56e0 100644 --- a/src/glx/dri2_glx.c +++ b/src/glx/dri2_glx.c @@ -812,11 +812,10 @@ dri2GetBuffersWithFormat(__DRIdrawable * driDrawable, return pdraw->buffers; } -#ifdef X_DRI2SwapInterval - static int dri2SetSwapInterval(__GLXDRIdrawable *pdraw, int interval) { + xcb_connection_t *c = XGetXCBConnection(pdraw->psc->dpy); struct dri2_drawable *priv = (struct dri2_drawable *) pdraw; GLint vblank_mode = DRI_CONF_VBLANK_DEF_INTERVAL_1; struct dri2_screen *psc = (struct dri2_screen *) priv->base.psc; @@ -838,7 +837,7 @@ dri2SetSwapInterval(__GLXDRIdrawable *pdraw, int interval) break; } - DRI2SwapInterval(priv->base.psc->dpy, priv->base.xDrawable, interval); + xcb_dri2_swap_interval(c, priv->base.xDrawable, interval); priv->swap_interval = interval; return 0; @@ -852,8 +851,6 @@ dri2GetSwapInterval(__GLXDRIdrawable *pdraw) return priv->swap_interval; } -#endif /* X_DRI2SwapInterval */ - static const __DRIdri2LoaderExtension dri2LoaderExtension = { {__DRI_DRI2_LOADER, __DRI_DRI2_LOADER_VERSION}, dri2GetBuffers, @@ -1147,10 +1144,8 @@ dri2CreateScreen(int screen, struct glx_display * priv) psp->getDrawableMSC = dri2DrawableGetMSC; psp->waitForMSC = dri2WaitForMSC; psp->waitForSBC = dri2WaitForSBC; -#ifdef X_DRI2SwapInterval psp->setSwapInterval = dri2SetSwapInterval; psp->getSwapInterval = dri2GetSwapInterval; -#endif __glXEnableDirectExtension(&psc->base, "GLX_OML_sync_control"); }