[cairo] glitz-glx

David Reveman c99drn at cs.umu.se
Mon May 24 09:46:07 PDT 2004

On Mon, 2004-05-24 at 08:18 -0700, Jon Smirl wrote:
> --- David Reveman <c99drn at cs.umu.se> wrote:
> > I've been regularly testing glitz with both software mesa 5.0.2 and
> > 6.0.1, I've been having no problems rendering differences. What things
> > do you get rendered differently? any screenshots?
> >  
> > -David
> > 
> On TEXT2 ATI proprietary shows the background. On SW mesa the background is
> black.

The background should be black in cairogears TEXT2 test. What background
is shown with ATI proprietary drivers?

> On the GRAD test the hardware radeon mesa driver is five times as fast as the
> ATI driver. When on all of the other tests it is about the same speed. Mesa is
> probably skipping something in that case.

ATI's proprietary driver is probably supporting pbuffers and glitz will
then use those for offscreen surfaces. For both drivers the gradient is
generated by cairo and then sent to video memory. For mesa, which lack
pbuffer support, glTexSubImage2D is used for this transfer as the
offscreen surface is a texture. For ATI, glDrawPixels is used to
transfer the pixel data directly to the pbuffer. It seems like
glDrawPixels this isn't as fast as TexSubImage and as we're not using a
render_texture extension (GLX_ATI_render_texture is buggy) we need to
transfer the pixel data from the pbuffer to a texture before we can use
this as a source surface in glitz_composite_trapezoids. This means a lot
of unnecessary work and extra memory consumption when using ATI's
proprietary driver.

well, good news! All this should be fixed if you use the latest version
of glitz and cairo. What I've done, is to introduce read-only surfaces
to glitz and make cairo efficiently use those whenever possible. I
committed these changes earlier today.

More information about the cairo mailing list