pixman: Branch 'master' - 2 commits

Søren Sandmann Pedersen sandmann at kemper.freedesktop.org
Tue Jan 31 06:18:41 PST 2012


 pixman/pixman-cpu.c         |   45 ++++++++++++++++++++++++++++++++++++++++++++
 pixman/pixman.h             |   12 +++--------
 test/composite-traps-test.c |    2 -
 3 files changed, 50 insertions(+), 9 deletions(-)

New commits:
commit e5555d7a749c90288463ed1c294f58963c607e52
Author: Søren Sandmann Pedersen <ssp at redhat.com>
Date:   Wed Jan 25 14:03:05 2012 -0500

    Revert "Reject trapezoids where top (botttom) is above (below) the edges"
    
    Cairo 1.10 will sometimes generate trapezoids like this, so we can't
    consider them invalid. Fixes bug 45009, reported by Michael Biebl.
    
    This reverts commit 2437ae80e5066dec9fe52f56b016bf136d7cea06.

diff --git a/pixman/pixman.h b/pixman/pixman.h
index 20ff496..18d9513 100644
--- a/pixman/pixman.h
+++ b/pixman/pixman.h
@@ -908,14 +908,10 @@ struct pixman_triangle
 };
 
 /* whether 't' is a well defined not obviously empty trapezoid */
-#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)->left.p2.y &&					\
-     (t)->bottom <= (t)->right.p2.y &&					\
-     (t)->top >= (t)->left.p1.y &&					\
-     (t)->top >= (t)->right.p1.y)
+#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)
 
 struct pixman_span_fix
 {
diff --git a/test/composite-traps-test.c b/test/composite-traps-test.c
index de518d8..ff03b50 100644
--- a/test/composite-traps-test.c
+++ b/test/composite-traps-test.c
@@ -251,6 +251,6 @@ test_composite (int      testnum,
 int
 main (int argc, const char *argv[])
 {
-    return fuzzer_test_main("composite traps", 40000, 0x4346479C,
+    return fuzzer_test_main("composite traps", 40000, 0xE3112106,
 			    test_composite, argc, argv);
 }
commit 35577876978e86783d49c500b4bb7ea1fc7fa89c
Author: Bobby Salazar <bobby8934 at gmail.com>
Date:   Thu Jan 26 13:19:18 2012 -0500

    iOS Runtime Detection Support For ARM NEON
    
    This patch adds runtime detection support for the ARM NEON fast paths
    for code compiled with the iOS SDK.

diff --git a/pixman/pixman-cpu.c b/pixman/pixman-cpu.c
index 4172e52..92942b2 100644
--- a/pixman/pixman-cpu.c
+++ b/pixman/pixman-cpu.c
@@ -30,6 +30,10 @@
 #include <windows.h>
 #endif
 
+#if defined(__APPLE__)
+#include "TargetConditionals.h"
+#endif
+
 #include "pixman-private.h"
 
 #ifdef USE_VMX
@@ -244,6 +248,47 @@ pixman_have_arm_neon (void)
 
 #endif /* USE_ARM_NEON */
 
+#elif (defined (__APPLE__) && defined(TARGET_OS_IPHONE)) /* iOS (iPhone/iPad/iPod touch) */
+
+/* Detection of ARM NEON on iOS is fairly simple because iOS binaries
+ * contain separate executable images for each processor architecture.
+ * So all we have to do is detect the armv7 architecture build. The
+ * operating system automatically runs the armv7 binary for armv7 devices
+ * and the armv6 binary for armv6 devices.
+ */
+
+pixman_bool_t
+pixman_have_arm_simd (void)
+{
+#if defined(USE_ARM_SIMD)
+    return TRUE;
+#else
+    return FALSE;
+#endif
+}
+
+pixman_bool_t
+pixman_have_arm_neon (void)
+{
+#if defined(USE_ARM_NEON) && defined(__ARM_NEON__)
+    /* This is an armv7 cpu build */
+    return TRUE;
+#else
+    /* This is an armv6 cpu build */
+    return FALSE;
+#endif
+}
+
+pixman_bool_t
+pixman_have_arm_iwmmxt (void)
+{
+#if defined(USE_ARM_IWMMXT)
+    return FALSE;
+#else
+    return FALSE;
+#endif
+}
+
 #elif defined (__linux__) || defined(__ANDROID__) || defined(ANDROID) /* linux ELF or ANDROID */
 
 static pixman_bool_t arm_has_v7 = FALSE;


More information about the xorg-commit mailing list