Last month we reported on the initial work being done to the Gallium3D state tracker to accelerate Cairo
as part of this year's X.Org Google Summer of Code project. Since then there's been more progress by Igor Trindade Oliveira, the GSoC student developer working on this state tracker.
As of today's status update
, the Gallium3D state tracker provides support for filling self-intersected polygons using the stencil buffer, stroke operation styles (such as join, caps, and dashes), mask, clip, and paint (of solid patterns) working. Igor is now working on the Cairo blend operations.
The goal of this project is to provide a Gallium3D state tracker to accelerate as much of Cairo as possible on the graphics processor that can be utilized by any driver that takes advantage of the Gallium3D driver architecture whether it is AMD's ATI Radeon Gallium3D driver, Nouveau for NVIDIA graphics cards, or even LLVMpipe
. Some of Cairo's more notable implementations are in use by GTK+, Mono, Mozilla's Gecko engine, the GTK+ port of WebKit, and InkScape.