Tue Sep 16 21:22:34 2008 UTC ()
Add two patches from GIT:
- Fix bug in pixman_image_is_opaque().
- Fix for bug 17477 (see patch-ag).
While here, add missing .PHONY attribute for gen-symfile target.
PKGREVISION++, but no recursive dependency bump necessary.
(bjs)
diff -r1.19 -r1.20 pkgsrc/x11/pixman/Makefile
diff -r1.19 -r1.20 pkgsrc/x11/pixman/distinfo
diff -r0 -r1.4 pkgsrc/x11/pixman/patches/patch-af
diff -r0 -r1.1 pkgsrc/x11/pixman/patches/patch-ag
--- pkgsrc/x11/pixman/Makefile 2008/09/06 20:13:13 1.19
+++ pkgsrc/x11/pixman/Makefile 2008/09/16 21:22:34 1.20
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.19 2008/09/06 20:13:13 bjs Exp $
+# $NetBSD: Makefile,v 1.20 2008/09/16 21:22:34 bjs Exp $
#
DISTNAME= pixman-0.11.10
+PKGREVISION= 1
CATEGORIES= x11
MASTER_SITES= ${MASTER_SITE_XORG:=lib/}
EXTRACT_SUFX= .tar.bz2
@@ -14,7 +15,7 @@
GNU_CONFIGURE= yes
USE_LIBTOOL= yes
-USE_TOOLS+= pkg-config perl diff awk
+USE_TOOLS+= pkg-config perl diff
###
### XXX Quiet, please!
###
@@ -45,6 +46,7 @@
${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 }' | \
--- pkgsrc/x11/pixman/distinfo 2008/09/06 20:09:15 1.19
+++ pkgsrc/x11/pixman/distinfo 2008/09/16 21:22:34 1.20
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.19 2008/09/06 20:09:15 bjs Exp $
+$NetBSD: distinfo,v 1.20 2008/09/16 21:22:34 bjs Exp $
SHA1 (pixman-0.11.10.tar.bz2) = d4468ac46056185b2d0a0fe94bc9a2e496d44365
RMD160 (pixman-0.11.10.tar.bz2) = 8d7350e8d9e995a1f977e03e7a66cdd19e851cb0
@@ -8,3 +8,5 @@
SHA1 (patch-ac) = c798e52ecd8fc2a5788552df0a0842f524705126
SHA1 (patch-ad) = b2fa221652bc5f8bec000e071417b0180816a451
SHA1 (patch-ae) = 5690db2799e3750d54cf1cb20bd5734a245f8eb8
+SHA1 (patch-af) = cbd2be6b3f5ae398c38255b974542ab2e4546f52
+SHA1 (patch-ag) = 61b5714db4e849fa7d40279f606e86e261270975
$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;
$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);