pixman: Changes to 'debian-experimental'
.gitignore | 13
COPYING | 1
ChangeLog | 2475 ++++++++
RELEASING | 30
TODO | 5
autogen.sh | 2
configure.ac | 187
debian/changelog | 26
debian/control | 20
debian/libpixman-1-0.symbols | 5
debian/patches/pixman-arm-don-t-use-env-vars-to-get-hwcap-platform.patch | 52
debian/patches/series | 1
debian/rules | 14
pixman/Makefile.am | 29
pixman/pixman-access.c | 206
pixman/pixman-arm-common.h | 273
pixman/pixman-arm-neon-asm.S | 1713 +++++
pixman/pixman-arm-neon-asm.h | 906 +++
pixman/pixman-arm-neon.c | 2892 ----------
pixman/pixman-arm-simd-asm.S | 330 +
pixman/pixman-arm-simd.c | 225
pixman/pixman-bits-image.c | 413 +
pixman/pixman-compiler.h | 60
pixman/pixman-conical-gradient.c | 2
pixman/pixman-cpu.c | 14
pixman/pixman-edge-imp.h | 20
pixman/pixman-edge.c | 5
pixman/pixman-fast-path.c | 1004 ++-
pixman/pixman-general.c | 52
pixman/pixman-image.c | 306 -
pixman/pixman-implementation.c | 55
pixman/pixman-mmx.c | 290 -
pixman/pixman-private.h | 277
pixman/pixman-region.c | 334 -
pixman/pixman-solid-fill.c | 35
pixman/pixman-sse2.c | 710 +-
pixman/pixman-trap.c | 14
pixman/pixman-utils.c | 620 --
pixman/pixman-vmx.c | 7
pixman/pixman-x64-mmx-emulation.h | 8
pixman/pixman.c | 1012 ++-
pixman/pixman.h | 81
pixman/solaris-hwcap.mapfile | 36
test/Makefile.am | 52
test/a1-trap-test.c | 50
test/alpha-test.c | 12
test/alphamap.c | 49
test/blitters-test.c | 315 -
test/clip-in.c | 2
test/clip-test.c | 4
test/composite-test.c | 7
test/composite.c | 901 +++
test/convolution-test.c | 2
test/fetch-test.c | 104
test/gradient-test.c | 10
test/gtk-utils.c | 113
test/gtk-utils.h | 13
test/region-test.c | 49
test/scaling-test.c | 207
test/screen-test.c | 2
test/trap-test.c | 2
test/utils.c | 289
test/utils.h | 47
test/window-test.c | 6
64 files changed, 11469 insertions(+), 5527 deletions(-)
New commits:
commit c6afb1f264646d461476aa9618191ce16dd178a1
Author: Julien Cristau <jcristau@debian.org>
Date: Sat May 8 17:23:17 2010 +0200
add bug closer
diff --git a/debian/changelog b/debian/changelog
index 7e761f8..b485a06 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,7 +3,7 @@ pixman (0.18.0-1) UNRELEASED; urgency=low
* Rename the build directory to not include DEB_BUILD_GNU_TYPE for no
good reason. Thanks, Colin Watson!
* Remove myself from Uploaders
- * New upstream release.
+ * New upstream release (closes: #579014).
* Update symbols file for new API, bump shlibs.
* Drop pixman-arm-don-t-use-env-vars-to-get-hwcap-platform.patch, obsolete.
commit 92ac0adbbf24a9a668e81104734f0b1e526b69e5
Author: Julien Cristau <jcristau@debian.org>
Date: Sat May 8 17:19:53 2010 +0200
Drop pixman-arm-don-t-use-env-vars-to-get-hwcap-platform.patch, obsolete.
diff --git a/debian/changelog b/debian/changelog
index 624a59c..7e761f8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,7 @@ pixman (0.18.0-1) UNRELEASED; urgency=low
* Remove myself from Uploaders
* New upstream release.
* Update symbols file for new API, bump shlibs.
+ * Drop pixman-arm-don-t-use-env-vars-to-get-hwcap-platform.patch, obsolete.
-- Julien Cristau <jcristau@debian.org> Sat, 08 May 2010 17:06:36 +0200
diff --git a/debian/patches/pixman-arm-don-t-use-env-vars-to-get-hwcap-platform.patch b/debian/patches/pixman-arm-don-t-use-env-vars-to-get-hwcap-platform.patch
deleted file mode 100644
index a060561..0000000
--- a/debian/patches/pixman-arm-don-t-use-env-vars-to-get-hwcap-platform.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 2beb82c292725ad500db9d564ca73dd6c2bce463 Mon Sep 17 00:00:00 2001
-From: Julien Cristau <jcristau@debian.org>
-Date: Sun, 23 Aug 2009 12:31:21 +0200
-Subject: [PATCH] pixman/arm: don't use env vars to get hwcap/platform
-
----
- pixman/pixman-cpu.c | 6 ++++++
- 1 files changed, 6 insertions(+), 0 deletions(-)
-
-diff --git a/pixman/pixman-cpu.c b/pixman/pixman-cpu.c
-index a2a7b8a..af16715 100644
---- a/pixman/pixman-cpu.c
-+++ b/pixman/pixman-cpu.c
-@@ -253,8 +253,10 @@ pixman_arm_read_auxv ()
- if (aux.a_type == AT_HWCAP)
- {
- uint32_t hwcap = aux.a_un.a_val;
-+#if 0
- if (getenv ("ARM_FORCE_HWCAP"))
- hwcap = strtoul (getenv ("ARM_FORCE_HWCAP"), NULL, 0);
-+#endif
- /* hardcode these values to avoid depending on specific
- * versions of the hwcap header, e.g. HWCAP_NEON
- */
-@@ -266,8 +268,10 @@ pixman_arm_read_auxv ()
- else if (aux.a_type == AT_PLATFORM)
- {
- const char *plat = (const char*) aux.a_un.a_val;
-+#if 0
- if (getenv ("ARM_FORCE_PLATFORM"))
- plat = getenv ("ARM_FORCE_PLATFORM");
-+#endif
- if (strncmp (plat, "v7l", 3) == 0)
- {
- arm_has_v7 = TRUE;
-@@ -281,11 +285,13 @@ pixman_arm_read_auxv ()
- }
- close (fd);
-
-+#if 0
- /* if we don't have 2.6.29, we have to do this hack; set
- * the env var to trust HWCAP.
- */
- if (!getenv ("ARM_TRUST_HWCAP") && arm_has_v7)
- arm_has_neon = TRUE;
-+#endif
- }
-
- arm_tests_initialized = TRUE;
---
-1.6.3.3
-
diff --git a/debian/patches/series b/debian/patches/series
deleted file mode 100644
index 21a8c56..0000000
--- a/debian/patches/series
+++ /dev/null
@@ -1 +0,0 @@
-pixman-arm-don-t-use-env-vars-to-get-hwcap-platform.patch
commit b24ef53fa7dff1b90b7e6f3ecc2e7bc6bbf2edce
Author: Julien Cristau <jcristau@debian.org>
Date: Sat May 8 17:18:00 2010 +0200
rules: use find .. -delete instead of rm $(find ..)
diff --git a/debian/rules b/debian/rules
index be44b16..8fa2158 100755
--- a/debian/rules
+++ b/debian/rules
@@ -62,7 +62,7 @@ clean: unpatch
rm -f conftest* */conftest*
rm -rf autom4te.cache */autom4te.cache
rm -rf build
- rm -f $$(find -name Makefile.in)
+ 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
commit df082450b1c8b5de661ceac0b4e4badf21ab6fb1
Author: Julien Cristau <jcristau@debian.org>
Date: Sat May 8 17:17:27 2010 +0200
Update symbols file for new API, bump shlibs.
diff --git a/debian/changelog b/debian/changelog
index 4843a7e..624a59c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,7 @@ pixman (0.18.0-1) UNRELEASED; urgency=low
good reason. Thanks, Colin Watson!
* Remove myself from Uploaders
* New upstream release.
+ * Update symbols file for new API, bump shlibs.
-- Julien Cristau <jcristau@debian.org> Sat, 08 May 2010 17:06:36 +0200
diff --git a/debian/libpixman-1-0.symbols b/debian/libpixman-1-0.symbols
index db16c97..fb93e59 100644
--- a/debian/libpixman-1-0.symbols
+++ b/debian/libpixman-1-0.symbols
@@ -21,14 +21,17 @@ libpixman-1.so.0 libpixman-1-0 #MINVER#
pixman_f_transform_translate@Base 0.13.2
pixman_fill@Base 0
pixman_image_composite@Base 0.15.14
+ pixman_image_composite32@Base 0.18.0
pixman_image_create_bits@Base 0.15.12
pixman_image_create_conical_gradient@Base 0
pixman_image_create_linear_gradient@Base 0
pixman_image_create_radial_gradient@Base 0
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_data@Base 0
pixman_image_get_depth@Base 0
+ pixman_image_get_destroy_data@Base 0.18.0
pixman_image_get_height@Base 0
pixman_image_get_stride@Base 0
pixman_image_get_width@Base 0
@@ -56,6 +59,7 @@ libpixman-1.so.0 libpixman-1-0 #MINVER#
pixman_region32_extents@Base 0.11.2
pixman_region32_fini@Base 0.11.2
pixman_region32_init@Base 0.11.2
+ pixman_region32_init_from_image@Base 0.18.0
pixman_region32_init_rect@Base 0.11.2
pixman_region32_init_rects@Base 0.11.2
pixman_region32_init_with_extents@Base 0.11.2
@@ -77,6 +81,7 @@ libpixman-1.so.0 libpixman-1-0 #MINVER#
pixman_region_extents@Base 0
pixman_region_fini@Base 0
pixman_region_init@Base 0
+ pixman_region_init_from_image@Base 0.18.0
pixman_region_init_rect@Base 0
pixman_region_init_rects@Base 0
pixman_region_init_with_extents@Base 0
diff --git a/debian/rules b/debian/rules
index 8319e0e..be44b16 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,7 +3,7 @@
include /usr/share/quilt/quilt.make
PACKAGE = libpixman-1-0
-SHLIBS_VERSION = 0.15.16
+SHLIBS_VERSION = 0.18.0
CFLAGS = -Wall -g
ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
commit a2009cec772c610f7d11c566912da6360b173f3d
Author: Julien Cristau <jcristau@debian.org>
Date: Sat May 8 17:06:51 2010 +0200
Bump changelogs
diff --git a/ChangeLog b/ChangeLog
index 601195b..fb006a1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,10 +1,1208 @@
-commit 92865d4decd4607086c22187b8892af9c74fe2f0
+commit e9dc568d6f585a153c47e970168a9c71d3e45fde
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Thu Apr 1 05:23:31 2010 -0400
+
+ Pre-release version bump to 0.18.0
+
+commit efd41c62875d97c5127233cb6a4c353b4d495531
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed Mar 24 18:54:29 2010 +0100
+
+ Revert "Improve PIXREGION_NIL to return true on degenerated regions."
+
+ This reverts commit ebba1493136a5a0dd7667073165b2115de203eda.
+ Scheduled for re-discussion after stable 0.18 has been released.
+
+commit ebba1493136a5a0dd7667073165b2115de203eda
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Wed Mar 24 12:00:21 2010 +0100
+
+ Improve PIXREGION_NIL to return true on degenerated regions.
+
+ Fixes Novell bug 568811.
+
+commit c0f8d417b512b7d526fb6127954a50d14214f420
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Mar 23 17:25:54 2010 -0400
+
+ Post-release version bump to 0.17.15
+
+commit b35f0b0158cd7aac388ba4c72c6c8aada77d2e22
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Mar 23 16:52:02 2010 -0400
+
+ Pre-release version bump to 0.17.14
+
+commit 27a9f0468bdfa257e70270bf9addd5ad064f918b
+Merge: 69f1ec9 3ef2033
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Mar 23 11:00:04 2010 -0400
+
+ Merge remote branch 'ssvb/arm-fixes'
+
+commit 3ef203331f124bf137c6e0c8d5516b1209c92dd9
+Author: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Mon Mar 22 21:56:17 2010 +0200
+
+ ARM: SIMD optimizations moved to a separate .S file
+
+ This should be the last step in providing full armv4t compatibility
+ with CPU features runtime autodetection in pixman.
+
+commit 0a0591c2f7abde8880f4aebd510c27517a414450
+Author: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Mon Mar 22 19:51:00 2010 +0200
+
+ ARM: SIMD optimizations updated to use common assembly calling conventions
+
+commit c1e8d4533aea3aa10c49465cf5e9a44d946f70bb
+Author: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Mon Mar 22 18:51:54 2010 +0200
+
+ ARM: Helper ARM NEON assembly binding macros moved into a separate header
+
+ This is needed for future reuse of the same macros for the other
+ ARM assembly optimizations (armv4t, armv6)
+
+commit 5791026e45f79d8f5168e302a498455870363ac6
+Author: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Sun Dec 27 00:27:53 2009 +0200
+
+ ARM: Workaround for a NEON bug in assembler from binutils 2.18
+
+ The problem was reported as bug 25534 against pixman in
+ freedesktop.org bugzila. Link to a patch for binutils:
+ http://sourceware.org/ml/binutils/2008-03/msg00260.html
+
+ For pixman the impact is a build failure when using
+ binutils 2.18. Versions 2.19 and higer are fine. Still
+ some distros may be using older versions of binutils and
+ this is causing problems.
+
+ This patch workarounds the problem by replacing a problematic
+ "vmov a, b" instruction with equivalent "vorr a, b, b". Actually
+ they even map to the same instruction opcode in the generated
+ code, so the resulting binary is identical with and without patch.
+
+commit 68d8d83223b5a35e25d379c2ee9e2e3a1d242323
+Author: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Mon Mar 22 11:54:51 2010 +0200
+
+ ARM: Use '.object_arch' directive in NEON assembly file
+
+ This can be used to override the architecture recorded in the EABI object
+ attribute section. We set a minimum arch to 'armv4'. Binutils documentation
+ recommends to use this directive with the code performing runtime detection
+ of CPU features.
+
+ Additionally NEON/VFP EABI attributes are suppressed. And the instruction
+ set to use is explicitly set to '.arm'.
+
+ Configure test for NEON support is also updated to include a bunch of
+ these new directives (if any of these is unsupported by the assembler,
+ it is better to fail configure test than to fail library build).
+
+ All these changes are required to fix SIGILL problem on armv4t, reported in
+ http://lists.freedesktop.org/archives/pixman/2010-March/000123.html
+
+commit 69f1ec9a7827aeb522fcae99846237ef0f896e7b
+Author: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date: Wed Mar 17 21:07:06 2010 +0000
+
+ Avoid a potential division-by-zero exeception in window-test
+
+ Avoid a division-by-zero exception if the first number returned by
+ rand() is a multiple of 500, causing us to create a zero width pixmap,
+ and then attempt to use get_rand(0) when generating a random stride...
+
+ Fixes https://bugs.freedesktop.org/attachment.cgi?id=34162
+
+commit 50713d9d0d9241597724551315f05d958ce7a283
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Wed Mar 17 15:12:06 2010 -0400
+
+ Post-release version bump to 0.17.13
+
+commit fb68d6c14dd76121af009213df46e37ee17e38d7
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Wed Mar 17 13:46:44 2010 -0400
+
+ Pre-release version bump to 0.17.12
+
+commit 265ea1fb4d05a920323f23a02f9dc379312bbdae
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Wed Mar 17 10:50:42 2010 -0400
+
+ Specialize the fast_composite_scaled_nearest_* scalers to positive x units
+
+ This avoids a test in the inner loop, which improves performance
+ especially for tiled sources.
+
+ On x86-32, I get these results:
+
+ Before:
+ op=1, src_fmt=20028888, dst_fmt=20028888, speed=306.96 MPix/s (73.18 FPS)
+ op=1, src_fmt=20028888, dst_fmt=10020565, speed=102.67 MPix/s (24.48 FPS)
+ op=1, src_fmt=10020565, dst_fmt=10020565, speed=324.85 MPix/s (77.45 FPS)
+
+ After:
+ op=1, src_fmt=20028888, dst_fmt=20028888, speed=332.19 MPix/s (79.20 FPS)
+ op=1, src_fmt=20028888, dst_fmt=10020565, speed=110.41 MPix/s (26.32 FPS)
+ op=1, src_fmt=10020565, dst_fmt=10020565, speed=363.28 MPix/s (86.61 FPS)
+
+commit 9cd1051523493e0926b146f05cdde34158391602
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Wed Mar 17 10:35:34 2010 -0400
+
+ Add a FAST_PATH_X_UNIT_POSITIVE flag
+
+ This is the common case for a lot of transformed images. If the unit
+ were negative, the transformation would be a reflection which is
+ fairly rare.
+
+commit a5b51bb03c5c1258d7558efa13eca6c570e34ce6
+Author: Alexander Larsson <alexl@redhat.com>
+Date: Wed Mar 17 11:58:05 2010 +0100
+
+ Use the right format for the OVER_8888_565 fast path
+
+commit 3b92b711d031a7752e06d0a5f688f4c54f50a1e6
+Author: Alexander Larsson <alexl@redhat.com>
+Date: Fri Mar 12 15:45:04 2010 +0100
+
+ Add specialized fast nearest scalers
+
+ This is a macroized version of SRC/OVER repeat normal/unneeded nearest
+ neighbour scaling instantiated for some common 8888 and 565 formats.
+
+ Based on work by Siarhei Siamashka
+
+commit 5750408e48259f42373a5233231104d9bd3eb35a
+Author: Alexander Larsson <alexl@redhat.com>
+Date: Fri Mar 12 15:41:01 2010 +0100
+
+ Add FAST_PATH_SAMPLES_COVER_CLIP and FAST_PATH_16BIT_SAFE
+
+ FAST_PATH_SAMPLES_COVER_CLIP:
+
+ This is set of the source sample grid, unrepeated but transformed
+ completely completely covers the clip destination. If this is set
+ you can use a simple scaled that doesn't have to care about the repeat
+ mode.
+
+ FAST_PATH_16BIT_SAFE:
+
+ This signifies two things:
+ 1) The size of the src/mask fits in a 16.16 fixed point, so something like:
+
+ max_vx = src_image->bits.width << 16;
+
+ Is allowed and is guaranteed to not overflow max_vx
+
+ 2) When stepping the source space we're guaranteed to never overflow
+ a 16.16 bit fix point variable, even if we step one extra step
+ in the destination space. This means that a loop doing:
+
+ x = vx >> 16;
+ vx += unit_x; d = src_row[x];
+
+ will never overflow vx causing x to be negative.
+
+ And additionally, if you track vx like above and apply NORMAL repeat
+ after the vx addition with something like:
+
+ while (vx >= max_vx) vx -= max_vx;
+
+ This will never overflow the vx even on the final increment that
+ takes vx one past the end of where we will read, which makes the
+ repeat loop safe.
+
+commit cba6fbbddce5edfd8e28ef570c493b044761f870
+Author: Alexander Larsson <alexl@redhat.com>
+Date: Fri Mar 12 15:40:07 2010 +0100
+
+ Add FAST_PATH_NO_NONE_REPEAT flag
+
+commit 7ec023ede155b9dacf574c4323740ef981802aa9
+Author: Alexander Larsson <alexl@redhat.com>
+Date: Tue Mar 16 14:18:29 2010 +0100
+
+ Add CONVERT_8888_TO_8888 and CONVERT_0565_TO_0565 macros
+
+ These are useful for macroization
+
+commit c903d03052e1c34478556964338959b34928a388
+Author: Alexander Larsson <alexl@redhat.com>
+Date: Fri Mar 12 16:23:42 2010 +0100
+
+ Add CONVERT_0565_TO_8888 macro
+
+ This lets us simplify some fast paths since we get a consistent
+ naming that always has 8888 and gets some value for alpha.
+
+commit de27f45ddd46fc48ec9598f2f177155328d55580
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Mon Mar 15 11:51:09 2010 -0400
+
+ Ensure that only the low 4 bit of 4 bit pixels are stored.
+
+ In some cases we end up trying to use the STORE_4 macro with an 8 bit
+ values, which resulted in other pixels getting overwritten. Fix this
+ by always masking off the low 4 bits.
+
+ This fixes blitters-test on big-endian machines.
+
+commit 6532f8488abffb89501cb76de7d80b8ab2d49aed
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Mar 16 08:17:10 2010 -0400
+
+ Fix contact address in configure.ac
+
+commit 7c9f121efe7ee6afafad8b294974f5498054559b
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Mar 16 12:23:50 2010 -0400
+
+ Add PIXMAN_DEFINE_THREAD_LOCAL() and PIXMAN_GET_THREAD_LOCAL() macros
+
+ These macros hide the various types of thread local support. On Linux
+ and Unix, they expand to just __thread. On Microsoft Visual C++, they
+ expand to __declspec(thread).
+
+ On OS X and other systems that don't have __thread, they expand to a
+ complicated concoction that uses pthread_once() and
+ pthread_get/set_specific() to get thread local variables.
+
+commit 6b9c54820015f69e667ed54441e83042c9a84cc1
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Tue Mar 16 11:01:08 2010 -0400
+
+ Add checks for various types of thread local storage.
+
+ OS X does not support __thread, so we have to check for it before
+ using it. It does however support pthread_get/setspecific(), so if we
+ don't have __thread, check if those are available.
+
+commit 313353f1fb9d40d0c3aaf7cfb99ca978b29003a4
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Mon Mar 15 15:20:05 2010 -0700
+
+ Add Sun cc to thread-local support checks in pixman-compiler.h
+
+ Clears '#warning: "unknown compiler"' messages when building
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
+
+commit b67f784a5dc51f41e40bb1a165411f5259ea0ee4
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Mon Mar 15 10:52:17 2010 -0700
+
+ Make .s target asm flag selection more portable
+
+ The previous code worked in GNU make, but caused a syntax error in Solaris
+ make ( https://bugs.freedesktop.org/show_bug.cgi?id=27062 ) - this seems to
+ work in both, and should hopefully not cause syntax errors in any versions
+ of make not supporting the macro-substitution-in-macro-name feature, just
+ cause the macro to expand to nothing.
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
+
+commit 7a5dc747852d46fa382ef885bb6299723ef6ed00
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Mon Mar 15 07:40:46 2010 -0400
+
+ Fix typo: WORDS_BIG_ENDIAN => WORDS_BIGENDIAN in pixman-edge.c
+
+ Pointed out by Andreas Falkenhahn on the cairo mailing list.
+
+commit ff30a5cbb941a9559082c6a6052ef761c7de949c
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Wed Mar 3 13:24:13 2010 -0500
+
+ test: Add support for indexed formats to blitters-test
+
+ These formats work fine, they just need to have a palette set.
+
+commit 2b5f7be6c05ce3643b7d29e7237f91bfaedd80e5
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Mon Mar 1 10:32:39 2010 -0500
+
+ pixman.h: Only define stdint types when PIXMAN_DONT_DEFINE_STDINT is undefined
+
+ In SPICE, with Microsoft Visual C++, pixman.h is included after
+ another file that defines these types, which causes warnings and
+ errors.
+
+ This patch allows such code to just define PIXMAN_DONT_DEFINE_STDINT
+ to use its own version of those types.
+
+commit f4da05c9f988133079cac2b8d54589386f46398f
+Merge: a12d868 f534509
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sun Mar 14 12:12:05 2010 -0400
+
+ Merge branch 'operator-table'
+
+commit a12d868df8b673df2b563f309563954e2b3f977d
+Merge: 18f0de4 54e39e0
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sun Mar 14 12:12:00 2010 -0400
+
+ Merge branch 'fast-path-cache'
+
+commit f534509d007de40592dedc574e7eb78445453ec0
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sat Jan 30 11:37:25 2010 -0500
+
+ Change operator table to be an array of arrays of four bytes.
+
+ This makes gcc generate slightly better code for optimize_operator.
+
+commit 94d75ebd2167b44c142a6202b2d7bbe238dfd830
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Sat Sep 19 02:40:56 2009 -0400
+
+ Strength reduce certain conjoint/disjoint to their normal counterparts.
+
+ This allows us to not test for them later on.
+
+commit 58be9c71d2b1d0ed9d8feed1db0581b250d0a7d2
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Sat Sep 19 02:32:28 2009 -0400
+
+ Store the operator table more compactly.
+
+ The four cases for each operator:
+
+ none-are-opaque, src-is-opaque, dest-is-opaque, both-are-opaque
+
+ are packed into one uint32_t per operator. The relevant strength
+ reduced operator can then be found by packing the source-is-opaque and
+ dest-is-opaque into two bits and shifting that number of bytes.
+
+ Chris Wilson pointed out a bug in the original version of this commit:
+ dest_is_opaque and source_is_opaque were used as booleans, but their
+ actual values were the results of a logical AND with the
+ FAST_PATH_OPAQUE flag, so the shift value was wildly wrong.
+
+ The only reason it actually passed the test suite (on x86) was that
+ the compiler computed the shift amount in the cl register, and the low
+ byte of FAST_PATH_OPAQUE happens to be 0, so no shifting actually took
+ place, and the original operator was returned.
+
+commit 7fe35f0e6b660f5667ff653f3b753bc3e5d07901
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Fri Sep 18 14:10:31 2009 -0400
+
+ Make the operator strength reduction constant time.
+
+ By extending the operator information table to cover all operators we
+ can replace the loop with a table look-up. At the same time, base the
+ operator optimization on the computed flags rather than the ones in
+ the image struct.
+
+ Finally, as an extra optimization, we no longer ignore the case where
+ there is a mask. Instead we consider the source opaque if both source
+ and mask are opaque, or if the source is opaque and the mask is
+ missing.
+
+commit 18f0de452dc7e12e4cb544d761a626d5c6031663
+Author: Loïc Minier <loic.minier@ubuntu.com>
+Date: Tue Mar 9 20:57:34 2010 +0100
+
+ ARM: SIMD: Try without any CFLAGS before forcing -mcpu=
+
+ http://bugs.launchpad.net/bugs/535183
+
+commit 933540861383da27402680593edefe8d61e6fb02
+Author: Egor Starkov <starkov.egor@gmail.com>
+Date: Fri Mar 12 09:47:59 2010 -0500
+
+ Eliminate trailing comma in enum
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=27050
+
+ Pixman is not compiling with c++ compiler. During compilation it gives
+ the following error:
+
+ /usr/include/pixman-1/pixman.h:335: error: comma at end of enumerator list
+
+ Signed-off-by: Søren Sandmann Pedersen <ssp@redhat.com>
+
+commit 54e39e00386fd2fd0eb76ead6396ddb93f1cf6c2
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Thu Sep 17 03:16:27 2009 -0400
+
+ Add a fast path cache
+
+ This patch adds a cache in front of the fast path tables to reduce the
+ overhead of pixman_composite(). It is fixed size with move-to-front to
+ make sure the most popular fast paths are at the beginning of the cache.
+
+ The cache is thread local to avoid locking.
+
+commit 84b009ae9f128c838d0e046e07947f8f9b2ce879
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Fri Mar 5 20:40:41 2010 -0500
+
+ Post-release version bump to 0.17.11
+
+commit 14fd287efb63c1f31d37053ebbbf500d0841c053
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Fri Mar 5 20:06:08 2010 -0500
+
+ Pre-release version bump to 0.17.10
+
+commit bd9934551f72f4993016cab1d7be3b1e545629b1
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Fri Feb 26 14:15:22 2010 -0500
+
+ Move __force_align_arg_pointer workaround before composite32()
+
+ Since otherwise the workaround won't take effect when you call
+ pixman_image_composite32() directly.
+
+commit 14bb054d9695abb284e22a1de31337e0e41bb4e3
+Merge: 9a8e404 3db76b9
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Thu Mar 4 02:30:22 2010 -0500
+
+ Merge branch 'more-flags'
+
+commit 9a8e404d44b6ed9817d088966cec324a38e60897
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Sat Feb 27 00:37:19 2010 -0500
+
+ test: Remove obsolete comment
+
+commit 182e4c2635fdb90c50b2e86253738b7e9c8ea282
+Author: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Wed Feb 24 04:14:45 2010 +0200
+
+ ARM: added 'neon_composite_over_reverse_n_8888' fast path
+
+ This fast path function improves performance of 'poppler' cairo-perf trace.
+
+ Benchmark from ARM Cortex-A8 @720MHz
+
+ before:
+
+ [ # ] backend test min(s) median(s) stddev. count
+ [ 0] image poppler 38.986 39.158 0.23% 6/6
+
+ after:
+
+ [ # ] backend test min(s) median(s) stddev. count
+ [ 0] image poppler 24.981 25.136 0.28% 6/6
+
+commit 072a7d31a8c872666787b69a6bd1b537565c5b96
+Author: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Wed Feb 24 02:26:57 2010 +0200
+
+ ARM: added 'neon_composite_src_x888_8888' fast path
+
+ This fast path function improves performance of 'gnome-system-monitor'
+ cairo-perf trace.
+
+ Benchmark from ARM Cortex-A8 @720MHz
+
+ before:
+
+ [ # ] backend test min(s) median(s) stddev. count
+ [ 0] image gnome-system-monitor 68.838 68.899 0.05% 5/6
+
+ after:
+
+ [ # ] backend test min(s) median(s) stddev. count
+ [ 0] image gnome-system-monitor 53.336 53.384 0.09% 6/6
+
+commit 2ed7c13922f83404bd9976c00d00738d0314693f
+Author: Siarhei Siamashka <siarhei.siamashka@nokia.com>
+Date: Wed Feb 24 01:44:00 2010 +0200
+
+ ARM: added 'neon_composite_over_n_8888_8888_ca' fast path
+
+ This fast path function improves performance of 'firefox-talos-gfx'
+ cairo-perf trace.
+
+ Benchmark from ARM Cortex-A8 @720MHz
+
+ before:
+
+ [ # ] backend test min(s) median(s) stddev. count
+ [ 0] image firefox-talos-gfx 139.969 141.176 0.35% 6/6
+
+ after:
+
+ [ # ] backend test min(s) median(s) stddev. count
+ [ 0] image firefox-talos-gfx 111.810 112.196 0.23% 6/6
+
+commit 3db76b90049f23723a0519d572b9cda7c672f7d5
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Sun Feb 14 19:18:35 2010 -0500
+
+ Restructure the flags computation in compute_image_info().
+
+ Restructure the code to use switches instead of ifs. This saves a few
+ comparisons and make the code slightly easier to follow. Also add some
+ comments.
+
+commit ac44db334066f68a837914a52d8d1368c85161ad
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Sun Feb 14 19:14:44 2010 -0500
+
+ Move workaround code to pixman-image.c
+
+ It is more natural to put it where all the other flags are computed.
+
+commit 35af45d5e3d3f893ccaa4ab2f947100eb9d840ac
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Mon Feb 22 06:06:22 2010 -0500
+
+ Turn need_workaround into another flag.
+
+ Instead of storing it as a boolean in the image struct, just use
+ another flag for it.
+
+commit f27f17ce22b6d0ac587600930c3657180066aac8
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Fri Sep 18 11:54:21 2009 -0400
+
+ Eliminate _pixman_image_is_opaque() in favor of a new FAST_PATH_IS_OPAQUE flag
+
+ The new FAST_PATH_IS_OPAQUE flag is computed along with the others in
+ _pixman_image_validate().
+
+commit 2a6ba862abd8859014d11a742247fa1f1225729b
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Fri Sep 18 04:17:57 2009 -0400
+
+ Eliminate _pixman_image_is_solid()
+
+ Instead of calling this function in compute_image_info(), just do the
+ relevant checks when the extended format is computed.
+
+ Move computation of solidness to validate
+
+commit 45006e5e648b85df65b922f893c9802c9ecce38e
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Fri Sep 18 04:06:30 2009 -0400
+
+ Move computation of extended format code to validate.
+
+ Instead of computing the extended format on every composite, just
+ compute it once and store it in the image.
+
+commit fb0096a282c5b6e7ca9eb59a05d9ff738dccfd4b
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Mon Feb 22 05:16:27 2010 -0500
+
+ Add new FAST_PATH_SIMPLE_REPEAT flag
+
+ This flags indicates that the image is untransformed an
+ repeating. Such images can be composited quickly by simply repeating
+ the composite operation.
+
+commit a7ad9c7c9dcb78e0c5ad00145b119dfe929eb307
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Fri Sep 18 03:54:36 2009 -0400
+
+ Compute the image flags at validation time instead of composite time
+
+ Instead of computing all the image flags at composite time, we compute
+ them once in _pixman_image_validate() and cache them in the image.
+
+commit 7bc4cd42c3549f3f2354f50a7cf21ce9ccc8de7b
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Wed Feb 24 22:09:41 2010 -0500
+
+ RELEASING: Update the release instructions.
+
+commit 7392a350f2808146842be0924ca289c5df6c8922
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Wed Feb 24 22:02:13 2010 -0500
+
+ Post-release version bump
+
+commit 4d1c216af3d6fc58829c2f5ea434e97ff8012493
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Wed Feb 24 21:52:30 2010 -0500
+
+ Pre-release version bump
+
+commit e0f1d8410715083498a35284ea7e5bb71fabe090
+Merge: 16ef3ab 282f5cf
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Wed Feb 24 21:01:29 2010 -0500
+
+ Merge branch 'trap-fixes'
+
+commit 16ef3ab230047221f813905d390bf762a3d8508a
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Wed Feb 24 20:51:25 2010 -0500
+
+ Add a1-trap-test
+
+ When a trapezoid sample point is exactly on a polygon edge, the rule
+ is that it is considered inside the trapezoid if the edge is a top or
+ left edge, but outside for bottom and right edges.
+
+ This program tests that for a1 trapezoids.
+
+commit ad5cbba4c05f8521004c6aa1afd5aa74040afad0
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date: Sun Feb 21 02:01:16 2010 -0500
+
+ Hide the C++ extern "C" declarations behind macros.
+
+ That way they don't confuse the indenting algorithm in editors such as
+ Emacs.
+
+commit 14f201dc47ba76fcf677936f4f809249054fd6ad
+Merge: 94f5859 6b2da68
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Sat Feb 20 13:09:01 2010 -0500
+
+ Merge branch 'eliminate-composite'
+
+ Conflicts:
+ pixman/pixman-sse2.c
+
+commit 94f585916a2385146ee5c803f7850b21149d728b
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Sat Feb 13 20:08:13 2010 -0500
+
+ Move all code to do debugging spew into pixman-private.
+
+ Rather than the region code having its own little debug system, move
+ all of it into pixman-private where there is already return_if_fail()
+ macros etc. These macros are now enabled in development snapshots and
+ nowhere else. Previously they were never enabled unless you modified
+ the code.
+
+ At the same time, remove all the asserts from the region code since we
+ can never turn them on anyway, and replace them with
+ critical_if_fail() macros that will print spew to standard error when
+ DEBUG is defined.
+
+ Finally, also change the debugging spew in pixman-bits-image.c to use
+ return_val_if_fail() instead of its own fprintf().
+
+commit f32d585069e77f09f84de42eda8ed8f6849aab57
+Author: Alexander Larsson <alexl@redhat.com>
+Date: Fri Feb 19 11:22:52 2010 +0100
+
+ Test pixman_region32_init_from_image in region-test
+
+commit 48ef4befd88e06e83a583a70f0172f1a08a65cda
+Author: Alexander Larsson <alexl@redhat.com>
+Date: Mon Feb 15 09:40:50 2010 +0100
+
+ Add pixman_region{32}_init_from_image
+
+ This creates a region from an image in PIXMAN_a1 format.
+
+commit 5dee05fcab16dbd3e2c5e4d85b9edf26cf523e3f
+Author: Alexander Larsson <alexl@redhat.com>
+Date: Mon Feb 15 09:39:59 2010 +0100
+
+ Move SCREEN_SHIFT_LEFT/RIGHT to pixman-private.h
+
+ This is needed for later use in other code.
+
+commit 61f4ed9c7a3ff6afbbb42d3f3b8dc3b9331bdcbd
+Author: Makoto Kato <m_kato@ga2.so-net.ne.jp>
+Date: Thu Feb 18 14:30:01 2010 +0900
+
+ Compile by USE_SSE2 only without USE_MMX
+
+ Although we added MMX emulation for Microsoft Visual C++ compiler for x64,
+ USE_SSE2 still requires USE_MMX. So we remove dependency of USE_MMX
+ for Windows x64.
+
+ Signed-off-by: Makoto Kato <m_kato@ga2.so-net.ne.jp>
+
+commit 6b2da683debd1b3fc1862752cb26e6799b644e05
+Author: Søren Sandmann Pedersen <sandmann@redhat.com>
+Date: Wed Sep 16 07:29:08 2009 -0400
+
Reply to: