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: