[Pixman] [ANNOUNCE] pixman stable release 0.22.0 now available

Soeren Sandmann sandmann at cs.au.dk
Mon May 2 02:27:44 PDT 2011

A new stable pixman release 0.22.0 is now available. Highlights
of this release:

- New r8g8b8a8 and r8g8b8x8 image formats [Alexandros Frantzis]
- Much faster image scaling on ARM and x86 [Siarhei Siamashka, Taekyun Kim]
- Faster 90/270 degree image rotation [Siarhei Siamashka]
- More comprehensive support for compositing triangles and
  trapezoids [Søren Sandmann Pedersen]

Plus a large number of other performance improvements, bug and
portability fixes, and improvements to the test suite.

Thanks to everybody who contributed to pixman 0.22.0, including
Alan Coopersmith, Alexandros Frantzis, Andrea Canciani, Cyril
Brulebois, Gilles Espinasse, Jon TURNEY, Rolland Dudemaine,
Siarhei Siamashka, Søren Sandmann Pedersen, and Taekyun Kim.




	MD5:  cb8f3cb5ce2c8d7294f73ecb7021fda6  pixman-0.22.0.tar.gz
	MD5:  307fe4d7dc83b1a558c362907097c0d0  pixman-0.22.0.tar.bz2
	SHA1: da0a9c63fa315f163a32c7e40dd0b2a0f88c0d21  pixman-0.22.0.tar.gz
	SHA1: d24ea233755d7dce9f0d93136ad99fba8d4e4fa0  pixman-0.22.0.tar.bz2

