Pixman Projects

A list of pixman projects in need of volunteers. They are listed in order of specificity. Projects listed first are well-understood and somebody just needs to do them; projects listed last are not well understood and need research and experimentation.

Code Cleanup

Clean up how the code is formatted etc. Get rid of camel case names and "fb" prefixes.

Implement PIMAN_REPEAT_REFLECT for Images

Then remove cairo's hack at least for the image and xlib backends.

Test Suite

Write a test suite, probably based on rendercheck.

Use Floating Point Transformations Internally

The current fixpoint transformations do not have sufficient precision in many cases.

Implement X Server Pictures as Pixman Images

Currently the X server creates and destroys pixman_images on every rendering request. Fixing this is mostly an X server project, but changes to pixman may be required.

Optimizations

Optimizations of all parts of the code are welcome, but trapezoid rasterization, and transformations/filtering are particularly in need of performance improvements.

Move Core X Rendering Code Into Pixman

Move the remaining software rendering code for things like XCopyArea and XDrawLines from the xserver into pixman.

Higher Quality Image Filtering

Add better filtering, especially for downscaling transformations.

Higher-Precision Formats

It is desirable to support floating point channels, both 16 and 32 bit. This requires evaluating the compositing operators and finding out how what they mean when color channels are not confined to the [0, 1] interval.

Polygon Rasterization

Find out how to improve the support for polygons in pixman and XRender.

Make it a DRM Client

Enable pixman to render to drm buffer objects.

JIT Compiler

Dynamically generate machine (and possibly shader) code to improve both performance and maintainability.

Color Management/Gamma Correction

Find out what color management support is needed in cairo, XRender, and pixman.

Multithreading

Find out how to make X, pixman and cairo do multithreaded rendering.