Soeren Sandmann
2010-Oct-27 21:21 UTC
[ANNOUNCE] pixman major release 0.20.0 now available
A new major pixman release 0.20.0 is now available. Highlights of this release: * Gradient improvements - Radial gradients follow the PDF specification [Andrea Canciani] - Large linear gradients are rendered much more accurately [Andrea] - Conical gradients now work much better [S?ren Sandmann Pedersen] * Performance improvements - Faster image scaling [Siarhei Siamashka] - Faster affine transformations [S?ren] - Improvements to the ARM NEON [Siarhei] - Improvements to the SSE2 backend [Siarhei, S?ren] Plus a large number of bug and portability fixes, and improvements to the test suite. Thanks to everybody who contributed to pixman 0.20.0, including Andrea Canciani, Benjamin Otte, Brad Smith, Dmitri Vorobiev, Jeff Muizelaar, Jon TURNEY, Jonathan Morton, Liu Xinyun, M Joonas Pihlaja, Maarten Bosmans, Marek Vasut, Mika Yrjola, Scott McCreary, Siarhei Siamashka, Siddharth Agarwal, S?ren Sandmann Pedersen, and Tor Lillqvist. S?ren tar.gz: http://cairographics.org/releases/pixman-0.20.0.tar.gz http://xorg.freedesktop.org/archive/individual/lib/pixman-0.20.0.tar.gz tar.bz2: http://xorg.freedesktop.org/archive/individual/lib/pixman-0.20.0.tar.bz2 Hashes: MD5: c1a31d5cedfa97c5af7148a2d1fd4356 pixman-0.20.0.tar.gz MD5: 512ec766a911142b901157ba581f6e75 pixman-0.20.0.tar.bz2 SHA1: 51f264f4e8c4594d68669fb0af81312a1f0d0598 pixman-0.20.0.tar.gz SHA1: 2d9e3416f8bcf561a85c381a568d23fd53e0e922 pixman-0.20.0.tar.bz2 GPG signature: http://cairographics.org/releases/pixman-0.20.0.tar.gz.sha1.asc (signed by S?ren Sandmann Pedersen <sandmann at daimi.au.dk>) Git: git://git.freedesktop.org/git/pixman tag: pixman-0.20.0 Log: Andrea Canciani (8): support single-stop gradients test: verify that gradients do not crash pixman Draw radial gradients with PDF semantics Add comments about errors Improve precision of linear gradients Make classification consistent with rasterization Remove unused enum value Fix an overflow in the new radial gradient code Benjamin Otte (2): region: Add a new test region-translate region: Fix pixman_region_translate() clipping bug Brad Smith (1): Add support for AltiVec detection for OpenBSD/PowerPC. Dmitri Vorobiev (5): Move aligned_malloc() to utils Add gettime() routine to test utils Add noinline macro Use <sys/mman.h> macros only when they are available Some clean-ups in fence_malloc() and fence_free() Jeff Muizelaar (3): Add missing HAVE_CONFIG_H guards for config.h inclusion Add support for compiling pixman without thread/tls support create getter for component alpha Jon TURNEY (1): Plug another leak in alphamap test Jonathan Morton (1): Add a lowlevel blitter benchmark Liu Xinyun (2): add enable-cache-prefetch option Remove cache prefetch code. M Joonas Pihlaja (6): Try harder to find suitable flags for pthreads. Don't trust OpenBSD's gcc to produce working code for __thread. Check that the OpenMP pragmas don't cause link errors. Check for specific flags by actually trying to compile and link. Avoid trailing slashes on automake install dirs. Fix thinko in configure.ac's macro to test linking. Maarten Bosmans (2): Use windows.h directly for mingw32 build Add *.exe to .gitignore Marek Vasut (1): Add support for 32bpp X14R6G6B6 format. Mika Yrjola (1): Fix "syntax error: empty declaration" warnings. Scott McCreary (1): Added check to find pthread on Haiku. Siarhei Siamashka (25): test: main loop from blitters-test added as a new function to utils.c test: blitters-test-bisect.rb converted to perl test: blitters-test updated to use new fuzzer_test_main() function test: scaling-test updated to use new fuzzer_test_main() function test: added OpenMP support for better utilization of multiple CPU cores test: 'scaling-crash-test' added test: 'scaling-test' updated to provide better coverage Code simplification (no need advancing 'vx' at the end of scanline) ARM: 'neon_combine_out_reverse_u' combiner ARM: added 'neon_composite_over_8888_8_0565' fast path ARM: common init/cleanup macro for saving/restoring NEON registers ARM: helper macros for conversion between 8888/x888/0565 formats ARM: added 'neon_composite_over_0565_8_0565' fast path test: detection of possible floating point registers corruption Nearest scaling fast path macros moved to 'pixman-fast-path.h' Nearest scaling fast path macro split into two parts Introduce a fake PIXMAN_REPEAT_COVER constant PAD repeat support for fast scaling with nearest filter NONE repeat support for fast scaling with nearest filter SSE2 optimization for scaled over_8888_8888 operation with nearest filter ARM: NEON: added forgotten cache preload for over_n_8888/over_n_0565 ARM: added 'neon_composite_add_0565_8_0565' fast path ARM: added 'neon_composite_out_reverse_8_0565' fast path Use more unrolling for scaled src_0565_0565 with nearest filter ARM: restore fallback to ARMv6 implementation from NEON in the delegate c Siddharth Agarwal (1): Visual Studio 2010 includes stdint.h S?ren Sandmann Pedersen (111): Post-release version bump to 0.19.1 Fix uninitialized cache when pthreads are used Fixes for pthread thread local storage. [mmx] Fix mask creation bugs Update README to mention the pixman mailing list Some minor updates to README Add pixman_image_get_format() accessor Remove alphamap from the GTK+ part of tests/Makefile.am Rename fast_composite_src_8888_x888 to fast_composite_src_memcpy() Add pixman_region{,32}_intersect_rect() Add an over_8888_8888_8888 sse2 fast path. Don't consider indexed formats opaque. sse2: Add sse2_composite_over_reverse_n_8888 Add support for 8bpp to pixman_fill_sse2() Don't use __thread on MinGW. Add macros for thread local storage on MinGW 32 test/gtk-utils: Set the size of the window to the size of the image Eliminate mask_bits from all the scanline fetchers. When storing a g1 pixel, store the lowest bit, rather than comparing with Make separate gray scanline storers. Fix conical gradients to match QConicalGradient from Qt Store the conical angle in floating point radians, not fixed point degree Minor tweaks to README Make the combiner macros less likely to cause name collisions. Fix memory leak in the pthreads thread local storage code Hide the global implementation variable behind a force_inline function. Cache the implementation along with the fast paths. Split the fast path caching into its own force_inline function test: Make sure the palettes for indexed format roundtrip properly When converting indexed formats to 64 bits, don't correct for channel wid Make the repeat mode explicit in the FAST_NEAREST macro. In the FAST_NEAREST macro call the function 8888_8888 and not x888_x888 fast-path: Some formatting fixes Check for read accessors before taking the bilinear fast path [fast] Add fast_composite_src_x888_8888() [sse2] Add sse2_composite_src_x888_8888() [sse2] Add sse2_composite_in_n_8() [sse2] Add sse2_composite_add_n_8() bits: Fix potential divide-by-zero in projective code Add x14r6g6b6 format to blitters-test If we bail out of do_composite, make sure to undo any workarounds. CODING_STYLE: Delete the stuff about trailing spaces Fix Altivec/OpenBSD patch Extend scaling-crash-test in various ways Replace compute_src_extent_flags() with analyze_extents() Eliminate recursion from alpha map code Eliminate get_pixel_32() and get_pixel_64() from bits_image. Split bits_image_fetch_transformed() into two functions. Eliminate the store_scanline_{32,64} function pointers. Remove "_raw_" from all the accessors. Add some new FAST_PATH flags Store the various bits image fetchers in a table with formats and flags. Add alpha-loop test program pixman_image_set_alpha_map(): Disallow alpha map cycles Introduce new FAST_PATH_SAMPLES_OPAQUE flag Only try to compute the FAST_SAMPLES_COVER_CLIP for bits images Pre-release version bump to 0.19.2 Post-release version bump to 0.19.3 Merge pixman_image_composite32() and do_composite(). Be more paranoid about checking for GTK+ Store a2b2g2r2 pixel through the WRITE macro When pixman_compute_composite_region32() returns FALSE, don't fini the re Silence some warnings about uninitialized variables Add FAST_PATH_NO_ALPHA_MAP to the standard destination flags. Do opacity computation with shifts instead of comparing with 0 Add fence_malloc() and fence_free(). Update and extend the alphamap test Rename FAST_PATH_NO_WIDE_FORMAT to FAST_PATH_NARROW_FORMAT Remove FAST_PATH_NARROW_FORMAT flag if there is a wide alpha map Clip composite region against the destination alpha map extents. Move some of the FAST_PATH_COVERS_CLIP computation to pixman-image.c analyze_extents: Fast path for non-transformed BITS images test: Add affine-test Use a macro to generate some {a,x}8r8g8b8, a8, and r5g6b5 bilinear fetche Enable bits_image_fetch_bilinear_affine_pad_a8r8g8b8 Enable bits_image_fetch_bilinear_affine_none_a8r8g8b8 Enable bits_image_fetch_bilinear_affine_reflect_a8r8g8b8 Enable bits_image_fetch_bilinear_affine_normal_a8r8g8b8 Enable bits_image_fetch_bilinear_affine_pad_x8r8g8b8 Enable bits_image_fetch_bilinear_affine_none_x8r8g8b8 Enable bits_image_fetch_bilinear_affine_reflect_x8r8g8b8 Enable bits_image_fetch_bilinear_affine_normal_x8r8g8b8 Enable bits_image_fetch_bilinear_affine_pad_a8 Enable bits_image_fetch_bilinear_affine_none_a8 Enable bits_image_fetch_bilinear_affine_reflect_a8 Enable bits_image_fetch_bilinear_affine_normal_a8 Enable bits_image_fetch_bilinear_affine_pad_r5g6b5 Enable bits_image_fetch_bilinear_affine_none_r5g6b5 Enable bits_image_fetch_bilinear_affine_reflect_r5g6b5 Enable bits_image_fetch_bilinear_affine_normal_r5g6b5 compute_composite_region32: Zero extents before returning FALSE. Pre-release version bump to 0.19.4 Post-release version bump to 0.19.5 If MAP_ANONYMOUS is not defined, define it to MAP_ANON. Revert "add enable-cache-prefetch option" Rename all the fast paths with _8000 in their names to _8 Fix search-and-replace issue in lowlevel-blt-bench.c Fix bug in FAST_PATH_STD_FAST_PATH Delete simple repeat code Remove broken optimizations in combine_disjoint_over_u() test: Fix bug in color_correct() in composite.c test: Fix eval_diff() so that it provides useful error values. test: Change composite so that it tests randomly generated images test: Parallize composite.c with OpenMP test: Add some more colors to the color table in composite.c Add no-op combiners for DST and the CA versions of the HSL operators. Plug leak in the alphamap test. Remove the class field from source_image_t Pre-release version bump to 0.19.6 Post-release version bump to 0.19.7 Pre-release version bump to 0.20.0 Tor Lillqvist (1): Support __thread on MINGW 4.5