summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2012-04-20 15:00:31 +0100
committerDave Airlie <airlied@redhat.com>2012-04-20 15:00:31 +0100
commit0385a76a999c23e383aa6f89e4ed6daaad5fa054 (patch)
tree1cc4b4dc0981e87195477fe3297150f7b79d6fc9
parenta9eee35f14a45e17ad144b0ebd79e74ca13e4d5b (diff)
some flip event callbacks
-rw-r--r--hw/xfree86/dri2/dri2.h31
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