[cairo] Re: [Mesa3d-dev] another point in the Glitz paper

Jon Smirl jonsmirl at yahoo.com
Thu Apr 22 13:38:28 PDT 2004

--- Bill Spitzak <spitzak at d2.com> wrote:
> I do not agree with people saying Cairo should be modified to better match 3D 
> hardware. I definatley want an interface where if I have a bitmapped image in 
> memory, I can get it on the screen with exactly one call, without creating 
> any objects. This is VITAL to making Cairo a programmer-friendly interface.

glBitmap() does that today. You don't have to use textures on the 3D hardware.

But which implementation would you rather have? One where the CPU gets tied up
copying the bitmap to AGP space or one when the GPU goes and fetches it with
DMA? Anyway that's not a case where Cairo isn't able to be accelerated.

Polygon lists are a better example. I don't see any way to accelerate that
except in two functions calls, teselate and draw simple. You can't do it in one
and cache the results, that makes for a memory management mess in the library,
and besides how can you tell that the programmer hasn't changed the list?

Drawing lines is another example. The main API would take vertex arrays. A
helper lib could record the moveto/drawto and build the vertex array for the

SVG could definitely use a helper lib that builds vertex arrays. I've watch lots
of SVG pictures draw because the vector implementation is so slow I can see it
paint. With vertex arrays and 3D hardware they would draw instantly even with
1000s of line segments.

Jon Smirl
jonsmirl at yahoo.com

Do you Yahoo!?
Yahoo! Photos: High-quality 4x6 digital prints for 25¢

More information about the cairo mailing list