.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 <k...@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 <k...@debian.org> Fri, 09 Mar 2012 13:03:37 +0100 + -- Cyril Brulebois <k...@debian.org> Fri, 09 Mar 2012 13:17:16 +0100 pixman (0.24.4-1) unstable; urgency=low commit b3db603f911c89405e57c8a12e07ea161a2568ed Author: Cyril Brulebois <k...@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 <k...@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 <k...@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 <s...@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 <s...@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.coopersm...@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.coopersm...@oracle.com> + Acked-by: Matt Turner <matts...@gmail.com> + +commit 304f57644ac6a991c6e538675de935356252c0a5 +Author: Nemanja Lukic <nemanja.lu...@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 <s...@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 <s...@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 <s...@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 <matts...@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 <matts...@gmail.com> + +commit fcea053561893d116a79f41a113993f1f61b58cf +Author: Søren Sandmann Pedersen <s...@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 <matts...@gmail.com> + +commit e7574d336b7c812a888fac22f99f1b0e9a3518b0 +Author: Nemanja Lukic <nemanja.lu...@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.lu...@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 <matts...@gmail.com> +Date: Fri Feb 24 20:02:55 2012 -0500 + + lowlevel-blt: add over_x888_n_8888 + + Signed-off-by: Matt Turner <matts...@gmail.com> + +commit 9f607049956c6858706c7ca45829c5ad19f18191 +Author: Matt Turner <matts...@gmail.com> +Date: Fri Feb 24 19:58:09 2012 -0500 + + lowlevel-blt: add over_8888_8888 + + Signed-off-by: Matt Turner <matts...@gmail.com> + +commit 5eb4c12a79b3017ec6cc22ab756f53f225731533 +Author: Søren Sandmann Pedersen <s...@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 <matts...@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 <matts...@gmail.com> + + And squashed in: + + mmx: define and use load8888u function + + For unaligned loads. + + Signed-off-by: Matt Turner <matts...@gmail.com> + +commit ab68316eda91bbf6bb41158c622347723e1fa8c4 +Author: Matt Turner <matts...@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 <matts...@gmail.com> + +commit 57a245a6e00987191faad9a34bef9f4524a6848c +Author: Matt Turner <matts...@gmail.com> +Date: Wed Feb 22 16:32:21 2012 -0500 + + Update .gitignore with more demos and tests + + Signed-off-by: Matt Turner <matts...@gmail.com> + +commit 51ae3f2d7f25daebbc767f161f0097b581d1554b +Author: Søren Sandmann Pedersen <s...@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 <matts...@gmail.com> + +commit bbd1e6941b39adcdb64c77670889314fa8461c0b +Author: Søren Sandmann Pedersen <s...@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 <matts...@gmail.com> + +commit 4fc586c3df9a53cc1406891e751a6eed3d7da400 +Author: Matt Turner <matts...@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 <matts...@gmail.com> + +commit 84221f4c1687b8ea14e9cbdc78b2ba7258e62c9e +Author: Matt Turner <matts...@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 <matts...@gmail.com> + +commit 14208344964f341a7b4a704b05cf4804c23792e9 +Author: Matt Turner <matts...@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 <matts...@gmail.com> + +commit 69ed71fad11d541f89eee1238c587a03a9cf59cb +Author: Matt Turner <matts...@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 <matts...@gmail.com> + +commit a14f0f66bba987d5cdcb4a3e0f3e9f7c35d3f6f0 +Author: Matt Turner <matts...@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 <matts...@gmail.com> + +commit fced5c82c2f0d6d00cb8d0a30ce6a04ec196d274 +Author: Matt Turner <matts...@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 <matts...@gmail.com> + +commit e27bdcd968e786079353432d14816600bf813d76 +Author: Matt Turner <matts...@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 <matts...@gmail.com> + +commit 82a3980701c68949ed762b1e93dc81698db1613e +Author: Jeremy Huddleston <jerem...@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 <jerem...@apple.com> + +commit 46fc4eb234f5c4f281c2901ea7514ff69e8670a8 +Author: Matt Turner <matts...@gmail.com> +Date: Sat Feb 11 23:21:45 2012 -0500 + + Use AC_LANG_SOURCE for iwMMXt configure program + + Signed-off-by: Matt Turner <matts...@gmail.com> + +commit e5555d7a749c90288463ed1c294f58963c607e52 Author: Søren Sandmann Pedersen <s...@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 <bobby8...@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 <s...@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 <s...@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 <s...@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 <s...@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 <s...@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 <s...@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 <s...@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 <s...@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.coopersm...@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.coopersm...@oracle.com> -commit ee500cb2b1abf04ba40a8abfe358f6211d6078d1 +commit 37572455866114cbb8bb1bf3acfb1c61d200f98c +Author: Søren Sandmann Pedersen <s...@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 <s...@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 <s...@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 <s...@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 <s...@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 <s...@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 <s...@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 <walt...@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 <s...@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 <s...@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 <s...@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 (®ion); + pixman_region_init (®ion); + +commit 6b9d6a91ed4a85f27d7e5824ce2a63f37876e937 Author: Bobby Salazar <bobby8...@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 <na...@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 <s...@redhat.com> -Date: Wed Jan 18 15:35:09 2012 -0500 +commit 9985febd7847b7a9c09d6395db7f89490c83be30 +Author: Andrea Canciani <ranm...@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 <ranm...@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 <ranm...@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 <ranm...@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 <ranm...@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 <ranm...@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 <s...@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 <s...@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 <k...@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 <s...@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 <s...@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 -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1s5ypd-00075p...@vasks.debian.org