The existing event is too large for an XEvent meaning that the swap count is never sent to clients. Create a generic event instead for use by new clients & servers. Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> --- configure.ac | 2 +- glxproto.h | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletions(-) diff --git a/configure.ac b/configure.ac index d88e6df..a3047e4 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ([2.60]) -AC_INIT([GLProto], [1.4.12], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) +AC_INIT([GLProto], [1.4.13], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE diff --git a/glxproto.h b/glxproto.h index 0ff44e3..d026d4d 100644 --- a/glxproto.h +++ b/glxproto.h @@ -1384,6 +1384,24 @@ typedef struct { CARD32 sbc_lo B32; } xGLXBufferSwapComplete; +/* The above is actually too large to fit in an XEvent, so use a generic + * event so we can send the sbc count 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; +} xGLXBufferSwapComplete2; + /************************************************************************/ /* -- 1.7.4.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel