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

pixman: Changes to 'debian-experimental'



 .gitignore                            |    7 
 ChangeLog                             | 2032 ++++++++++++++++++++++++++++
 Makefile.win32                        |   14 
 Makefile.win32.common                 |    4 
 TODO                                  |  271 ---
 configure.ac                          |   45 
 debian/changelog                      |   28 
 debian/rules                          |    4 
 demos/Makefile.am                     |    8 
 demos/composite-test.c                |    2 
 demos/gtk-utils.c                     |   51 
 demos/gtk-utils.h                     |    1 
 demos/radial-test.c                   |    2 
 demos/srgb-test.c                     |   87 +
 demos/srgb-trap-test.c                |  119 +
 pixman-1.pc.in                        |    4 
 pixman/Makefile.am                    |   47 
 pixman/Makefile.sources               |   26 
 pixman/Makefile.win32                 |    2 
 pixman/loongson-mmintrin.h            |  137 +
 pixman/make-combine.pl                |   86 -
 pixman/make-srgb.pl                   |  115 +
 pixman/pixman-access.c                |  714 ++++++---
 pixman/pixman-arm-common.h            |   24 
 pixman/pixman-arm-neon-asm-bilinear.S |  119 -
 pixman/pixman-arm-neon-asm.S          |  159 +-
 pixman/pixman-arm-neon-asm.h          |   45 
 pixman/pixman-arm-neon.c              |   89 -
 pixman/pixman-arm-simd-asm.S          |   47 
 pixman/pixman-arm.c                   |  225 +++
 pixman/pixman-bits-image.c            |  377 ++---
 pixman/pixman-combine-float.c         | 1010 +++++++++++++
 pixman/pixman-combine.c.template      | 2461 ----------------------------------
 pixman/pixman-combine.h.template      |  226 ---
 pixman/pixman-combine32.c             | 2460 +++++++++++++++++++++++++++++++++
 pixman/pixman-combine32.h             |  225 +++
 pixman/pixman-compiler.h              |    4 
 pixman/pixman-conical-gradient.c      |    7 
 pixman/pixman-cpu.c                   |  815 -----------
 pixman/pixman-fast-path.c             |   76 -
 pixman/pixman-general.c               |   70 
 pixman/pixman-glyph.c                 |  676 +++++++++
 pixman/pixman-image.c                 |   40 
 pixman/pixman-implementation.c        |  339 +++-
 pixman/pixman-inlines.h               |   98 -
 pixman/pixman-linear-gradient.c       |   11 
 pixman/pixman-matrix.c                |    6 
 pixman/pixman-mips-dspr2-asm.S        | 1916 ++++++++++++++++++++++++++
 pixman/pixman-mips-dspr2-asm.h        |  112 +
 pixman/pixman-mips-dspr2.c            |  226 ++-
 pixman/pixman-mips-dspr2.h            |  184 ++
 pixman/pixman-mips.c                  |   94 +
 pixman/pixman-mmx.c                   |  741 ++++++++--
 pixman/pixman-noop.c                  |   34 
 pixman/pixman-ppc.c                   |  155 ++
 pixman/pixman-private.h               |  236 ++-
 pixman/pixman-radial-gradient.c       |    9 
 pixman/pixman-region.c                |   69 
 pixman/pixman-solid-fill.c            |   29 
 pixman/pixman-sse2.c                  |  372 +++--
 pixman/pixman-trap.c                  |  142 +
 pixman/pixman-utils.c                 |  297 +---
 pixman/pixman-x86.c                   |  237 +++
 pixman/pixman.c                       |   56 
 pixman/pixman.h                       |   86 +
 test/Makefile.sources                 |    4 
 test/Makefile.win32                   |   10 
 test/affine-test.c                    |   28 
 test/blitters-test.c                  |   35 
 test/combiner-test.c                  |  151 ++
 test/composite-traps-test.c           |    2 
 test/composite.c                      |   88 -
 test/fuzzer-find-diff.pl              |    7 
 test/glyph-test.c                     |  338 ++++
 test/gradient-crash-test.c            |    2 
 test/infinite-loop.c                  |   39 
 test/lowlevel-blt-bench.c             |   64 
 test/pdf-op-test.c                    |    2 
 test/rotate-test.c                    |  113 +
 test/scaling-crash-test.c             |    7 
 test/scaling-test.c                   |   46 
 test/stress-test.c                    |   95 -
 test/utils.c                          |  153 +-
 test/utils.h                          |   15 
 84 files changed, 13865 insertions(+), 5744 deletions(-)

New commits:
commit 97a117ef1d94e8356d59d070da628e3631718ccb
Author: Cyril Brulebois <kibi@debian.org>
Date:   Tue Nov 27 14:00:27 2012 +0100

    New upstream release.

diff --git a/ChangeLog b/ChangeLog
index d35fda1..00c3d4d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1931 @@
+commit 8a2ff3e0ef0449921d962f8b9c093c2353ffd945
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Wed Nov 7 13:40:34 2012 -0500
+
+    Pre-release version bump to 0.28.0
+
+commit 4b91f6ca72db3e8cbd7e97e9ef44be2f8994040d
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Thu Oct 25 10:42:26 2012 -0400
+
+    Post-release version bump to 0.27.5
+
+commit 0de3f3344908757b61f9f51b59d4a39f7447451b
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Thu Oct 25 10:35:27 2012 -0400
+
+    Pre-release version bump to 0.27.4
+
+commit f0750258459580bbc9f136710f8e5c551bd01a0f
+Author: Nemanja Lukic <nemanja.lukic@rt-rk.com>
+Date:   Sun Oct 14 11:58:52 2012 +0200
+
+    MIPS: DSPr2: Added more fast-paths for ADD operation: - add_8888_8888_8888 - add_8_8 - add_8888_8888
+    
+    Performance numbers before/after on MIPS-74kc @ 1GHz:
+    
+    lowlevel-blt-bench results
+    
+    Referent (before):
+            add_8888_8888_8888 =  L1:  17.55  L2:  13.35  M:  8.13 ( 93.95%)  HT:  6.60  VT:  6.64  R:  6.45  RT:  3.47 (  26Kops/s)
+            add_8_8            =  L1:  86.07  L2:  84.89  M: 62.36 ( 90.11%)  HT: 36.36  VT: 34.74  R: 29.56  RT: 11.56 (  52Kops/s)
+            add_8888_8888      =  L1:  95.59  L2:  73.05  M: 17.62 (101.84%)  HT: 15.46  VT: 15.01  R: 13.94  RT:  6.71 (  42Kops/s)
+    
+    Optimized:
+            add_8888_8888_8888 =  L1:  41.52  L2:  33.21  M: 11.97 (138.45%)  HT: 10.47  VT: 10.19  R:  9.42  RT:  4.86 (  32Kops/s)
+            add_8_8            =  L1: 135.06  L2: 104.82  M: 57.13 ( 82.58%)  HT: 34.79  VT: 36.60  R: 28.28  RT: 10.54 (  51Kops/s)
+            add_8888_8888      =  L1: 176.36  L2:  67.82  M: 17.48 (101.06%)  HT: 15.16  VT: 14.62  R: 13.88  RT:  8.05 (  45Kops/s)
+
+commit ca83717c63813b6f53f89dd94b5771bd32382a18
+Author: Nemanja Lukic <nemanja.lukic@rt-rk.com>
+Date:   Sun Oct 14 11:58:51 2012 +0200
+
+    MIPS: DSPr2: Added more fast-paths for ADD operation: - add_0565_8_0565 - add_8888_8_8888 - add_8888_n_8888
+    
+    Performance numbers before/after on MIPS-74kc @ 1GHz:
+    
+    lowlevel-blt-bench results
+    
+    Referent (before):
+            add_0565_8_0565 =  L1:   8.89  L2:   8.37  M:  7.35 ( 29.22%)  HT:  5.90  VT:  5.85  R:  5.67  RT:  3.31 (  26Kops/s)
+            add_8888_8_8888 =  L1:  17.22  L2:  14.17  M:  9.89 ( 65.56%)  HT:  7.57  VT:  7.50  R:  7.36  RT:  4.10 (  30Kops/s)
+            add_8888_n_8888 =  L1:  17.79  L2:  14.87  M: 10.35 ( 54.89%)  HT:  5.19  VT:  4.93  R:  4.92  RT:  1.90 (  19Kops/s)
+    
+    Optimized:
+            add_0565_8_0565 =  L1:  21.72  L2:  20.01  M: 14.96 ( 59.54%)  HT: 12.03  VT: 11.81  R: 11.26  RT:  6.33 (  37Kops/s)
+            add_8888_8_8888 =  L1:  47.42  L2:  38.64  M: 15.90 (105.48%)  HT: 13.34  VT: 13.03  R: 11.84  RT:  6.63 (  38Kops/s)
+            add_8888_n_8888 =  L1:  54.83  L2:  42.66  M: 17.36 ( 92.11%)  HT: 15.20  VT: 14.82  R: 13.66  RT:  7.83 (  41Kops/s)
+
+commit 52d20e692ebc605077448ab6f52fd257f83481b2
+Author: Nemanja Lukic <nemanja.lukic@rt-rk.com>
+Date:   Sun Oct 14 11:58:50 2012 +0200
+
+    MIPS: DSPr2: Added fast-paths for ADD operation: - add_n_8_8 - add_n_8_8888 - add_8_8_8
+    
+    Performance numbers before/after on MIPS-74kc @ 1GHz:
+    
+    lowlevel-blt-bench results
+    
+    Referent (before):
+            add_n_8_8    =  L1:  41.37  L2:  37.83  M: 30.38 ( 60.45%)  HT: 23.70  VT: 22.85  R: 21.51  RT: 10.32 (  45Kops/s)
+            add_n_8_8888 =  L1:  16.01  L2:  14.46  M: 11.64 ( 46.32%)  HT:  5.50  VT:  5.18  R:  5.06  RT:  1.89 (  18Kops/s)
+            add_8_8_8    =  L1:  13.26  L2:  12.47  M: 11.16 ( 29.61%)  HT:  8.09  VT:  8.04  R:  7.68  RT:  3.90 (  29Kops/s)
+    
+    Optimized:
+            add_n_8_8    =  L1:  96.03  L2:  79.37  M: 51.89 (103.31%)  HT: 32.59  VT: 31.29  R: 28.52  RT: 11.08 (  46Kops/s)
+            add_n_8_8888 =  L1:  53.61  L2:  46.92  M: 23.78 ( 94.70%)  HT: 19.06  VT: 18.64  R: 17.30  RT:  9.15 (  43Kops/s)
+            add_8_8_8    =  L1:  89.65  L2:  66.82  M: 37.10 ( 98.48%)  HT: 22.10  VT: 21.74  R: 20.12  RT:  8.12 (  41Kops/s)
+
+commit 9df645dfb04b5a790faabe1e9a84fc37287d91b0
+Author: Siarhei Siamashka <siarhei.siamashka@gmail.com>
+Date:   Fri Oct 19 01:59:16 2012 +0300
+
+    Workaround for FTBFS with gcc 4.6 (http://gcc.gnu.org/PR54965)
+    
+    GCC 4.6 has problems with force_inline, so just use normal inline instead.
+    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=55630
+
+commit 31e5a0a393defb8e0534ab1bde29ab23fc04795d
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Fri Oct 12 18:34:33 2012 -0400
+
+    pixman_composite_trapezoids(): don't clip to extents for some operators
+    
+    pixman_composite_trapezoids() is supposed to composite across the
+    entire destination, but it actually only composites across the extent
+    of the trapezoids. For operators such as ADD or OVER this doesn't
+    matter since a zero source has no effect on the destination. But for
+    operators such as SRC or IN, it does matter.
+    
+    So for such operators where a zero source has an effect, don't clip to
+    the trap extents.
+
+commit 65db2362e2793a527c2e831cceb81d8d6ad51b8f
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Fri Oct 12 18:29:56 2012 -0400
+
+    pixman_composite_trapezoids(): Factor out extents computation
+    
+    The computation of the extents rectangle is moved to its own
+    function.
+
+commit 2d9cb563b415e90cef898de03de7ed9c6f091db1
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Fri Oct 12 18:07:29 2012 -0400
+
+    Add new pixman_image_create_bits_no_clear() API
+    
+    When pixman_image_create_bits() function is given NULL for bits, it
+    will allocate a new buffer and initialize it to zero. However, in some
+    cases, only a small region of the image is actually used; in that case
+    it is wasteful to touch all of the memory.
+    
+    The new pixman_image_create_bits_no_clear() works exactly like
+    _create_bits() except that it doesn't initialize any newly allocated
+    memory.
+
+commit af803be17b4ea5f53db9af57b6c6ef06db99ebbd
+Author: Benny Siegert <bsiegert@gmail.com>
+Date:   Sun Oct 14 16:28:48 2012 +0200
+
+    configure.ac: PIXMAN_LINK_WITH_ENV fix
+    
+    (fixes bug #52101)
+    
+    On MirBSD, the compiler produces a (harmless) warning when the compiler
+    is called without the standard CFLAGS:
+    
+    foo.c:0: note: someone does not honour COPTS correctly, passed 0 times
+    
+    However, PIXMAN_LINK_WITH_ENV considers _any_ output on stderr as an
+    error, even if the exit status of the compiler is 0. Furthermore, it
+    resets CFLAGS and LDFLAGS at the start. On MirBSD, this will lead to a
+    warning in each test, making all such tests fail. In particular, the
+    pthread_setspecific test fails, thus pixman is compiled without thread
+    support. This leads to compile errors later on, or at least it did when
+    I tried this on pkgsrc. Re-adding the saved CFLAGS, LDFLAGS and LIBS
+    before the test makes it work.
+    
+    The second hunk inverts the order of the pthread flag checks. On BSD
+    systems (this is true at least on OpenBSD and MirBSD), both -lpthread
+    and -pthread work but the latter is "preferred", whatever this means.
+
+commit 6e56098c0338ce74228187e4c96fed1a66cb0956
+Author: Siarhei Siamashka <siarhei.siamashka@gmail.com>
+Date:   Sat Sep 29 02:29:22 2012 +0300
+
+    Add missing force_inline to in() function used for C fast paths
+
+commit 90bcafa495c1074b0ea1d35f99aa4837917494bd
+Author: Siarhei Siamashka <siarhei.siamashka@gmail.com>
+Date:   Sun Jul 8 23:10:00 2012 +0300
+
+    MIPS: skip runtime detection for DSPr2 if -mdspr2 option is in CFLAGS
+    
+    This provides a way to enable MIPS DSP ASE optimizations if running
+    under qemu-user (where /proc/cpuinfo contains information about the
+    host processor instead of the emulated one). Can be used for running
+    pixman test suite in qemu-user when having no access to real MIPS
+    hardware.
+
+commit d5f2f39319fc358cccda60abe0bc927bd27131c1
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Thu Oct 11 04:04:04 2012 -0400
+
+    region: Remove overlap argument from pixman_op()
+    
+    This is used to compute whether the regions in question overlap, but
+    nothing makes use of this information, so it can be removed.
+
+commit cb4f325ec0e844008075fe89ceb9f634ae41e7c9
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Thu Oct 11 04:07:00 2012 -0400
+
+    region: Formatting fix
+    
+    The while part of a do/while loop was formatted as if it were a while
+    loop with an empty body. Probably some indent tool misinterpreted the
+    code at some point.
+
+commit 15b153d633fcfce886c30fee98599fddbf019ee8
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sun Oct 7 17:58:32 2012 -0400
+
+    Only regard images as pixbufs if they have identity transformations
+    
+    In order for a src/mask pair to be considered a pixbuf, they have to
+    have identical transformations, but we don't check for that. Since the
+    only fast paths we have for pixbufs require identity transformations,
+    it sufficies to check that both source and mask are
+    untransformed.
+    
+    This is also the reason that this bug can't be triggered by any test
+    code - if the source and mask had different transformations, we would
+    consider them a pixbuf, but then wouldn't take the fast path because
+    at least one of the transformations would be different from the
+    identity.
+
+commit 3d81d89c292058522cce91338028d9b4c4a23c24
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Thu Oct 4 12:41:08 2012 -0400
+
+    Remove BUILT_SOURCES
+    
+    pixman-combine32.[ch] were the only built sources, so BUILT_SOURCES
+    can now be removed.
+
+commit ec7aa11a6e4d0d02df9b339dfce9460dce954602
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sun Sep 23 03:52:34 2012 -0400
+
+    Speed up pixman_expand_to_float()
+    
+    GCC doesn't move the divisions out of the loop, so do it manually by
+    looking up the four (1.0f / mask) values in a table. Table lookups are
+    used under the theory that one L2 hit plus three L1 hits is preferable
+    to four floating point divisions.
+
+commit 8ccda2be30adf9dfcc3087b38a5062258324dcce
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Fri Sep 21 18:36:16 2012 -0400
+
+    Don't auto-generate pixman-combine32.[ch] anymore
+    
+    Since pixman-combine64.[ch] are not used anymore, there is no point
+    generating these files from pixman-combine.[ch].template.
+    
+    Also get rid of dependency on perl in configure.ac.
+
+commit 4afd20cc71ba75190ebcead774b946157d0995a6
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Aug 18 14:39:29 2012 -0400
+
+    Remove 64 bit pipeline
+    
+    The 64 bit pipeline is not used anymore, so it can now be removed.
+    
+    Don't generate pixman-combine64.[ch] anymore. Don't generate the
+    pixman-srgb.c anymore. Delete all the 64 bit fetchers in
+    pixman-access.c, all the 64 bit iterator functions in
+    pixman-bits-image.c and all the functions that expand from 8 to 16
+    bits.
+
+commit 5ff0bbd9721bb216a8332cbde18adc458af3cdec
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Aug 18 14:11:07 2012 -0400
+
+    Switch the wide pipeline over to using floating point
+    
+    In pixman-bits-image.c, remove bits_image_fetch_untransformed_64() and
+    add bits_image_fetch_untransformed_float(); change
+    dest_get_scanline_wide() to produce a floating point buffer,
+    
+    In the gradients, change *_get_scanline_wide() to call
+    pixman_expand_to_float() instead of pixman_expand().
+    
+    In pixman-general.c change the wide Bpp to 16 instead of 8, and
+    initialize the buffers to 0 to prevent NaNs from causing trouble.
+    
+    In pixman-noop.c make the wide solid iterator generate floating point
+    pixels.
+    
+    In pixman-solid-fill.c, cache a floating point pixel, and make the
+    wide iterator generate floating point pixels.
+    
+    Bug fix in bits_image_fetch_untransformed_repeat_normal
+
+commit e75bacc5f9196c3980ce331c7d53de5b7e92d699
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Aug 18 13:22:15 2012 -0400
+
+    pixman-access.c: Add floating point accessor functions
+    
+    Three new function pointer fields are added to bits_image_t:
+    
+          fetch_scanline_float
+          fetch_pixel_float
+          store_scanline_float
+    
+    similar to the existing 32 and 64 bit accessors. The fetcher_info_t
+    struct in pixman_access similarly gets a new get_scanline_float field.
+    
+    For most formats, the new get_scanline_float field is set to a new
+    function fetch_scanline_generic_float() that first calls the 32 bit
+    fetcher uses the 32 bit scanline fetcher and then expands these pixels
+    to floating point.
+    
+    For the 10 bpc formats, new floating point accessors are added that
+    use pixman_unorm_to_float() and pixman_float_to_unorm() to convert
+    back and forth.
+    
+    The PIXMAN_a8r8g8b8_sRGB format is handled with a 256-entry table that
+    maps 8 bit sRGB channels to linear single precision floating point
+    numbers. The sRGB->linear direction can then be done with a simple
+    table lookup.
+    
+    The other direction is currently done with 4096-entry table which
+    works fine for 16 bit integers, but not so great for floating
+    point. So instead this patch uses a binary search in the sRGB->linear
+    table. The existing 32 bit accessors for the sRGB format are also
+    converted to use this method.
+
+commit 23252393a2dcae4dc5a7d03727dd66cdd81286ba
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Aug 18 13:02:31 2012 -0400
+
+    pixman-utils.c, pixman-private.h: Add floating point conversion routines
+    
+    A new struct argb_t containing a floating point pixel is added to
+    pixman-private.h and conversion routines are added to pixman-utils.c
+    to convert normalized integers to and from that struct.
+    
+    New functions:
+    
+      - pixman_expand_to_float()
+        Expands a buffer of integer pixels to a buffer of argb_t pixels
+    
+      - pixman_contract_from_float()
+        Converts a buffer of argb_t pixels to a buffer integer pixels
+    
+      - pixman_float_to_unorm()
+        Converts a floating point number to an unsigned normalized integer
+    
+      - pixman_unorm_to_float()
+        Converts an unsigned normalized integer to a floating point number
+
+commit 4760599ff3008ab0f1e36a7d4d362362817fd930
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sun Sep 9 17:56:53 2012 -0400
+
+    Add combiner test
+    
+    This test runs the new floating point combiners on random input with
+    divide-by-zero exceptions turned on.
+    
+    With the floating point combiners the only thing we guarantee is that
+    divide-by-zero exceptions are not generated, so change
+    enable_fp_exceptions() to only enable those, and rename accordingly.
+
+commit a5b459114e35c7a946362f1e5857e8a87a403ec3
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Fri May 14 00:42:04 2010 -0400
+
+    Add pixman-combine-float.c
+    
+    This file contains floating point implementations of combiners for all
+    pixman operators. These combiners operate on buffers containing single
+    precision floating point pixels stored in (a, r, g, b) order.
+    
+    The combiners are added to the pixman_implementation_t struct, but
+    nothing uses them yet.
+    
+    This commit incorporates a number of bug fixes contributed by Andrea
+    Canciani.
+    
+    Some notes:
+    
+    - The combiners are making sure to never divide by zero regardless of
+      input, so an application could enable divide-by-zero exceptions and
+      pixman wouldn't generate any.
+    
+    - The operators are implemented according to the Render spec. Ie.,
+    
+        - If the input pixels are between 0 and 1, then so is the output.
+    
+        - The source and destination coefficients for the conjoint and
+          disjoint operators are clamped to [0, 1].
+    
+    - The PDF operators are not described in the render spec, and the
+      implementation here doesn't do any clamping except in the final
+      conversion from floating point to destination format.
+    
+    All of the above will need to be rethought if we add support for pixel
+    formats that can support negative and greater-than-one pixels. It is
+    in fact already the case in principle that convolution filters can
+    produce pixels with negative values, but since these go through the
+    broken "wide" path that narrows everything to 32 bits, these negative
+    values don't currently survive to the combiners.
+
+commit 7a9c2d586b2349b5e17966a96d7fe8c390abb75a
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Jun 2 00:15:54 2012 -0400
+
+    blitters-test: Prepare for floating point
+    
+    Comment out some formats in blitters-test that are going to rely on
+    floating point in some upcoming patches.
+
+commit 600a06c81d3999bc6551c7e889726ed7b8bec84d
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Wed Jul 11 03:27:49 2012 -0400
+
+    glyph-test: Prepare for floating point
+    
+    In preparation for an upcoming change of the wide pipe to use floating
+    point, comment out some formats in glyph-test that are going to be
+    using floating point and update the CRC32 value to match.
+
+commit 2e17b6dd4ee7c32684fb7ffc70d3ad3ebf7cb2ef
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Sep 29 10:34:17 2012 -0400
+
+    Make pixman.h more const-correct
+    
+    Add const to pointer arguments when the function doesn't change the
+    pointed-to data.
+    
+    Also in add_glyphs() in pixman-glyph.c make 'white' in add_glyphs()
+    static and const.
+
+commit 183afcf1d95625a1f237ef349a1c8931d94d000d
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Sun Sep 30 11:59:23 2012 -0700
+
+    iwmmxt: Don't define dummy _mm_empty for >=gcc-4.8
+    
+    Definition was not present in <4.8.
+    
+    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55451
+
+commit d4b72eb6ccc1f004efedbc6552ee22499350be4d
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Sep 29 18:15:54 2012 -0400
+
+    rotate-test: Call image_endian_swap() in make_image()
+    
+    Otherwise the test fails on big-endian.
+    
+    Tested-by: Matt Turner <mattst88@gmail.com>
+
+commit aff796d6cee4cb81f0352c2f7d0c994229bd5ca1
+Author: Siarhei Siamashka <siarhei.siamashka@gmail.com>
+Date:   Mon Jun 25 22:36:52 2012 -0400
+
+    Add scaled nearest repeat fast paths
+    
+    Before this patch it was often faster to scale and repeat
+    in two passes because each pass used a fast path vs.
+    the slow path that the single pass approach takes. This
+    makes it so that the single pass approach has competitive
+    performance.
+
+commit 05560828c495ed9226b43b30e1824447e3d8eff3
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Fri Sep 21 16:34:24 2012 -0700
+
+    sse2: mark pack_565_2x128_128 as static force_inline
+
+commit de60e2e0e3eb6084f8f14b63f25b3cbfb012943f
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Sep 15 03:13:09 2012 -0400
+
+    Fix for infinite-loop test
+    
+    The infinite loop detected by "affine-test 212944861" is caused by an
+    overflow in this expression:
+    
+        max_x = pixman_fixed_to_int (vx + (width - 1) * unit_x) + 1;
+    
+    where (width - 1) * unit_x doesn't fit in a signed int. This causes
+    max_x to be too small so that this:
+    
+        src_width = 0
+    
+        while (src_width < REPEAT_NORMAL_MIN_WIDTH && src_width <= max_x)
+            src_width += src_image->bits.width;
+    
+    results in src_width being 0. Later on when src_width is used for
+    repeat calculations, we get the infinite loop.
+    
+    By casting unit_x to int64_t, the expression no longer overflows and
+    affine-test 212944861 and infinite-loop no longer loop forever.
+
+commit aa311a4641b79eac39fe602b75d7bee3de9b1dce
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Thu Sep 13 19:31:29 2012 -0400
+
+    test: Add inifinite-loop test
+    
+    This test demonstrates a bug where a certain transformation matrix can
+    result in an infinite loop. It was extracted as a standalone version
+    of "affine-test 212944861".
+    
+    If given the option -nf, the test program will not call fail_after()
+    and therefore potentially run forever.
+
+commit d5c721768c9811ce22bc0cd50bdf1c7bccc264e0
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Thu Sep 13 19:29:19 2012 -0400
+
+    affine-test: Print out the transformation matrix when verbose
+    
+    Printing out the translation and scale is a bit misleading because the
+    actual transformation matrix can be modified in various other ways.
+    
+    Instead simply print the whole transformation matrix that is actually
+    used.
+
+commit 292fce7a230dd253fff71bd1bb2fbf9b7996a892
+Author: Nemanja Lukic <nemanja.lukic@rt-rk.com>
+Date:   Fri Sep 14 09:31:26 2012 +0200
+
+    MIPS: DSPr2: Added OVER combiner and two new fast paths: - over_8888_8888 - over_8888_8888_8888
+    
+    Performance numbers before/after on MIPS-74kc @ 1GHz:
+    
+    lowlevel-blt-bench results
+    
+    Referent (before):
+              over_8888_8888 =  L1:  19.61  L2:  17.10  M: 11.16 ( 59.20%)  HT: 16.47  VT: 15.81  R: 14.82  RT:  8.90 (  50Kops/s)
+         over_8888_8888_8888 =  L1:  13.56  L2:  11.22  M:  7.46 ( 79.18%)  HT:  6.24  VT:  6.20  R:  6.11  RT:  3.95 (  29Kops/s)
+    
+    Optimized:
+              over_8888_8888 =  L1:  46.42  L2:  36.70  M: 16.69 ( 88.57%)  HT: 17.11  VT: 16.55  R: 15.31  RT:  9.48 (  52Kops/s)
+         over_8888_8888_8888 =  L1:  26.06  L2:  22.53  M: 11.49 (121.91%)  HT:  9.93  VT:  9.62  R:  9.19  RT:  5.75 (  36Kops/s)
+
+commit 28c9bd4866088a017a0cdf3f0fb47467b97bbc29
+Author: Nemanja Lukic <nemanja.lukic@rt-rk.com>
+Date:   Fri Sep 14 09:31:25 2012 +0200
+
+    MIPS: DSPr2: Added fast-paths for OVER operation: - over_0565_n_0565 - over_0565_8_0565
+    
+    Performance numbers before/after on MIPS-74kc @ 1GHz:
+    
+    lowlevel-blt-bench results
+    
+    Referent (before):
+            over_0565_n_0565 =  L1:   7.56  L2:   7.24  M:  6.16 ( 16.38%)  HT:  4.01  VT:  3.84  R:  3.79  RT:  1.66 (  18Kops/s)
+            over_0565_8_0565 =  L1:   7.43  L2:   7.05  M:  5.98 ( 23.85%)  HT:  5.27  VT:  5.23  R:  5.09  RT:  3.14 (  28Kops/s)
+    
+    Optimized:
+            over_0565_n_0565 =  L1:  15.47  L2:  14.52  M: 12.30 ( 32.65%)  HT: 10.76  VT: 10.57  R: 10.27  RT:  6.63 (  46Kops/s)
+            over_0565_8_0565 =  L1:  15.47  L2:  14.61  M: 11.78 ( 46.92%)  HT: 10.00  VT:  9.84  R:  9.40  RT:  5.81 (  43Kops/s)
+
+commit b660eb30b4e5f690d191b26a500a6ba224986b3a
+Author: Nemanja Lukic <nemanja.lukic@rt-rk.com>
+Date:   Fri Sep 14 09:31:24 2012 +0200
+
+    MIPS: DSPr2: Added fast-paths for OVER operation: - over_8888_n_0565 - over_8888_8_0565
+    
+    Performance numbers before/after on MIPS-74kc @ 1GHz:
+    
+    lowlevel-blt-bench results
+    
+    Referent (before):
+            over_8888_n_0565 =  L1:   8.95  L2:   8.33  M:  6.95 ( 27.74%)  HT:  4.27  VT:  4.07  R:  4.01  RT:  1.74 (  19Kops/s)
+            over_8888_8_0565 =  L1:   8.86  L2:   8.11  M:  6.72 ( 35.71%)  HT:  5.68  VT:  5.62  R:  5.47  RT:  3.35 (  30Kops/s)
+    
+    Optimized:
+            over_8888_n_0565 =  L1:  18.76  L2:  17.55  M: 13.11 ( 52.19%)  HT: 11.35  VT: 11.10  R: 10.88  RT:  6.94 (  47Kops/s)
+            over_8888_8_0565 =  L1:  18.14  L2:  16.79  M: 12.10 ( 64.25%)  HT: 10.24  VT:  9.98  R:  9.63  RT:  5.89 (  43Kops/s)
+
+commit 37e3368e20cee42f1e1039bb112ed9a09d21156f
+Author: Nemanja Lukic <nemanja.lukic@rt-rk.com>
+Date:   Fri Sep 14 09:31:23 2012 +0200
+
+    MIPS: DSPr2: Added fast-paths for OVER operation: - over_8888_n_8888 - over_8888_8_8888
+    
+    Performance numbers before/after on MIPS-74kc @ 1GHz:
+    
+    lowlevel-blt-bench results
+    
+    Referent (before):
+            over_8888_n_8888 =  L1:   9.92  L2:  11.27  M:  8.50 ( 45.23%)  HT:  4.70  VT:  4.45  R:  4.49  RT:  1.85 (  20Kops/s)
+            over_8888_8_8888 =  L1:  12.54  L2:  10.86  M:  8.18 ( 54.36%)  HT:  6.53  VT:  6.45  R:  6.41  RT:  3.83 (  33Kops/s)
+    
+    Optimized:
+            over_8888_n_8888 =  L1:  28.02  L2:  24.92  M: 14.72 ( 78.15%)  HT: 13.03  VT: 12.65  R: 12.00  RT:  7.49 (  49Kops/s)
+            over_8888_8_8888 =  L1:  26.92  L2:  23.93  M: 13.65 ( 90.58%)  HT: 11.68  VT: 11.29  R: 10.56  RT:  6.37 (  45Kops/s)
+
+commit f580c4c5b2a435ebe2751ce0dace6c42568557f8
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Fri Sep 21 16:52:16 2012 -0400
+
+    pixman-combine.c.template: Formatting clean-ups
+    
+    Various formatting fixes, and removal of some obsolete comments about
+    strength reduction of operators.
+
+commit 58f8704664d1f8c812a85b929a50818f213a8438
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Thu Sep 20 21:43:24 2012 -0400
+
+    Fix bugs in pixman-image.c
+    
+    In the checks for whether the transforms are rotation matrices "-1"
+    and "1" were used instead of the correct -pixman_fixed_1 and
+    pixman_fixed_1.
+    
+    Fixes test suite failure for rotate-test.
+
+commit 550dfc5e7ecd5b099c1009d77c56cb91a62caeb1
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Thu Sep 20 18:41:33 2012 -0400
+
+    Add rotate-test.c test program
+    
+    This program exercises a bug in pixman-image.c where "-1" and "1" were
+    used instead of the correct "- pixman_fixed_1" and "pixman_fixed_1".
+    
+    With the fast implementation enabled:
+    
+         % ./rotate-test
+         rotate test failed! (checksum=35A01AAB, expected 03A24D51)
+    
+    Without it:
+    
+         % env PIXMAN_DISABLE=fast ./rotate-test
+         pixman: Disabled fast implementation
+         rotate test passed (checksum=03A24D51)
+    
+    V2: The first version didn't have lcg_srand (testnum) in test_transform().
+
+commit 2ab77c97a5a3a816d6383bdc3b6c8bdceb0383b7
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Wed Sep 19 12:04:11 2012 -0400
+
+    Fix bugs in component alpha combiners for separable PDF operators
+    
+    In general, the component alpha version of an operator is supposed to
+    do this:
+    
+           - multiply source with mask in all channels
+           - multiply mask with source alpha in all channels
+           - compute the regular operator in all channels using the
+             mask value whenever source alpha is called for
+    
+    The first two steps are usually accomplished with the function
+    combine_mask_ca(), but for operators where source alpha is not used,
+    such as SRC, ADD and OUT, the simpler function
+    combine_mask_value_ca(), which doesn't compute the new mask values,
+    can be used.
+    
+    However, the PDF blend modes generally *do* make use of source alpha,
+    so they can't use combine_mask_value_ca() as they do now. They have to
+    use combine_mask_ca().
+    
+    This patch fixes this in combine_multiply_ca() and the CA combiners
+    generated by PDF_SEPARABLE_BLEND_MODE.
+
+commit c4b69e706e63e01fbc70e0026c2079007c89de14
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Wed Sep 19 19:46:13 2012 -0400
+
+    Fix bug in fast_composite_scaled_nearest()
+    
+    The fast_composite_scaled_nearest() function can be called when the
+    format is x8b8g8r8. In that case pixels fetched in fetch_nearest()
+    need to have their alpha channel set to 0xff.
+    
+    Fixes test suite failure in scaling-test.
+    
+    Reviewed-by: Matt Turner <mattst88@gmail.com>
+
+commit 35be7acb660228d4e350b5806c81e55606352e0d
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Wed Sep 19 19:26:49 2012 -0400
+
+    Add PIXMAN_x8b8g8r8 and PIXMAN_a8b8g8r8 formats to scaling-test
+    
+    Update the CRC values based on what the general implementation
+    reports. This reveals a bug in the fast implementation:
+    
+        % env PIXMAN_DISABLE="mmx sse2" ./test/scaling-test
+        pixman: Disabled mmx implementation
+        pixman: Disabled sse2 implementation
+        scaling test failed! (checksum=AA722B06, expected 03A23E0C)
+    
+    vs.
+    
+        % env PIXMAN_DISABLE="mmx sse2 fast" ./test/scaling-test
+        pixman: Disabled fast implementation
+        pixman: Disabled mmx implementation
+        pixman: Disabled sse2 implementation
+        scaling test passed (checksum=03A23E0C)
+    
+    Reviewed-by: Matt Turner <mattst88@gmail.com>
+
+commit 9decb9a97975ae6bf25a42c0fd2eaa21b166c36d
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Sep 15 19:10:56 2012 -0400
+
+    implementation: Rename delegate to fallback
+    
+    At this point the chain of implementations has nothing to do with the
+    delegation design pattern anymore, so rename the delegate pointer to
+    'fallback'.
+
+commit b96599ccf353e89f95aa106853fcf310203c5874
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Sep 15 13:58:45 2012 -0400
+
+    _pixman_implementation_create(): Initialize implementation with memset()
+    
+    All the function pointers are NULL by default now, so we can just zero
+    the struct. Also write the function a little more compactly.
+
+commit 9539a18832c278ca0f6f572d8765932be6c9ad65
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Sep 15 13:53:17 2012 -0400
+
+    Rename _pixman_lookup_composite_function() to _pixman_implementation_lookup_composite()
+    
+    And move it into pixman-implementation.c which is where it belongs
+    logically.
+
+commit ee6af72dadaf9eb049bfeb35dc9ff57c3902403a
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Sep 15 13:20:52 2012 -0400
+
+    Move delegation of src/dest iter init into pixman-implementation.c
+    
+    Instead of relying on each implementation to delegate when an iterator
+    can't be initialized, change the type of iterator initializers to
+    boolean and make pixman-implementation.c do the delegation whenever an
+    iterator initializer returns FALSE.
+
+commit c710d0fae2a9dc7d20913e5e39a1bb53f7c942db
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Sep 15 13:08:51 2012 -0400
+
+    Move fill delegation into pixman-implementation.c
+    
+    As in the blt commit, do the delegation in pixman-implementation.c
+    whenever the implementation fill returns FALSE instead of relying on
+    each implementation to do it by itself.
+    
+    With this change there is no longer any reason for the implementations
+    to have one fill function that delegates and one that actually blits,
+    so consolidate those in the NEON, DSPr2, SSE2, and MMX
+    implementations.
+
+commit 534507ba3b00b9aaadc9f181c282b01e4e2fe415
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Sep 15 13:03:10 2012 -0400
+
+    Move blt delegation into pixman-implementation.c
+    
+    Rather than require each individual implementation to do the
+    delegation for blt, just do it in pixman-implementation.c whenever the
+    implementation blt returns FALSE.
+    
+    With this change, there is no longer any reason for the
+    implementations to have one blt function that delegates and one that
+    actually blits, so consolidate those in the NEON, DSPr2, SSE2, and MMX
+    implementations.
+
+commit 7ef4436abbdb898dc656ebb5832ed5d6fd764bba
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Sep 15 12:48:42 2012 -0400
+
+    implementation: Write lookup_combiner() in a less convoluted way.
+    
+    Instead of initializing an array on the stack, just use a simple
+    switch to select which set of combiners to look up in.
+
+commit 3124a51abb89475b8c5045bc96e04c5852694a16
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Sun Sep 16 00:25:38 2012 -0400
+
+    build: Remove useless DEP_CFLAGS/DEP_LIBS variables
+
+commit 46e4faf8ef34d49f15e1946d105289fb06365553
+Author: Andrea Canciani <ranma42@gmail.com>
+Date:   Thu Jun 21 06:07:07 2012 +0200
+
+    build: Improve win32 build system
+    
+    Handle cross-directory dependencies using PHONY targets and clean up
+    some redundancies.
+
+commit c89efdd211cf7cd3dc69a4140045ceab6f445730
+Author: Andrea Canciani <ranma42@gmail.com>
+Date:   Tue Jul 17 16:14:20 2012 +0200
+
+    mmx: Fix x86 build on MSVC
+    
+    The MSVC compiler is very strict about variable declarations after
+    statements.
+    
+    Move all the declarations of each block before any statement in
+    the same block to fix multiple instances of:
+    
+    pixman-mmx.c(xxxx) : error C2275: '__m64' : illegal use of this type
+    as an expression
+
+commit 1e3e569b04f45592ce2174e48df0fcb333ce0ad3
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sun Aug 26 18:23:53 2012 -0400
+
+    test/utils.c: Use pow(), not powf() in sRGB conversion routines
+    
+    These functions are operating on double precision values, so use pow()
+    instead of powf().
+
+commit 8577daba04e60c1b4c44ce01c6874a573952913a
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sun Aug 26 18:13:47 2012 -0400
+
+    pixel_checker: Move sRGB conversion into get_limits()
+    
+    The sRGB conversion has to be done every time the limits are being
+    computed. Without this fix, pixel_checker_get_min/max() will produce
+    the wrong results when called from somewhere other than
+    pixel_checker_check().
+
+commit 62eb6e5e054da498e38da80ba8143f0a069b0c17
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Aug 25 17:14:50 2012 -0400
+
+    Remove obsolete TODO file
+
+commit 384846b38cfb5e1895ae49c40adbf72a85b63d95
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sun Aug 19 13:45:21 2012 -0400
+
+    Remove pointless declaration of _pixman_image_get_scanline_generic_64()
+    
+    This declaration used to be necessary when
+    _pixman_image_get_scanline_generic_64() referred to a structure that
+    itself referred back to _pixman_image_get_scanline_generic_64().
+
+commit 09cb1ae10b1976970233c934d27c36e0a4203e1c
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Jun 9 09:15:53 2012 -0400
+
+    demos: Add srgb_trap_test.c
+    
+    This demo program composites a bunch of trapezoids side by side with
+    and without gamma aware compositing.
+
+commit 04e878c231ad3624c57e51a5fcdc55a177d4dc0f
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Jun 9 09:42:56 2012 -0400
+
+    Make show_image() cope with more formats
+    
+    This makes show_image() deal with more formats than just a8r8g8b8, in
+    particular, a8r8g8b8_sRGB can now be handled.
+    
+    Images that are passed to show_image with a format of a8r8g8b8_sRGB
+    are displayed without modification under the assumption that the
+    monitor is approximately sRGB.
+    
+    Images with a format of a8r8g8b8 are also displayed without
+    modification since many other users of show_image() have been
+    generating essentially sRGB data with this format. Other formats are
+    also assumed to be gamma compressed; these are converted to a8r8g8b8
+    before being displayed.
+    
+    With these changes, srgb-test.c doesn't need to do its own conversion
+    anymore.
+
+commit 8db9ec9814a3dcd8211ec60cd4fd3c9ae9d77924
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Tue Jul 31 15:01:16 2012 -0400
+
+    Define TIMER_BEGIN and TIMER_END even when timers are not enabled
+    
+    This allows code that uses these macros to build when timers are
+    disabled.
+
+commit da5268cc19e03b24737dec3e2c51296156b869a8
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Wed Aug 1 15:56:13 2012 -0400
+
+    Post-release version bump to 0.27.3
+
+commit e8ddef78b67a0699a990f3c785396d4b1955f972
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Wed Aug 1 15:22:57 2012 -0400
+
+    Pre-release version bump to 0.27.2
+
+commit c214ca51a00fdd0e773ace32076c3ed8a5d0d482
+Author: Sebastian Bauer <mail@sebastianbauer.info>
+Date:   Tue Jul 31 07:30:32 2012 +0200
+
+    Use angle brackets form of including config.h
+
+commit 98617b3796d12c18d8306cca590160caa3c95454
+Author: Sebastian Bauer <mail@sebastianbauer.info>
+Date:   Tue Jul 31 07:30:31 2012 +0200
+
+    Added HAVE_CONFIG_H check before including config.h
+
+commit 5b0563f39eb29e4ae431717696174da5e282c346
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Mon Jul 30 16:21:39 2012 -0400
+
+    glyph-test: Avoid setting solid images as alpha maps.
+    
+    glyph-test would sometimes set a solid image as an alpha map, which is


Reply to: