[cairo] A new OpenGL backend for Cairo

Luca Barbieri luca at luca-barbieri.com
Wed Jun 10 10:09:59 PDT 2009


Hello,
I'd like to present a new OpenGL backend for Cairo, originally based
on Eric Anholt's GL backend, that I wrote for fun.

You can find it on git://repo.or.cz/cairo/gpu.git in the "gpu" branch.

It features:
- OpenGL code is separate, so that it can replaced with a Gallium
state tracker or DRM backends
- MSAA support on surfaces
- Use of MSAA or polygon smoothing to render a trapezoid mask on the GPU
- Generic component alpha compositing (currently used for subpixel
text), using a generalization of Eric Anholt's 2-pass OVER technique
- Hardware transforms
- Text rendering using a "cache surface" method like Glitz
- Region clipping using glClipPlane
- Correct support for unbounded operators in span, traps and glyph rendering
- Should (mostly) pass the testsuite if pixel-perfection issues are ignored

It is missing:
- Path clipping using depth/stencil buffers
- Accelerated linear/radial gradients
- Use of fragment/vertex shaders (the fixed function pipeline is good
enough for everything except gradients)
- Saturate operator support

Best regards,
Luca Barbieri


More information about the cairo mailing list