debian/changelog | 5 - debian/patches/matrix-test-bigendian.diff | 97 ++++++++++++++++++++++++++++++ debian/patches/series | 2 3 files changed, 101 insertions(+), 3 deletions(-)
New commits: commit 3f0d759608326f716ad836a0102d770bff642513 Author: Julien Cristau <jcris...@debian.org> Date: Sat Jul 27 21:40:50 2013 +0200 Upload to unstable diff --git a/debian/changelog b/debian/changelog index c204de5..51fa860 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,10 @@ -pixman (0.30.0-2) UNRELEASED; urgency=low +pixman (0.30.0-2) sid; urgency=low * Disable silent Makefile rules. * Disable arm iwmmxt fast paths. It breaks the build. * Fix matrix-test on big endian (patch from Siarhei Siamashka). - -- Julien Cristau <jcris...@debian.org> Sat, 27 Jul 2013 14:37:11 +0200 + -- Julien Cristau <jcris...@debian.org> Sat, 27 Jul 2013 21:40:48 +0200 pixman (0.30.0-1) sid; urgency=low commit 3c4dac9a7cc2ef87b67dc5b3ed0479475434af67 Author: Julien Cristau <jcris...@debian.org> Date: Sat Jul 27 21:39:26 2013 +0200 Fix matrix-test on big endian Patch from Siarhei Siamashka. diff --git a/debian/changelog b/debian/changelog index ee08eeb..c204de5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ pixman (0.30.0-2) UNRELEASED; urgency=low * Disable silent Makefile rules. * Disable arm iwmmxt fast paths. It breaks the build. + * Fix matrix-test on big endian (patch from Siarhei Siamashka). -- Julien Cristau <jcris...@debian.org> Sat, 27 Jul 2013 14:37:11 +0200 diff --git a/debian/patches/matrix-test-bigendian.diff b/debian/patches/matrix-test-bigendian.diff new file mode 100644 index 0000000..c46ba5c --- /dev/null +++ b/debian/patches/matrix-test-bigendian.diff @@ -0,0 +1,97 @@ +From 9f0ea83b92c0bb92977f22c60e96ecfe71ff9a72 Mon Sep 17 00:00:00 2001 +From: Siarhei Siamashka <siarhei.siamas...@gmail.com> +Date: Sat, 27 Jul 2013 19:32:34 +0300 +Subject: [PATCH] test: fix matrix-test on big endian systems + +--- + test/matrix-test.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 51 insertions(+), 2 deletions(-) + +diff --git a/test/matrix-test.c b/test/matrix-test.c +index 8437dd2..0a5f203 100644 +--- a/test/matrix-test.c ++++ b/test/matrix-test.c +@@ -70,6 +70,53 @@ pixman_bool_t does_it_fit_fixed_48_16 (__float128 x) + + #endif + ++static inline uint32_t ++byteswap32 (uint32_t x) ++{ ++ return ((x & ((uint32_t)0xFF << 24)) >> 24) | ++ ((x & ((uint32_t)0xFF << 16)) >> 8) | ++ ((x & ((uint32_t)0xFF << 8)) << 8) | ++ ((x & ((uint32_t)0xFF << 0)) << 24); ++} ++ ++static inline uint64_t ++byteswap64 (uint64_t x) ++{ ++ return ((x & ((uint64_t)0xFF << 56)) >> 56) | ++ ((x & ((uint64_t)0xFF << 48)) >> 40) | ++ ((x & ((uint64_t)0xFF << 40)) >> 24) | ++ ((x & ((uint64_t)0xFF << 32)) >> 8) | ++ ((x & ((uint64_t)0xFF << 24)) << 8) | ++ ((x & ((uint64_t)0xFF << 16)) << 24) | ++ ((x & ((uint64_t)0xFF << 8)) << 40) | ++ ((x & ((uint64_t)0xFF << 0)) << 56); ++} ++ ++static void ++byteswap_transform (pixman_transform_t *t) ++{ ++ int i, j; ++ ++ if (is_little_endian ()) ++ return; ++ ++ for (i = 0; i < 3; i++) ++ for (j = 0; j < 3; j++) ++ t->matrix[i][j] = byteswap32 (t->matrix[i][j]); ++} ++ ++static void ++byteswap_vector_48_16 (pixman_vector_48_16_t *v) ++{ ++ int i; ++ ++ if (is_little_endian ()) ++ return; ++ ++ for (i = 0; i < 3; i++) ++ v->v[i] = byteswap64 (v->v[i]); ++} ++ + uint32_t + test_matrix (int testnum, int verbose) + { +@@ -90,6 +137,8 @@ test_matrix (int testnum, int verbose) + #endif + prng_randmemset (&ti, sizeof(ti), 0); + prng_randmemset (&vi, sizeof(vi), 0); ++ byteswap_transform (&ti); ++ byteswap_vector_48_16 (&vi); + + for (j = 0; j < 3; j++) + { +@@ -132,8 +181,6 @@ test_matrix (int testnum, int verbose) + else + transform_ok = pixman_transform_point_31_16 (&ti, &vi, &result_i); + +- crc32 = compute_crc32 (crc32, &result_i, sizeof(result_i)); +- + #ifdef HAVE_FLOAT128 + /* compare with a reference 128-bit floating point implementation */ + for (j = 0; j < 3; j++) +@@ -173,6 +220,8 @@ test_matrix (int testnum, int verbose) + } + } + #endif ++ byteswap_vector_48_16 (&result_i); ++ crc32 = compute_crc32 (crc32, &result_i, sizeof (result_i)); + } + return crc32; + } +-- +1.7.10.4 + diff --git a/debian/patches/series b/debian/patches/series index fdffa2a..dc72f90 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1 @@ -# placeholder +matrix-test-bigendian.diff -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1v3ati-0000sl...@vasks.debian.org