On Thu, 28 Apr 2011 13:27:22 -0700, Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> wrote: > Use the new swap event structure packing and send it to the client if > possible. This means tracking client version information when clients > connect. If they don't support the new packing, they'll get the old > bits and fill junk into their sbc values when they receive the event. > If they do support the new packing, send off the right data. > --- 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; was that supposed to be wire.sbc_lo and not whacking wire.sbc_hi? At first I was confused by this whole thing -- why not rearrange the structure a bit if we're messing things up? Then I realized that this let the server emit the mostly-the-same event structure and only steal the other half of event_type for clients that understand the new 8-bit event_type protocol. Seems like a reasonable approach.
Attachment:
pgpjsHFcXBfBO.pgp
Description: PGP signature
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel