aboutsummaryrefslogtreecommitdiff
path: root/pixman
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-11-07 08:23:50 +0100
committermarha <marha@users.sourceforge.net>2013-11-07 08:23:50 +0100
commit51c3a4e7b08aa904ff2af52a9f6f7adc748b361f (patch)
tree38fa447dc8970b83becb4d35487d2bb2e565301b /pixman
parentd79b6645eb21ca82d506ef038b8ea71a1e431f3f (diff)
parent31fd4c5654595a4763e492e4ec26f66ca3a8a405 (diff)
downloadvcxsrv-51c3a4e7b08aa904ff2af52a9f6f7adc748b361f.tar.gz
vcxsrv-51c3a4e7b08aa904ff2af52a9f6f7adc748b361f.tar.bz2
vcxsrv-51c3a4e7b08aa904ff2af52a9f6f7adc748b361f.zip
Merge remote-tracking branch 'origin/released'
* origin/released: libxtrans fontconfig mesa xserver pixman xkbcomp git update 4 nov 2013 Conflicts: xorg-server/Xext/shm.c xorg-server/os/xstrans.c
Diffstat (limited to 'pixman')
-rw-r--r--pixman/configure.ac18
-rw-r--r--pixman/pixman/pixman-matrix.c2
-rw-r--r--pixman/pixman/pixman.h2
-rw-r--r--pixman/test/trap-crasher.c14
4 files changed, 32 insertions, 4 deletions
diff --git a/pixman/configure.ac b/pixman/configure.ac
index 8a3b62268..5e512be8e 100644
--- a/pixman/configure.ac
+++ b/pixman/configure.ac
@@ -54,7 +54,7 @@ AC_PREREQ([2.57])
m4_define([pixman_major], 0)
m4_define([pixman_minor], 31)
-m4_define([pixman_micro], 1)
+m4_define([pixman_micro], 3)
m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
@@ -1044,6 +1044,22 @@ fi
AC_MSG_RESULT($support_for_float128)
+dnl =====================================
+dnl __builtin_clz
+
+support_for_builtin_clz=no
+
+AC_MSG_CHECKING(for __builtin_clz)
+AC_LINK_IFELSE([AC_LANG_SOURCE([[
+unsigned int x = 11; int main (void) { return __builtin_clz(x); }
+]])], support_for_builtin_clz=yes)
+
+if test x$support_for_builtin_clz = xyes; then
+ AC_DEFINE([HAVE_BUILTIN_CLZ], [], [Whether the compiler supports __builtin_clz])
+fi
+
+AC_MSG_RESULT($support_for_builtin_clz)
+
dnl ==================
dnl libpng
diff --git a/pixman/pixman/pixman-matrix.c b/pixman/pixman/pixman-matrix.c
index 89b96826b..4032c137a 100644
--- a/pixman/pixman/pixman-matrix.c
+++ b/pixman/pixman/pixman-matrix.c
@@ -37,7 +37,7 @@
static force_inline int
count_leading_zeros (uint32_t x)
{
-#ifdef __GNUC__
+#ifdef HAVE_BUILTIN_CLZ
return __builtin_clz (x);
#else
int n = 0;
diff --git a/pixman/pixman/pixman.h b/pixman/pixman/pixman.h
index 7ff9fb52a..509ba5e53 100644
--- a/pixman/pixman/pixman.h
+++ b/pixman/pixman/pixman.h
@@ -1030,7 +1030,7 @@ struct pixman_triangle
#define pixman_trapezoid_valid(t) \
((t)->left.p1.y != (t)->left.p2.y && \
(t)->right.p1.y != (t)->right.p2.y && \
- (int) ((t)->bottom - (t)->top) > 0)
+ ((t)->bottom > (t)->top))
struct pixman_span_fix
{
diff --git a/pixman/test/trap-crasher.c b/pixman/test/trap-crasher.c
index 4e4cac297..77be1c98b 100644
--- a/pixman/test/trap-crasher.c
+++ b/pixman/test/trap-crasher.c
@@ -5,7 +5,7 @@ int
main()
{
pixman_image_t *dst;
- pixman_trapezoid_t traps[1] = {
+ pixman_trapezoid_t traps[] = {
{
2147483646,
2147483647,
@@ -18,6 +18,18 @@ main()
{ 0, 2147483647 }
}
},
+ {
+ 32768,
+ - 2147483647,
+ {
+ { 0, 0 },
+ { 0, 2147483647 }
+ },
+ {
+ { 65536, 0 },
+ { 0, 2147483647 }
+ }
+ },
};
dst = pixman_image_create_bits (PIXMAN_a8, 1, 1, NULL, -1);