GPG signature:
	(signed by Søren Sandmann Pedersen <sandmann at daimi.au.dk>)

	tag: pixman-0.22.0

	Alan Coopersmith (1):
	      Sun's copyrights belong to Oracle now
	Alexandros Frantzis (2):
	      Add simple support for the r8g8b8a8 and r8g8b8x8 formats.
	      Add support for the r8g8b8a8 and r8g8b8x8 formats to the tests.
	Andrea Canciani (10):
	      Remove unused stop_range field
	      Fix opacity check
	      Improve conical gradients opacity check
	      Improve handling of tangent circles
	      Add a test for radial gradients
	      Fix compilation on Win32
	      test: Fix tests for compilation on Windows
	      test: Add Makefile for Win32
	      Do not include unused headers
	      test: Silence MSVC warnings
	Cyril Brulebois (2):
	      Fix argument quoting for AC_INIT.
	      Fix linking issues when HAVE_FEENABLEEXCEPT is set.
	Gilles Espinasse (2):
	      Fix missing AC_MSG_RESULT value from Werror test
	      Fix OpenMP not supported case
	Jon TURNEY (1):
	      Remove stray #include <fenv.h>
	Rolland Dudemaine (4):
	      test: Fix for mismatched 'fence_malloc' prototype/implementation
	      Correct the initialization of 'max_vx'
	      test: Use the right enum types instead of int to fix warnings
	      Fix "variable was set but never used" warnings
	Siarhei Siamashka (69):
	      Fixed broken configure check for __thread support
	      Do CPU features detection from 'constructor' function when compiled with 
	      ARM: fix 'vld1.8'->'vld1.32' typo in add_8888_8888 NEON fast path
	      ARM: NEON: source image pixel fetcher can be overrided now
	      ARM: nearest scaling support for NEON scanline compositing functions
	      ARM: macro template in C code to simplify using scaled fast paths
	      ARM: performance tuning of NEON nearest scaled pixel fetcher
	      ARM: NEON optimization for scaled over_8888_8888 with nearest filter
	      ARM: NEON optimization for scaled over_8888_0565 with nearest filter
	      ARM: NEON optimization for scaled src_8888_0565 with nearest filter
	      ARM: NEON optimization for scaled src_0565_8888 with nearest filter
	      ARM: optimization for scaled src_0565_0565 with nearest filter
	      C fast path for a1 fill operation
	      ARM: added 'neon_composite_over_n_8_8' fast path
	      ARM: introduced 'fetch_mask_pixblock' macro to simplify code
	      ARM: better NEON instructions scheduling for over_n_8_0565
	      ARM: added 'neon_composite_over_8888_n_0565' fast path
	      ARM: reuse common NEON code for over_{n_8|8888_n|8888_8}_0565
	      ARM: added 'neon_composite_over_0565_n_0565' fast path
	      ARM: added 'neon_composite_add_8888_8_8888' fast path
	      ARM: better NEON instructions scheduling for add_8888_8888_8888
	      ARM: added 'neon_composite_add_n_8_8888' fast path
	      ARM: added 'neon_composite_add_8888_n_8888' fast path
	      ARM: added flags parameter to some asm fast path wrapper macros
	      ARM: added 'neon_composite_in_n_8' fast path
	      ARM: added 'neon_src_rpixbuf_8888' fast path
	      Fix for potential unaligned memory accesses
	      COPYING: added Nokia to the list of copyright holders
	      Revert "Fix "syntax error: empty declaration" warnings."
	      Fix for "syntax error: empty declaration" Solaris Studio warnings
	      Workaround for a preprocessor issue in old Sun Studio
	      Bugfix for a corner case in 'pixman_transform_is_inverse'
	      Make 'fast_composite_scaled_nearest_*' less suspicious
	      A new configure option --enable-static-testprogs
	      ARM: do /proc/self/auxv based cpu features detection only in linux
	      The code in 'bitmap_addrect' already assumes non-null 'reg->data'
	      test: affine-test updated to stress 90/180/270 degrees rotation more
	      New flags for 90/180/270 rotation
	      C fast paths for a simple 90/270 degrees rotation
	      Use const modifiers for source buffers in nearest scaling fast paths
	      test: Extend scaling-test to support a8/solid mask and ADD operation
	      Support for a8 and solid mask in nearest scaling main loop template
	      Better support for NONE repeat in nearest scaling main loop template
	      ARM: new macro template for using scaled fast paths with a8 mask
	      ARM: NEON optimization for nearest scaled over_8888_8_0565
	      ARM: NEON optimization for nearest scaled over_0565_8_0565
	      SSE2 optimization for nearest scaled over_8888_n_8888
	      Ensure that tests run as the last step of a build for 'make check'
	      Main loop template for fast single pass bilinear scaling
	      test: check correctness of 'bilinear_pad_repeat_get_scanline_bounds'
	      SSE2 optimization for bilinear scaled 'src_8888_8888'
	      ARM: NEON optimization for bilinear scaled 'src_8888_8888'
	      ARM: use prefetch in nearest scaled 'src_0565_0565'
	      ARM: common macro for nearest scaling fast paths
	      ARM: assembly optimized nearest scaled 'src_8888_8888'
	      ARM: new bilinear fast path template macro in 'pixman-arm-common.h'
	      ARM: NEON: common macro template for bilinear scanline scalers
	      ARM: use common macro template for bilinear scaled 'src_8888_8888'
	      ARM: NEON optimization for bilinear scaled 'src_8888_0565'
	      ARM: NEON optimization for bilinear scaled 'src_0565_x888'
	      ARM: NEON optimization for bilinear scaled 'src_0565_0565'
	      ARM: a bit faster NEON bilinear scaling for r5g6b5 source images
	      ARM: tweaked horizontal weights update in NEON bilinear scaling code
	      ARM: use aligned memory writes in NEON bilinear scaling code
	      ARM: support for software pipelining in bilinear macros
	      ARM: use less ARM instructions in NEON bilinear scaling code
	      ARM: support different levels of loop unrolling in bilinear scaler
	      ARM: pipelined NEON implementation of bilinear scaled 'src_8888_8888'
	      ARM: pipelined NEON implementation of bilinear scaled 'src_8888_0565'
	Søren Sandmann Pedersen (82):
	      Post-release version bump to 0.20.1
	      Version bump 0.21.1.
	      COPYING: Stop saying that a modification is currently under discussion.
	      Remove workaround for a bug in the 1.6 X server.
	      [mmx] Mark some of the output variables as early-clobber.
	      Delete the source_image_t struct.
	      Generate {a,x}8r8g8b8, a8, 565 fetchers for nearest/affine images
	      Pre-release version bump
	      Post-release version bump to 0.21.3
	      test: Make composite test use some existing macros instead of defining it
	      Add enable_fp_exceptions() function in utils.[ch]
	      Extend gradient-crash-test
	      test: Move palette initialization to utils.[ch]
	      test/utils.c: Initialize palette->rgba to 0.
	      Make the argument to fence_malloc() an int64_t
	      Add a stress-test program.
	      Add a test compositing with the various PDF operators.
	      Fix divide-by-zero in set_lum().
	      sse2: Skip src pixels that are zero in sse2_composite_over_8888_n_8888()
	      Add iterators in the general implementation
	      Move initialization of iterators for bits images to pixman-bits-image.c
	      Eliminate the _pixman_image_store_scanline_32/64 functions
	      Move iterator initialization to the respective image files
	      Virtualize iterator initialization
	      Use an iterator in pixman_image_get_solid()
	      Move get_scanline_32/64 to the bits part of the image struct
	      Allow NULL property_changed function
	      Consolidate the various get_scanline_32() into get_scanline_narrow()
	      Linear: Optimize for horizontal gradients
	      Get rid of the classify methods
	      Add direct-write optimization back
	      Skip fetching pixels when possible
	      Turn on testing for destination transformation
	      Fix destination fetching
	      Fix dangling-pointer bug in bits_image_fetch_bilinear_no_repeat_8888().
	      Pre-release version bump to 0.21.4
	      Post-release version bump to 0.21.5
	      Print a warning when a development snapshot is being configured.
	      Move fallback decisions from implementations into pixman-cpu.c.
	      Add a test for over_x888_8_0565 in lowlevel_blt_bench().
	      Add SSE2 fetcher for x8r8g8b8
	      Add SSE2 fetcher for a8
	      Improve performance of sse2_combine_over_u()
	      Add SSE2 fetcher for 0565
	      Add pixman-conical-gradient.c to Makefile.win32.
	      Move all the GTK+ based test programs to a new subdir, "demos"
	      test/Makefile.am: Move all the TEST_LDADD into a new global LDADD.
	      Add pixman_composite_trapezoids().
	      Add a test program for pixman_composite_trapezoids().
	      Add support for triangles to pixman.
	      Add a test program, tri-test
	      Optimize adding opaque trapezoids onto a8 destination.
	      Add new public function pixman_add_triangles()
	      Avoid marking images dirty when properties are reset
	      In pixman_image_set_transform() allow NULL for transform
	      Coding style:  core_combine_in_u_pixelsse2 -> core_combine_in_u_pixel_sse
	      sse2: Convert all uses of MMX registers to use SSE2 registers instead.
	      sse2: Delete unused MMX functions and constants and all _mm_empty()s
	      sse2: Don't compile pixman-sse2.c with -mmmx anymore
	      sse2: Remove all the core_combine_* functions
	      sse2: Delete obsolete or redundant comments
	      sse2: Remove pixman-x64-mmx-emulation.h
	      sse2: Minor coding style cleanups.
	      Delete pixman-x64-mmx-emulation.h from pixman/Makefile.am
	      Minor fix to the RELEASING file
	      Pre-release version bump to 0.21.6
	      Post-release version bump to 0.21.7
	      test: In image_endian_swap() use pixman_image_get_format() to get the bpp
	      test: Do endian swapping of the source and destination images.
	      In delegate_{src,dest}_iter_init() call delegate directly.
	      Fill out parts of iters in _pixman_implementation_{src,dest}_iter_init()
	      Simplify the prototype for iterator initializers.
	      test: Randomize some tests if PIXMAN_RANDOMIZE_TESTS is set
	      test: Fix infinite loop in composite
	      Makefile.am: Put development releases in "snapshots" directory
	      ARM: Tiny improvement in over_n_8888_8888_ca_process_pixblock_head
	      ARM: Add 'neon_composite_over_n_8888_0565_ca' fast path
	      Offset rendering in pixman_composite_trapezoids() by (x_dst, y_dst)
	      Pre-release version bump to 0.21.8
	      Post-release version bump to 0.21.9
	      Pre-release version bump to 0.22.0
	Taekyun Kim (3):
	      ARM: Common macro for scaled bilinear scanline function with A8 mask
	      ARM: NEON scanline functions for bilinear scaling
	      ARM: Enable bilinear fast paths using scanline functions in pixman-arm-ne

More information about the Pixman mailing list