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

pixman: Changes to 'upstream-unstable'



 configure.ac           |   10 ++++-----
 pixman/pixman-filter.c |    2 +
 pixman/pixman-vmx.c    |    2 +
 test/alpha-loop.c      |    7 +++---
 test/matrix-test.c     |   53 +++++++++++++++++++++++++++++++++++++++++++++++--
 5 files changed, 64 insertions(+), 10 deletions(-)

New commits:
commit f8a0812b1c4d5a4e24939da5ad6229f5adcafb34
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date:   Wed Aug 7 10:07:35 2013 -0400

    Pre-release version bump to 0.30.2

diff --git a/configure.ac b/configure.ac
index 24a53b4..3654d62 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,7 +54,7 @@ AC_PREREQ([2.57])
 
 m4_define([pixman_major], 0)
 m4_define([pixman_minor], 30)
-m4_define([pixman_micro], 1)
+m4_define([pixman_micro], 2)
 
 m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
 

commit b5167b8a5439d30bde8a178568cb3fe1c95b509a
Author: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Date:   Sat Jul 27 19:25:32 2013 +0300

    test: fix matrix-test on big endian systems

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;
 }

commit a82b95a26487344023623ead34f26af235dfd24e
Author: Andrea Canciani <ranma42@gmail.com>
Date:   Tue Jul 17 16:14:20 2012 +0200

    test: Fix build on MSVC
    
    The MSVC compiler is very strict about variable declarations after
    statements.
    
    Move all the declarations of each block before any statement in the
    same block to fix multiple instances of:
    
    alpha-loop.c(XX) : error C2275: 'pixman_image_t' : illegal use of this
    type as an expression

