Hi, 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. Thanks, Soren _______________________________________________ Pixman mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/pixman
