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

pixman: Changes to 'debian-experimental'



 .gitignore                       |   23 +
 ChangeLog                        |  867 +++++++++++++++++++++++++++++++++++++++
 autogen.sh                       |    4 
 configure.ac                     |   78 +++
 debian/changelog                 |   32 +
 debian/libpixman-1-0.symbols     |    2 
 debian/rules                     |    2 
 demos/composite-test.c           |    2 
 demos/gradient-test.c            |   13 
 pixman/Makefile.am               |   16 
 pixman/pixman-access.c           |    9 
 pixman/pixman-accessor.h         |   15 
 pixman/pixman-bits-image.c       |   81 +--
 pixman/pixman-combine.c.template |    6 
 pixman/pixman-combine.h.template |    4 
 pixman/pixman-compiler.h         |    9 
 pixman/pixman-cpu.c              |  207 ++++++++-
 pixman/pixman-fast-path.c        |    4 
 pixman/pixman-general.c          |   16 
 pixman/pixman-gradient-walker.c  |    7 
 pixman/pixman-image.c            |   22 
 pixman/pixman-implementation.c   |  119 +----
 pixman/pixman-mips-dspr2-asm.S   |  310 +++++++++++++
 pixman/pixman-mips-dspr2-asm.h   |  206 +++++++++
 pixman/pixman-mips-dspr2.c       |  247 +++++++++++
 pixman/pixman-mips-dspr2.h       |   88 +++
 pixman/pixman-mips-memcpy-asm.S  |  382 +++++++++++++++++
 pixman/pixman-mmx.c              |  563 +++++++++++++------------
 pixman/pixman-noop.c             |   27 +
 pixman/pixman-private.h          |   38 -
 pixman/pixman-region.c           |   19 
 pixman/pixman-sse2.c             |    2 
 pixman/pixman-trap.c             |    2 
 pixman/pixman-utils.c            |   35 +
 pixman/pixman.h                  |    2 
 test/Makefile.win32              |   21 
 test/a1-trap-test.c              |    2 
 test/alphamap.c                  |  144 ++++--
 test/blitters-test.c             |    7 
 test/composite-traps-test.c      |    1 
 test/composite.c                 |  334 ++++-----------
 test/fetch-test.c                |    8 
 test/gradient-crash-test.c       |    6 
 test/lowlevel-blt-bench.c        |   10 
 test/oob-test.c                  |    4 
 test/region-contains-test.c      |    5 
 test/region-translate-test.c     |    2 
 test/scaling-crash-test.c        |    7 
 test/scaling-test.c              |    1 
 test/stress-test.c               |    4 
 test/trap-crasher.c              |    4 
 test/utils.c                     |  176 +++++++
 test/utils.h                     |   36 +
 53 files changed, 3376 insertions(+), 855 deletions(-)

New commits:
commit c6b4daedbc46b65c569e739cb84647e6c39bc442
Author: Cyril Brulebois <kibi@debian.org>
Date:   Fri Mar 9 13:17:30 2012 +0100

    Upload to experimental.

diff --git a/debian/changelog b/debian/changelog
index a92e050..a69a2d2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,11 +1,11 @@
-pixman (0.25.2-1) UNRELEASED; urgency=low
+pixman (0.25.2-1) experimental; urgency=low
 
   * New upstream release candidate.
   * Add new symbols and bump shlibs accordingly:
     - pixman_region32_clear
     - pixman_region_clear
 
- -- Cyril Brulebois <kibi@debian.org>  Fri, 09 Mar 2012 13:03:37 +0100
+ -- Cyril Brulebois <kibi@debian.org>  Fri, 09 Mar 2012 13:17:16 +0100
 
 pixman (0.24.4-1) unstable; urgency=low
 

commit b3db603f911c89405e57c8a12e07ea161a2568ed
Author: Cyril Brulebois <kibi@debian.org>
Date:   Fri Mar 9 13:15:11 2012 +0100

    Add new symbols and bump shlibs accordingly.

diff --git a/debian/changelog b/debian/changelog
index 0708401..a92e050 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,9 @@
 pixman (0.25.2-1) UNRELEASED; urgency=low
 
   * New upstream release candidate.
+  * Add new symbols and bump shlibs accordingly:
+    - pixman_region32_clear
+    - pixman_region_clear
 
  -- Cyril Brulebois <kibi@debian.org>  Fri, 09 Mar 2012 13:03:37 +0100
 
diff --git a/debian/libpixman-1-0.symbols b/debian/libpixman-1-0.symbols
index 78b6272..abdde27 100644
--- a/debian/libpixman-1-0.symbols
+++ b/debian/libpixman-1-0.symbols
@@ -57,6 +57,7 @@ libpixman-1.so.0 libpixman-1-0 #MINVER#
  pixman_line_fixed_edge_init@Base 0
  pixman_rasterize_edges@Base 0
  pixman_rasterize_trapezoid@Base 0
+ pixman_region32_clear@Base 0.25.2
  pixman_region32_contains_point@Base 0.11.2
  pixman_region32_contains_rectangle@Base 0.11.2
  pixman_region32_copy@Base 0.11.2
@@ -80,6 +81,7 @@ libpixman-1.so.0 libpixman-1-0 #MINVER#
  pixman_region32_translate@Base 0.11.2
  pixman_region32_union@Base 0.11.2
  pixman_region32_union_rect@Base 0.11.2
