summaryrefslogtreecommitdiff
path: root/x11/pixman
diff options
context:
space:
mode:
authorbjs <bjs>2008-10-15 00:56:45 +0000
committerbjs <bjs>2008-10-15 00:56:45 +0000
commit2ed652f61923fd19969fbbf3815d9bfe789b9c09 (patch)
tree8e5f45ba24f7d850c81aeed72e217f8208c67b53 /x11/pixman
parente0d41773af41f323f72d3ddfe2482658a458932e (diff)
downloadpkgsrc-2ed652f61923fd19969fbbf3815d9bfe789b9c09.tar.gz
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 (limited to 'x11/pixman')
-rw-r--r--x11/pixman/Makefile23
-rw-r--r--x11/pixman/distinfo12
-rw-r--r--x11/pixman/patches/patch-af19
-rw-r--r--x11/pixman/patches/patch-ag23
-rw-r--r--x11/pixman/patches/patch-ah32
-rw-r--r--x11/pixman/patches/patch-ai30
6 files changed, 73 insertions, 66 deletions
diff --git a/x11/pixman/Makefile b/x11/pixman/Makefile
index fd58f0c0498..202b3b2dd26 100644
--- a/x11/pixman/Makefile
+++ b/x11/pixman/Makefile
@@ -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 @@ PKG_DESTDIR_SUPPORT= user-destdir
GNU_CONFIGURE= yes
USE_LIBTOOL= yes
-USE_TOOLS+= pkg-config perl diff
+USE_TOOLS+= pkg-config perl
###
### XXX Quiet, please!
###
@@ -34,24 +33,12 @@ PKGCONFIG_OVERRIDE+= pixman-1-uninstalled.pc.in
### 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 --git a/x11/pixman/distinfo b/x11/pixman/distinfo
index c073b9cdf91..39006b651b2 100644
--- a/x11/pixman/distinfo
+++ b/x11/pixman/distinfo
@@ -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 --git a/x11/pixman/patches/patch-af b/x11/pixman/patches/patch-af
deleted file mode 100644
index 02c84e087fd..00000000000
--- a/x11/pixman/patches/patch-af
+++ /dev/null
@@ -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 --git a/x11/pixman/patches/patch-ag b/x11/pixman/patches/patch-ag
deleted file mode 100644
index ef3e633e827..00000000000
--- a/x11/pixman/patches/patch-ag
+++ /dev/null
@@ -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 --git a/x11/pixman/patches/patch-ah b/x11/pixman/patches/patch-ah
new file mode 100644
index 00000000000..04974c67d18
--- /dev/null
+++ b/x11/pixman/patches/patch-ah
@@ -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 --git a/x11/pixman/patches/patch-ai b/x11/pixman/patches/patch-ai
new file mode 100644
index 00000000000..3c34b80b566
--- /dev/null
+++ b/x11/pixman/patches/patch-ai
@@ -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,