From ebc879014c8b3cba1db69f2d8f9006cc031ba350 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Michel=20D=C3=A4nzer?= Date: Thu, 28 Sep 2006 14:09:20 +0000 Subject: [PATCH] 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(+) diff --git a/src/mesa/drivers/dri/common/vblank.c b/src/mesa/drivers/dri/common/vblank.c index 9c219ea37d8..e7ed545f13c 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 00f0e7506f4..ec83adc78dd 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 ); -- 2.30.2