[PATCH] Pack swap complete bits into an XEvent

Eric Anholt eric at anholt.net
Thu Apr 28 14:33:58 PDT 2011


On Thu, 28 Apr 2011 13:27:19 -0700, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> The defintion of the swap complete event was wrong; XEvents are only 32
> bytes long, and with padding the swap event was longer.  So use some
> creative packing to get all the bits we want transmitted.  Requires a
> proto version bump.
> ---
>  configure.ac |    2 +-
>  glxproto.h   |   13 +++++++++----
>  2 files changed, 10 insertions(+), 5 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..4a583c1 100644
> --- a/glxproto.h
> +++ b/glxproto.h
> @@ -1370,18 +1370,23 @@ typedef struct {
>      CARD32 unused2 B32;
>  } xGLXPbufferClobberEvent;
>  
> +/* Note, this struct is too large for an Xevent, I fail -- jbarnes
> + * So sbc_lo won't ever be sent.  We can use a generic event though without
> + * size restrictions, thus xGLXBufferSwapComplete2.
> + */

This comment doesn't seem to match the change.

>  typedef struct {
>      BYTE type;
> -    BYTE pad;
> +    BYTE sbc_lo0;
>      CARD16 sequenceNumber B16;
> -    CARD16 event_type B16;
> -    CARD32 drawable;
> +    CARD8 event_type;
> +    CARD8 sbc_lo8;
> +    CARD16 sbc_lo16 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;
>  } xGLXBufferSwapComplete;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20110428/224366ee/attachment.pgp>


More information about the xorg-devel mailing list