mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 05:08:08 +02:00
glx: Replace DRI2SwapInterval custom protocol with XCB.
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
This commit is contained in:
parent
7acf8ae0e1
commit
811602885b
3 changed files with 2 additions and 29 deletions
|
|
@ -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 */
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue