Xgl and direct rendering

David Reveman davidr at novell.com
Tue Feb 14 15:55:06 PST 2006


On Tue, 2006-02-14 at 17:59 -0500, Adam Jackson wrote:
> On Tuesday 14 February 2006 16:13, Michael Biebl wrote:
> > Adam Jackson wrote:
> >
> > [..]
> >
> > > Xgl has no direct rendering support (which is to say, clients connecting
> > > to Xgl will not get direct rendering).  Your problem assuredly lies
> > > elsewhere.
> >
> > Judging from Dave's nice little demo where Quake3 runs at decent speed,
> > some sort of direct rendering seems to be in use there. Does this maybe
> > depend on the used hardware and driver?
> 
> In that demo, while Xgl is a direct-rendering client of the backend X server, 
> q3 is an indirect-rendering client of Xgl.
> 
> The concepts of accelerated and direct rendering are orthogonal.  Direct 
> rendering is always accelerated (well, excluding software fallbacks).  
> Indirect rendering isn't always.  Xgl, and the aiglx branch of Xorg, 
> accelerate indirect rendering; stock Xorg doesn't.
> 
> In particular Xgl accelerates indirect rendering iff the backend's GL 
> implementation supports the GL_EXT_framebuffer_object extension; currently 
> only nvidia's closed driver does, support in DRI should happen soonish.  The 
> aiglx branch of Xorg accelerates indirect rendering pretty much all the time, 
> but doesn't integrate with Composite correctly yet - again, coming soon.

Pbuffers are currently used for GLX acceleration. Both ati's and
nvidia's driver can do that. Xgl can use FBO's for GLX acceleration but
it requires sharing of FBOs between contexts and that doesn't work with
nvidia's driver yet.

Without composite Xgl will always accelerate GLX. With composite but
without pbuffers and FBOs only the compositing manager will get GLX
acceleration.

-David




More information about the xorg mailing list