pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/x11/pixman Update to pixman-0.12.0 from 0.11.10.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/e9fc0b635b33
branches:  trunk
changeset: 548423:e9fc0b635b33
user:      bjs <bjs%pkgsrc.org@localhost>
date:      Wed Oct 15 00:56:45 2008 +0000

description:
Update to pixman-0.12.0 from 0.11.10.

In addition to many bug fixes, new features [since approximately 0.10.0]
include:

        - New image formats with 10 bits per channel
        - SSE2 optimizations for many operations
        - Opacity based optimizations for operators
        - Altivec optimizations for many operations
        - A 32 bit region implementation

diffstat:

 x11/pixman/Makefile         |  23 +++++------------------
 x11/pixman/distinfo         |  12 ++++++------
 x11/pixman/patches/patch-af |  19 -------------------
 x11/pixman/patches/patch-ag |  23 -----------------------
 x11/pixman/patches/patch-ah |  32 ++++++++++++++++++++++++++++++++
 x11/pixman/patches/patch-ai |  30 ++++++++++++++++++++++++++++++
 6 files changed, 73 insertions(+), 66 deletions(-)

diffs (192 lines):

diff -r 74dc277b118f -r e9fc0b635b33 x11/pixman/Makefile
--- a/x11/pixman/Makefile       Wed Oct 15 00:01:44 2008 +0000
+++ b/x11/pixman/Makefile       Wed Oct 15 00:56:45 2008 +0000
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.20 2008/09/16 21:22:34 bjs Exp $
+# $NetBSD: Makefile,v 1.21 2008/10/15 00:56:45 bjs Exp $
 #
 
-DISTNAME=      pixman-0.11.10
-PKGREVISION=   1
+DISTNAME=      pixman-0.12.0
 CATEGORIES=    x11
 MASTER_SITES=  ${MASTER_SITE_XORG:=lib/}
 EXTRACT_SUFX=  .tar.bz2
@@ -15,7 +14,7 @@
 
 GNU_CONFIGURE= yes
 USE_LIBTOOL=   yes
-USE_TOOLS+=    pkg-config perl diff
+USE_TOOLS+=    pkg-config perl
 ###
 ### XXX Quiet, please!
 ###
@@ -34,24 +33,12 @@
 ###    tradition of portability, we'll opt to use libtool to export
 ###    the desired symbols, hiding the rest.
 ###
-###    To regenerate the libtool symfile, invoke the 'gen-symfile'
-###    target, making sure to define PKG_DEVELOPER.  This target
-###    requires nm, awk, and tee.  The new symfile will be in
-###    ${WRKDIR}.
-###
+###    Please, do not forget to ensure the currency of this file!
+
 MAKE_ENV+=     PIXMAN_SYMFILE=${PIXMAN_SYMFILE:Q}
 PIXMAN_SYMFILE=        ${WRKDIR}/pixman.sym
 
 post-extract:
        ${CP} ${FILESDIR}/pixman.sym ${WRKDIR}
 
-.if defined(NM) && defined(PKG_DEVELOPER)
-.PHONY: gen-symfile
-gen-symfile: build
-       ${NM} -DP ${WRKSRC}/pixman/.libs/libpixman-1.so |       \
-       ${AWK} '/^pixman/ { print $$1 }' |                      \
-       ${TOOLS_PLATFORM.tee} > ${WRKDIR}/pixman.sym &&         \
-       ${DIFF} ${FILESDIR}/pixman.sym ${WRKDIR}/pixman.sym
-.endif
-
 .include "../../mk/bsd.pkg.mk"
diff -r 74dc277b118f -r e9fc0b635b33 x11/pixman/distinfo
--- a/x11/pixman/distinfo       Wed Oct 15 00:01:44 2008 +0000
+++ b/x11/pixman/distinfo       Wed Oct 15 00:56:45 2008 +0000
@@ -1,12 +1,12 @@
-$NetBSD: distinfo,v 1.20 2008/09/16 21:22:34 bjs Exp $
+$NetBSD: distinfo,v 1.21 2008/10/15 00:56:45 bjs Exp $
 
-SHA1 (pixman-0.11.10.tar.bz2) = d4468ac46056185b2d0a0fe94bc9a2e496d44365
-RMD160 (pixman-0.11.10.tar.bz2) = 8d7350e8d9e995a1f977e03e7a66cdd19e851cb0
-Size (pixman-0.11.10.tar.bz2) = 364132 bytes
+SHA1 (pixman-0.12.0.tar.bz2) = 0c57c6c7e21e2545257068f52517c460e6e51ae4
+RMD160 (pixman-0.12.0.tar.bz2) = 7881189a1de21ec5d2e27936c65369f121dcb15f
+Size (pixman-0.12.0.tar.bz2) = 364262 bytes
 SHA1 (patch-aa) = 5129f82ee9907ed179315a4790667f0b825175bb
 SHA1 (patch-ab) = e76a306cbf2975dec3020cd7a310941b3085782d
 SHA1 (patch-ac) = c798e52ecd8fc2a5788552df0a0842f524705126
 SHA1 (patch-ad) = b2fa221652bc5f8bec000e071417b0180816a451
 SHA1 (patch-ae) = 5690db2799e3750d54cf1cb20bd5734a245f8eb8
-SHA1 (patch-af) = cbd2be6b3f5ae398c38255b974542ab2e4546f52
-SHA1 (patch-ag) = 61b5714db4e849fa7d40279f606e86e261270975
+SHA1 (patch-ah) = 88a444f4ed0bc12387c22751b4cd4ef7cf5a5126
+SHA1 (patch-ai) = 5af5d1287b73ae35d6bc5a6adb5ae4709bf57e67
diff -r 74dc277b118f -r e9fc0b635b33 x11/pixman/patches/patch-af
--- a/x11/pixman/patches/patch-af       Wed Oct 15 00:01:44 2008 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-$NetBSD: patch-af,v 1.4 2008/09/16 21:22:34 bjs Exp $
-
-git ref:00f3d6ef22b5a062323208fd540a17ca65dca42b (to vers 0.11.10)
- 
-Fix bug in pixman_image_is_opaque().
-
---- pixman/pixman-image.c.orig 2008-06-13 15:51:00.000000000 -0400
-+++ pixman/pixman-image.c
-@@ -818,6 +818,10 @@ pixman_image_is_opaque(pixman_image_t *i
- 
-         if (image->common.transform)
-             return FALSE;
-+
-+      /* Gradients do not necessarily cover the entire compositing area */
-+      if (image->type == LINEAR || image->type == CONICAL || image->type == RADIAL)
-+          return FALSE;
-     }
- 
-      return TRUE;
diff -r 74dc277b118f -r e9fc0b635b33 x11/pixman/patches/patch-ag
--- a/x11/pixman/patches/patch-ag       Wed Oct 15 00:01:44 2008 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-$NetBSD: patch-ag,v 1.1 2008/09/16 21:22:34 bjs Exp $
-
-Fix for bug 17477.
-
-over_2x128 was changing the alphaLo and alphaHi arguments, causing
-stripes.
-
---- pixman/pixman-sse2.c.orig  2008-09-03 19:29:40.000000000 -0400
-+++ pixman/pixman-sse2.c
-@@ -244,9 +244,11 @@ invertColors_2x128 (__m128i dataLo, __m1
- static inline void
- over_2x128 (__m128i* srcLo, __m128i* srcHi, __m128i* alphaLo, __m128i* alphaHi, __m128i* dstLo, __m128i* dstHi)
- {
--    negate_2x128 (*alphaLo, *alphaHi, alphaLo, alphaHi);
-+    __m128i t1, t2;
- 
--    pixMultiply_2x128 (dstLo, dstHi, alphaLo, alphaHi, dstLo, dstHi);
-+    negate_2x128 (*alphaLo, *alphaHi, &t1, &t2);
-+
-+    pixMultiply_2x128 (dstLo, dstHi, &t1, &t2, dstLo, dstHi);
- 
-     *dstLo = _mm_adds_epu8 (*srcLo, *dstLo);
-     *dstHi = _mm_adds_epu8 (*srcHi, *dstHi);
diff -r 74dc277b118f -r e9fc0b635b33 x11/pixman/patches/patch-ah
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/x11/pixman/patches/patch-ah       Wed Oct 15 00:56:45 2008 +0000
@@ -0,0 +1,32 @@
+$NetBSD: patch-ah,v 1.1 2008/10/15 00:56:45 bjs Exp $
+
+
+1c5de7b05831b3d66821707276b71974a232f5c7
+
+Move _mm_empty() to correct place
+
+The "fbComposeSetupSSE2()" function is guarding most of its code
+depending on the capabilities of the CPU, but unfortunately the call
+to "_mm_empty()" is not part of this code path but executed
+unconditionally.  This results in a "illegal instruction" crash on
+non-MMX / non-SSE capable CPUs caused by the the "emms" instruction
+(embedded in "_mm_empty()").
+
+Fix bug 17729.
+
+--- pixman/pixman-sse2.c.orig  2008-09-17 09:50:49.000000000 -0400
++++ pixman/pixman-sse2.c
+@@ -2357,11 +2357,11 @@ fbComposeSetupSSE2(void)
+         pixman_composeFunctions.combineC[PIXMAN_OP_ADD] = sse2CombineAddC;
+ 
+         pixman_composeFunctions.combineMaskU = sse2CombineMaskU;
++
++      _mm_empty();
+     }
+ 
+     initialized = TRUE;
+-
+-    _mm_empty();
+ }
+ 
+ 
diff -r 74dc277b118f -r e9fc0b635b33 x11/pixman/patches/patch-ai
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/x11/pixman/patches/patch-ai       Wed Oct 15 00:56:45 2008 +0000
@@ -0,0 +1,30 @@
+$NetBSD: patch-ai,v 1.1 2008/10/15 00:56:45 bjs Exp $
+
+69dadf231283fadcb117b4d9e799e8633a0e4dab
+
+force alignment of arg pointer in potential SSE users
+
+Fix for bug 17824
+
+--- pixman/pixman-utils.c.orig 2008-09-09 08:28:23.000000000 -0400
++++ pixman/pixman-utils.c
+@@ -62,6 +62,9 @@ pixman_transform_point_3d (pixman_transf
+     return TRUE;
+ }
+ 
++#if defined(USE_SSE2) && defined(__GNUC__) && !defined(__x86_64__) && !defined(__amd64__)
++__attribute__((__force_align_arg_pointer__))
++#endif
+ PIXMAN_EXPORT pixman_bool_t
+ pixman_blt (uint32_t *src_bits,
+           uint32_t *dst_bits,
+@@ -156,6 +159,9 @@ pixman_fill32 (uint32_t *bits,
+     }
+ }
+ 
++#if defined(USE_SSE2) && defined(__GNUC__) && !defined(__x86_64__) && !defined(__amd64__)
++__attribute__((__force_align_arg_pointer__))
++#endif
+ PIXMAN_EXPORT pixman_bool_t
+ pixman_fill (uint32_t *bits,
+            int stride,



Home | Main Index | Thread Index | Old Index