pixman: Changes to 'debian-experimental'
.gitignore | 2
CODING_STYLE | 23
ChangeLog | 1909 +++++++++++++++++++++++++++++++++++++++
README | 10
configure.ac | 274 ++++-
debian/changelog | 15
debian/control | 2
debian/libpixman-1-0.symbols | 4
debian/rules | 14
pixman/Makefile.am | 5
pixman/pixman-access.c | 309 ++++--
pixman/pixman-arm-neon-asm.S | 336 ++++++
pixman/pixman-arm-neon-asm.h | 59 +
pixman/pixman-arm-neon.c | 30
pixman/pixman-arm-simd-asm.S | 2
pixman/pixman-arm-simd.c | 16
pixman/pixman-bits-image.c | 644 +++++++++----
pixman/pixman-combine.c.template | 45
pixman/pixman-combine.h.template | 152 +--
pixman/pixman-compiler.h | 39
pixman/pixman-conical-gradient.c | 60 -
pixman/pixman-cpu.c | 25
pixman/pixman-fast-path.c | 470 +++------
pixman/pixman-fast-path.h | 445 +++++++++
pixman/pixman-general.c | 65 -
pixman/pixman-image.c | 146 ++
pixman/pixman-linear-gradient.c | 200 +---
pixman/pixman-mmx.c | 110 +-
pixman/pixman-private.h | 136 +-
pixman/pixman-radial-gradient.c | 464 +++++----
pixman/pixman-region.c | 60 -
pixman/pixman-region16.c | 4
pixman/pixman-region32.c | 4
pixman/pixman-solid-fill.c | 9
pixman/pixman-sse2.c | 1302 +++++++++++++-------------
pixman/pixman.c | 757 ++++++++-------
pixman/pixman.h | 16
test/Makefile.am | 35
test/affine-test.c | 261 +++++
test/alpha-loop.c | 29
test/alphamap.c | 257 ++++-
test/blitters-test-bisect.rb | 43
test/blitters-test.c | 167 +--
test/composite-test.c | 5
test/composite.c | 260 ++---
test/fuzzer-find-diff.pl | 68 +
test/gradient-crash-test.c | 117 ++
test/gtk-utils.c | 2
test/lowlevel-blt-bench.c | 712 ++++++++++++++
test/region-translate-test.c | 30
test/scaling-crash-test.c | 209 ++++
test/scaling-test-bisect.rb | 38
test/scaling-test.c | 95 -
test/utils.c | 279 +++++
test/utils.h | 77 +
55 files changed, 8042 insertions(+), 2805 deletions(-)
New commits:
commit 2da37f260eb06607cbb60897ee9e5fb1d0418f4e
Author: Cyril Brulebois <kibi@debian.org>
Date: Wed Oct 27 23:14:13 2010 +0200
Upload to experimental.
diff --git a/debian/changelog b/debian/changelog
index a61ab51..d29de84 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-pixman (0.19.6-1) UNRELEASED; urgency=low
+pixman (0.19.6-1) experimental; urgency=low
* New upstream release.
* Bump SHLIBS_VERSION from 0.18.0 to 0.19.4 for newly-added functions.
@@ -11,7 +11,7 @@ pixman (0.19.6-1) UNRELEASED; urgency=low
* Enable the testsuite.
* Add myself to Uploaders.
- -- Cyril Brulebois <kibi@debian.org> Wed, 27 Oct 2010 22:11:26 +0200
+ -- Cyril Brulebois <kibi@debian.org> Wed, 27 Oct 2010 23:14:00 +0200
pixman (0.18.4-1) experimental; urgency=low
commit 3a4ab94548f5d8d4e6a571282fda85a9aad929a7
Author: Cyril Brulebois <kibi@debian.org>
Date: Wed Oct 27 22:57:19 2010 +0200
Add myself to Uploaders.
diff --git a/debian/changelog b/debian/changelog
index df60ba9..a61ab51 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,6 +9,7 @@ pixman (0.19.6-1) UNRELEASED; urgency=low
to pick it accidentally, by passing --disable-gtk. (That's only for
test purposes, but would require pixman-1 itself.)
* Enable the testsuite.
+ * Add myself to Uploaders.
-- Cyril Brulebois <kibi@debian.org> Wed, 27 Oct 2010 22:11:26 +0200
diff --git a/debian/control b/debian/control
index 5060e7a..f5a882c 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: pixman
Section: devel
Priority: optional
Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
-Uploaders: David Nusinow <dnusinow@debian.org>
+Uploaders: David Nusinow <dnusinow@debian.org>, Cyril Brulebois <kibi@debian.org>
Build-Depends: debhelper (>= 5), automake, autoconf, libtool, pkg-config, quilt
Standards-Version: 3.8.3
Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/pixman
commit a74572e2e1c03149ebd386dadd339802e868e4d1
Author: Cyril Brulebois <kibi@debian.org>
Date: Wed Oct 27 22:56:49 2010 +0200
Enable the testsuite.
diff --git a/debian/changelog b/debian/changelog
index 95e1596..df60ba9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,7 @@ pixman (0.19.6-1) UNRELEASED; urgency=low
* As of pixman-0.19.2-5-g5b99710, Gtk+ is auto-detected, make sure not
to pick it accidentally, by passing --disable-gtk. (That's only for
test purposes, but would require pixman-1 itself.)
+ * Enable the testsuite.
-- Cyril Brulebois <kibi@debian.org> Wed, 27 Oct 2010 22:11:26 +0200
diff --git a/debian/rules b/debian/rules
index fc14a8b..c938be2 100755
--- a/debian/rules
+++ b/debian/rules
@@ -52,6 +52,7 @@ build: build-stamp
build-stamp: config-stamp
dh_testdir
cd build && $(MAKE)
+ cd build && $(MAKE) check
touch $@
commit 990c9e2447e962c455e2f7b14a53b184b71cb341
Author: Cyril Brulebois <kibi@debian.org>
Date: Wed Oct 27 22:50:42 2010 +0200
Pass --disable-gtk to ./configure
As of pixman-0.19.2-5-g5b99710, Gtk+ is auto-detected, make sure not to
pick it accidentally, by passing --disable-gtk. (That's only for test
purposes, but would require pixman-1 itself.)
diff --git a/debian/changelog b/debian/changelog
index 791e95e..95e1596 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,9 @@ pixman (0.19.6-1) UNRELEASED; urgency=low
* Update symbols file with newly-added functions.
* Add -c4 to the dh_makeshlibs call, to ensure the build breaks if
unexpected symbol-related changes happened.
+ * As of pixman-0.19.2-5-g5b99710, Gtk+ is auto-detected, make sure not
+ to pick it accidentally, by passing --disable-gtk. (That's only for
+ test purposes, but would require pixman-1 itself.)
-- Cyril Brulebois <kibi@debian.org> Wed, 27 Oct 2010 22:11:26 +0200
diff --git a/debian/rules b/debian/rules
index 87411df..fc14a8b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -5,6 +5,9 @@ include /usr/share/quilt/quilt.make
PACKAGE = libpixman-1-0
SHLIBS_VERSION = 0.19.4
+# Disable Gtk+ autodetection:
+confflags = --disable-gtk
+
CFLAGS = -Wall -g
ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
commit 6cba95bcd3cdd82b60fcf03c36a4c3e3ff2f93ba
Author: Cyril Brulebois <kibi@debian.org>
Date: Wed Oct 27 22:37:19 2010 +0200
Bump SHLIBS_VERSION from 0.18.0 to 0.19.4 for newly-added functions.
diff --git a/debian/changelog b/debian/changelog
index 329bbc3..791e95e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
pixman (0.19.6-1) UNRELEASED; urgency=low
* New upstream release.
+ * Bump SHLIBS_VERSION from 0.18.0 to 0.19.4 for newly-added functions.
* Update symbols file with newly-added functions.
* Add -c4 to the dh_makeshlibs call, to ensure the build breaks if
unexpected symbol-related changes happened.
diff --git a/debian/rules b/debian/rules
index 4711ec2..87411df 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,7 +3,7 @@
include /usr/share/quilt/quilt.make
PACKAGE = libpixman-1-0
-SHLIBS_VERSION = 0.18.0
+SHLIBS_VERSION = 0.19.4
CFLAGS = -Wall -g
ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
commit 4504e5e3e28c914b1b47d507fa5377b5e0e6594b
Author: Cyril Brulebois <kibi@debian.org>
Date: Wed Oct 27 22:35:22 2010 +0200
Kill extra tabs.
diff --git a/debian/rules b/debian/rules
index 6c0200b..4711ec2 100755
--- a/debian/rules
+++ b/debian/rules
@@ -49,14 +49,14 @@ build: build-stamp
build-stamp: config-stamp
dh_testdir
cd build && $(MAKE)
-
+
touch $@
clean: unpatch
dh_testdir
dh_testroot
rm -f autogen-stamp config-stamp build-stamp install-stamp
-
+
rm -f config.cache config.log config.status
rm -f */config.cache */config.log */config.status
rm -f conftest* */conftest*
@@ -65,7 +65,7 @@ clean: unpatch
find -name Makefile.in -delete
rm -f compile config.guess config.sub configure depcomp install-sh
rm -f ltmain.sh missing INSTALL aclocal.m4 config.h.in
-
+
dh_clean
install: install-stamp
commit ebabb2f2ce14c6a953c8a9e8ec79c2cd5b0026c3
Author: Cyril Brulebois <kibi@debian.org>
Date: Wed Oct 27 22:34:42 2010 +0200
Add -c4 to the dh_makeshlibs call, to ensure the build breaks if unexpected symbol-related changes happened.
diff --git a/debian/changelog b/debian/changelog
index e2732ba..329bbc3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,8 @@ pixman (0.19.6-1) UNRELEASED; urgency=low
* New upstream release.
* Update symbols file with newly-added functions.
+ * Add -c4 to the dh_makeshlibs call, to ensure the build breaks if
+ unexpected symbol-related changes happened.
-- Cyril Brulebois <kibi@debian.org> Wed, 27 Oct 2010 22:11:26 +0200
diff --git a/debian/rules b/debian/rules
index 8fa2158..6c0200b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -90,7 +90,7 @@ binary-arch: install
dh_strip --dbg-package=$(PACKAGE)-dbg
dh_compress
dh_fixperms
- dh_makeshlibs -p$(PACKAGE) --add-udeb $(PACKAGE)-udeb -V"$(PACKAGE) (>= $(SHLIBS_VERSION))"
+ dh_makeshlibs -p$(PACKAGE) --add-udeb $(PACKAGE)-udeb -V"$(PACKAGE) (>= $(SHLIBS_VERSION))" -- -c4
dh_installdeb
dh_shlibdeps
dh_gencontrol
commit 7cad3fd3f3f5a49284b24d939df1107942cb5a03
Author: Cyril Brulebois <kibi@debian.org>
Date: Wed Oct 27 22:30:57 2010 +0200
Update symbols file with newly-added functions.
diff --git a/debian/changelog b/debian/changelog
index f188cc6..e2732ba 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
pixman (0.19.6-1) UNRELEASED; urgency=low
* New upstream release.
+ * Update symbols file with newly-added functions.
-- Cyril Brulebois <kibi@debian.org> Wed, 27 Oct 2010 22:11:26 +0200
diff --git a/debian/libpixman-1-0.symbols b/debian/libpixman-1-0.symbols
index fb93e59..a7ae4b4 100644
--- a/debian/libpixman-1-0.symbols
+++ b/debian/libpixman-1-0.symbols
@@ -29,9 +29,11 @@ libpixman-1.so.0 libpixman-1-0 #MINVER#
pixman_image_create_solid_fill@Base 0
pixman_image_fill_boxes@Base 0.18.0
pixman_image_fill_rectangles@Base 0.15.14
+ pixman_image_get_component_alpha@Base 0.19.6
pixman_image_get_data@Base 0
pixman_image_get_depth@Base 0
pixman_image_get_destroy_data@Base 0.18.0
+ pixman_image_get_format@Base 0.19.6
pixman_image_get_height@Base 0
pixman_image_get_stride@Base 0
pixman_image_get_width@Base 0
@@ -64,6 +66,7 @@ libpixman-1.so.0 libpixman-1-0 #MINVER#
pixman_region32_init_rects@Base 0.11.2
pixman_region32_init_with_extents@Base 0.11.2
pixman_region32_intersect@Base 0.11.2
+ pixman_region32_intersect_rect@Base 0.19.6
pixman_region32_inverse@Base 0.11.2
pixman_region32_n_rects@Base 0.11.2
pixman_region32_not_empty@Base 0.11.2
@@ -86,6 +89,7 @@ libpixman-1.so.0 libpixman-1-0 #MINVER#
pixman_region_init_rects@Base 0
pixman_region_init_with_extents@Base 0
pixman_region_intersect@Base 0
+ pixman_region_intersect_rect@Base 0.19.6
pixman_region_inverse@Base 0
pixman_region_n_rects@Base 0
pixman_region_not_empty@Base 0
commit 865f80fd773eda54448db368b4077ee1db6f6bee
Author: Cyril Brulebois <kibi@debian.org>
Date: Wed Oct 27 22:13:24 2010 +0200
Update changelogs.
diff --git a/ChangeLog b/ChangeLog
index 367554f..b80f15d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,1064 @@
+commit 3193481ee64ab0cc9feb64c96d92bf034d44e1f4
+Merge: d105134 97336fa
+Author: Cyril Brulebois <kibi@debian.org>
+Date: Wed Oct 27 20:55:24 2010 +0200
+
+ Merge remote branch 'origin/upstream-experimental' into upstream-experimental
+
+ Use -s ours to move to upstream's pixman-0.19.6 tag.
+
+commit d1051340155a099a523e71377b1d889eec8b972e
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Wed Oct 20 16:25:55 2010 -0400
+
+ Pre-release version bump to 0.19.6
+
+commit a966cd04c16ad0c34b0f17e9021a4f3532575ca4
+Author: Andrea Canciani <ranma42@gmail.com>
+Date: Tue Oct 12 15:38:20 2010 +0200
+
+ Fix an overflow in the new radial gradient code
+
+ huge-radial in the cairo test suite pointed out an undocumented
+ overflow in the radial gradient code.
+ By casting to pixman_fixed_48_16_t before doing the operations,
+ the overflow can be avoided.
+
+commit 70658f0a6bd451a21fbb43df7865a7dac95abe24
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Wed Oct 20 16:09:44 2010 -0400
+
+ Remove the class field from source_image_t
+
+ The linear gradient was the only image type that relied on the class
+ being stored in the image struct itself. With the previous changes, it
+ doesn't need that anymore, so we can delete the field.
+
+commit 741c30d9d9cf445fa2e3a2c43d37c221d49831b4
+Author: Andrea Canciani <ranma42@gmail.com>
+Date: Wed Oct 20 21:24:32 2010 +0200
+
+ Remove unused enum value
+
+ The new linear gradient code doesn't use SOURCE_IMAGE_CLASS_VERTICAL
+ anymore and it was not used anywhere else.
+
+commit 9b72fd1b857494ea928795c89a4f827e56fe26d3
+Author: Andrea Canciani <ranma42@gmail.com>
+Date: Mon Oct 18 22:21:52 2010 +0200
+
+ Make classification consistent with rasterization
+
+ Use the same computations to classify the gradient and to
+ rasterize it.
+ This improves the correctness of the classification by
+ avoiding integer division.
+
+commit 1d4f2d71facd5f2bbce74fbe3407ccea6cf4bea1
+Author: Andrea Canciani <ranma42@gmail.com>
+Date: Wed Aug 11 09:58:05 2010 +0200
+
+ Improve precision of linear gradients
+
+ Integer division (without keeping the remainder) can discard a lot
+ of information. Doing the division maths in floating point (and
+ paying attention to error propagation) allows to greatly improve
+ the precision of linear gradients.
+
+commit f6ab20ca6604739b82311fc078d6ce850f43adc0
+Author: Andrea Canciani <ranma42@gmail.com>
+Date: Tue Oct 12 09:52:53 2010 +0200
+
+ Add comments about errors
+
+ Explain how errors are introduced in the computation performed for
+ radial gradients.
+
+commit 1ca715ed1e6914e9bd9f050065e827d7a9e2efc9
+Author: Andrea Canciani <ranma42@gmail.com>
+Date: Sun Aug 15 09:07:33 2010 +0200
+
+ Draw radial gradients with PDF semantics
+
+ Change radial gradient computations and definition to reflect the
+ radial gradients in PDF specifications (see section 8.7.4.5.4,
+ Type 3 (Radial) Shadings of the PDF Reference Manual).
+
+ Instead of having a valid interpolation parameter value for every
+ point of the plane, define it only for points withing the area
+ covered by the family of circles generated by interpolating or
+ extrapolating the start and end circles.
+
+ Points outside this area are now transparent black (rgba 0 0 0 0).
+ Points within this area have the color assiciated with the maximum
+ value of the interpolation parameter in that point (if multiple
+ solutions exist within the range specified by the extend mode).
+
+commit e46be417cebac984a858da05e61d924889695c9e
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Fri Oct 8 07:44:20 2010 -0400
+
+ Plug leak in the alphamap test.
+
+ The images are being created with non-NULL data, so we have to free it
+ outselves. This is important because the Cygwin tinderbox is running
+ out of memory and produces this:
+
+ mmap failed on 20000 1507328
+ mmap failed on 40000 1507328
+ mmap failed on 20000 1507328
+ mmap failed on 40000 1507328
+ mmap failed on 40000 1507328
+ mmap failed on 40000 1507328
+
+ http://tinderbox.x.org/builds/2010-10-05-0014/logs/pixman/#check
+
+commit 6ed7164de5f74b752d85834b53e89810f1d0a560
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Wed Oct 6 02:40:39 2010 -0400
+
+ Add no-op combiners for DST and the CA versions of the HSL operators.
+
+ We already exit early for DST, but for the HSL operators with
+ component alpha, we crash at the moment. Fix that by adding a dummy
+ combine_dst() function.
+
+commit 233b27257b63ecd502c6392e5ef3a7f736f14365
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Oct 5 11:05:25 2010 -0400
+
+ test: Add some more colors to the color table in composite.c
+
+ Specifically, add transparent black and superluminescent white with
+ alpha = 0.
+
+commit 3f7da59352b604bd6974230d0b149e8e7da77b5c
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Oct 5 09:49:45 2010 -0400
+
+ test: Parallize composite.c with OpenMP
+
+ Each test uses the test number as the random number seed; if it
+ didn't, all the threads would run the same tests since they would all
+ start from the same seed.
+
+commit a10ccc9f303ca6b4577afe68cc6b2d8840de5a27
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sun Mar 7 11:26:16 2010 -0500
+
+ test: Change composite so that it tests randomly generated images
+
+ Previously this test would try to exhaustively test all combinations
+ of formats and operators, which meant that it would take hours to run.
+ Instead, generate images randomly and test compositing those.
+
+ Cc: chris@chris-wilson.co.uk
+
+commit 55e4065cbbc5ffe2ce1986b51ef63e8a0b50fccb
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sun Mar 7 11:24:30 2010 -0500
+
+ test: Fix eval_diff() so that it provides useful error values.
+
+ Previously, this function would evaluate the error under the
+ assumption that the format was 565 or wider. This patch changes it to
+ take the actual format into account.
+
+ With that fixed, we can turn on testing for the rest of the formats.
+
+ Cc: chris@chris-wilson.co.uk
+
+commit fe411cf2ac4d5b26a319b906dee87e0cc69d2ad6
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sun Mar 7 10:31:04 2010 -0500
+
+ test: Fix bug in color_correct() in composite.c
+
+ This function was using the number of bits in a channel as if it were
+ a mask, which lead to many spurious errors. With that fixed, we can
+ turn on testing for all formats where all channels have 5 or more
+ bits.
+
+ Cc: chris@chris-wilson.co.uk
+
+commit 4e89a5b7f3b039fcc86dff7fb8bec79884c913e8
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Oct 5 11:08:42 2010 -0400
+
+ Remove broken optimizations in combine_disjoint_over_u()
+
+ The first broken optimization is that it checks "a != 0x00" where it
+ should check "s != 0x00". The other is that it skips the computation
+ when alpha is 0xff. That is wrong because in the formula:
+
+ min (1, (1 - Aa)/Ab)
+
+ the render specification states that if Ab is 0, the quotient is
+ defined to positive infinity. That is the case even if (1 - Aa) is 0.
+
+commit 8d76c1b3391e1165aaf9e0f331749aee1394f62c
+Author: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Mon Oct 4 04:49:08 2010 +0300
+
+ ARM: restore fallback to ARMv6 implementation from NEON in the delegate chain
+
+ After fast path cache introduction, the overhead of having this fallback is
+ insignificant. On the other hand, some of the ARM assembly optimizations (for
+ example nearest neighbor scaling) do not need NEON.
+
+commit c748650d700c2f18f1587f06ada3b58d6ddc18d3
+Author: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Wed Sep 8 09:30:23 2010 +0300
+
+ Use more unrolling for scaled src_0565_0565 with nearest filter
+
+ Benchmark from Intel Core i7 860:
+
+ == before ==
+ op=1, src_fmt=10020565, dst_fmt=10020565, speed=1335.29 MPix/s
+
+ == after ==
+ op=1, src_fmt=10020565, dst_fmt=10020565, speed=1550.96 MPix/s
+
+ == performance of nonscaled src_0565_0565 operation as a reference ==
+ op=1, src_fmt=10020565, dst_fmt=10020565, speed=2401.31 MPix/s
+
+ Benchmark from ARM Cortex-A8:
+
+ == before ==
+ op=1, src_fmt=10020565, dst_fmt=10020565, speed=81.79 MPix/s
+
+ == after ==
+ op=1, src_fmt=10020565, dst_fmt=10020565, speed=89.55 MPix/s
+
+ == performance of nonscaled src_0565_0565 operation as a reference ==
+ op=1, src_fmt=10020565, dst_fmt=10020565, speed=197.44 MPix/s
+
+commit a520c15e1134d9e801bc2ab461a3c5ade60544f2
+Author: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Thu Sep 23 23:41:50 2010 +0300
+
+ ARM: added 'neon_composite_out_reverse_8_0565' fast path
+
+ == before ==
+
+ outrev_8_0565 = L1: 22.91 L2: 22.40 M: 18.75 ( 10.47%)
+ HT: 12.62 VT: 12.22 R: 11.32 RT: 5.30 ( 58Kops/s)
+
+ == after ==
+
+ outrev_8_0565 = L1: 176.27 L2: 151.70 M:108.79 ( 60.81%)
+ HT: 50.43 VT: 37.16 R: 32.26 RT: 9.62 ( 97Kops/s)
+
+commit d8820360f79d07e03c91ecd201880bc6b1706f19
+Author: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Thu Sep 23 22:28:55 2010 +0300
+
+ ARM: added 'neon_composite_add_0565_8_0565' fast path
+
+ == before ==
+
+ add_0565_8_0565 = L1: 14.05 L2: 14.03 M: 11.57 ( 12.94%)
+ HT: 8.31 VT: 8.10 R: 7.47 RT: 3.64 ( 42Kops/s)
+
+ == after ==
+
+ add_0565_8_0565 = L1: 123.36 L2: 94.70 M: 74.36 ( 83.15%)
+ HT: 31.17 VT: 23.97 R: 21.06 RT: 6.42 ( 70Kops/s)
+
+commit 2f6c7b4f9d36261d2efe494a925faf063376ba30
+Author: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Fri May 21 16:31:03 2010 +0300
+
+ ARM: NEON: added forgotten cache preload for over_n_8888/over_n_0565
+
+ Prefetch provides up to 40-50% better performance when working
+ with large images and/or when having lots of L2 cache misses
+ on ARM Cortex-A8 @ 720MHz:
+
+ == before ==
+
+ over_n_8888 = L1: 225.83 L2: 181.02 M: 55.57 ( 41.41%)
+ HT: 38.96 VT: 36.92 R: 32.84 RT: 14.15 ( 123Kops/s)
+
+ over_n_0565 = L1: 153.91 L2: 149.69 M: 83.17 ( 30.95%)
+ HT: 50.41 VT: 49.15 R: 40.56 RT: 15.45 ( 131Kops/s)
+
+ == after ==
+
+ over_n_8888 = L1: 222.39 L2: 170.95 M: 76.86 ( 57.27%)
+ HT: 58.80 VT: 53.03 R: 45.51 RT: 14.13 ( 124Kops/s)
+
+ over_n_0565 = L1: 151.87 L2: 149.54 M:125.63 ( 46.80%)
+ HT: 67.85 VT: 57.54 R: 50.21 RT: 15.32 ( 130Kops/s)
+
+commit b924bb1f8191cc7c386d8211d9822aeeaadcab44
+Author: Mika Yrjola <mika.yrjola@movial.com>
+Date: Fri Oct 1 16:17:50 2010 +0300
+
+ Fix "syntax error: empty declaration" warnings.
+
+ These minor changes should fix a large number of
+ macro declaration - related "syntax error: empty declaration" warnings
+ which are seen while compiling the code with the Solaris Studio
+ compiler.
+
+commit 73c1fefa1b99efa36b74599f455df9426209378e
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Sep 28 00:51:07 2010 -0400
+
+ Delete simple repeat code
+
+ This was supposedly an optimization, but it has pathological cases
+ where it definitely isn't. For example a 1 x n image will cause it to
+ have terrible memory access patterns and to generate a ton of modulus
+ operations.
+
+ Since no one has ever measured whether it actually is an improvement,
+ and since it is doing the repeating at the wrong the stage in the
+ pipeline, and since with the previous commit it can't be triggered
+ anymore because we now require SAMPLES_COVER_CLIP for regular fast
+ paths, just delete it.
+
+commit a4d1c9d3831751008db61a48d6a6cb12ed33f314
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Sep 28 00:42:25 2010 -0400
+
+ Fix bug in FAST_PATH_STD_FAST_PATH
+
+ The standard fast paths deal with two kinds of images: solids and
+ bits. These two image types require different flags, but
+ PIXMAN_STD_FAST_PATH uses the same ones for both.
+
+ This patch makes it so that solid images just get the standard flags,
+ while bits images must be untransformed contain the destination clip
+ within the sample grid.
+
+ This means that the old FAST_PATH_COVERS_CLIP flag is now not used
+ anymore, so it can be deleted.
+
+commit 10e13135c3538f0909f27eaacc17e9e13f199a7c
+Author: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
+Date: Tue Sep 28 14:42:02 2010 +0300
+
+ Some clean-ups in fence_malloc() and fence_free()
+
+ This patch removes an unnecessary typecast of MAP_FAILED,
+ replaces an erroneous free() by the correct munmap() in the
+ error path for a failing mprotect(), and, finally, removes
+ redundant calls to mprotect() that aren't necessary, because
+ munmap() doesn't call for any specific memory protection.
+
+commit ba693d2e88b6f4c871d804fb62d7435915c85dfc
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Sep 28 02:52:02 2010 -0400
+
+ Fix search-and-replace issue in lowlevel-blt-bench.c
+
+commit 77d3e5f6ff719f53398b5675e5219d0e3b9746c1
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Fri Sep 17 09:21:09 2010 -0400
+
+ Rename all the fast paths with _8000 in their names to _8
+
+ This inconsistent naming somehow survived the refactoring from a while
+ back.
+
+commit ba69989374fe9cbe5151c5aac7b824da0806f94a
+Author: Liu Xinyun <xinyun.liu@intel.com>
+Date: Sat Sep 25 14:56:38 2010 +0800
+
+ Remove cache prefetch code.
+
+ The performance is decreased with cache prefetch, especially for
+ ATOM. So remove these code. Following is the experiment.
+
+ old: 0.19.5-with-cache-prefetch
+ new: 0.19.5-without-cache-prefetch
+
+ CPU: Intel Atom N270@1.6GHz
+ OS: MeeGo (32 bits)
+ Speedups
+ ========
+ image-rgba poppler-0 17125.68 (17279.58 0.92%) -> 14765.36 (15926.49 3.54%): 1.16x speedup
+ image-rgba ocitysmap-0 9008.25 (9040.41 7.50%) -> 8277.94 (8343.09 5.44%): 1.09x speedup
+ image-rgba xfce4-terminal-a1-0 18020.76 (18230.68 0.97%) -> 16703.77 (16712.42 1.22%): 1.08x speedup
+ image-rgba gnome-terminal-vim-0 25081.38 (25133.38 0.24%) -> 23407.47 (23652.98 0.54%): 1.07x speedup
+ image-rgba firefox-talos-gfx-0 57916.97 (57973.20 0.11%) -> 54556.64 (54624.55 0.39%): 1.06x speedup
+ image-rgba firefox-planet-gnome-0 102377.47 (103496.63 0.70%) -> 96816.65 (97075.54 0.15%): 1.06x speedup
+ image-rgba swfdec-giant-steps-0 12376.24 (12616.84 1.02%) -> 11705.30 (11825.20 1.06%): 1.06x speedup
+
+ CPU: Intel Core(TM)2 Duo CPU T9600@2.80GHz
+ OS: Ubuntu 10.04 (64bits)
+ Speedups
+ ========
+ image-rgba ocitysmap-0 2671.46 (2691.82 8.55%) -> 2296.20 (2307.26 5.77%): 1.16x speedup
+ image-rgba swfdec-giant-steps-0 1614.55 (1615.18 1.68%) -> 1532.84 (1538.52 0.72%): 1.05x speedup
+
+ Signed-off-by: Liu Xinyun <xinyun.liu@intel.com>
+ Signed-off-by: Chen Miaobo <miaobo.chen@intel.com>
+
+commit 56777f3f675869806cd30bcd21a5b39d788507cb
+Author: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
+Date: Wed Sep 22 12:34:57 2010 +0300
+
+ Use <sys/mman.h> macros only when they are available
+
+ Not all systems are regular Unices, so let's be careful with the
+ mmap()-related stuff, which might be unavailable. This patch makes
+ sure that mmap() and friends is used only when the <sys/mman.h>
+ header is found.
+
+commit 39524a4687391c68f4177e8671f4b2bd39e05850
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Sep 21 14:20:43 2010 -0400
+
+ Revert "add enable-cache-prefetch option"
+
+ Revert this accidentally committed patch.
+
+ This reverts commit 19ea0e16b958e5abe491365c203293ab372f3586.
+
+commit e97da2104967f4c99aed40e89f3e0141ceed7040
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Sep 21 14:12:00 2010 -0400
+
+ If MAP_ANONYMOUS is not defined, define it to MAP_ANON.
+
+ This hopefully fixes the build failure on OS X.
+
+commit 19ea0e16b958e5abe491365c203293ab372f3586
+Author: Liu Xinyun <xinyun.liu@intel.com>
+Date: Wed Sep 22 00:15:10 2010 +0800
+
+ add enable-cache-prefetch option
+
+ OK. here is the work to clear all cache prefetch. Please review it. 3x
+
+ On Tue, Sep 21, 2010 at 11:36:30PM +0800, Soeren Sandmann wrote:
+ > Liu Xinyun <xinyun.liu@intel.com> writes:
+ >
+ > > This patch is to add a new configuration option: enable-cache-prefetch,
+ > > which is default yes.
+ > >
+ > > Here is a link which talks on cache issue.
+ > > http://lists.freedesktop.org/archives/pixman/2010-June/000218.html
+ > >
+ > > When disable it on Atom CPU(configured with --enable-cache-prefetch=no),
+ > > it will have a little performance gain. Here is the patch.
+ >
+ > I think the cache prefetch code should just be deleted outright. No
+ > benchmarks that I'm aware of show it to be an improvement.
+ >
+ >
+ > Thanks,
+ > Soren
+
+ >From bca2192ef524bcae4eea84d0ffed9e8c4855675f Mon Sep 17 00:00:00 2001
+ From: Liu Xinyun <xinyun.liu@intel.com>
+ Date: Wed, 22 Sep 2010 00:11:56 +0800
+ Subject: [PATCH] remove cache prefetch
+
+commit edd173396604b052fd76971d0efa0c8db40cf1f3
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Sep 21 10:18:44 2010 -0400
+
+ Post-release version bump to 0.19.5
+
+commit e5b3a6e7105af590d72e2ae986f9985f71cc88f5
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Sep 21 10:11:34 2010 -0400
+
+ Pre-release version bump to 0.19.4
+
+commit 0742ba41646853a5edf90c2f3102f49b248321ee
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Sep 21 10:05:52 2010 -0400
+
+ compute_composite_region32: Zero extents before returning FALSE.
+
+ If the extents of the composite region are broken such that x2 <= x1
+ or y2 <= y1, then we need to zero the extents before returning so that
+ the region won't be completely broken when calling
+ pixman_region32_fini().
+
+commit 7cd4f2fa201c4dc846153c022423e3dced2cfb13
+Author: Jonathan Morton <jonathan.morton@movial.com>
+Date: Fri Sep 17 17:52:23 2010 +0300
+
+ Add a lowlevel blitter benchmark
+
+ This test is a modified version of Siarhei's compositor throughput
+ benchmark. It's expanded with explicit reporting of memory bandwidth
+ consumption for the M-test, and with an additional 8x8-random test
+ intended to determine peak ops/sec capability. There are also quite a
+ lot more operations tested for.
+
+commit eab3a77877b0e850c46f95dacffb31994e6a7e41
+Author: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
+Date: Fri Sep 17 17:52:22 2010 +0300
+
+ Add noinline macro
+
+ This patch adds a noinline macro, which expands to compiler-dependent
+ keywords that tell the compiler to never inline a function.
+
+commit cab3261c0da6e833d803a7f3ccab600adca7abe1
+Author: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
+Date: Fri Sep 17 17:52:21 2010 +0300
+
+ Add gettime() routine to test utils
+
+ Impending benchmark code will need a function to get current time
+ in seconds, and this patch introduces such routine. We try to use
+ the POSIX gettimeofday() function when available, and fall back to
+ clock() when not.
+
+commit fd3c87d460a6d1803880d17af416cce344a086c4
+Author: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
+Date: Fri Sep 17 17:52:20 2010 +0300
+
+ Move aligned_malloc() to utils
+
+ The aligned_malloc() routine will be used in more than one test utility.
+ At least, a low-level blitter benchmark needs it. Therefore, let's make
+ this function a part of common test utilities code.
+
+commit f474783607e51183d31814972d0f055907876079
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Thu Sep 16 10:33:23 2010 -0400
+
+ Enable bits_image_fetch_bilinear_affine_normal_r5g6b5
+
+commit 91521d30ab9b033a35fb7797e4566d575ad1c1dc
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Thu Sep 16 10:33:10 2010 -0400
+
+ Enable bits_image_fetch_bilinear_affine_reflect_r5g6b5
+
+commit 372d7b954aee4f3a2ad94ed8484a2b4084db0c7c
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Thu Sep 16 10:33:00 2010 -0400
+
+ Enable bits_image_fetch_bilinear_affine_none_r5g6b5
+
+commit a826ae0e3a0279557e892856ef1333971b105d01
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Thu Sep 16 10:32:44 2010 -0400
+
+ Enable bits_image_fetch_bilinear_affine_pad_r5g6b5
+
+commit c5238bd1809433af5b0efc3add23c1ccb4da884c
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Thu Sep 16 10:32:27 2010 -0400
+
+ Enable bits_image_fetch_bilinear_affine_normal_a8
+
+commit d12daefcdb8845e539309df46b08916829a86d9c
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Thu Sep 16 10:32:12 2010 -0400
+
+ Enable bits_image_fetch_bilinear_affine_reflect_a8
+
+commit 9388be32932898ed424c8916a57a6201f995416b
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Thu Sep 16 10:31:57 2010 -0400
+
+ Enable bits_image_fetch_bilinear_affine_none_a8
+
+commit 8e4d4e8d110c379cb85f53752660c6b2fab33d5e
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Thu Sep 16 10:31:45 2010 -0400
+
+ Enable bits_image_fetch_bilinear_affine_pad_a8
+
+commit ce1f6c50b4ddf8f7c48a3b272c19d281beca4b34
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sat Aug 28 02:41:20 2010 -0400
+
+ Enable bits_image_fetch_bilinear_affine_normal_x8r8g8b8
+
+commit 83f2ee3e958a02fc85a2dc6eddc048b63d74cd5c
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sat Aug 28 02:41:08 2010 -0400
+
+ Enable bits_image_fetch_bilinear_affine_reflect_x8r8g8b8
+
+commit be37ae331c6e5e9539b0c1eac6e196366532df29
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sat Aug 28 02:40:56 2010 -0400
+
+ Enable bits_image_fetch_bilinear_affine_none_x8r8g8b8
+
+commit 5f8a9bebc04deb55de79e7443578779a93b8cfa6
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sat Aug 28 02:40:46 2010 -0400
+
+ Enable bits_image_fetch_bilinear_affine_pad_x8r8g8b8
+
+commit c59584cb862ef8774a2ef1eabb87fef18506d10f
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sat Aug 28 02:40:16 2010 -0400
+
+ Enable bits_image_fetch_bilinear_affine_normal_a8r8g8b8
+
+commit 2292cff304fd5aad6dbcc86342a57ea523136de6
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sat Aug 28 02:40:03 2010 -0400
+
+ Enable bits_image_fetch_bilinear_affine_reflect_a8r8g8b8
+
+commit 8b29162693adc30dbb5c0f60098d2853c3942c36
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sat Aug 28 02:39:51 2010 -0400
+
+ Enable bits_image_fetch_bilinear_affine_none_a8r8g8b8
+
+commit e8555874e122f6e113f85e37059932457ee509cb
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sat Aug 28 02:39:37 2010 -0400
+
+ Enable bits_image_fetch_bilinear_affine_pad_a8r8g8b8
+
+commit f9778c15e9c01c02e0002edfc4d4a1d517d14d87
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sun May 23 04:44:33 2010 -0400
+
+ Use a macro to generate some {a,x}8r8g8b8, a8, and r5g6b5 bilinear fetchers.
+
+ There are versions for all combinations of x8r8g8b8/a8r8g8b8 and
+ pad/repeat/none/normal repeat modes. The bulk of each scaler is an
+ inline function that takes a format and a repeat mode as parameters.
+
+ The new scalers are all commented out, but the next commits will
+ enable them one at a time to facilitate bisecting.
+
+commit 6d1e10a8b5c456ee501a309f5cf2f801efcf63b0
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Wed Jul 14 16:27:27 2010 -0400
+
+ test: Add affine-test
+
+ This test tests compositing with various affine transformations. It is
+ almost identical to scaling-test, except that it also applies a random
+ rotation in addition to the random scaling and translation.
+
+commit 4fa33537d7093ac759b7ded1718a628dacd2aff4
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sun Sep 12 06:07:41 2010 -0400
+
+ analyze_extents: Fast path for non-transformed BITS images
Reply to: