[cairo] glitz-glx

Jon Smirl jonsmirl at yahoo.com
Mon May 24 10:32:06 PDT 2004

--- David Reveman <c99drn at cs.umu.se> wrote:
> 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?

It had the space one. Maybe the buffer wasn't cleared from the previous test?

> > 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.

glDrawPixels is much slower than glTexSubImage2D. DrawPixels goes through AGP
and SubImage is all on the card.

Isn't there a way in GLX to point the context's read buffer and write buffer to
two different buffers and then copy? Read would be pbuffer and write the main
buffer. ATI definitely supports pbuffers.

> 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.
> -David

Jon Smirl
jonsmirl at yahoo.com

Do you Yahoo!?
Yahoo! Domains – Claim yours for only $14.70/year

More information about the cairo mailing list