[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: