diff options
Diffstat (limited to 'src/mesa/drivers/dri/common')
-rw-r--r-- | src/mesa/drivers/dri/common/dri_util.c | 16 | ||||
-rw-r--r-- | src/mesa/drivers/dri/common/dri_util.h | 11 | ||||
-rw-r--r-- | src/mesa/drivers/dri/common/vblank.c | 26 |
3 files changed, 6 insertions, 47 deletions
diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c index 01751582fa..9928a0f031 100644 --- a/src/mesa/drivers/dri/common/dri_util.c +++ b/src/mesa/drivers/dri/common/dri_util.c @@ -450,22 +450,13 @@ static void driSwapBuffers(__DRIdrawable *drawable) &rect, 1, GL_TRUE); } -static int driDrawableGetMSC( __DRIscreen *screen, void *drawablePrivate, +static int driDrawableGetMSC( __DRIscreen *screen, __DRIdrawable *drawable, int64_t *msc ) { __DRIscreenPrivate *sPriv = screen->private; + __DRIdrawablePrivate *dPriv = drawable->private; - return sPriv->DriverAPI.GetDrawableMSC( sPriv, drawablePrivate, msc ); -} - -/** - * Called directly from a number of higher-level GLX functions. - */ -static int driGetMSC( __DRIscreen *screen, void *drawablePrivate, int64_t *msc ) -{ - __DRIscreenPrivate *sPriv = screen->private; - - return sPriv->DriverAPI.GetMSC( sPriv, msc ); + return sPriv->DriverAPI.GetDrawableMSC(sPriv, dPriv, msc); } static int driWaitForMSC(__DRIdrawable *drawable, int64_t target_msc, @@ -496,7 +487,6 @@ static int driWaitForMSC(__DRIdrawable *drawable, int64_t target_msc, const __DRImediaStreamCounterExtension driMediaStreamCounterExtension = { { __DRI_MEDIA_STREAM_COUNTER, __DRI_MEDIA_STREAM_COUNTER_VERSION }, - driGetMSC, driWaitForMSC, driDrawableGetMSC, }; diff --git a/src/mesa/drivers/dri/common/dri_util.h b/src/mesa/drivers/dri/common/dri_util.h index fb2081412a..cb9e8909b7 100644 --- a/src/mesa/drivers/dri/common/dri_util.h +++ b/src/mesa/drivers/dri/common/dri_util.h @@ -184,12 +184,6 @@ struct __DriverAPIRec { /** - * Required if GLX_SGI_video_sync or GLX_OML_sync_control is - * supported. - */ - int (*GetMSC)( __DRIscreenPrivate * priv, int64_t * count ); - - /** * These are required if GLX_OML_sync_control is supported. */ /*@{*/ @@ -206,8 +200,9 @@ struct __DriverAPIRec { int x, int y, int w, int h); /** - * New version of GetMSC so we can pass drawable data to the low level - * DRM driver (e.g. pipe info). + * New version of GetMSC so we can pass drawable data to the low + * level DRM driver (e.g. pipe info). Required if + * GLX_SGI_video_sync or GLX_OML_sync_control is supported. */ int (*GetDrawableMSC) ( __DRIscreenPrivate * priv, __DRIdrawablePrivate *drawablePrivate, diff --git a/src/mesa/drivers/dri/common/vblank.c b/src/mesa/drivers/dri/common/vblank.c index 8f8d94853e..e81cc6886f 100644 --- a/src/mesa/drivers/dri/common/vblank.c +++ b/src/mesa/drivers/dri/common/vblank.c @@ -91,32 +91,6 @@ int driDrawableGetMSC32( __DRIscreenPrivate * priv, return ret; } -/** - * Get the current MSC refresh counter. - * - * Stores the 64-bit count of vertical refreshes since some (arbitrary) - * point in time in \c count. Unless the value wraps around, which it - * may, it will never decrease. - * - * \warning This function is called from \c glXGetVideoSyncSGI, which expects - * a \c count of type \c unsigned (32-bit), and \c glXGetSyncValuesOML, which - * expects a \c count of type \c int64_t (signed 64-bit). The kernel ioctl - * currently always returns a \c sequence of type \c unsigned. - * - * Since this function doesn't take a drawable, it may end up getting the MSC - * value from a pipe not associated with the caller's context, resuling in - * undesired behavior. - * - * \param priv Pointer to the DRI screen private struct. - * \param count Storage to hold MSC counter. - * \return Zero is returned on success. A negative errno value - * is returned on failure. - */ -int driGetMSC32( __DRIscreenPrivate * priv, int64_t * count ) -{ - return driDrawableGetMSC32(priv, NULL, count); -} - /****************************************************************************/ /** * Wait for a specified refresh count. This implements most of the |