diff options
author | Dave Airlie <airlied@redhat.com> | 2012-04-20 15:00:31 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-04-20 15:00:31 +0100 |
commit | 0385a76a999c23e383aa6f89e4ed6daaad5fa054 (patch) | |
tree | 1cc4b4dc0981e87195477fe3297150f7b79d6fc9 | |
parent | a9eee35f14a45e17ad144b0ebd79e74ca13e4d5b (diff) |
some flip event callbacks
-rw-r--r-- | hw/xfree86/dri2/dri2.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/hw/xfree86/dri2/dri2.h b/hw/xfree86/dri2/dri2.h index d81ce82ac..b60ea136f 100644 --- a/hw/xfree86/dri2/dri2.h +++ b/hw/xfree86/dri2/dri2.h @@ -336,4 +336,35 @@ extern _X_EXPORT void DRI2WaitMSCComplete(ClientPtr client, DrawablePtr pDraw, int frame, unsigned int tv_sec, unsigned int tv_usec); +/* Version 7 structure */ +enum DRI2FrameEventType { + DRI2_SWAP, + DRI2_FLIP, + DRI2_WAITMSC, +}; + +typedef struct _DRI2FrameEvent { + XID drawable_id; + ClientPtr client; + enum DRI2FrameEventType type; + uint64_t frame; + + /* for swaps & flips only */ + DRI2SwapEventPtr event_complete; + void *event_data; + DRI2BufferPtr front; + DRI2BufferPtr back; + void *driverPrivate; +} DRI2FrameEventRec, *DRI2FrameEventPtr; + +extern _X_EXPORT void DRI2FrameEventHandler(DRI2FrameEventPtr event, + unsigned int frame, + unsigned int tv_sec, + unsigned int tv_usec, + Bool can_flip); + +extern _X_EXPORT void DRI2FlipEventHandler(DRI2FrameEventPtr flip, + unsigned int frame, + unsigned int tv_sec, + unsigned int tv_usec); #endif |