[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

pixman: Changes to 'debian-unstable'



 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 <jcristau@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 <jcristau@debian.org>  Sat, 27 Jul 2013 14:37:11 +0200
+ -- Julien Cristau <jcristau@debian.org>  Sat, 27 Jul 2013 21:40:48 +0200
 
 pixman (0.30.0-1) sid; urgency=low
 

commit 3c4dac9a7cc2ef87b67dc5b3ed0479475434af67
Author: Julien Cristau <jcristau@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 <jcristau@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.siamashka@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


Reply to: