On Tue, 3 May 2011 14:02:31 -0700 Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> wrote: > On Tue, 03 May 2011 13:54:38 -0700 > Keith Packard <keithp@xxxxxxxxxx> wrote: > > > On Tue, 3 May 2011 12:21:24 -0700, Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> wrote: > > > > > We only spec a 32 bit swap count, so drop the high sbc field. > > > > You're missing the explicit 16-bit padding field after 'event_type' > > > > The documented encoding > > http://www.opengl.org/registry/specs/INTEL/swap_event.txt needs to be > > fixed to match this, it has the padding at the end which leaves most of > > the structure mis-aligned. > > Right, another case where we updated the spec incorrectly then failed > to make the code match the broken definition (the complete enums also > need to match the final values, which are correct in the first part of > the spec). Yay for divergence. Fixed version below. -- Jesse Barnes, Intel Open Source Technology Center >From f5403828c68af0f12c79c0504df0a4781ca84b2b Mon Sep 17 00:00:00 2001 From: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Tue, 3 May 2011 12:14:10 -0700 Subject: [PATCH] glxproto: make GLX swap event struct match spec We only spec a 32 bit swap count, so drop the high sbc field. Also make the padding explicit (most compilers would have already done this since it's not a packed structure, but making it explicit should prevent surprises in the future). Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> --- configure.ac | 2 +- glxproto.h | 4 ++-- 2 files changed, 3 insertions(+), 3 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..dfa0647 100644 --- a/glxproto.h +++ b/glxproto.h @@ -1375,13 +1375,13 @@ typedef struct { BYTE pad; CARD16 sequenceNumber B16; CARD16 event_type B16; + CARD16 pad2; CARD32 drawable; CARD32 ust_hi B32; CARD32 ust_lo B32; CARD32 msc_hi B32; CARD32 msc_lo B32; - CARD32 sbc_hi B32; - CARD32 sbc_lo B32; + CARD32 sbc B32; } xGLXBufferSwapComplete; /************************************************************************/ -- 1.7.4.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel