Sat May 12 17:38:32 2012 UTC ()
Update to 0.24.4, provided by Francois Tigeot in private mail:

0.23.2:

Check for working mmap()
test: Fix compilation on win32
Add a "noop" fast path for operations which require no or almost no data
processing
Fix a few typos in pixman-combine.c.template
Move many operations from various files into the new noop one.
Delete some unused variables in examples, mmx and sse2 functions
Replace arguments to composite functions
Silence autoconf warnings
blitters-test: Make common formats more likely to be tested
ARM: Fix two bugs in neon_composite_over_n_8888_0565_ca()
Replace boolean arguments with flags for bilinear fast path template
REPEAT_NORMAL support for bilinear fast path template
sse2: Declare bilinear src_8888_8888 REPEAT_NORMAL composite function
ARM: Add REPEAT_NORMAL functions to bilinear BIND macros
Enable REPEAT_NORMAL bilinear fast path entries
Bilinear REPEAT_NORMAL source line extension for too short src_width

0.23.4:

radial: Improve documentation and naming
C fast path for scaled src_x888_8888 with nearest filter
ARM: workaround binutils bug #12931 (code sections alignment)
radial: Fix typos and trailing whitespace
ARM NEON: Standard fast path out_reverse_8_8888
Fix lcg_rand_u32() to return 32 random bits
New test of pixman_region_contains_{rectangle,point}
Speed up pixman_region{,32}_contains_rectangle()
Use find_box_for_y() in pixman_region_contains_point() too
In pixman_image_create_bits() allow images larger than 2GB
win32: Build benchmarks
Workaround bug in llvm-gcc
ARM: better NEON instruction scheduling of over_n_8888 and over_n_8_8888
bits: optimise fetching width==1 repeats

0.23.6:

test: New function to save a pixman image to .png
Use pkg-config to determine the flags to use with libpng
Various build system fixes and improvements
test: Use smaller boxes in region_contains_test()
Add a generic unorm_to_unorm() conversion utility
Add general pixel converter
Add initial version of the MAKE_ACCESSORS() macro
Use MAKE_ACCESSORS() to generate accessors for various image formats
Remove x and y coordinates from analyze_extents() and compute_sample_extents()
Split computation of sample area into own function
Eliminate compute_sample_extents() function
test: Occasionally use a BILINEAR filter in blitters-test
test: better coverage for BILINEAR->NEAREST filter optimization
Strength-reduce BILINEAR filter to NEAREST filter for identity transforms
BILINEAR->NEAREST filter optimization for simple rotation and translation
lowlevel-blt: add over_x888_8_8888
Various MMX fixes
mmx: rename USE_MMX to USE_X86_MMX
mmx: prepare pixman-mmx.c to be compiled for ARM/iwmmxt
mmx: compile on ARM for iwmmxt optimizations
mmx: optimize unaligned 64-bit ARM/iwmmxt loads
Make sure iwMMXt is only detected on ARM
sse2: Macros for assembling bilinear interpolation code fractions
sse2: Bilinear scaled over_8888_8888 and over_8888_8_8888
init/fini functions for pixman_image_t
Add new fast path flag FAST_PATH_BITS_IMAGE
Add src, mask, and dest flags to the composite args struct
Simple repeat fast path

0.23.8:

Add stable release / development snapshot to draft release notes
gradient walker: Correct types and fix formatting
Use sentinels instead of special casing first and last stops
Simplify gradient_walker_reset()
ARM: NEON: Some cleanup of bilinear scanline functions
ARM: NEON: Bilinear macro template for instruction scheduling
ARM: NEON: Replace old bilinear scanline generator with new template
ARM: NEON: Instruction scheduling of bilinear over_8888_8888 and over_8888_8_8888
ARM: NEON: Standard fast path src_n_8_8888 and src_n_8_8
ARM: NEON: Fix assembly typo error in src_n_8_8888
Fix use of uninitialized fields reported by valgrind

0.24.0:

Add definitions of INT64_MIN and INT64_MAX
Change MMX ldq_u to return _m64 instead of forcing all callers to cast

0.24.2:

Don't use non-POSIX test
Android Runtime Detection Support For ARM NEON
gradient-walker: For NONE repeats, when x < 0 or x > 1, set both colors to 0
autogen.sh: Support GNOME Build API
pixman-image.c: Fix typo in pixman_image_set_transform()
Fix some signed overflow bugs
Reject trapezoids where top (botttom) is above (below) the edges
Make mmx code compatible with Solaris Studio 12.3 compilers
Fix bugs with alpha maps

0.24.4:

iOS Runtime Detection Support For ARM NEON
Revert "Reject trapezoids where top (botttom) is above (below) the edges"


(wiz)
diff -r1.45 -r1.46 pkgsrc/x11/pixman/Makefile
diff -r1.44 -r1.45 pkgsrc/x11/pixman/distinfo
diff -r1.12 -r1.13 pkgsrc/x11/pixman/patches/patch-aa
diff -r1.12 -r1.13 pkgsrc/x11/pixman/patches/patch-ab
diff -r1.13 -r0 pkgsrc/x11/pixman/patches/patch-ae
diff -r1.1 -r1.2 pkgsrc/x11/pixman/patches/patch-bb
diff -r1.1 -r1.2 pkgsrc/x11/pixman/patches/patch-bc

cvs diff -r1.45 -r1.46 pkgsrc/x11/pixman/Makefile (expand / switch to unified diff)

--- pkgsrc/x11/pixman/Makefile 2011/10/27 16:52:51 1.45
+++ pkgsrc/x11/pixman/Makefile 2012/05/12 17:38:32 1.46
@@ -1,17 +1,16 @@ @@ -1,17 +1,16 @@
1# $NetBSD: Makefile,v 1.45 2011/10/27 16:52:51 drochner Exp $ 1# $NetBSD: Makefile,v 1.46 2012/05/12 17:38:32 wiz Exp $
2 2
3DISTNAME= pixman-0.22.2 3DISTNAME= pixman-0.24.4
4PKGREVISION= 2 
5CATEGORIES= x11 4CATEGORIES= x11
6MASTER_SITES= ${MASTER_SITE_XORG:=lib/} 5MASTER_SITES= ${MASTER_SITE_XORG:=lib/}
7EXTRACT_SUFX= .tar.bz2 6EXTRACT_SUFX= .tar.bz2
8 7
9MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= http://xorg.freedesktop.org/ 9HOMEPAGE= http://xorg.freedesktop.org/
11COMMENT= Library of low-level pixel manipulation routines 10COMMENT= Library of low-level pixel manipulation routines
12LICENSE= mit 11LICENSE= mit
13 12
14PKG_DESTDIR_SUPPORT= user-destdir 13PKG_DESTDIR_SUPPORT= user-destdir
15 14
16GNU_CONFIGURE= yes 15GNU_CONFIGURE= yes
17USE_LIBTOOL= yes 16USE_LIBTOOL= yes

cvs diff -r1.44 -r1.45 pkgsrc/x11/pixman/distinfo (expand / switch to unified diff)

