A new stable pixman release 0.26.0 is now available. Highlights of this release: * New support for MIPS DSPr2 ASE. [Nemanja Lukic] * Improved performance with the iwMMXt instruction set. [Matt Turner] * New support forthe Loongson SIMD instruction set. [Matt] Performance results from a number of cairo based benchmarks: Benchmark Improvement evolution .............. image: 12.8 % image16: 15.9 % firefox-planet-gnome ... image: 14.4 % image16: 10.0 % gnome-terminal-vim ..... image: 16.5 % image16: 15.7 % gvim ................... image: 13.1 % image16: 7.0 % ocitysmap .............. image: 24.1 % image16: 23.9 % poppler ................ image: 18.7 % image16: 17.5 % swfdec-giant-steps ..... image: no change image16: 35.3 % swfdec-youtube ......... image: 23.5 % image16: 12.4 % xfce4-terminal-a1 ...... image: 26.9 % image16: 28.8 % Please see http://mattst88.com/blog/2012/05/17/Optimizing%20pixman%20for%20Loongson:%20Process%20and%20Results/ for more information. In addition to a number of bug fixes, cleanups and performance improvements, this release also contains improved support for Android and iOS thanks to Bobby Salazar. Thanks to everybody who contributed to pixman 0.26.0, including Alan Coopersmith, Andrea Canciani, Bobby Salazar, Chun-wei Fan, Colin Walters, Ingmar Runge, Jeremy Huddleston, Matt Turner, Naohiro Aota, Nemanja Lukic, and S?ren Sandmann Pedersen, Please send bug reports to pixman at lists.freedesktop.org or file them at https://bugs.freedesktop.org/enter_bug.cgi?product=pixman Thanks, S?ren tar.gz: http://cairographics.org/releases/pixman-0.26.0.tar.gz http://xorg.freedesktop.org/archive/individual/lib/pixman-0.26.0.tar.gz tar.bz2: http://xorg.freedesktop.org/archive/individual/lib/pixman-0.26.0.tar.bz2 Hashes: MD5: 6563b6400b9fa23b47fd52105faf72b4 pixman-0.26.0.tar.gz MD5: d0c41a51db89efec669812e66a5582fa pixman-0.26.0.tar.bz2 SHA1: 6f45d76ce8ef4aa570d0f9cbcc1b8bcecc863ab7 pixman-0.26.0.tar.gz SHA1: d772cf794ec5da0966eba3cb360919a0a5e0d23f pixman-0.26.0.tar.bz2 GPG signature: http://cairographics.org/releases/pixman-0.26.0.tar.gz.sha1.asc (signed by S?ren Sandmann Pedersen <soren.sandmann at gmail.com> Git: git://git.freedesktop.org/git/pixman tag: pixman-0.26.0 Log: Alan Coopersmith (2): Make mmx code compatible with Solaris Studio 12.3 compilers Just use xmmintrin.h when building with Solaris Studio compilers Andrea Canciani (6): Remove useless checks for NULL before freeing test: Cleanup includes Use the ARRAY_LENGTH() macro when possible test: Reuse the ARRAY_LENGTH() macro demos: Consistently use G_N_ELEMENTS() test: Produce autotools-looking report in the win32 build system Bobby Salazar (2): Android Runtime Detection Support For ARM NEON iOS Runtime Detection Support For ARM NEON Chun-wei Fan (1): Just include xmmintrin.h on MSVC as well Colin Walters (1): autogen.sh: Support GNOME Build API Ingmar Runge (1): Fix MSVC compilation Jeremy Huddleston (7): configure.ac: Add an --enable-libpng option Revert "Disable MMX when Clang is being used." Silence a warning about unused pixman_have_mmx Disable MMX when incompatible clang is being used. Expand TLS support beyond __thread to __declspec(thread) Fix a false-negative in MMX check configure.ac: Fix a copy-paste-o in TLS detection Matt Turner (41): Use AC_LANG_SOURCE for iwMMXt configure program Make sure to run AC_SUBST IWMMXT_CFLAGS Convert while (w) to if (w) when possible autoconf: use #error instead of error mmx: enable over_x888_8_8888 on ARM/iwMMXt mmx: Use _mm_mulhi_pu16 mmx: Use _mm_shuffle_pi16 mmx: fix typo in pix_add_mul on MSVC Update .gitignore with more demos and tests mmx: make store8888 take uint32_t *dest as argument mmx: make load8888 take a pointer to data instead of the data itself lowlevel-blt: add over_8888_8888 lowlevel-blt: add over_x888_n_8888 lowlevel-blt-bench: add in_8_8 and in_n_8_8 Use AC_LANG_SOURCE for DSPr2 configure program mmx: enable over_n_0565 for b5g6r5 mmx: Use force_inline instead of __inline__ (bug 46906) configure.ac: require >= gcc-4.5 for ARM iwMMXt mmx: fix _mm_shuffle_pi16 function when compiling without optimization configure.ac: fix iwMMXt/gcc version error message mmx: add store function and use it in add_8888_8888 mmx: add load function and use it in add_8888_8888 mmx: make ldq_u take __m64* directly mmx: compile on MIPS for Loongson MMI optimizations mmx: remove unnecessary uint64_t<->__m64 conversions mmx: simplify srcsrcsrcsrc calculation in over_n_8_0565 mmx: introduce is_equal, is_opaque, and is_zero functions mmx: don't pack and unpack src unnecessarily mmx: Use Loongson pinsrh instruction in pack_565 mmx: Use Loongson pextrh instruction in expand565 mmx: add r5g6b5 fetcher mmx: add a8 fetcher mmx: add x8f8g8b8 fetcher mmx: add src_8888_0565 mmx: Use wpackhus in src_x888_0565 on iwMMXt .gitignore: add demos/checkerboard and demos/quad2quad configure.ac: make -march=loongson2f come before CFLAGS mmx: add and use pack_4x565 function configure.ac: Fix loongson-mmi out-of-tree builds configure.ac: Rename loongson -> loongson-mmi configure.ac: Fail the ARM/iwMMXt test if not compiling with -march=iwmmx Naohiro Aota (1): Don't use non-POSIX test Nemanja Lukic (7): MIPS: DSPr2: Basic infrastructure for MIPS architecture MIPS: DSPr2: Added fast-paths for SRC operation. MIPS: DSPr2: Added mips_dspr2_blt and mips_dspr2_fill routines. MIPS: DSPr2: Added over_n_8888_8888_ca and over_n_8888_0565_ca fast paths MIPS: DSPr2: Added over_n_8_8888 and over_n_8_0565 fast paths. MIPS: DSPr2: Fix bug in over_n_8888_8888_ca/over_n_8888_0565_ca routines MIPS: DSPr2: Added bilinear over_8888_8_8888 fast path. S?ren Sandmann Pedersen (49): Post-release version bump to 0.25.1 region: Add pixman_region{,32}_clear() functions. Modify gradient-test to show a bug in NONE processing gradient-walker: For NONE repeats, when x < 0 or x > 1, set both colors t pixman-image.c: Fix typo in pixman_image_set_transform() Fix some signed overflow bugs Add missing cast in _pixman_edge_multi_init() Fix a bunch of signed overflow issues In MUL_UNc() cast to comp2_t Reject trapezoids where top (botttom) is above (below) the edges Fix rounding for DIV_UNc() test: In the alphamap test, also test that we get the right red value Fix bugs with alpha maps test/alphamap.c: Make dst and orig_dst more independent of each other Get rid of delegates for combiners Move the color_correct() function from composite.c to utils.c Rename color_correct() to round_color() test: Add a new "pixel_checker_t" object. test: Port composite test over to use new pixel_checker_t object. Revert "Reject trapezoids where top (botttom) is above (below) the edges" mmx: Enable over_x888_8_8888() for x86 as well mmx: Delete unused function in_over_full_src_alpha() Disable MMX when Clang is being used. Disable implementations mentioned in the PIXMAN_DISABLE environment varia Move fetching for solid bits images to pixman-noop.c pixman-accessors.h: Delete unused macros pixman-access.c: Remove some unused macros mmx: Squash a warning by making the argument to ldl_u() const Pre-release version bump to 0.25.2 Post-release version bump to 0.25.3 Use "=a" and "=d" constraints for rdtsc inline assembly demos: Add quad2quad program demos: Add checkerboard demo composite-test.c: Use similar gradient to the one in the PDF spec. composite-test.c: Add a parrot image Add the original parrot image. Rename fast_composite_add_1000_1000 to _add_1_1() gtk-utils.c: Don't include pixman-private.h test/utils.c: Rename and export the pngify_pixels() function. gtk-utils.c: In pixbuf_from_argb32() use a8r8g8b8_to_rgba_np() test/utils.c: Clip values to the [0, 255] interval bits_image_fetch_pixel_convolution(): Make sure channels are signed Add Makefile.win32 and Makefile.win32.common to EXTRA_DIST demos/Makefile.am: Add parrot.c to EXTRA_DIST Pre-release version bump to 0.25.6 Post-release version bump to 0.25.7 demos: Add parrot.jpg to EXTRA_DIST test: Composite with solid images instead of using pixman_image_fill_* Pre-release version bump to 0.26.0