GLXPixmap and radeon driver

Michel Dänzer michel at
Thu Apr 3 01:16:47 PDT 2008

On Wed, 2008-04-02 at 21:10 +0100, Glynn Clements wrote:
> Michel Dänzer wrote:
> > > Actually, the symptoms suggest that this would have to be a
> > > client-side (libGL) issue, and the specific driver is only triggering
> > > the bug.
> > 
> > The error is generated because you're trying to render to a GLXPixmap,
> > which the drivers don't support without DRI2.
> Is it not possible for libGL to trap this? glXMakeCurrent returns a
> boolean status; it would be nice if it would just return false without
> requiring the application to deal with the error. But there may well
> be issues which I'm overlooking here.

You may have a point in this particular case, but the GLX spec defines
various other conditions where glXMakeCurrent may generate other X11
protocol errors anyway.

> > > > or maybe check for GLX >= 1.3 or something like that.
> > > 
> > > AFAICT, GLX Pixmaps are GLX 1.0. They certainly work with some
> > > implementations which claim GLX 1.2 (e.g. the "nv" driver and Cygwin's
> > > XWin.exe), 
> > 
> > Because they use software rendering.
> Right; although the error occurs in spite of the fact that I'm
> creating an indirect rendering context. Is this a consequence of

Yes, the limitation lies in the interface to the DRI driver, which is
used for indirect rendering as well with AIGLX.

> > Which points to another possible test for a workaround: if the context
> > uses direct rendering and GLX_EXT_texture_from_pixmap is in the server
> > and client extensions but not the GLX extensions, you probably can't
> > render to GLXPixmaps.
> The context is always created for indirect rendering:
> 	    ctx = glXCreateContext(dpy, vi, NULL, GL_FALSE);

Actually, the rest of the test should still work (so long as the
environment variable LIBGL_ALWAYS_INDIRECT isn't set). I agree it's kind
of an ugly hack in any case though. Maybe others have ideas for better

Earthling Michel Dänzer           |
Libre software enthusiast         |          Debian, X and DRI developer

More information about the xorg mailing list