--- pkgsrc/x11/pixman/distinfo 2011/12/31 15:37:55 1.44
+++ pkgsrc/x11/pixman/distinfo 2012/05/12 17:38:32 1.45
@@ -1,14 +1,13 @@ @@ -1,14 +1,13 @@
1$NetBSD: distinfo,v 1.44 2011/12/31 15:37:55 bsiegert Exp $ 1$NetBSD: distinfo,v 1.45 2012/05/12 17:38:32 wiz Exp $
2 2
3SHA1 (pixman-0.22.2.tar.bz2) = ad2b828ce4280472f5933d8bb5f0f4d583aed7f3 3SHA1 (pixman-0.24.4.tar.bz2) = 683450f917015366ac7918fc517c76801aeff374
4RMD160 (pixman-0.22.2.tar.bz2) = 13dbab02962cf45995aaebde4ec9a952ca8e6e76 4RMD160 (pixman-0.24.4.tar.bz2) = 1df92f83b0b944e8a493a8cdf6318ebc6e778914
5Size (pixman-0.22.2.tar.bz2) = 461319 bytes 5Size (pixman-0.24.4.tar.bz2) = 468400 bytes
6SHA1 (patch-aa) = 019368315a48e7f928a0d85c340da7a5131504ec 6SHA1 (patch-aa) = 7096dcb1f999ad4c9c0797bbdc5a4dd1f994275d
7SHA1 (patch-ab) = dd31ac6ff6dffb5a29b9d2ac372be55900e773f6 7SHA1 (patch-ab) = 85ece7667c4c24adf92c1a2ec25bb2e12e83d0e4
8SHA1 (patch-ad) = 2841fb543df1a180a263a770d1934924a4648d8d 8SHA1 (patch-ad) = 2841fb543df1a180a263a770d1934924a4648d8d
9SHA1 (patch-ae) = 3bec7a866692b06fd2d9a1376d36277b2d618e14 
10SHA1 (patch-af) = 76a94e09758f1d6e3055430c82fbcdaaefe0436d 9SHA1 (patch-af) = 76a94e09758f1d6e3055430c82fbcdaaefe0436d
11SHA1 (patch-ba) = 9bd8a7fd0cfbd280df06d69838d3d10ab1b51e23 10SHA1 (patch-ba) = 9bd8a7fd0cfbd280df06d69838d3d10ab1b51e23
12SHA1 (patch-bb) = 5017e070676b9e4613e02fe4b9d129c08abe6c7a 11SHA1 (patch-bb) = bf9a4725e5dc20af7cafbedd212f6e2e2d78fa71
13SHA1 (patch-bc) = 6a95770dca37d1ed0379a0b0313589a44ae0b4b0 12SHA1 (patch-bc) = 7e1ba2de0c29a8f89f3549f4b3b8d1dd9e4fbaa5
14SHA1 (patch-bd) = cd2feeedffd78dbcc16b327d346afc0b14c78136 13SHA1 (patch-bd) = cd2feeedffd78dbcc16b327d346afc0b14c78136

cvs diff -r1.12 -r1.13 pkgsrc/x11/pixman/patches/Attic/patch-aa (expand / switch to unified diff)

--- pkgsrc/x11/pixman/patches/Attic/patch-aa 2011/01/26 19:25:55 1.12
+++ pkgsrc/x11/pixman/patches/Attic/patch-aa 2012/05/12 17:38:32 1.13
@@ -1,11 +1,13 @@ @@ -1,11 +1,13 @@
1$NetBSD: patch-aa,v 1.12 2011/01/26 19:25:55 drochner Exp $ 1$NetBSD: patch-aa,v 1.13 2012/05/12 17:38:32 wiz Exp $
2 2
3--- pixman/Makefile.am.orig 2011-01-19 12:13:01.000000000 +0000 3--- pixman/Makefile.am.orig 2012-01-27 15:45:27.000000000 +0000
4+++ pixman/Makefile.am 4+++ pixman/Makefile.am
5@@ -1,5 +1,5 @@ 5@@ -2,7 +2,7 @@ include $(top_srcdir)/pixman/Makefile.so
 6
6 lib_LTLIBRARIES = libpixman-1.la 7 lib_LTLIBRARIES = libpixman-1.la
 8
7-libpixman_1_la_LDFLAGS = -version-info $(LT_VERSION_INFO) -no-undefined @PTHREAD_LDFLAGS@  9-libpixman_1_la_LDFLAGS = -version-info $(LT_VERSION_INFO) -no-undefined @PTHREAD_LDFLAGS@
8+libpixman_1_la_LDFLAGS = -version-info $(LT_VERSION_INFO) -no-undefined @PTHREAD_LDFLAGS@ -export-symbols $(PIXMAN_SYMFILE) 10+libpixman_1_la_LDFLAGS = -version-info $(LT_VERSION_INFO) -no-undefined @PTHREAD_LDFLAGS@ -export-symbols $(PIXMAN_SYMFILE)
9 libpixman_1_la_LIBADD = @PTHREAD_LIBS@ @DEP_LIBS@ -lm 11 libpixman_1_la_LIBADD = @PTHREAD_LIBS@ @DEP_LIBS@ -lm
10 libpixman_1_la_SOURCES = \ 12 libpixman_1_la_SOURCES = $(libpixman_sources) $(libpixman_headers)
11 pixman.h \ 13

cvs diff -r1.12 -r1.13 pkgsrc/x11/pixman/patches/Attic/patch-ab (expand / switch to unified diff)

--- pkgsrc/x11/pixman/patches/Attic/patch-ab 2011/01/26 19:25:55 1.12
+++ pkgsrc/x11/pixman/patches/Attic/patch-ab 2012/05/12 17:38:32 1.13
@@ -1,13 +1,13 @@ @@ -1,13 +1,13 @@
1$NetBSD: patch-ab,v 1.12 2011/01/26 19:25:55 drochner Exp $ 1$NetBSD: patch-ab,v 1.13 2012/05/12 17:38:32 wiz Exp $
2 2
3--- pixman/Makefile.in.orig 2011-01-19 13:22:55.000000000 +0000 3--- pixman/Makefile.in.orig 2012-02-09 00:03:39.000000000 +0000
4+++ pixman/Makefile.in 4+++ pixman/Makefile.in
5@@ -358,7 +358,7 @@ top_srcdir = @top_srcdir@ 5@@ -429,7 +429,7 @@ BUILT_SOURCES = \
6 lib_LTLIBRARIES = libpixman-1.la 6 lib_LTLIBRARIES = libpixman-1.la
7 libpixman_1_la_LDFLAGS = -version-info $(LT_VERSION_INFO) \ 7 libpixman_1_la_LDFLAGS = -version-info $(LT_VERSION_INFO) \
8 -no-undefined @PTHREAD_LDFLAGS@ $(am__append_2) \ 8 -no-undefined @PTHREAD_LDFLAGS@ $(am__append_2) \
9- $(am__append_7) 9- $(am__append_7) $(am__append_14)
10+ $(am__append_7) -export-symbols $(PIXMAN_SYMFILE) 10+ $(am__append_7) $(am__append_14) -export-symbols $(PIXMAN_SYMFILE)
11 libpixman_1_la_LIBADD = @PTHREAD_LIBS@ @DEP_LIBS@ -lm $(am__append_3) \ 11 libpixman_1_la_LIBADD = @PTHREAD_LIBS@ @DEP_LIBS@ -lm $(am__append_3) \
12 $(am__append_5) $(am__append_8) $(am__append_10) \ 12 $(am__append_5) $(am__append_8) $(am__append_10) \
13 $(am__append_12) 13 $(am__append_12) $(am__append_15)

File Deleted: pkgsrc/x11/pixman/patches/Attic/patch-ae

cvs diff -r1.1 -r1.2 pkgsrc/x11/pixman/patches/Attic/patch-bb (expand / switch to unified diff)

--- pkgsrc/x11/pixman/patches/Attic/patch-bb 2011/10/27 16:52:51 1.1
+++ pkgsrc/x11/pixman/patches/Attic/patch-bb 2012/05/12 17:38:32 1.2
@@ -1,12 +1,12 @@ @@ -1,12 +1,12 @@
1$NetBSD: patch-bb,v 1.1 2011/10/27 16:52:51 drochner Exp $ 1$NetBSD: patch-bb,v 1.2 2012/05/12 17:38:32 wiz Exp $
2 2
3--- pixman/pixman-private.h.orig 2011-07-04 20:22:40.000000000 +0000 3--- pixman/pixman-private.h.orig 2012-02-09 00:00:47.000000000 +0000
4+++ pixman/pixman-private.h 4+++ pixman/pixman-private.h
5@@ -595,6 +595,7 @@ _pixman_iter_get_scanline_noop (pixman_i 5@@ -636,6 +636,7 @@ _pixman_iter_get_scanline_noop (pixman_i
6 #define FAST_PATH_ROTATE_90_TRANSFORM (1 << 21) 6 #define FAST_PATH_SAMPLES_COVER_CLIP_NEAREST (1 << 23)
7 #define FAST_PATH_ROTATE_180_TRANSFORM (1 << 22) 7 #define FAST_PATH_SAMPLES_COVER_CLIP_BILINEAR (1 << 24)
8 #define FAST_PATH_ROTATE_270_TRANSFORM (1 << 23) 8 #define FAST_PATH_BITS_IMAGE (1 << 25)
9+#define FAST_PATH_NEEDS_WORKAROUND (1 << 24) 9+#define FAST_PATH_NEEDS_WORKAROUND (1 << 26)
10  10
11 #define FAST_PATH_PAD_REPEAT \ 11 #define FAST_PATH_PAD_REPEAT \
12 (FAST_PATH_NO_NONE_REPEAT | \ 12 (FAST_PATH_NO_NONE_REPEAT | \

cvs diff -r1.1 -r1.2 pkgsrc/x11/pixman/patches/Attic/patch-bc (expand / switch to unified diff)

--- pkgsrc/x11/pixman/patches/Attic/patch-bc 2011/10/27 16:52:51 1.1
+++ pkgsrc/x11/pixman/patches/Attic/patch-bc 2012/05/12 17:38:32 1.2
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1$NetBSD: patch-bc,v 1.1 2011/10/27 16:52:51 drochner Exp $ 1$NetBSD: patch-bc,v 1.2 2012/05/12 17:38:32 wiz Exp $
2 2
3--- pixman/pixman.c.orig 2011-07-04 20:22:40.000000000 +0000 3--- pixman/pixman.c.orig 2012-01-27 15:45:27.000000000 +0000
4+++ pixman/pixman.c 4+++ pixman/pixman.c
5@@ -162,6 +162,57 @@ optimize_operator (pixman_op_t op, 5@@ -162,6 +162,57 @@ optimize_operator (pixman_op_t op,
6 return operator_table[op].opaque_info[is_dest_opaque | is_source_opaque]; 6 return operator_table[op].opaque_info[is_dest_opaque | is_source_opaque];
7 } 7 }
8  8
9+static void 9+static void
10+apply_workaround (pixman_image_t *image, 10+apply_workaround (pixman_image_t *image,
11+ int32_t * x, 11+ int32_t * x,
12+ int32_t * y, 12+ int32_t * y,
13+ uint32_t ** save_bits, 13+ uint32_t ** save_bits,
14+ int * save_dx, 14+ int * save_dx,
15+ int * save_dy) 15+ int * save_dy)
16+{ 16+{
@@ -50,58 +50,58 @@ $NetBSD: patch-bc,v 1.1 2011/10/27 16:52 @@ -50,58 +50,58 @@ $NetBSD: patch-bc,v 1.1 2011/10/27 16:52
50+static void 50+static void
51+unapply_workaround (pixman_image_t *image, uint32_t *bits, int dx, int dy) 51+unapply_workaround (pixman_image_t *image, uint32_t *bits, int dx, int dy)
52+{ 52+{
53+ if (image && (image->common.flags & FAST_PATH_NEEDS_WORKAROUND)) 53+ if (image && (image->common.flags & FAST_PATH_NEEDS_WORKAROUND))
54+ { 54+ {
55+ image->bits.bits = bits; 55+ image->bits.bits = bits;
56+ pixman_region32_translate (&image->common.clip_region, dx, dy); 56+ pixman_region32_translate (&image->common.clip_region, dx, dy);
57+ } 57+ }
58+} 58+}
59+ 59+
60 /* 60 /*
61 * Computing composite region 61 * Computing composite region
62 */ 62 */
63@@ -690,6 +741,13 @@ pixman_image_composite32 (pixman_op_t  63@@ -586,6 +637,13 @@ pixman_image_composite32 (pixman_op_t
64 uint32_t src_flags, mask_flags, dest_flags; 64 uint32_t src_flags, mask_flags, dest_flags;
65 pixman_region32_t region; 65 pixman_region32_t region;
66 pixman_box32_t *extents; 66 pixman_box32_t extents;
67+ uint32_t *src_bits; 67+ uint32_t *src_bits;
68+ int src_dx, src_dy; 68+ int src_dx, src_dy;
69+ uint32_t *mask_bits; 69+ uint32_t *mask_bits;
70+ int mask_dx, mask_dy; 70+ int mask_dx, mask_dy;
71+ uint32_t *dest_bits; 71+ uint32_t *dest_bits;
72+ int dest_dx, dest_dy; 72+ int dest_dx, dest_dy;
73+ pixman_bool_t need_workaround; 73+ pixman_bool_t need_workaround;
74 pixman_implementation_t *imp; 74 pixman_implementation_t *imp;
75 pixman_composite_func_t func; 75 pixman_composite_func_t func;
76  76
77@@ -727,6 +785,16 @@ pixman_image_composite32 (pixman_op_t  77@@ -623,6 +681,16 @@ pixman_image_composite32 (pixman_op_t
78 src_format = mask_format = PIXMAN_rpixbuf; 78 src_format = mask_format = PIXMAN_rpixbuf;
79 } 79 }
80  80
81+ /* Check for workaround */ 81+ /* Check for workaround */
82+ need_workaround = (src_flags | mask_flags | dest_flags) & FAST_PATH_NEEDS_WORKAROUND; 82+ need_workaround = (src_flags | mask_flags | dest_flags) & FAST_PATH_NEEDS_WORKAROUND;
83+ 83+
84+ if (need_workaround) 84+ if (need_workaround)
85+ { 85+ {
86+ apply_workaround (src, &src_x, &src_y, &src_bits, &src_dx, &src_dy); 86+ apply_workaround (src, &src_x, &src_y, &src_bits, &src_dx, &src_dy);
87+ apply_workaround (mask, &mask_x, &mask_y, &mask_bits, &mask_dx, &mask_dy); 87+ apply_workaround (mask, &mask_x, &mask_y, &mask_bits, &mask_dx, &mask_dy);
88+ apply_workaround (dest, &dest_x, &dest_y, &dest_bits, &dest_dx, &dest_dy); 88+ apply_workaround (dest, &dest_x, &dest_y, &dest_bits, &dest_dx, &dest_dy);
89+ } 89+ }
90+ 90+
91 pixman_region32_init (&region); 91 pixman_region32_init (&region);
92  92
93 if (!pixman_compute_composite_region32 ( 93 if (!pixman_compute_composite_region32 (
94@@ -793,6 +861,13 @@ pixman_image_composite32 (pixman_op_t  94@@ -716,6 +784,13 @@ pixman_image_composite32 (pixman_op_t
95 } 95 }
96  96
97 out: 97 out:
98+ if (need_workaround) 98+ if (need_workaround)
99+ { 99+ {
100+ unapply_workaround (src, src_bits, src_dx, src_dy); 100+ unapply_workaround (src, src_bits, src_dx, src_dy);
101+ unapply_workaround (mask, mask_bits, mask_dx, mask_dy); 101+ unapply_workaround (mask, mask_bits, mask_dx, mask_dy);
102+ unapply_workaround (dest, dest_bits, dest_dx, dest_dy); 102+ unapply_workaround (dest, dest_bits, dest_dx, dest_dy);
103+ } 103+ }
104+ 104+
105 pixman_region32_fini (&region); 105 pixman_region32_fini (&region);
106 } 106 }
107  107