[PATCH 0/5] Various GLX fixes

Ian Romanick idr at freedesktop.org
Thu Feb 28 14:30:02 PST 2013


On 02/25/2013 02:04 PM, Adam Jackson wrote:
> GLX's GetDrawableAttributes request works by simply dumping all the attributes
> the server knows about to the client, and filtering on the client side.  Sadly
> we only ever bothered to implement enough of that to make texture_from_pixmap
> work.  This series fills in the rest of the bits that GLX 1.3 requires, and
> then fixes an obvious sanity check bug around CreatePixmap.
>
> This _doesn't_ fix piglit's tests for glXQueryDrawable as currently written,
> because that test uses the GLX 1.2 API where Windows are always treated as
> valid GLX drawables, and that path seems to be a bit funny at the moment.  In

This sounds like we should add some tests.  If there's functionality 
required by GLX 1.4, we should have a test that uses the expected GLX 
1.4 functions.  Whether or not this means the existing test should be 
removed is, I think, another discussion.

I like it when bug fixes make tests change from failing to passing. :)

> our 1.2 compat we only autovivify a GLXWindow when MakeCurrent gets called on a
> Window, and for some reason that I haven't deeply investigated yet that doesn't
> seem to ever happen, or at least never result in a MakeCurrent protocol request
> to the server.  This is... kind of okay?  The GetDrawableAttributes request
> itself was only added in GLX 1.3 to support QueryDrawable and GetSelectedEvent,
> which themselves were only necessary because 1.3 is what added pbuffers (which
> have clobber events, and which can't be queried by core protocol requests.)
>
> So you can argue that's a bug in the test, since using the 1.2 MakeCurrent
> convention and then issuing a 1.3 request is a bit of an abuse.  But you can
> also argue this is a bug in the server, since in principle it's legal for 1.2
> and 1.3 clients to not merely coexist on one server but also to reference the
> same XIDs.
>
> Still, this is clearly less wrong than what we've got, and clients using the
> 1.3 API will find that glXQueryDrawable() actually works.
>
> This series is also available as the glx-for-1.14 branch of my xserver tree:
>
> http://cgit.freedesktop.org/~ajax/xserver/log/?h=glx-for-1.14
>
> - ajax
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
>



More information about the xorg-devel mailing list