summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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