+ pixman_region_clear@Base 0.25.2
  pixman_region_contains_point@Base 0
  pixman_region_contains_rectangle@Base 0
  pixman_region_copy@Base 0
diff --git a/debian/rules b/debian/rules
index d7fab98..b2f83b5 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,7 +1,7 @@
 #!/usr/bin/make -f
 
 PACKAGE = libpixman-1-0
-SHLIBS  = 0.21.6
+SHLIBS  = 0.25.2
 
 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 

commit e6c37e621bba0d892a0c8251cad6d7b52c1ebe88
Author: Cyril Brulebois <kibi@debian.org>
Date:   Fri Mar 9 13:03:52 2012 +0100

    Bump changelogs.

diff --git a/ChangeLog b/ChangeLog
index e4b4e88..df849a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,10 +1,427 @@
-commit 8bff730a98dd7e68192743717bf8c9384d5c0c5b
+commit f73f7985318bf0e7446941d9bea9a94b35580342
 Author: Søren Sandmann Pedersen <ssp@redhat.com>
-Date:   Wed Feb 8 19:03:22 2012 -0500
+Date:   Thu Mar 8 09:33:16 2012 -0500
 
-    Pre-release version bump to 0.24.4
+    Pre-release version bump to 0.25.2
 
-commit c5c866a394c823b2980eff15ce33ce8356010bbe
+commit 62df04eb257d16fbb4449855a48f6fdaf567e201
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Thu Mar 8 09:29:46 2012 -0500
+
+    mmx: Squash a warning by making the argument to ldl_u() const
+
+commit 85943733cbd7b62991ee962aa22f28bc5d1be353
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date:   Fri Feb 24 18:02:56 2012 -0800
+
+    Just use xmmintrin.h when building with Solaris Studio compilers
+    
+    Since the Solaris Studio compilers don't have a mode where MMX
+    instructions are available and SSE instructions are not, we can
+    just use the <xmmintrin.h> header directly.
+    
+    Fixes build failure due to Studio not supporting the __gnu_inline__
+    or __artificial__ attributes.
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+    Acked-by: Matt Turner <mattst88@gmail.com>
+
+commit 304f57644ac6a991c6e538675de935356252c0a5
+Author: Nemanja Lukic <nemanja.lukic@rt-rk.com>
+Date:   Wed Feb 29 12:04:33 2012 +0100
+
+    MIPS: DSPr2: Added mips_dspr2_blt and mips_dspr2_fill routines.
+    
+    Performance numbers before/after on MIPS-74kc @ 1GHz
+    
+    Referent (before):
+    
+    lowlevel-blt-bench:
+                  src_n_0565 =  L1: 238.14  L2: 233.15  M: 57.88 ( 77.23%)  HT: 53.22  VT: 49.99  R: 47.73  RT: 24.79 (  91Kops/s)
+                  src_n_8888 =  L1: 190.19  L2: 187.57  M: 28.94 ( 77.23%)  HT: 27.91  VT: 27.33  R: 26.64  RT: 14.68 (  77Kops/s)
+    cairo-perf-trace:
+    [ # ]  backend                         test   min(s) median(s) stddev. count
+    [ # ]    image: pixman 0.25.1
+    [  0]    image         gnome-system-monitor  268.460  269.712   0.22%    6/6
+    
+    Optimized:
+    
+    lowlevel-blt-bench:
+                  src_n_0565 =  L1:1081.39  L2: 258.22  M:189.59 (252.91%)  HT: 60.23  VT: 55.01  R: 53.44  RT: 23.68 (  89Kops/s)
+                  src_n_8888 =  L1: 653.46  L2: 113.55  M:135.26 (360.86%)  HT: 38.99  VT: 37.38  R: 34.95  RT: 18.67 (  84Kops/s)
+    cairo-perf-trace:
+    [ # ]  backend                         test   min(s) median(s) stddev. count
+    [ # ]    image: pixman 0.25.1
+    [  0]    image         gnome-system-monitor  246.565  246.706   0.04%    6/6
+
+commit 999e72b80bd5e3fab5f45b6ad19511389b58d9ab
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Thu Mar 1 02:24:54 2012 -0500
+
+    pixman-access.c: Remove some unused macros
+    
+    The macros related to palette entries:
+    
+    RGB15_TO_ENTRY,
+    RGB24_TO_ENTRY,
+    RGB24_TO_ENTRY_Y
+    
+    are not used anywhere.
+
+commit c0cb48aae0d09200a187965094138fbf488498cd
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Wed Feb 29 04:44:46 2012 -0500
+
+    pixman-accessors.h: Delete unused macros
+    
+    The MEMCPY_WRAPPED and ACCESS macros are not used anymore.
+
+commit 5adf569317f923cd5eb547209a8d927be0d81049
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sun Feb 26 17:35:20 2012 -0500
+
+    Move fetching for solid bits images to pixman-noop.c
+    
+    This should be a bit faster because it can reuse the scanline on each iteration.
+
+commit 3c3c70fa0b524569df0ec20c50d481626e518462
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Fri Feb 24 20:11:11 2012 -0500
+
+    lowlevel-blt-bench: add in_8_8 and in_n_8_8
+    
+    Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit fcea053561893d116a79f41a113993f1f61b58cf
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Wed Jan 26 13:16:09 2011 -0500
+
+    Disable implementations mentioned in the PIXMAN_DISABLE environment variable.
+    
+    With this, it becomes possible to do
+    
+         PIXMAN_DISABLE="sse2 mmx" some_app
+    
+    which will run some_app without SSE2 and MMX enabled. This is useful
+    for benchmarking, testing and narrowing down bugs.
+    
+    The current list of implementations that can be disabled:
+    
+        fast
+        mmx
+        sse2
+        arm-simd
+        arm-iwmmxt
+        arm-neon
+        mips-dspr2
+        vmx
+    
+    The general and noop implementations can't be disabled because pixman
+    depends on those being available for correct operation.
+    
+    Reviewed-by: Matt Turner <mattst88@gmail.com>
+
+commit e7574d336b7c812a888fac22f99f1b0e9a3518b0
+Author: Nemanja Lukic <nemanja.lukic@rt-rk.com>
+Date:   Wed Feb 22 14:23:48 2012 +0100
+
+    MIPS: DSPr2: Added fast-paths for SRC operation.
+    
+    Following fast-path functions are implemented (routines 4, 5 and 6 utilize
+    same fast-memcpy routine):
+        1. src_x888_8888
+        2. src_8888_0565
+        3. src_0565_8888
+        4. src_0565_0565
+        5. src_8888_8888
+        6. src_0888_0888
+    
+    Performance numbers before/after on MIPS-74kc @ 1GHz
+    
+    Referent (before):
+    
+    lowlevel-blt-bench:
+            src_x888_8888 =  L1: 199.35  L2:  96.54  M: 18.87 (100.68%)  HT: 17.12  VT: 16.24  R: 15.43  RT:  9.33 (  61Kops/s)
+            src_8888_0565 =  L1:  71.22  L2:  51.95  M: 24.19 ( 96.17%)  HT: 20.71  VT: 19.92  R: 18.15  RT:  9.92 (  63Kops/s)
+            src_0565_8888 =  L1:  38.82  L2:  36.22  M: 18.60 ( 73.95%)  HT: 14.47  VT: 13.19  R: 12.97  RT:  6.61 (  49Kops/s)
+            src_0565_0565 =  L1: 286.05  L2: 155.02  M: 37.68 (100.54%)  HT: 31.08  VT: 28.07  R: 26.26  RT: 11.93 (  68Kops/s)
+            src_8888_8888 =  L1: 454.32  L2: 139.15  M: 19.30 (102.98%)  HT: 17.73  VT: 16.08  R: 16.62  RT: 10.45 (  64Kops/s)
+            src_0888_0888 =  L1: 190.47  L2: 106.14  M: 25.26 (101.08%)  HT: 21.88  VT: 20.32  R: 18.83  RT: 10.10 (  63Kops/s)
+    cairo-perf-trace:
+    [ # ]  backend                         test   min(s) median(s) stddev. count
+    [ # ]    image: pixman 0.25.1
+    [  0]    image            firefox-asteroids  421.215  421.325   0.01%    4/6
+    [  1]    image         firefox-planet-gnome  647.708  648.486   0.13%    6/6
+    [  2]    image         gnome-system-monitor  276.073  277.506   0.38%    6/6
+    [  3]    image           gnome-terminal-vim  263.866  265.229   0.39%    6/6
+    [  4]    image                      poppler  123.576  124.003   0.15%    6/6
+    
+    Optimized (with these optimizations):
+    
+    lowlevel-blt-bench:
+            src_x888_8888 =  L1: 369.50  L2:  99.37  M: 27.19 (145.07%)  HT: 20.24  VT: 19.48  R: 19.00  RT: 10.22 (  63Kops/s)
+            src_8888_0565 =  L1: 105.65  L2:  67.87  M: 25.41 (101.00%)  HT: 20.78  VT: 19.84  R: 18.52  RT:  9.81 (  63Kops/s)
+            src_0565_8888 =  L1:  77.10  L2:  63.04  M: 23.37 ( 92.90%)  HT: 20.29  VT: 19.37  R: 18.14  RT: 10.02 (  63Kops/s)
+            src_0565_0565 =  L1: 519.02  L2: 241.32  M: 62.35 (166.34%)  HT: 33.74  VT: 27.63  R: 26.12  RT: 11.70 (  67Kops/s)
+            src_8888_8888 =  L1: 390.48  L2: 113.99  M: 30.32 (161.77%)  HT: 19.55  VT: 17.05  R: 17.13  RT: 10.19 (  63Kops/s)
+            src_0888_0888 =  L1: 349.74  L2: 156.68  M: 40.68 (162.78%)  HT: 25.58  VT: 20.57  R: 20.20  RT:  9.96 (  63Kops/s)
+    cairo-perf-trace:
+    [ # ]  backend                         test   min(s) median(s) stddev. count
+    [ # ]    image: pixman 0.25.1
+    [  0]    image            firefox-asteroids  400.050  400.308   0.04%    6/6
+    [  1]    image         firefox-planet-gnome  628.978  629.364   0.07%    6/6
+    [  2]    image         gnome-system-monitor  270.247  270.313   0.03%    6/6
+    [  3]    image           gnome-terminal-vim  256.413  257.641   0.21%    6/6
+    [  4]    image                      poppler  119.540  120.023   0.21%    6/6
+
+commit 1364c91bd106f8b67c9cd1bda2fdd9d46ac40363
+Author: Nemanja Lukic <nemanja.lukic@rt-rk.com>
+Date:   Wed Feb 22 14:23:47 2012 +0100
+
+    MIPS: DSPr2: Basic infrastructure for MIPS architecture
+    
+    MIPS DSP instruction set extensions
+
+commit e43d65d49da2c3e929cf20e82a2f7ed1fa0d0167
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Fri Feb 24 20:02:55 2012 -0500
+
+    lowlevel-blt: add over_x888_n_8888
+    
+    Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 9f607049956c6858706c7ca45829c5ad19f18191
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Fri Feb 24 19:58:09 2012 -0500
+
+    lowlevel-blt: add over_8888_8888
+    
+    Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 5eb4c12a79b3017ec6cc22ab756f53f225731533
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Thu Feb 23 18:36:04 2012 -0500
+
+    Disable MMX when Clang is being used.
+    
+    There are several issues with the Clang compiler and pixman-mmx.c:
+    
+    - When not optimizing, it doesn't seem to recognize that an argument
+      to an __always_inline__ function is compile-time constant. This
+      results in this error being produced:
+    
+          fatal error: error in backend: Invalid operand for inline asm
+                  constraint 'K'!
+    
+    - This inline assembly:
+    
+          asm ("pmulhuw %1, %0\n\t"
+              : "+y" (__A)
+              : "y" (__B)
+          );
+    
+      results in
+    
+          fatal error: error in backend: Unsupported asm: input constraint
+                  with a matching output constraint of incompatible type!
+    
+    So disable MMX when the compiler is Clang.
+
+commit 350e231b3f01d6f82a2fdc7d9a9945234c404d0a
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Tue Feb 21 23:33:02 2012 -0500
+
+    mmx: make load8888 take a pointer to data instead of the data itself
+    
+    Allows us to tune how we load data into the vector registers.
+    
+    Signed-off-by: Matt Turner <mattst88@gmail.com>
+    
+    And squashed in:
+    
+    mmx: define and use load8888u function
+    
+    For unaligned loads.
+    
+    Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit ab68316eda91bbf6bb41158c622347723e1fa8c4
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Tue Feb 21 19:29:59 2012 -0500
+
+    mmx: make store8888 take uint32_t *dest as argument
+    
+    Allows us to tune how we store data from the vector registers.
+    
+    Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 57a245a6e00987191faad9a34bef9f4524a6848c
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Wed Feb 22 16:32:21 2012 -0500
+
+    Update .gitignore with more demos and tests
+    
+    Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 51ae3f2d7f25daebbc767f161f0097b581d1554b
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Tue Feb 21 19:30:04 2012 -0500
+
+    mmx: Delete unused function in_over_full_src_alpha()
+    
+    Also a few minor formatting fixes.
+    
+    Reviewed-by: Matt Turner <mattst88@gmail.com>
+
+commit bbd1e6941b39adcdb64c77670889314fa8461c0b
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Tue Feb 21 19:23:33 2012 -0500
+
+    mmx: Enable over_x888_8_8888() for x86 as well
+    
+    It used to be slower than the generic code (with the gcc that was
+    current in 2007), but that doesn't seem to be the case anymore:
+    
+    over_x888_8_8888 =  L1:  22.97  L2:  22.88  M: 22.27 (  5.29%)  HT: 18.30  VT: 15.81  R: 15.54  RT: 10.35 ( 131Kops/s)
+    over_x888_8_8888 =  L1:  53.56  L2:  53.20  M: 50.50 ( 11.99%)  HT: 38.60  VT: 31.19  R: 29.00  RT: 17.37 ( 208Kops/s)
+    
+    Reviewed-by: Matt Turner <mattst88@gmail.com>
+
+commit 4fc586c3df9a53cc1406891e751a6eed3d7da400
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Tue Feb 21 16:28:37 2012 -0500
+
+    mmx: fix typo in pix_add_mul on MSVC
+    
+    Typo introduced in commit a075a870.
+    
+    Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 84221f4c1687b8ea14e9cbdc78b2ba7258e62c9e
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Sun Feb 19 18:10:03 2012 -0500
+
+    mmx: Use _mm_shuffle_pi16
+    
+    The pshufw x86 instruction is part of Extended 3DNow! and SSE1. The
+    equivalent ARM wshufh instruction was available from the first iwMMXt
+    instrucion set.
+    
+    This instruction is already used in the SSE2 code.
+    
+    Reduces code size by ~9%.
+    
+    amd64
+      text    data     bss     dec     hex filename
+     29925    2240       0   32165    7da5 .libs/libpixman_mmx_la-pixman-mmx.o
+     27237    2240       0   29477    7325 .libs/libpixman_mmx_la-pixman-mmx.o
+    
+    x86
+      text    data     bss     dec     hex filename
+     27677    1792       0   29469    731d .libs/libpixman_mmx_la-pixman-mmx.o
+     24959    1792       0   26751    687f .libs/libpixman_mmx_la-pixman-mmx.o
+    
+    arm
+      text    data     bss     dec     hex filename
+     30176    1792       0   31968    7ce0 .libs/libpixman_iwmmxt_la-pixman-mmx.o
+     27384    1792       0   29176    71f8 .libs/libpixman_iwmmxt_la-pixman-mmx.o
+    
+    Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 14208344964f341a7b4a704b05cf4804c23792e9
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Sun Feb 19 01:32:31 2012 -0500
+
+    mmx: Use _mm_mulhi_pu16
+    
+    The pmulhuw x86 instruction is part of Extended 3DNow! and SSE1. The
+    equivalent ARM wmuluh instruction was available from the first iwMMXt
+    instrucion set.
+    
+    This instruction is already used in the SSE2 code.
+    
+    Reduces code size by ~5%.
+    
+    amd64
+      text    data     bss     dec     hex filename
+     31325    2240       0   33565    831d .libs/libpixman_mmx_la-pixman-mmx.o
+     29925    2240       0   32165    7da5 .libs/libpixman_mmx_la-pixman-mmx.o
+    
+    x86
+      text    data     bss     dec     hex filename
+     29165    1792       0   30957    78ed .libs/libpixman_mmx_la-pixman-mmx.o
+     27677    1792       0   29469    731d .libs/libpixman_mmx_la-pixman-mmx.o
+    
+    arm
+      text    data     bss     dec     hex filename
+     31632    1792       0   33424    8290 .libs/libpixman_iwmmxt_la-pixman-mmx.o
+     30176    1792       0   31968    7ce0 .libs/libpixman_iwmmxt_la-pixman-mmx.o
+    
+    Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 69ed71fad11d541f89eee1238c587a03a9cf59cb
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Tue Feb 21 00:05:45 2012 +0000
+
+    mmx: enable over_x888_8_8888 on ARM/iwMMXt
+    
+    before: over_x888_8_8888 =  L1:   7.63  L2:   7.72  M:  6.44 ( 19.17%)  HT: 6.24  VT:  6.11  R:  5.87  RT:  4.61 (  51Kops/s)
+    after : over_x888_8_8888 =  L1:  11.88  L2:  11.11  M:  8.70 ( 26.01%)  HT: 8.15  VT:  8.07  R:  7.76  RT:  5.62 (  61Kops/s)
+    
+    Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit a14f0f66bba987d5cdcb4a3e0f3e9f7c35d3f6f0
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Mon Feb 20 18:36:24 2012 -0500
+
+    autoconf: use #error instead of error
+    
+    We'd rather see the actual #error message rather than a syntax error in
+    config.log.
+    
+    Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit fced5c82c2f0d6d00cb8d0a30ce6a04ec196d274
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Fri Feb 17 18:17:49 2012 -0500
+
+    Convert while (w) to if (w) when possible
+    
+    Missed in commit 57fd8c37.
+    
+    Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit e27bdcd968e786079353432d14816600bf813d76
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Wed Feb 15 18:16:42 2012 -0500
+
+    Make sure to run AC_SUBST IWMMXT_CFLAGS
+    
+    Allows you to compile without -flax-vector-conversions in your CFLAGS,
+    though -march=iwmmxt2 is still necessary since specifying some other
+    -march= value will override it, and disable iwmmxt.
+    
+    Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit 82a3980701c68949ed762b1e93dc81698db1613e
+Author: Jeremy Huddleston <jeremyhu@apple.com>
+Date:   Sat Feb 11 01:04:13 2012 -0800
+
+    configure.ac: Add an --enable-libpng option
+    
+    Now there is a way to not link against libpng even if it's available.
+    
+    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+
+commit 46fc4eb234f5c4f281c2901ea7514ff69e8670a8
+Author: Matt Turner <mattst88@gmail.com>
+Date:   Sat Feb 11 23:21:45 2012 -0500
+
+    Use AC_LANG_SOURCE for iwMMXt configure program
+    
+    Signed-off-by: Matt Turner <mattst88@gmail.com>
+
+commit e5555d7a749c90288463ed1c294f58963c607e52
 Author: Søren Sandmann Pedersen <ssp@redhat.com>
 Date:   Wed Jan 25 14:03:05 2012 -0500
 
@@ -15,7 +432,7 @@ Date:   Wed Jan 25 14:03:05 2012 -0500
     
     This reverts commit 2437ae80e5066dec9fe52f56b016bf136d7cea06.
 
-commit 1ceb66750c33c896bdb04b47ed44977112817a86
+commit 35577876978e86783d49c500b4bb7ea1fc7fa89c
 Author: Bobby Salazar <bobby8934@gmail.com>
 Date:   Thu Jan 26 13:19:18 2012 -0500
 
@@ -24,19 +441,90 @@ Date:   Thu Jan 26 13:19:18 2012 -0500
     This patch adds runtime detection support for the ARM NEON fast paths
     for code compiled with the iOS SDK.
 
-commit 7ccb0c45e5f6a0ac23f585e2eda412034c2abe61
+commit 86ce1808829e3fa024acb0ebaa93ef9737ba51af
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Mon Dec 19 19:31:25 2011 -0500
+
+    test: Port composite test over to use new pixel_checker_t object.
+    
+    Also make some tweaks to the way the errors are printed.
+
+commit f57034f678b419c3737b888f643e5bdfcaf727f9
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Mon Dec 19 17:31:06 2011 -0500
+
+    test: Add a new "pixel_checker_t" object.
+    
+    Add a new pixel_checker_t object to test/utils.[ch]. This object
+    should be initialized with a format and can then be used to check
+    whether a given "real" pixel in that format is close enough to a
+    "perfect" pixel given as a double precision ARGB struct.
+    
+    The acceptable deviation is calcuated as follows. Each channel of the
+    perfect pixel has 0.004 subtracted from it and is then converted to
+    the format. The resulting value is the minimum value that will be
+    accepted. Similarly, to compute the maximum value, the channel has
+    0.004 added to it and is then converted to the given format. Checking
+    a pixel is then a matter of splitting it into channels and checking
+    that each is within the computed bounds.
+    
+    The value of 0.004 was chosen because it is the minimum one that will
+    make the existing composite test pass (see next commit). A problem
+    with this value is that it causes 0xFE to be acceptable when the
+    correct value is 1.0, and 0x01 to be acceptable when the correct value
+    is 0. It would be better if, when the result is exactly 0 or exactly
+    1, an a8r8g8b8 pixel were required to produce exactly 0x00 or 0xff to
+    preserve full black and full white. A deviation value of 0.003 would
+    produce this, but currently this would cause tests with operators that
+    involve divisions to fail.
+
+commit 0053a9f8694c837388b78ae26fe81979d0327d28
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Mon Dec 19 19:53:28 2011 -0500
+
+    Rename color_correct() to round_color()
+    
+    And do the rounding from float to int in the same way cairo does: by
+    multiplying with (1 << width), then subtracting one when the input was 1.0.
+
+commit 55a010bf31d2eaf71126bdf93eca99fc02037535
 Author: Søren Sandmann Pedersen <ssp@redhat.com>
-Date:   Wed Jan 18 16:06:05 2012 -0500
+Date:   Thu Dec 22 18:15:02 2011 -0500
 
-    Post-release version bump to 0.24.3
+    Move the color_correct() function from composite.c to utils.c
 
-commit 08070759c3eee28fc61a7bb56ed8e3c056410c97
+commit 065666f33c414582425e4ac0ec9f694e93c2baf1
 Author: Søren Sandmann Pedersen <ssp@redhat.com>
-Date:   Wed Jan 18 15:49:24 2012 -0500
+Date:   Sun Jan 8 10:32:47 2012 -0500
 
-    Pre-release version bump to 0.24.2
+    Get rid of delegates for combiners
+    
+    Add a new function _pixman_implementation_lookup_combiner() that will
+    find a usable combiner given an operator and information about whether
+    the combiner should apply component alpha and whether it should be 64
+    bit.
+    
+    In pixman-general.c use this function to look up a combiner up front
+    instead of walking the delegate chain for every scanline.
 
-commit a9b4fa378b70412ccf065454be009c1f8da4003a
+commit ab584ab500b4e7011a5b82051a90e2eea6744270
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Jan 7 17:11:45 2012 -0500
+
+    test/alphamap.c: Make dst and orig_dst more independent of each other
+    
+    When making the copy of the destination, do so separately for the
+    image and the alpha map. This ensures that the alpha channel of the
+    alpha map will be different from the alpha channel of the actual
+    image.
+    
+    Previously, orig_dst would be copied onto dst along with its alpha
+    map, which mean that the alpha map of orig_dst would become the new
+    alpha channel of *both* dst and dst's alpha map. This meant that test
+    didn't actually test that the alpha maps alpha channel was actually
+    fetched.
+
+commit 4613f2caac595b3fa1298ac49f9c9fdcd907f14a
 Author: Søren Sandmann Pedersen <ssp@redhat.com>
 Date:   Sat Jan 7 16:48:00 2012 -0500
 
@@ -49,7 +537,17 @@ Date:   Sat Jan 7 16:48:00 2012 -0500
     channel was correct, and not pay attention to incorrect color
     channels.
 
-commit 7dd2b8ee7e1f3c817205cf510507f4b54562444b
+commit 8bd63634cd2b2d92145b1d52b54b91ebcb9fb1b4
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sat Jan 7 14:32:08 2012 -0500
+
+    test: In the alphamap test, also test that we get the right red value
+    
+    There is a bug where the red channel of the alpha map of the
+    destination image is used instead of the red channel of the
+    destination image itself.
+
+commit 007d8b1813e34a7f881d9b241806f8323e9667cd
 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
 Date:   Fri Dec 23 16:32:57 2011 -0800
 
@@ -60,7 +558,16 @@ Date:   Fri Dec 23 16:32:57 2011 -0800
     
     Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
 
-commit ee500cb2b1abf04ba40a8abfe358f6211d6078d1
+commit 37572455866114cbb8bb1bf3acfb1c61d200f98c
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Tue Dec 20 06:32:26 2011 -0500
+
+    Fix rounding for DIV_UNc()
+    
+    We need to compute floor (a/b * 255 + 0.5), not floor (a / b * 255),
+    so add b/2 to the numerator in the DIV_UNc() macro.
+
+commit 2437ae80e5066dec9fe52f56b016bf136d7cea06
 Author: Søren Sandmann Pedersen <ssp@redhat.com>
 Date:   Thu Dec 22 11:37:26 2011 -0500
 
@@ -75,7 +582,57 @@ Date:   Thu Dec 22 11:37:26 2011 -0500
     This kind of trapezoid causes overflows in the rasterization code, so
     change pixman_trapezoid_valid() to reject them.
 
-commit 1398a2fae4ba63f824049507a3d87a09c0af9af2
+commit 6a8192b6dd88b833bb918de28331d3a85c84a4f7
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Tue Dec 20 06:34:41 2011 -0500
+
+    In MUL_UNc() cast to comp2_t
+    
+    Otherwise, when comp1_t is 16 bits wide, we can end up with a signed
+    integer overflow.
+
+commit 33ac0a9084aabd0e47fb1c9e5638eafc809c52cb
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Wed Dec 21 08:19:05 2011 -0500
+
+    Fix a bunch of signed overflow issues
+    
+    In pixman-fast-path.c: (1 << 31) - 1 causes a signed overflow, so
+    change to (1U << n) - 1.
+    
+    In pixman-image.c: The check for whether m10 == -m01 will overflow
+    when -m01 == INT_MIN. Instead just check whether the variables are 1
+    and -1.
+    
+    In pixman-utils.c: When the depth of the topmost channel is 0, we can
+    end up shifting by 32.
+    
+    In blitters-test.c: Replicating the mask would end up shifting more
+    than 32.
+    
+    In region-contains-test.c: Computing the average of two large integers
+    could overflow. Instead add half the difference between them to the
+    first integer.
+    
+    In stress-test.c: Masking the value in fake_reader() would sometimes
+    shift by 32. Instead just use the most significant bits instead of
+    the least significant.
+    
+    All these issues were found by the IOC tool:
+    
+        http://embed.cs.utah.edu/ioc/
+
+commit d788f762788c2178970ff0ff2cb6e0097171cc3c
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sun Dec 18 09:54:47 2011 -0500
+
+    Add missing cast in _pixman_edge_multi_init()
+    
+    nx and e->dy are both 32 bit quantities, so a cast is needed to make
+    sure their product is 64 bit before subtracting it from a 64 bit
+    quantity.
+
+commit 4f3fe9c9096b2261217c2d4beb7d5eb8e578ed76
 Author: Søren Sandmann Pedersen <ssp@redhat.com>
 Date:   Sun Dec 18 08:16:45 2011 -0500
 
@@ -90,7 +647,7 @@ Date:   Sun Dec 18 08:16:45 2011 -0500
     
     Fix for bug 43906, reported by Siarhei Siamashka.
 
-commit 419820cce6f7ecbf759166eecb6dd7380b301e98
+commit 3e93bba3b04b42c2ab99d828dae12c18f29bcf7d
 Author: Søren Sandmann Pedersen <ssp@redhat.com>
 Date:   Thu Jan 5 10:37:51 2012 -0500
 
@@ -104,7 +661,7 @@ Date:   Thu Jan 5 10:37:51 2012 -0500
     
         https://bugzilla.mozilla.org/show_bug.cgi?id=710992
 
-commit 5bd74a7c96724e0abe9ddb472bd5e5cefc50ca9e
+commit ae651e7e739253f79f345f9fcbacad8627da0d85
 Author: Colin Walters <walters@verbum.org>
 Date:   Wed Jan 4 08:06:05 2012 -0500
 
@@ -112,7 +669,7 @@ Date:   Wed Jan 4 08:06:05 2012 -0500
     
     http://people.gnome.org/~walters/docs/build-api.txt
 
-commit dbb6148158bd1e915c4ac15c06e05a4eb9d29ade
+commit 89498a1178bc173857f3d1ee1f889afcc58b21b6
 Author: Søren Sandmann Pedersen <ssp@redhat.com>
 Date:   Sun Dec 18 07:29:59 2011 -0500
 
@@ -130,7 +687,30 @@ Date:   Sun Dec 18 07:29:59 2011 -0500
     This patches fixes the issue by reinstating a check for these cases
     and setting both the right and left colors to transparent black.
 
-commit b14fd2ad606baa4074b8cba8c58f6847d5840205
+commit d0091a33fcdb49b65a6f20f775cfde520380b1fa
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Wed Dec 21 05:19:00 2011 -0500
+
+    Modify gradient-test to show a bug in NONE processing
+    
+    This patch modifies demos/gradient-test to display a bug in gradients
+    with a repeat mode of NONE. With the current gradient code, the left
+    side will be a solid red (actually an extremely long fade from solid
+    red to transparent) instead of a sharp transition from red to green.
+
+commit 9db980551518a09069b8ade34743238329a36661
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Fri Dec 9 03:59:04 2011 -0500
+
+    region: Add pixman_region{,32}_clear() functions.
+    
+    These functions simply reset the region to empty. They are equivalent
+    to
+    
+          pixman_region_fini (&region);
+          pixman_region_init (&region);
+
+commit 6b9d6a91ed4a85f27d7e5824ce2a63f37876e937
 Author: Bobby Salazar <bobby8934@gmail.com>
 Date:   Tue Dec 13 02:03:16 2011 -0500
 
@@ -142,7 +722,7 @@ Date:   Tue Dec 13 02:03:16 2011 -0500
     Android platform (200 million+ smartphones, tablets, etc.). Just make
     sure to #define USE_ARM_NEON in your makefile.
 
-commit 3c87d862d9bdfd4500927f9502c87815175e48c9
+commit 84450c411cc93309bb1d1b1f555640b3ad105500
 Author: Naohiro Aota <naota@gentoo.org>
 Date:   Thu Nov 24 13:12:15 2011 +0100
 
@@ -156,11 +736,104 @@ Date:   Thu Nov 24 13:12:15 2011 +0100
     Fixes https://bugs.freedesktop.org/show_bug.cgi?id=42588 and
     https://bugs.gentoo.org/show_bug.cgi?id=387087
 
-commit c19a09b31473209cbe5a8e8d7d51618f4003cd5e
-Author: Søren Sandmann Pedersen <ssp@redhat.com>
-Date:   Wed Jan 18 15:35:09 2012 -0500
+commit 9985febd7847b7a9c09d6395db7f89490c83be30
+Author: Andrea Canciani <ranma42@gmail.com>
+Date:   Tue Nov 8 22:00:46 2011 +0100
+
+    test: Produce autotools-looking report in the win32 build system
+    
+    Tweak the commands used to run the tests on win32 to make the output
+    look mostly like that produced by the autotools test system.
+    
+    In addition to this, make sure that the exit status of the test target
+    is success (0) if and only if no failure occurred.
+
+commit b31da39f6f65d1784fc2f6915c30eb011cc2893b
+Author: Andrea Canciani <ranma42@gmail.com>
+Date:   Thu Nov 3 11:07:25 2011 +0100
+
+    demos: Consistently use G_N_ELEMENTS()
+    
+    Instead of open-coding G_N_ELEMENTS(), just use it.
 
-    Post-release version bump to 0.24.1
+commit 1662c94348eda19ec35db2625749febd1dceb35e
+Author: Andrea Canciani <ranma42@gmail.com>
+Date:   Thu Nov 3 10:53:10 2011 +0100
+
+    test: Reuse the ARRAY_LENGTH() macro
+    
+    It is provided by utils.h, there is no need to redefine it.
+
+commit 97b9fa090c54f6feab54bde272df374a13c0c84d
+Author: Andrea Canciani <ranma42@gmail.com>
+Date:   Thu Nov 3 10:51:27 2011 +0100
+
+    Use the ARRAY_LENGTH() macro when possible
+    
+    This patch has been generated by the following Coccinelle semantic patch:
+    
+    // Use the ARRAY_LENGTH() macro when possible
+    //
+    // Replace open-coded array length computations with the
+    // ARRAY_LENGTH() macro
+    
+    @@
+    type T;
+    T[] E;
+    @@
+    - (sizeof(E)/sizeof(T))
+    + ARRAY_LENGTH (E)
+
+commit 06760f5cb069bdc041af7a0e73c9d5fc08741f28
+Author: Andrea Canciani <ranma42@gmail.com>
+Date:   Thu Nov 3 10:40:24 2011 +0100
+
+    test: Cleanup includes
+    
+    All the tests are linked to libutil, hence it makes sence to always
+    include utils.h and reuse what it provides (config.h inclusion, access
+    to private pixman APIs, ARRAY_LENGTH, ...).
+
+commit cbd88a9416d9b33e6589e3f857ee839559a7e4de
+Author: Andrea Canciani <ranma42@gmail.com>
+Date:   Thu Nov 3 10:21:41 2011 +0100
+
+    Remove useless checks for NULL before freeing
+    
+    This patch has been generated by the following Coccinelle semantic patch:
+    
+    // Remove useless checks for NULL before freeing
+    //
+    // free (NULL) is a no-op, so there is no need to avoid it
+    
+    @@
+    expression E;
+    @@
+    + free (E);
+    + E = NULL;
+    - if (unlikely (E != NULL)) {
+    -   free(E);
+    (
+    -   E = NULL;
+    |
+    -   E = 0;
+    )
+       ...
+    - }
+    
+    @@
+    expression E;
+    @@
+    + free (E);
+    - if (unlikely (E != NULL)) {
+    -   free (E);
+    - }
+
+commit 8d72d35b29b0fe0345e21525db9e5f25876364be
+Author: Søren Sandmann Pedersen <ssp@redhat.com>
+Date:   Sun Nov 6 16:36:01 2011 -0500
+
+    Post-release version bump to 0.25.1
 
 commit 973dc7d319f373fc1bbb91ea54e8a7116cfaa932
 Author: Søren Sandmann Pedersen <ssp@redhat.com>
diff --git a/debian/changelog b/debian/changelog
index cb3b46d..0708401 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+pixman (0.25.2-1) UNRELEASED; urgency=low
+
+  * New upstream release candidate.
+
+ -- Cyril Brulebois <kibi@debian.org>  Fri, 09 Mar 2012 13:03:37 +0100
+
 pixman (0.24.4-1) unstable; urgency=low
 
   * New upstream release

commit f73f7985318bf0e7446941d9bea9a94b35580342
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date:   Thu Mar 8 09:33:16 2012 -0500

    Pre-release version bump to 0.25.2

diff --git a/configure.ac b/configure.ac
index 5eeb6a5..5ca062a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,7 +54,7 @@ AC_PREREQ([2.57])
 
 m4_define([pixman_major], 0)
 m4_define([pixman_minor], 25)
-m4_define([pixman_micro], 1)
+m4_define([pixman_micro], 2)
 
 m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
 

commit 62df04eb257d16fbb4449855a48f6fdaf567e201
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date:   Thu Mar 8 09:29:46 2012 -0500

    mmx: Squash a warning by making the argument to ldl_u() const

diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c
index fe31b08..f9efd73 100644


Reply to: