@@ -1,5 +1,5 @@
AC_PREREQ([2.60])
-AC_INIT([DRI2Proto], [2.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([DRI2Proto], [2.4], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
@@ -35,7 +35,7 @@
#define DRI2_NAME "DRI2"
#define DRI2_MAJOR 1
-#define DRI2_MINOR 3
+#define DRI2_MINOR 4
#define DRI2NumberErrors 0
#define DRI2NumberEvents 2
@@ -298,7 +298,25 @@ typedef struct {
CARD32 sbc_hi B32;
CARD32 sbc_lo B32;
} xDRI2BufferSwapComplete;
-#define sz_xDRI2BufferSwapComplete 32
+#define sz_xDRI2BufferSwapComplete 32 /* This should have been 36 */
+
+/* Use a generic event so we can transmit the sbc_lo value as well */
+typedef struct {
+ BYTE type;
+ CARD8 extension;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* should always be 8 for this event */
+ CARD16 evtype B16;
+ CARD16 swap_event_type B16;
+ CARD32 drawable B32;
+ CARD32 ust_hi B32;
+ CARD32 ust_lo B32;
+ CARD32 msc_hi B32;
+ CARD32 msc_lo B32;
+ CARD32 sbc_hi B32;
+ CARD32 sbc_lo B32;
+} xDRI2BufferSwapComplete2;
+#define sz_xDRI2BufferSwapComplete2 38
typedef struct {
CARD8 type;
The existing swap complete event is too large to fit in an XEvent, so use a generic event instead. New servers and clients can use this structure to fully pass the swap count along with the media stamp counter, swap complete type, and timestamp. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> --- configure.ac | 2 +- dri2proto.h | 22 ++++++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-)