[Mesa-dev] glproto changes

Jesse Barnes jbarnes at virtuousgeek.org
Thu May 5 08:28:46 PDT 2011


On Wed, 4 May 2011 21:29:23 -0700
Jeremy Huddleston <jeremyhu at freedesktop.org> wrote:

> Yeah... so considering the comments in mesa-dev earlier today, I was really surprised to see that glproto and dri2proto were tagged today.  I think we need to brownbag retract and rethink this.

Damnit; right when Dave mentioned this last night I knew I had gone too
far in trying to make sure the fix was propagated.  I hate it when he's
right!

Yeah, having a rule that we can't touch existing proto structs makes
sense unless we want to do a major break.  It certainly makes pushing
out updates eaiser and preserves bisection...

> These changes break API.  I'm all for fixing the structs, but anything that breaks API (or worse, protocol) certainly warrants much more than the +0.0.1 version bump.  This also makes it impossible to build the current dev and current stable with the same protos installed.  I haven't looked at the details specifically, but I suspect that it also changes what is on the wire, meaning clients and the server may disagree depending on which glproto version they were using.  Is that the case?  If not, can't we solve this with some creative union{}ing?

In this case, what's on the wire is pretty much the same; if the client
and server don't match, you may get a different kind of corruption in
the affected field (0 vs some other value), but things are no worse.

> Either way, I think we should retract the glproto 1.4.13 release until we can get this straightened out.

Ok; fwiw my rationale was twofold:
  1) make sure master requires the new proto headers to avoid some of
     the trouble we've had in the past with ifdefs and untested paths
     (though again, the failure mode is benign in this case)
  2) make the proto breakage obvious even for older code; the fix is
     trivial

But I guess (2) is a bit much... after pushing I started having
nightmares about the input proto changes from awhile back.

Here are what the backwards compatible changes look like...  Look
better?

Thanks,
-- 
Jesse "Breaker of Builds" Barnes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dri2proto-compat-fix.patch
Type: text/x-patch
Size: 1241 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20110505/ffcebb88/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: glproto-compat-fix.patch
Type: text/x-patch
Size: 1213 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20110505/ffcebb88/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mesa-glx-compat-fix.patch
Type: text/x-patch
Size: 2177 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20110505/ffcebb88/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xserver-glproto-compat-fix.patch
Type: text/x-patch
Size: 2216 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20110505/ffcebb88/attachment-0003.bin>


More information about the xorg-devel mailing list