pixman: Changes to 'debian-unstable'
Rebased ref, commits from common ancestor:
commit afde156de55a2326ca27dafe806d1b0debe84b16
Author: Cyril Brulebois <kibi@debian.org>
Date: Tue Nov 1 16:06:39 2011 +0100
Document what happened: pixman went to sid…
diff --git a/debian/changelog b/debian/changelog
index 7bebde7..ce1fae0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-pixman (0.23.8-1) experimental; urgency=low
+pixman (0.23.8-1) unstable; urgency=low
* New upstream release.
commit 39102f8b3e7f36ad912fc95596dcd0a61ae2bab0
Author: Cyril Brulebois <kibi@debian.org>
Date: Tue Nov 1 12:29:25 2011 +0100
Upload to experimental.
diff --git a/debian/changelog b/debian/changelog
index e2f7f36..7bebde7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,8 @@
-pixman (0.23.8-1) UNRELEASED; urgency=low
+pixman (0.23.8-1) experimental; urgency=low
* New upstream release.
- -- Cyril Brulebois <kibi@debian.org> Tue, 01 Nov 2011 12:28:45 +0100
+ -- Cyril Brulebois <kibi@debian.org> Tue, 01 Nov 2011 12:29:16 +0100
pixman (0.23.6-1) experimental; urgency=low
commit bfad5455b6885b09fb8a63a7384f077fc0a45741
Author: Cyril Brulebois <kibi@debian.org>
Date: Tue Nov 1 12:28:58 2011 +0100
Bump changelogs.
diff --git a/ChangeLog b/ChangeLog
index 6a10342..fa61d98 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,201 @@
+commit a0f1b565811388b0567c845b9b7063d5b93d325e
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sat Oct 29 05:33:44 2011 -0400
+
+ Pre-release version bump to 0.23.8
+
+commit 498138c293a2abce44ce122114852f4e6c5b87fe
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Oct 25 08:45:34 2011 -0400
+
+ Fix use of uninitialized fields reported by valgrind
+
+ In pixman-noop.c and pixman-sse2.c, we are accessing
+ image->bits.width/height without first making sure the image is a bits
+ image. The warning is harmless because we never act on this
+ information without checking that the image is a8r8g8b8, but valgrind
+ does warn about it.
+
+ In pixman-noop.c, just reorder the clauses in the if statement; in
+ pixman-sse2.c require images to have the FAST_PATH_BITS_IMAGE flag
+ set.
+
+commit 6131707e8fc39187d1d358481f7c57c57cfab206
+Merge: 3d4d705 ec7c9c2
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Thu Oct 20 09:13:12 2011 -0400
+
+ Merge branch 'gradients'
+
+commit 3d4d705d2ffa4aeab3dc02a23c2aadbea1374a3f
+Author: Taekyun Kim <tkq.kim@samsung.com>
+Date: Tue Oct 18 21:50:18 2011 +0900
+
+ ARM: NEON: Fix assembly typo error in src_n_8_8888
+
+ Binutils 2.21 does not complain about missing comma between ARM
+ register and alignement specifier in vld/vst instructions which
+ causes build error on binutils 2.20.
+
+commit 19f118f41f8725f22395d31eac5670cb350b55ec
+Author: Taekyun Kim <tkq.kim@samsung.com>
+Date: Mon Sep 26 18:33:27 2011 +0900
+
+ ARM: NEON: Standard fast path src_n_8_8
+
+ Performance numbers of before/after on cortex-a8 @ 1GHz
+
+ - before
+ L1: 28.05 L2: 28.26 M: 26.97 ( 4.48%) HT: 19.79 VT: 19.14 R: 17.61 RT: 9.88 ( 101Kops/s)
+
+ - after
+ L1:1430.28 L2:1252.10 M:421.93 ( 75.48%) HT:170.16 VT:138.03 R:145.86 RT: 35.51 ( 255Kops/s)
+
+commit 4db9e2bc13d3ed26416f249e57acec4b41f58b7f
+Author: Taekyun Kim <tkq.kim@samsung.com>
+Date: Mon Sep 26 17:03:54 2011 +0900
+
+ ARM: NEON: Standard fast path src_n_8_8888
+
+ Performance numbers of before/after on cortex-a8 @ 1GHz
+
+ - before
+ L1: 32.39 L2: 31.79 M: 30.84 ( 13.77%) HT: 21.58 VT: 19.75 R: 18.83 RT: 10.46 ( 106Kops/s)
+
+ - after
+ L1: 516.25 L2: 372.00 M:193.49 ( 85.59%) HT:136.93 VT:109.10 R:104.48 RT: 34.77 ( 253Kops/s)
+
+commit 26659de6cd2775c83a9a6e6660324d5baacf61f9
+Author: Taekyun Kim <tkq.kim@samsung.com>
+Date: Mon Sep 26 19:04:53 2011 +0900
+
+ ARM: NEON: Instruction scheduling of bilinear over_8888_8_8888
+
+ Instructions are reordered to eliminate pipeline stalls and get
+ better memory access.
+
+ Performance of before/after on cortex-a8 @ 1GHz
+
+ << 2000 x 2000 with scale factor close to 1.x >>
+ before : 40.53 Mpix/s
+ after : 50.76 Mpix/s
+
+commit 4481920f405e47b3a92811a8cb06afbd37dee01b
+Author: Taekyun Kim <tkq.kim@samsung.com>
+Date: Wed Sep 21 15:52:13 2011 +0900
+
+ ARM: NEON: Instruction scheduling of bilinear over_8888_8888
+
+ Instructions are reordered to eliminate pipeline stalls and get
+ better memory access.
+
+ Performance of before/after on cortex-a8 @ 1GHz
+
+ << 2000 x 2000 with scale factor close to 1.x >>
+ before : 50.43 Mpix/s
+ after : 61.09 Mpix/s
+
+commit 1cd916f3a5ebeb943f66eecf0b8ce99af0b95d11
+Author: Taekyun Kim <tkq.kim@samsung.com>
+Date: Fri Sep 23 00:03:22 2011 +0900
+
+ ARM: NEON: Replace old bilinear scanline generator with new template
+
+ Bilinear scanline functions in pixman-arm-neon-asm-bilinear.S can
+ be replaced with new template just by wrapping existing macros.
+
+commit 6682b2b3597c9f431900bfe7b1b42dfbe006bae5
+Author: Taekyun Kim <tkq.kim@samsung.com>
+Date: Tue Sep 20 21:32:35 2011 +0900
+
+ ARM: NEON: Bilinear macro template for instruction scheduling
+
+ This macro template takes 6 code blocks.
+
+ 1. process_last_pixel
+ 2. process_two_pixels
+ 3. process_four_pixels
+ 4. process_pixblock_head
+ 5. process_pixblock_tail
+ 6. process_pixblock_tail_head
+
+ process_last_pixel does not need to update horizontal weight. This
+ is done by the template. two and four code block should update
+ horizontal weight inside of them. head/tail/tail_head blocks
+ consist unrolled core loop. You can apply instruction scheduling
+ to the tail_head blocks.
+
+ You can also specify size of the pixel block. Supported size is 4
+ and 8. If you want to use mask, give BILINEAR_FLAG_USE_MASK flags
+ to the template, then you can use register MASK. When using d8~d15
+ registers, give BILINEAR_FLAG_USE_ALL_NEON_REGS to make sure
+ registers are properly saved on the stack and later restored.
+
+commit b5e4355fa4973e3edd4abeb11bdc47c42371cc76
+Author: Taekyun Kim <tkq.kim@samsung.com>
+Date: Tue Sep 20 19:46:25 2011 +0900
+
+ ARM: NEON: Some cleanup of bilinear scanline functions
+
+ Use STRIDE and initial horizontal weight update is done before
+ entering interpolation loop. Cache preload for mask and dst.
+
+commit ec7c9c2b6865b48b8bd14e4509538f8fcbe93463
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Fri Oct 14 09:04:48 2011 -0400
+
+ Simplify gradient_walker_reset()
+
+ The code that searches for the closest color stop to the given
+ position is duplicated across the various repeat modes. Replace the
+ switch with two if/else constructions, and put the search code between
+ them.
+
+commit 2d0da8ab8d8fef60ed1bbb9d6b75f66577c3f85d
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Fri Oct 14 09:02:14 2011 -0400
+
+ Use sentinels instead of special casing first and last stops
+
+ When storing the gradient stops internally, allocate two more stops,
+ one before the beginning of the stop list and one after the
+ end. Initialize those stops based on the repeat property of the
+ gradient.
+
+ This allows gradient_walker_reset() to be simplified because it can
+ now simply pick the two closest stops to the position without special
+ casing the first and last stops.
+
+commit 84d6ca7c891601b019d4862a556ed98b7e6fe525
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Fri Oct 14 07:42:00 2011 -0400
+
+ gradient walker: Correct types and fix formatting
+
+ The type of pos in gradient_walker_reset() and gradient_walker_pixel()
+ is pixman_fixed_48_16_t and not pixman_fixed_32_32. The types of the
+ positions in the walker struct are pixman_fixed_t and not int32_t, and
+ need_reset is a boolean, not an integer. The spread field should be
+ called repeat and have the type pixman_repeat_t.
+
+ Also fix some formatting issues, make gradient_walker_reset() static,
+ and delete the pointless PIXMAN_GRADIENT_WALKER_NEED_RESET() macro.
+
+commit ace225b53dee88d134753ac901f26ba3db6781da
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Oct 11 16:12:24 2011 -0400
+
+ Add stable release / development snapshot to draft release notes
+
+ This will hopefully serve as a reminder to me that I should put this
+ information in the release notes.
+
+commit bb7142d361d56d66ac40debb60a7c4d099764ba8
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Oct 11 06:10:39 2011 -0400
+
+ Post-release version bump to 0.23.7
+
commit e20ac40bd30484f0f711b52d0c1993ef08760284
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Oct 11 06:00:51 2011 -0400
diff --git a/debian/changelog b/debian/changelog
index af38044..e2f7f36 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+pixman (0.23.8-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- Cyril Brulebois <kibi@debian.org> Tue, 01 Nov 2011 12:28:45 +0100
+
pixman (0.23.6-1) experimental; urgency=low
[ Rico Tzschichholz ]
commit a0f1b565811388b0567c845b9b7063d5b93d325e
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Sat Oct 29 05:33:44 2011 -0400
Pre-release version bump to 0.23.8
diff --git a/configure.ac b/configure.ac
index 6c88c84..0552563 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,7 +54,7 @@ AC_PREREQ([2.57])
m4_define([pixman_major], 0)
m4_define([pixman_minor], 23)
-m4_define([pixman_micro], 7)
+m4_define([pixman_micro], 8)
m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
commit 498138c293a2abce44ce122114852f4e6c5b87fe
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date: Tue Oct 25 08:45:34 2011 -0400
Fix use of uninitialized fields reported by valgrind
In pixman-noop.c and pixman-sse2.c, we are accessing
image->bits.width/height without first making sure the image is a bits
image. The warning is harmless because we never act on this
information without checking that the image is a8r8g8b8, but valgrind
does warn about it.
In pixman-noop.c, just reorder the clauses in the if statement; in
pixman-sse2.c require images to have the FAST_PATH_BITS_IMAGE flag
set.
diff --git a/pixman/pixman-noop.c b/pixman/pixman-noop.c
index 906a491..f4012d8 100644
--- a/pixman/pixman-noop.c
+++ b/pixman/pixman-noop.c
@@ -76,12 +76,12 @@ noop_src_iter_init (pixman_implementation_t *imp, pixman_iter_t *iter)
{
iter->get_scanline = _pixman_iter_get_scanline_noop;
}
- else if ((iter->flags & ITER_NARROW) &&
+ else if (image->common.extended_format_code == PIXMAN_a8r8g8b8 &&
+ (iter->flags & ITER_NARROW) &&
(image->common.flags & FLAGS) == FLAGS &&
iter->x >= 0 && iter->y >= 0 &&
iter->x + iter->width <= image->bits.width &&
- iter->y + iter->height <= image->bits.height &&
- image->common.extended_format_code == PIXMAN_a8r8g8b8)
+ iter->y + iter->height <= image->bits.height)
{
iter->buffer =
image->bits.bits + iter->y * image->bits.rowstride + iter->x;
diff --git a/pixman/pixman-sse2.c b/pixman/pixman-sse2.c
index c419511..8adf541 100644
--- a/pixman/pixman-sse2.c
+++ b/pixman/pixman-sse2.c
@@ -5982,7 +5982,7 @@ sse2_src_iter_init (pixman_implementation_t *imp, pixman_iter_t *iter)
int height = iter->height;
#define FLAGS \
- (FAST_PATH_STANDARD_FLAGS | FAST_PATH_ID_TRANSFORM)
+ (FAST_PATH_STANDARD_FLAGS | FAST_PATH_ID_TRANSFORM | FAST_PATH_BITS_IMAGE)
if ((iter->flags & ITER_NARROW) &&
(image->common.flags & FLAGS) == FLAGS &&
commit 40a04cb1b667494d55d12e2647b2f99cbed9fa4d
Author: Julien Cristau <jcristau@debian.org>
Date: Sat Oct 22 11:09:17 2011 +0200
Upload to experimental
diff --git a/debian/changelog b/debian/changelog
index 8c67100..af38044 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,9 @@
-pixman (0.23.6-1) UNRELEASED; urgency=low
+pixman (0.23.6-1) experimental; urgency=low
+ [ Rico Tzschichholz ]
* New upstream release.
- -- Rico Tzschichholz <ricotz@ubuntu.com> Wed, 19 Oct 2011 17:25:30 +0200
+ -- Julien Cristau <jcristau@debian.org> Sat, 22 Oct 2011 11:09:04 +0200
pixman (0.23.2-1) experimental; urgency=low
commit bdfdaaff5dd42cc91b61928b0771481eab000923
Author: Rico Tzschichholz <ricotz@t-online.de>
Date: Wed Oct 19 17:44:08 2011 +0200
Bump changelogs.
diff --git a/ChangeLog b/ChangeLog
index e5bd9e2..6a10342 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,952 @@
+commit e20ac40bd30484f0f711b52d0c1993ef08760284
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Oct 11 06:00:51 2011 -0400
+
+ Pre-release version bump to 0.23.6
+
+commit a43946a51fbbdc76be1af9bc25fe7c5c2a6314bb
+Author: Taekyun Kim <tkq.kim@samsung.com>
+Date: Thu Sep 22 18:42:38 2011 +0900
+
+ Simple repeat: Extend too short source scanlines into temporary buffer
+
+ Too short scanlines can cause repeat handling overhead and optimized
+ pixman composite functions usually process a bunch of pixels in a
+ single loop iteration it might be beneficial to pre-extend source
+ scanlines. The temporary buffers will usually reside in cache, so
+ accessing them should be quite efficient.
+
+commit eaff774a3f8af6651a245711b9ab8af3211eeb10
+Author: Taekyun Kim <tkq.kim@samsung.com>
+Date: Mon Aug 29 21:44:36 2011 +0900
+
+ Simple repeat fast path
+
+ We can implement simple repeat by stitching existing fast path
+ functions. First lookup COVER_CLIP function for given input and
+ then stitch horizontally using the function.
+
+commit a258e33fcb6cf08a2ef76e374cb92a12c9adb171
+Author: Taekyun Kim <tkq.kim@samsung.com>
+Date: Thu Sep 22 16:33:02 2011 +0900
+
+ Move _pixman_lookup_composite_function() to pixman-utils.c
+
+commit fc62785aabbe890b656c9cbaa57f2e65e74bbcc2
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Mon Jun 27 21:17:04 2011 +0000
+
+ Add src, mask, and dest flags to the composite args struct.
+
+ These flags are useful in the various compositing routines, and the
+ flags stored in the image structs are missing some bits of information
+ that can only be computed when pixman_image_composite() is called.
+
+commit fa6523d13ae9b7986bb890df5ad66e8599bc3ed8
+Author: Taekyun Kim <tkq.kim@samsung.com>
+Date: Thu Sep 22 16:26:55 2011 +0900
+
+ Add new fast path flag FAST_PATH_BITS_IMAGE
+
+ This fast path flag indicate that type of the image is bits image.
+
+commit 7272e2fcd2ff8e546cef19929cd370ae2f946135
+Author: Taekyun Kim <tkq.kim@samsung.com>
+Date: Thu Sep 22 16:20:03 2011 +0900
+
+ init/fini functions for pixman_image_t
+
+ pixman_image_t itself can be on stack or heap. So segregating
+ init/fini from create/unref can be useful when we want to use
+ pixman_image_t on stack or other memory.
+
+commit 4dcf1b0107334857e1f0bb203c34efed1146535c
+Author: Taekyun Kim <tkq.kim@samsung.com>
+Date: Wed Sep 7 23:00:29 2011 +0900
+
+ sse2: Bilinear scaled over_8888_8_8888
+
+commit 81050f2784407b260a1897efa921631a19eeec6b
+Author: Taekyun Kim <tkq.kim@samsung.com>
+Date: Wed Sep 7 22:57:29 2011 +0900
+
+ sse2: Bilinear scaled over_8888_8888
+
+commit d67c0b883daeeaacf3f21f1ddbdcf9ecf94fac43
+Author: Taekyun Kim <tkq.kim@samsung.com>
+Date: Wed Sep 7 22:51:46 2011 +0900
+
+ sse2: Macros for assembling bilinear interpolation code fractions
+
+ Primitive bilinear interpolation code is reusable to implement other
+ bilinear functions.
+
+ BILINEAR_DECLARE_VARIABLES
+ - Declare variables needed to interpolate src pixels.
+
+ BILINEAR_INTERPOLATE_ONE_PIXEL
+ - Interpolate one pixel and advance to next pixel
+
+ BILINEAR_SKIP_ONE_PIXEL
+ - Skip interpolation and just advance to next pixel
+ This is useful for skipping zero mask
+
+commit 741eb8462c3ff72cbf2d9acfeb1e97208a414fcd
+Author: Matt Turner <mattst88@gmail.com>
+Date: Thu Oct 6 17:56:09 2011 -0400
+
+ Correct the minimum gcc version needed for iwmmxt
+
+ Spotted by Søren Sandmann.
+
+ Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 0a34277180d29f471a2554afc2e2b682fee33c79
+Author: Matt Turner <mattst88@gmail.com>
+Date: Wed Oct 5 22:54:36 2011 -0400
+
+ Make sure iwMMXt is only detected on ARM
+
+ iwMMXt is incorrectly detected on x86 and amd64. This happens because
+ the test uses standard _mm_* intrinsic functions which it compiles with
+ -march=iwmmxt, but when the user has set CFLAGS=-march=k8 for instance,
+ no error is generated from -march=iwmmxt, even though it's not a valid
+ flag on x86/amd64. Passing CFLAGS=-march=native does not override the
+ -march=iwmmxt flag though, which is why it wasn't noticed before.
+
+ So, just #error out in the test if the __arm__ preprocessor directive
+ isn't defined.
+
+ Fixes https://bugs.gentoo.org/show_bug.cgi?id=385179
+
+ Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 879b7c21e45b092272e689e05dc867f6260e258f
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Sep 27 11:32:13 2011 -0400
+
+ Don't include stdint.h in scaling-helpers-test.
+
+ Fixes bug 41257.
+
+commit 01c2dcbe6936a868651160d2617d783d5b8d3d7d
+Author: Benjamin Otte <otte@redhat.com>
+Date: Wed Sep 14 17:52:03 2011 +0200
+
+ build: replace @VAR@ with $(VAR) in makefiles
+
+commit 100f16eae94a54fbb9ee1f44fa3c34602ba25c4d
+Author: Benjamin Otte <otte@redhat.com>
+Date: Wed Sep 14 17:01:51 2011 +0200
+
+ tests: Add PNG_CFLAGS/LIBS to tests
+
+ PNG flags were accidentally included by gdk-pixbuf. This has been fixed
+ recently, so we need to make sure to include it ourselves.
+
+commit d1313febbec2124ee175cd323a338caa3c1a8fc2
+Author: Matt Turner <mattst88@gmail.com>
+Date: Thu Sep 22 15:28:00 2011 -0400
+
+ mmx: optimize unaligned 64-bit ARM/iwmmxt loads
+
+ Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 7ab94c5f99cc524ddfbbcedca4304ec7943f74e1
+Author: Matt Turner <mattst88@gmail.com>
+Date: Sun Jul 31 22:42:24 2011 -0400
+
+ mmx: compile on ARM for iwmmxt optimizations
+
+ Check in configure for at least gcc-4.6, since gcc-4.7 (and hopefully
+ 4.6) will be the eariest version capable of compiling the _mm_*
+ intrinsics on ARM/iwmmxt. Even for suitable compile versions I use
+ _mm_srli_si64 which is known to cause unpatched compilers to fail.
+
+ Select iwmmxt at runtime only after NEON, since we expect the NEON
+ optimizations to be more capable and faster than iwmmxt.
+
+ Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit f66887d9eae9646c838d518020168b1403705b1e
+Author: Matt Turner <mattst88@gmail.com>
+Date: Sun Sep 4 14:11:46 2011 -0400
+
+ mmx: prepare pixman-mmx.c to be compiled for ARM/iwmmxt
+
+ Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 7c6d5d1999989187b60f1e0e82e55ed55238eb27
+Author: Matt Turner <mattst88@gmail.com>
+Date: Thu Sep 8 20:33:45 2011 +0200
+
+ mmx: fix unaligned accesses
+
+ Simply return *p in the unaligned access functions, since alignment
+ constraints are very relaxed on x86 and this allows us to generate
+ identical code as before.
+
+ Tested with the test suite, lowlevel-blit-test, and cairo-perf-trace on
+ ARM and Alpha with no unaligned accesses found.
+
+ Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 5d98abb14ca9042af6d0ec7c14c8398cf4046b80
+Author: Matt Turner <mattst88@gmail.com>
+Date: Thu Sep 22 15:39:53 2011 -0400
+
+ mmx: wrap x86/MMX inline assembly in ifdef USE_X86_MMX
+
+ Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 02c1f1a022e86ced69fc91376232d75d5d6583c5
+Author: Matt Turner <mattst88@gmail.com>
+Date: Sun Jul 31 20:20:12 2011 +0000
+
+ mmx: rename USE_MMX to USE_X86_MMX
+
+ This will make upcoming ARM usage of pixman-mmx.c unambiguous.
+
+ Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 57fd8c37aa3148b1d70bad65e1a49721e9a47d7e
+Author: Matt Turner <mattst88@gmail.com>
+Date: Fri Sep 23 14:10:52 2011 -0400
+
+ mmx: convert while (w) to if (w) when possible
+
+ gcc isn't able to see that w is no greater than 1, so it generates
+ unnecessary loop instructions with while (w).
+
+ Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 38a7aae1d9c8e1e41de22f9c3846dfc975af6838
+Author: Matt Turner <mattst88@gmail.com>
+Date: Fri Sep 9 15:33:14 2011 +0200
+
+ mmx: fix formats in commented code
+
+ b8r8g8 is apparently no longer supported sometime since this code was
+ commented.
+
+ Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit b6b77488a0259da3662edf68568e78806ca97444
+Author: Matt Turner <mattst88@gmail.com>
+Date: Fri Sep 9 15:34:04 2011 +0200
+
+ lowlevel-blt: add over_x888_8_8888
+
+ Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 9126f36b964c71b83c69235df4c3a46ab81ab5d5
+Author: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Sun May 22 22:51:00 2011 +0300
+
+ BILINEAR->NEAREST filter optimization for simple rotation and translation
+
+ Simple rotation and translation are the additional cases when BILINEAR
+ filter can be safely reduced to NEAREST.
+
+commit ad5c6bbb36c1c5e72313f7c7bc7c6e6b7e79daba
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sun Sep 4 02:53:39 2011 -0400
+
+ Strength-reduce BILINEAR filter to NEAREST filter for identity transforms
+
+ An image with a bilinear filter and an identity transform is
+ equivalent to one with a nearest filter, so there is no reason the
+ standard fast paths shouldn't be usable.
+
+ But because a BILINEAR filter samples a 2x2 pixel block in the source
+ image, FAST_PATH_SAMPLES_COVER_CLIP can't be set in the case where the
+ source area is the entire image, because some compositing operations
+ might then read pixels outside the image.
+
+ This patch fixes the problem by splitting the
+ FAST_PATH_SAMPLES_COVER_CLIP flag into two separate flags
+ FAST_PATH_SAMPLES_COVER_CLIP_NEAREST and
+ FAST_PATH_SAMPLES_COVER_CLIP_BILINEAR that indicate that the clip
+ covers the samples taking into account NEAREST/BILINEAR filters
+ respectively.
+
+ All the existing compositing operations that require
+ FAST_PATH_SAMPLES_COVER_CLIP then have their flags modified to pick
+ either COVER_CLIP_NEAREST or COVER_CLIP_BILINEAR depending on which
+ filter they depend on.
+
+ In compute_image_info() both COVER_CILP_NEAREST and
+ COVER_CLIP_BILINEAR can be set depending on how much room there is
+ around the clip rectangle.
+
+ Finally, images with an identity transform and a bilinear filter get
+ FAST_PATH_NEAREST_FILTER set as well as FAST_PATH_BILINEAR_FILTER.
+
+ Performance measurementas with render_bench against Xephyr:
+
+ Before
+
+ *** ROUND 1 ***
+ ---------------------------------------------------------------
+ Test: Test Xrender doing non-scaled Over blends
+ Time: 5.720 sec.
+ ---------------------------------------------------------------
+ Test: Test Xrender (offscreen) doing non-scaled Over blends
+ Time: 5.149 sec.
+ ---------------------------------------------------------------
+ Test: Test Imlib2 doing non-scaled Over blends
+ Time: 6.237 sec.
+
+ After:
+
+ *** ROUND 1 ***
+ ---------------------------------------------------------------
+ Test: Test Xrender doing non-scaled Over blends
+ Time: 4.947 sec.
+ ---------------------------------------------------------------
+ Test: Test Xrender (offscreen) doing non-scaled Over blends
+ Time: 4.487 sec.
+ ---------------------------------------------------------------
+ Test: Test Imlib2 doing non-scaled Over blends
+ Time: 6.235 sec.
+
+commit eb2e7ed81b324af730c1a7639c9ca9ed60152875
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Mon Sep 5 14:43:25 2011 -0400
+
+ test: Occasionally use a BILINEAR filter in blitters-test
+
+ To test that reductions of BILINEAR->NEAREST for identity
+ transformations happen correctly, occasionally use a bilinear filter
+ in blitters test.
+
+commit 2a9f88430e7088eccfbbbd6c6b4f4e534126b1e1
+Author: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Sun May 22 22:16:38 2011 +0300
+
+ test: better coverage for BILINEAR->NEAREST filter optimization
+
+ The upcoming optimization which is going to be able to replace BILINEAR filter
+ with NEAREST where appropriate needs to analyze the transformation matrix
+ and not to make any mistakes.
+
+ The changes to affine-test include:
+ 1. Higher chance of using the same scale factor for x and y axes. This can help
+ to stress some special cases (for example the case when both x and y scale
+ factors are integer). The same applies to x/y translation.
+ 2. Introduced a small chance for "corrupting" transformation matrix by flipping
+ random bits. This supposedly can help to identify the cases when some of the
+ fast paths or other code logic is wrongly activated due to insufficient checks.
+
+commit 054922e2fce1f8d9db4b9b756e54b0fa5655956d
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Mon Sep 5 00:19:51 2011 -0400
+
+ Eliminate compute_sample_extents() function
+
+ In analyze_extents(), instead of calling compute_sample_extents() call
+ compute_transformed_extents() and inline the remaining part of
+ compute_sample_extents(). The upcoming bilinear->nearest optimization
+ will do something different with these two pieces of code.
+
+commit 577b6c46fd39c43c2c328fed48854b50b9e85e5b
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sun Sep 4 17:43:29 2011 -0400
+
+ Split computation of sample area into own function
+
+ compute_sample_extents() have two parts: one that computes the
+ transformed extents, and one that checks whether the computed extents
+ fit within the 16.16 coordinate space.
+
+ Split the first part into its own function
+ compute_transformed_extents().
+
+commit 5064f1803136cbc28d1e9f636feb2ff8ccfbdded
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sun Sep 4 17:17:53 2011 -0400
+
+ Remove x and y coordinates from analyze_extents() and compute_sample_extents()
+
+ These coordinates were only ever used for subtracting from the extents
+ box to put it into the coordinate space of the image, so we might as
+ well do this coordinate translation only once before entering the
+ functions.
+
+commit dbcb4af60d8c688eaaa027c3c5bce9527a410465
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Aug 16 06:13:59 2011 -0400
+
+ Use MAKE_ACCESSORS() to generate accessors for paletted formats
+
+ Add support in convert_pixel_from_a8r8g8b8() and
+ convert_pixel_to_a8r8g8b8() for conversion to/from paletted formats,
+ then use MAKE_ACCESSORS() to generate accessors for the indexed
+ formats: c8, g8, g4, c4, g1
+
+commit c82c2c38538f5c3f25cf81ad697040d2332d64de
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sun May 30 12:36:58 2010 -0400
+
+ Use MAKE_ACCESSORS() to generate accessors for the a1 format.
+
+ Add FETCH_1 and STORE_1 macros and use them to add support for 1bpp
+ pixels to fetch_and_convert_pixel() and convert_and_store_pixel(),
+ then use MAKE_ACCESSORS() to generate the accessors for the a1
+ format. (Not the g1 format as it is indexed).
+
+commit 2114dd8aa1f292541e55b6b84152732b37c1c1eb
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Aug 16 14:38:44 2011 -0400
+
+ Use MAKE_ACCESSORS() to generate accessors for 24bpp formats
+
+ Add FETCH_24 and STORE_24 macros and use them to add support for 24bpp
+ pixels in fetch_and_convert_pixel() and
+ convert_and_store_pixel(). Then use MAKE_ACCESSORS() to generate
+ accessors for the 24 bpp formats:
+
+ r8g8b8
+ b8g8r8
+
+commit f19f5daa1b111368bcf75435dce12483e08756f2
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Thu Aug 18 05:09:07 2011 -0400
+
+ Use MAKE_ACCESSORS() to generate accessors for 4 bpp RGB formats
+
+ Use FETCH_4 and STORE_4 macros to add support for 4bpp pixels to
+ fetch_and_convert_pixel() and convert_and_store_pixel(), then use
+ MAKE_ACCESSORS() to generate accessors for 4 bpp formats, except g4 and
+ c4 which are indexed:
+
+ a4
+ r1g2b1
+ b1g2r1
+ a1r1g1b1
+ a1b1g1r1
+
+commit af78fe24e41c30b5c9b3da4449813c75f760c845
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Thu Aug 18 08:13:58 2011 -0400
+
+ Use MAKE_ACCESSORS() to generate accessors for 8bpp RGB formats
+
+ Add support for 8 bpp formats to fetch_and_convert_pixel() and
+ convert_and_store_pixel(), then use MAKE_ACCESSORS() to generate the
+ accessors for all the 8 bpp formats, except g8 and c8, which are
+ indexed:
+
+ a8
+ r3g3b2
+ b2g3r3
+ a2r2g2b2
+ a2b2g2r2
+ x4a4
+
+commit 5e1b9f897532ac0fa220880bf94dd660c837afe9
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Thu Aug 18 08:13:44 2011 -0400
+
+ Use MAKE_ACCESSORS() to generate accessors for all the 16bpp formats
+
+ Add support for 16bpp pixels to fetch_and_convert_pixel() and
+ convert_and_store_pixel(), then use MAKE_ACCESSORS() to generate
+ accessors for all the 16bpp formats:
+
+ r5g6b5
+ b5g6r5
+ a1r5g5b5
+ x1r5g5b5
+ a1b5g5r5
+ x1b5g5r5
+ a4r4g4b4
+ x4r4g4b4
+ a4b4g4r4
+ x4b4g4r4
+
+commit a77597bcb8d10afd66980b8db8839049181b3743
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Thu Aug 18 08:13:30 2011 -0400
+
+ Use MAKE_ACCESSORS() to generate all the 32 bit accessors
+
+ Add support for 32bpp formats in fetch_and_convert_pixel() and
+ convert_and_store_pixel(), then use MAKE_ACCESSORS() to generate
+ accessors for all the 32 bpp formats:
+
+ a8r8g8b8
+ x8r8g8b8
+ a8b8g8r8
+ x8b8g8r8
+ x14r6g6b6
+ b8g8r8a8
+ b8g8r8x8
+ r8g8b8x8
+ r8g8b8a8
+
+commit 814af33df3e9892e4fc790c7ccd2702ce2b8ea97
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Wed Aug 17 17:27:58 2011 -0400
+
+ Add initial version of the MAKE_ACCESSORS() macro
+
+ This macro will eventually allow the fetchers and storers to be
+ generated automatically. For now, it's just a skeleton that doesn't
+ actually do anything.
+
+commit 5cae7a3fe6e148d2bb42b86efb7daf27dbf12ee0
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Mon Aug 15 18:42:38 2011 -0400
+
+ Add general pixel converter
+
+ This function can convert between any <= 32 bpp formats. Nothing uses
+ it yet.
+
+commit 22f54dde6bbf87251a0b4ad93bacbdaa7cb508d8
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Mon Aug 15 10:22:05 2011 -0400
+
+ Add a generic unorm_to_unorm() conversion utility
+
+ This function can convert between normalized numbers of different
+ depths. When converting to higher bit depths, it will replicate the
+ existing bits, when converting to lower bit depths, it will simply
+ truncate.
+
+ This function replaces the expand16() function in pixman-utils.c
+
+commit d842669a467be490bb0a40000d0c0fccea0b1b85
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Mon Sep 19 09:08:33 2011 -0400
+
+ A few tweaks to a comment in pixman-combine.c.template
+
+ Include a link to
+
+ http://marc.info/?l=xfree-render&m=99792000027857&w=2
+
+ where Keith explains how the disjoint/conjoint operators work.
+
+commit 3432e1a3444a55f71e294da7d350957a8e1232c3
+Author: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date: Mon Sep 19 06:17:58 2011 -0400
+
+ Fix build on cygwin after commit efdf65c0c4fff551fb3cd9104deda9adb6261e22
+
+ libutils depends on pixman and so needs to preceed it in the link order
+
+ Found by tinderbox, see [1]
+
+ [1] http://tinderbox.freedesktop.org/builds/2011-09-15-0005/logs/pixman/#build
+
+ Signed-off-by: Jon TURNEY <jon.turney at dronecode.org.uk>
+
+commit f9faf4df440366ed36b197dc09b1c2b51af3387b
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Mon Sep 12 23:17:39 2011 -0400
+
+ test: Use smaller boxes in region_contains_test()
+
+ The boxes used region_contains_test() sometimes overflow causing
+
+ *** BUG ***
+ In pixman_region32_union_rect: Invalid rectangle passed
+ Set a breakpoint on '_pixman_log_error' to debug
+
+ messages to be printed when pixman is compiled with DEBUG. Fix this by
+ dividing the x, y, w, h coordinates by 4 to prevent overflows.
+
+commit 9623b478f7e872af36ca77af5cc9e85f5ea132cf
+Author: Andrea Canciani <ranma42@gmail.com>
+Date: Sun Sep 4 21:33:05 2011 +0200
+
+ build-win32: Add 'check' target
+
+ On win32 the tests are built but they are not run automatically by the
+ build system.
+
+ A minimal 'check' target (depending on the tests being built) can
+ simply run them and log to the console their success/failure.
+
+commit 479d0944851fffda7ed860523feb388fec028545
+Author: Andrea Canciani <ranma42@gmail.com>
+Date: Sun Sep 4 13:52:53 2011 -0700
+
+ test: Do not include config.h unless HAVE_CONFIG_H is defined
+
+ The win32 build system does not generate config.h and correctly runs
+ the compiler without defining HAVE_CONFIG_H. Nevertheless some files
+ include config.h without checking for its availability, breaking the
+ build from a clean directory:
+
+ test\utils.h(2) : fatal error C1083: Cannot open include file:
+ 'config.h': No such file or directory
+ ...
+
+commit d46a9f3acef21b50639c64f190a0de7eca21747c
+Author: Andrea Canciani <ranma42@gmail.com>
+Date: Sun Sep 4 21:56:20 2011 +0200
+
+ build-win32: Add root Makefile.win32
+
+ Add Makefile.win32 to the pixman root. This makefile can recursively
+ run the other ones to compile the library or the test suite.
+
+commit a76b78c2daa61900572014070d3e856a460fd554
+Author: Andrea Canciani <ranma42@gmail.com>
+Date: Sun Sep 4 18:00:38 2011 +0200
+
+ build-win32: Share targets and variables across win32 makefiles
+
+ The win32 build system repeatedly defines some basic variables
+ (notably program names and flags) and C sources compilation rules.
+
+ They can be factored out to a common Makefile, to be included in every
+ other Makefile.win32.
+
+commit efdf65c0c4fff551fb3cd9104deda9adb6261e22
+Author: Andrea Canciani <ranma42@gmail.com>
+Date: Sun Sep 4 20:07:42 2011 +0200
+
+ build: Reuse test sources
+
+ Makefile.am and Makefile.win32 should not duplicate content, as this
+ leads to breaking the build when they are not kept in sync.
+
+ This can be avoided by listing sources, headers and common build
+ variables/rules in a Makefile.sources file.
+
+ In order to further simplify the test makefiles, the utility functions
+ are now in a static library, which gets linked to all the tests and
+ benchmarks.
+
+commit a4f95d083b1aa644923d79e7b61df6c2eacca7c2
+Author: Andrea Canciani <ranma42@gmail.com>
+Date: Sun Sep 4 09:41:41 2011 -0700
+
+ build: Reuse sources and pixman-combine build rules
Reply to: