[PATCH 0/5] Move Trapezoids and Triangles code to pixman
Søren Sandmann Pedersen
ssp at redhat.com
Wed Jan 12 05:49:10 PST 2011
What follows is three patches for pixman, and two patches for the X
server. Together they move the code for the Trapezoids and Triangles
requests into pixman. Trapezoids is the request that the cairo xlib
backend uses for essentially all its rendering.
By moving it into pixman, I think it will be possible to speed it up,
for example by doing the compositing and the rasterization in one pass
instead of through a temporary alpha mask.
While moving this code, I noticed that it has a bug: the compositing
is restricted the bounds of the set of trapezoids, but this is correct
only for operators where a zero source has no effect on the
destination. That is the case for OVER and ADD, the two most important
operators for this request, but not for SRC and various others.
I intend to fix that bug, once the code lands in pixman. Note that exa
and uxa both have copies of miTrapezoids() that also have the bug.
More information about the xorg-devel