diff --git a/test/alpha-loop.c b/test/alpha-loop.c
index eca7615..4d4384d 100644
--- a/test/alpha-loop.c
+++ b/test/alpha-loop.c
@@ -8,6 +8,7 @@
 int
 main (int argc, char **argv)
 {
+    pixman_image_t *a, *d, *s;
     uint8_t *alpha;
     uint32_t *src, *dest;
 
@@ -17,9 +18,9 @@ main (int argc, char **argv)
     src = (uint32_t *)make_random_bytes (WIDTH * HEIGHT * 4);
     dest = (uint32_t *)make_random_bytes (WIDTH * HEIGHT * 4);
 
-    pixman_image_t *a = pixman_image_create_bits (PIXMAN_a8, WIDTH, HEIGHT, (uint32_t *)alpha, WIDTH);
-    pixman_image_t *d = pixman_image_create_bits (PIXMAN_a8r8g8b8, WIDTH, HEIGHT, dest, WIDTH * 4);
-    pixman_image_t *s = pixman_image_create_bits (PIXMAN_a2r10g10b10, WIDTH, HEIGHT, src, WIDTH * 4);
+    a = pixman_image_create_bits (PIXMAN_a8, WIDTH, HEIGHT, (uint32_t *)alpha, WIDTH);
+    d = pixman_image_create_bits (PIXMAN_a8r8g8b8, WIDTH, HEIGHT, dest, WIDTH * 4);
+    s = pixman_image_create_bits (PIXMAN_a2r10g10b10, WIDTH, HEIGHT, src, WIDTH * 4);
 
     fail_after (5, "Infinite loop detected: 5 seconds without progress\n");
 

commit 4c04a86c684d929ff734170eff8be8fea74b4c51
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date:   Thu Aug 1 07:19:21 2013 -0400

    Version bump to 0.30.1

diff --git a/configure.ac b/configure.ac
index e518ea4..24a53b4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,7 +54,7 @@ AC_PREREQ([2.57])
 
 m4_define([pixman_major], 0)
 m4_define([pixman_minor], 30)
-m4_define([pixman_micro], 0)
+m4_define([pixman_micro], 1)
 
 m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
 

commit 63004529526db1ba1ba5a95a93522fa0cf385ec5
Author: Alexander Troosh <trush@yandex.ru>
Date:   Tue Jun 11 15:55:34 2013 +0400

    Require GTK+ version >= 2.16
    
    I'm got bug in my system:
    
    lcc: "scale.c", line 374: warning: function "gtk_scale_add_mark" declared
              implicitly [-Wimplicit-function-declaration]
          gtk_scale_add_mark (GTK_SCALE (widget), 0.0, GTK_POS_LEFT, NULL);
          ^
    
      CCLD   scale
    scale.o: In function `app_new':
    (.text+0x23e4): undefined reference to `gtk_scale_add_mark'
    scale.o: In function `app_new':
    (.text+0x250c): undefined reference to `gtk_scale_add_mark'
    scale.o: In function `app_new':
    (.text+0x2634): undefined reference to `gtk_scale_add_mark'
    make[2]: *** [scale] Error 1
    make[2]: Target `all' not remade because of errors.
    
    $ pkg-config --modversion gtk+-2.0
    2.12.1
    
    The demos/scale.c use call to gtk_scale_add_mark() function from 2.16+
    version of GTK+. Need do support old GTK+ (rewrite scale.c) or simple
    demand of high version of GTK+, like this:

diff --git a/configure.ac b/configure.ac
index 5638044..e518ea4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -778,7 +778,7 @@ PKG_PROG_PKG_CONFIG
 
 if test $enable_gtk = yes ; then
    AC_CHECK_LIB([pixman-1], [pixman_version_string])
-   PKG_CHECK_MODULES(GTK, [gtk+-2.0 pixman-1])
+   PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.16 pixman-1])
 fi
 
 if test $enable_gtk = auto ; then
@@ -786,7 +786,7 @@ if test $enable_gtk = auto ; then
 fi
 
 if test $enable_gtk = auto ; then
-   PKG_CHECK_MODULES(GTK, [gtk+-2.0 pixman-1], [enable_gtk=yes], [enable_gtk=no])
+   PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.16 pixman-1], [enable_gtk=yes], [enable_gtk=no])
 fi
 
 AM_CONDITIONAL(HAVE_GTK, [test "x$enable_gtk" = xyes])

commit 02869a1229833a3272355f3d9e1206936b430fa1
Author: Matthieu Herrb <matthieu.herrb@laas.fr>
Date:   Sat Jun 8 18:07:20 2013 +0200

    configure.ac: Don't use '+=' since it's not POSIX
    
    Reviewed-by: Matt Turner <mattst88@gmail.com>
    Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr>

diff --git a/configure.ac b/configure.ac
index 895f6cb..5638044 100644
--- a/configure.ac
+++ b/configure.ac
@@ -616,7 +616,7 @@ AC_ARG_ENABLE(arm-iwmmxt2,
 if test "x$IWMMXT_CFLAGS" = "x" ; then
    IWMMXT_CFLAGS="-flax-vector-conversions -Winline -march=iwmmxt"
    if test $enable_iwmmxt2 != no ; then
-      IWMMXT_CFLAGS+="2"
+      IWMMXT_CFLAGS="${IWMMXT_CFLAGS}2"
    fi
 fi
 

commit 35da06c828049d90975c08655bb9b77184cdab68
Author: Markos Chandras <markos.chandras@imgtec.com>
Date:   Wed May 15 09:51:20 2013 -0700

    Use AC_LINK_IFELSE to check if the Loongson MMI code can link
    
    The Loongson code is compiled with -march=loongson2f to enable the MMI
    instructions, but binutils refuses to link object code compiled with
    different -march settings, leading to link failures later in the
    compile. This avoids that problem by checking if we can link code
    compiled for Loongson.
    
    Reviewed-by: Matt Turner <mattst88@gmail.com>
    Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>

diff --git a/configure.ac b/configure.ac
index ad1f47e..895f6cb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -279,7 +279,7 @@ AC_MSG_CHECKING(whether to use Loongson MMI assembler)
 
 xserver_save_CFLAGS=$CFLAGS
 CFLAGS=" $LS_CFLAGS $CFLAGS -I$srcdir"
-AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+AC_LINK_IFELSE([AC_LANG_SOURCE([[
 #ifndef __mips_loongson_vector_rev
 #error "Loongson Multimedia Instructions are only available on Loongson"
 #endif

commit e14f5a739f3ea1a3a6cff9bd5681677f05962314
Author: ingmar@irsoft.de <ingmar@irsoft.de>
Date:   Sat May 11 11:55:04 2013 +0200

    Fix broken build when HAVE_CONFIG_H is undefined, e.g. on Win32.
    
    Build fix for platforms without a generated config.h, for example Win32.

diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c
index 26b39d5..5ff7b6e 100644
--- a/pixman/pixman-filter.c
+++ b/pixman/pixman-filter.c
@@ -28,7 +28,9 @@
 #include <stdio.h>
 #include <math.h>
 #include <assert.h>
+#ifdef HAVE_CONFIG_H
 #include <config.h>
+#endif
 #include "pixman-private.h"
 
 typedef double (* kernel_func_t) (double x);
diff --git a/pixman/pixman-vmx.c b/pixman/pixman-vmx.c
index 6868704..f629003 100644
--- a/pixman/pixman-vmx.c
+++ b/pixman/pixman-vmx.c
@@ -25,7 +25,9 @@
  * Based on fbmmx.c by Owen Taylor, Søren Sandmann and Nicholas Miell
  */
 
+#ifdef HAVE_CONFIG_H
 #include <config.h>
+#endif
 #include "pixman-private.h"
 #include "pixman-combine32.h"
 #include <altivec.h>


Reply to: