On first readthrough, I thought "OMG, glXGetSyncValuesOML must segfault because the function pointer is never set." But, it's actually implemented with dri2DrawableGetMSC, so all is good.
Reviewed-by: Chad Versace <chad.vers...@linux.intel.com> On 09/25/2012 07:50 PM, Eric Anholt wrote: > It's been in place but never enabled since 2010. Note how one piece called a > DRI2 function, suggesting never being tested. > --- > src/glx/dri_glx.c | 61 > ----------------------------------------------------- > 1 file changed, 61 deletions(-) > > diff --git a/src/glx/dri_glx.c b/src/glx/dri_glx.c > index 03237d4..de777fb 100644 > --- a/src/glx/dri_glx.c > +++ b/src/glx/dri_glx.c > @@ -718,61 +718,6 @@ driDestroyScreen(struct glx_screen *base) > dlclose(psc->driver); > } > > -#ifdef __DRI_SWAP_BUFFER_COUNTER > - > -static int > -driDrawableGetMSC(struct glx_screen *base, __GLXDRIdrawable *pdraw, > - int64_t *ust, int64_t *msc, int64_t *sbc) > -{ > - struct dri_screen *psc = (struct dri_screen *) base; > - struct dri_drawable *pdp = (struct dri_drawable *) pdraw; > - > - if (pdp && psc->sbc && psc->msc) > - return ( (*psc->msc->getMSC)(psc->driScreen, msc) == 0 && > - (*psc->sbc->getSBC)(pdp->driDrawable, sbc) == 0 && > - __glXGetUST(ust) == 0 ); > -} > - > -static int > -driWaitForMSC(__GLXDRIdrawable *pdraw, int64_t target_msc, int64_t divisor, > - int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc) > -{ > - struct dri_screen *psc = (struct dri_screen *) pdraw->psc; > - struct dri_drawable *pdp = (struct dri_drawable *) pdraw; > - > - if (pdp != NULL && psc->msc != NULL) { > - ret = (*psc->msc->waitForMSC) (pdp->driDrawable, target_msc, > - divisor, remainder, msc, sbc); > - > - /* __glXGetUST returns zero on success and non-zero on failure. > - * This function returns True on success and False on failure. > - */ > - return ret == 0 && __glXGetUST(ust) == 0; > - } > -} > - > -static int > -driWaitForSBC(__GLXDRIdrawable *pdraw, int64_t target_sbc, int64_t *ust, > - int64_t *msc, int64_t *sbc) > -{ > - struct dri_drawable *pdp = (struct dri_drawable *) pdraw; > - > - if (pdp != NULL && psc->sbc != NULL) { > - ret = > - (*psc->sbc->waitForSBC) (pdp->driDrawable, target_sbc, msc, sbc); > - > - /* __glXGetUST returns zero on success and non-zero on failure. > - * This function returns True on success and False on failure. > - */ > - return ((ret == 0) && (__glXGetUST(ust) == 0)); > - } > - > - return DRI2WaitSBC(pdp->base.psc->dpy, > - pdp->base.xDrawable, target_sbc, ust, msc, sbc); > -} > - > -#endif > - > static int > driSetSwapInterval(__GLXDRIdrawable *pdraw, int interval) > { > @@ -899,12 +844,6 @@ driCreateScreen(int screen, struct glx_display *priv) > psp->createDrawable = driCreateDrawable; > psp->swapBuffers = driSwapBuffers; > > -#ifdef __DRI_SWAP_BUFFER_COUNTER > - psp->getDrawableMSC = driDrawableGetMSC; > - psp->waitForMSC = driWaitForMSC; > - psp->waitForSBC = driWaitForSBC; > -#endif > - > psp->setSwapInterval = driSetSwapInterval; > psp->getSwapInterval = driGetSwapInterval; > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev