From ebc879014c8b3cba1db69f2d8f9006cc031ba350 Mon Sep 17 00:00:00 2001 From: Michel Dänzer Date: Thu, 28 Sep 2006 14:09:20 +0000 Subject: Add helper function that returns the current vblank sequence of a drawable. --- src/mesa/drivers/dri/common/vblank.c | 21 +++++++++++++++++++++ src/mesa/drivers/dri/common/vblank.h | 2 ++ 2 files changed, 23 insertions(+) (limited to 'src/mesa/drivers/dri') diff --git a/src/mesa/drivers/dri/common/vblank.c b/src/mesa/drivers/dri/common/vblank.c index 9c219ea37d..e7ed545f13 100644 --- a/src/mesa/drivers/dri/common/vblank.c +++ b/src/mesa/drivers/dri/common/vblank.c @@ -290,6 +290,27 @@ driGetVBlankInterval( const __DRIdrawablePrivate *priv, GLuint flags ) } +/****************************************************************************/ +/** + * Returns the current vertical blank sequence number of the given drawable. + */ + +void +driGetCurrentVBlank( const __DRIdrawablePrivate *priv, GLuint flags, + GLuint *vbl_seq ) +{ + drmVBlank vbl; + + vbl.request.type = DRM_VBLANK_RELATIVE; + if ( flags & VBLANK_FLAG_SECONDARY ) { + vbl.request.type |= DRM_VBLANK_SECONDARY; + } + vbl.request.sequence = 0; + + (void) do_wait( &vbl, vbl_seq, priv->driScreenPriv->fd ); +} + + /****************************************************************************/ /** * Waits for the vertical blank for use with glXSwapBuffers. diff --git a/src/mesa/drivers/dri/common/vblank.h b/src/mesa/drivers/dri/common/vblank.h index 00f0e7506f..ec83adc78d 100644 --- a/src/mesa/drivers/dri/common/vblank.h +++ b/src/mesa/drivers/dri/common/vblank.h @@ -53,6 +53,8 @@ extern void driDrawableInitVBlank ( __DRIdrawablePrivate *priv, GLuint flags, GLuint *vbl_seq ); extern unsigned driGetVBlankInterval( const __DRIdrawablePrivate *priv, GLuint flags ); +extern void driGetCurrentVBlank( const __DRIdrawablePrivate *priv, + GLuint flags, GLuint *vbl_seq ); extern int driWaitForVBlank( const __DRIdrawablePrivate *priv, GLuint * vbl_seq, GLuint flags, GLboolean * missed_deadline ); -- cgit v1.2.3