On Thu, Apr 28, 2011 at 13:27:22 -0700, Jesse Barnes wrote: > diff --git a/glx/glxdri2.c b/glx/glxdri2.c > index d979717..654b4ae 100644 > --- a/glx/glxdri2.c > +++ b/glx/glxdri2.c > @@ -192,8 +192,17 @@ __glXdriSwapEvent(ClientPtr client, void *data, int type, CARD64 ust, > wire.ust_lo = ust & 0xffffffff; > wire.msc_hi = msc >> 32; > wire.msc_lo = msc & 0xffffffff; > - wire.sbc_hi = sbc >> 32; > - wire.sbc_lo = sbc & 0xffffffff; > + wire.sbc_hi = 0; > + > + if (DRI2ClientSupportsSBC(client)) { > + wire.sbc_lo0 = sbc & 0xff; > + wire.sbc_lo8 = (sbc >> 8) & 0xff; > + wire.sbc_lo16 = (sbc >> 16) & 0xff; This one should be wire.sbc_lo16 = (sbc >> 16) & 0xffff; > + } else { > + wire.sbc_lo0 = 0; > + wire.sbc_lo8 = 0; > + wire.sbc_lo16 = 0; > + } > > WriteEventsToClient(client, 1, (xEvent *) &wire); > } Also I think big endian clients (when built against the old protocol header) will expect the low byte of event_type where you now have sbc_lo8, so you would need to swap them. Same for the dri2 event. [...] > diff --git a/include/protocol-versions.h b/include/protocol-versions.h > index 8692ded..8fde917 100644 > --- a/include/protocol-versions.h > +++ b/include/protocol-versions.h > @@ -57,7 +57,7 @@ > > /* GLX */ > #define SERVER_GLX_MAJOR_VERSION 1 > -#define SERVER_GLX_MINOR_VERSION 4 > +#define SERVER_GLX_MINOR_VERSION 5 > Do we get to bump the GLX protocol version? Somehow I thought that was khronos business. > /* Xinerama */ > #define SERVER_PANORAMIX_MAJOR_VERSION 1 Cheers, Julien _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel