Re: [Pixman] Fwd: make error on pixman library

2012-12-14 Thread Søren Sandmann
Andrew Scott as.w...@gmail.com writes: /bin/bash: line 5:  5532 Floating point exception${dir}$tst FAIL: combiner-test Thanks for the bug report. Can we get a backtrace for it? That is, after running combiner-test once, run it again like this: ~/pixman/test% gdb .libs/lt-combiner-test

[Pixman] [PATCH/RFC 0/4] Fixes for bigger transforms (part 1)

2012-12-14 Thread Siarhei Siamashka
This is the initial preparation for fixing the following bugs: https://bugs.freedesktop.org/show_bug.cgi?id=46277 http://lists.freedesktop.org/archives/pixman/2012-December/002385.html Some notes about these patches: The division code used for projective transforms is rather slow and

[Pixman] [PATCH 1/4] Add higher precision pixman_transform_point_* functions

2012-12-14 Thread Siarhei Siamashka
The following new functions are added: pixman_transform_point_31_16_3d() - Calculates the product of a matrix and a vector multiplication. pixman_transform_point_31_16() - Calculates the product of a matrix and a vector multiplication. Then converts the homogenous resulting vector

[Pixman] [PATCH 2/4] configure.ac: Added detection for __float128 support

2012-12-14 Thread Siarhei Siamashka
GCC supports 128-bit floating point data type on some platforms (including but not limited to x86 and x86-64). This may be useful for tests, which need prefectly accurate reference implementations of certain algorithms. --- configure.ac | 16 1 files changed, 16 insertions(+),

[Pixman] [PATCH 3/4] test: Added matrix-test for testing projective transform accuracy

2012-12-14 Thread Siarhei Siamashka
This test uses __float128 data type when it is available for implementing a perfect reference implementation. The output from from pixman_transform_point_31_16() and pixman_transform_point_31_16_affine() is compared with the reference implementation to make sure that the rounding errors may only

[Pixman] [PATCH 4/4] Use pixman_transform_point_31_16() from pixman_transform_point()

2012-12-14 Thread Siarhei Siamashka
Old functions pixman_transform_point() and pixman_transform_point_3d() now become just wrappers for pixman_transform_point_31_16() and pixman_transform_point_31_16_3d(). Eventually their uses should be completely eliminated in the pixman code and replaced with their extended range counterparts.