[cairo-announce] [ANNOUNCE] pixman major release 0.20.0 now available

Soeren Sandmann sandmann at daimi.au.dk
Wed Oct 27 14:21:39 PDT 2010


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


More information about the cairo-announce mailing list