[PATCH] glxproto: make GLX swap event struct match spec
Jesse Barnes
jbarnes at virtuousgeek.org
Tue May 3 14:08:58 PDT 2011
On Tue, 3 May 2011 14:02:31 -0700
Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> On Tue, 03 May 2011 13:54:38 -0700
> Keith Packard <keithp at keithp.com> wrote:
>
> > On Tue, 3 May 2011 12:21:24 -0700, Jesse Barnes <jbarnes at virtuousgeek.org> 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 at virtuousgeek.org>
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 at virtuousgeek.org>
---
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
More information about the xorg-devel
mailing list