diff options
author | Eric Anholt <eric@anholt.net> | 2007-10-29 13:24:27 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2007-10-29 13:24:27 -0700 |
commit | b0edb9c38a6c63175e4fafdbb54102c4f4a94e2c (patch) | |
tree | 7dfa294a9c9f40f5f2e81a95dfd0d59cd4d6fbea /src/mesa/drivers/dri/common/dri_util.h | |
parent | 919f617d08a34d01dd916b08ca4f315bae84f21c (diff) | |
parent | ad8ee7db3b406b23136873fc8c87a22e4d8b94de (diff) |
Merge branch 'origin'
Diffstat (limited to 'src/mesa/drivers/dri/common/dri_util.h')
-rw-r--r-- | src/mesa/drivers/dri/common/dri_util.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/common/dri_util.h b/src/mesa/drivers/dri/common/dri_util.h index 91992a9a24..def0775839 100644 --- a/src/mesa/drivers/dri/common/dri_util.h +++ b/src/mesa/drivers/dri/common/dri_util.h @@ -206,6 +206,14 @@ struct __DriverAPIRec { */ void (*setTexOffset)(__DRIcontext *pDRICtx, GLint texname, unsigned long long offset, GLint depth, GLuint pitch); + + /** + * New version of GetMSC so we can pass drawable data to the low level + * DRM driver (e.g. pipe info). + */ + int (*GetDrawableMSC) ( __DRIscreenPrivate * priv, + __DRIdrawablePrivate *drawablePrivate, + int64_t *count); }; @@ -318,6 +326,32 @@ struct __DRIdrawablePrivateRec { /*@}*/ /** + * \name Vertical blank tracking information + * Used for waiting on vertical blank events. + */ + /*@{*/ + unsigned int vblSeq; + unsigned int vblFlags; + /*@}*/ + + /** + * \name Monotonic MSC tracking + * + * Low level driver is responsible for updating msc_base and + * vblSeq values so that higher level code can calculate + * a new msc value or msc target for a WaitMSC call. The new value + * will be: + * msc = msc_base + get_vblank_count() - vblank_base; + * + * And for waiting on a value, core code will use: + * actual_target = target_msc - msc_base + vblank_base; + */ + /*@{*/ + int64_t vblank_base; + int64_t msc_base; + /*@}*/ + + /** * Pointer to context to which this drawable is currently bound. */ __DRIcontextPrivate *driContextPriv; |