[PATCH/RFC] Move Trapezoids and Triangles code to pixman

Søren Sandmann Pedersen sandmann at cs.au.dk
Fri Feb 11 06:54:12 PST 2011


Hi,

What follows is six patches for pixman, and three patches for the X
server. Together they move the code for the Trapezoids and Triangles
requests into pixman. 

Moving them into pixman has some advantages:

- It is a performance improvement in itself since it avoids a call to
  image_from_pict() per trapezoid.

- There are various potential optimizations that could be done by
  rasterizing and compositing in one pass.

- There is a regression test suite for them.

The code is also available in git repositories here:

    pixman:
    http://cgit.freedesktop.org/~sandmann/pixman/log/?h=composite-trapezoids

    xserver:
    http://cgit.freedesktop.org/~sandmann/xserver/log/?h=traps

I sent a previous version here:

     http://lists.x.org/archives/xorg-devel/2011-January/018231.html

Changes since then:

        - Add pixman_add_triangles() and make fbAddTriangles() a call
          to that function.

	- A regression test for pixman_composite_trapezoids(). 

	- An optimization for opaque trapezoids that was lost from the
          server

	      http://lists.x.org/archives/xorg-devel/2011-January/018250.html

	  The regression test showed that the optimization in the
	  server is actually buggy, since it doesn't deal correctly
	  with clipping.

	- Fix for an issue where the new fbTrapezoids() didn't deal
          correctly with the case where maskFormat was None.

Søren



More information about the xorg-devel mailing list