[Pixman] [RFC, PATCH 0/8] Floating point pipeline

Søren Sandmann Pedersen sandmann at cs.au.dk
Sat Aug 25 18:45:09 PDT 2012


The following patches change the 64 pipeline to use single precision
floating point channels instead.

The main benefit of this is that we get more range and precision so
that we can support HDR image formats such as half precision floating
point argb. Unlike 16 bpc, single precision floating point is enough
for most people's needs.

A secondary benefit is that this floating point pipeline could serve
as a reference implementation in the test suite such that we can relax
the requirement for bit-exact operation. 

Finally, floating point may be a better match for some SIMD
instruction sets such as AVX.

Downsides include that some chips do not have hardware floating point,
that computation on four floating point channels may be slower than on
four 16 bit channels for example due to more cache pressure or because
floating point is just slower. 

Also note that the linear->sRGB scanline store routine is probably
slower with these patches because it now uses a binary search instead
of a simple table lookup. If someone has better suggestions here, I'm
definitely interested.

Comments appreciated.


More information about the Pixman mailing list