A new pixman release 0.32.6 is now available. This is a stable release
in the 0.32 series containing fixes for exported symbols on MIPS,
compiling with the Intel compiler, and for an integer overflow bug.
Log:
Jakub Bogusz (1):
Fix the SSSE3 CPUID detection.
Matt Turner (1):
Pre-release version bump to 0.32.4
Søren Sandmann (2):
Post-release version bump to 0.32.3
test/utils.c: Make the stack unaligned only on 32 bit Windows
0.32.2:
A new pixman release 0.32.2 is now available. This is a stable release
in the 0.32 series.
This release corrects the problem that the 0.32.0 tarball was missing
some files required to build the GTK+ based demo programs. Also included
is a fix for a build problem with MSVC.
0.32.0:
A new pixman release 0.32.0 is now available. This is new major release
with performance improvements for image scaling, and a large number of
bug fixes.
Alexander Troosh (1):
Require GTK+ version >= 2.16
Andrea Canciani (1):
test: Fix build on MSVC
Markos Chandras (1):
Use AC_LINK_IFELSE to check if the Loongson MMI code can link
Matthieu Herrb (1):
configure.ac: Don't use '+=' since it's not POSIX
Siarhei Siamashka (1):
test: fix matrix-test on big endian systems
Søren Sandmann Pedersen (2):
Version bump to 0.30.1
Pre-release version bump to 0.30.2
ingmar@irsoft.de (1):
Fix broken build when HAVE_CONFIG_H is undefined, e.g. on Win32.
XXX: these patches should go away, or be fed upstream.
A new major release 0.30.0 of the pixman rendering library is now
available. Highlights of this release:
- Support for high-quality image downscaling [Søren]
- Much improved ARMv6 assembly [Ben Avison]
- Improved rendering quality for gradients [Søren]
- Improvements to the SSE2 backend [Chris Wilson, Siarhei Siamashka]
- Improvements to MIPS DSPr2 backend [Nemanja Lukic]
- Improvements to test suite [Siarhei, Søren Sandmann]
0.28.2:
This stable release in the 0.28 series contains fixes for 64 bit
Windows, clang, and PowerPC on MacOS and OpenBSD.
0.28.0:
A new major release 0.28.0 of the pixman rendering library is now
available. Highlights of this release:
* Support for sRGB coded images [Antti Lankila]
* New API for fast glyph rendering [Soren Sandmann]
* Faster bilinear scaling on iwMMX, Loongson and MMX [Matt Turner]
* More fast paths in the MIPS DSPr2 backend [Nemanja Lukic]
* Faster scaling in general and on SSE2 in particular [Siarhei
Siamashka]
0.26.2:
A new pixman release 0.26.2 is now available. This is a stable release. It
contains some bug fixes, custom build rules for ARM/iwMMXt, and an important
bug fix for MMX/x86.
0.26.0:
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 for the 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.
0.23.2:
Check for working mmap()
test: Fix compilation on win32
Add a "noop" fast path for operations which require no or almost no data
processing
Fix a few typos in pixman-combine.c.template
Move many operations from various files into the new noop one.
Delete some unused variables in examples, mmx and sse2 functions
Replace arguments to composite functions
Silence autoconf warnings
blitters-test: Make common formats more likely to be tested
ARM: Fix two bugs in neon_composite_over_n_8888_0565_ca()
Replace boolean arguments with flags for bilinear fast path template
REPEAT_NORMAL support for bilinear fast path template
sse2: Declare bilinear src_8888_8888 REPEAT_NORMAL composite function
ARM: Add REPEAT_NORMAL functions to bilinear BIND macros
Enable REPEAT_NORMAL bilinear fast path entries
Bilinear REPEAT_NORMAL source line extension for too short src_width
0.23.4:
radial: Improve documentation and naming
C fast path for scaled src_x888_8888 with nearest filter
ARM: workaround binutils bug #12931 (code sections alignment)
radial: Fix typos and trailing whitespace
ARM NEON: Standard fast path out_reverse_8_8888
Fix lcg_rand_u32() to return 32 random bits
New test of pixman_region_contains_{rectangle,point}
Speed up pixman_region{,32}_contains_rectangle()
Use find_box_for_y() in pixman_region_contains_point() too
In pixman_image_create_bits() allow images larger than 2GB
win32: Build benchmarks
Workaround bug in llvm-gcc
ARM: better NEON instruction scheduling of over_n_8888 and over_n_8_8888
bits: optimise fetching width==1 repeats
0.23.6:
test: New function to save a pixman image to .png
Use pkg-config to determine the flags to use with libpng
Various build system fixes and improvements
test: Use smaller boxes in region_contains_test()
Add a generic unorm_to_unorm() conversion utility
Add general pixel converter
Add initial version of the MAKE_ACCESSORS() macro
Use MAKE_ACCESSORS() to generate accessors for various image formats
Remove x and y coordinates from analyze_extents() and compute_sample_extents()
Split computation of sample area into own function
Eliminate compute_sample_extents() function
test: Occasionally use a BILINEAR filter in blitters-test
test: better coverage for BILINEAR->NEAREST filter optimization
Strength-reduce BILINEAR filter to NEAREST filter for identity transforms
BILINEAR->NEAREST filter optimization for simple rotation and translation
lowlevel-blt: add over_x888_8_8888
Various MMX fixes
mmx: rename USE_MMX to USE_X86_MMX
mmx: prepare pixman-mmx.c to be compiled for ARM/iwmmxt
mmx: compile on ARM for iwmmxt optimizations
mmx: optimize unaligned 64-bit ARM/iwmmxt loads
Make sure iwMMXt is only detected on ARM
sse2: Macros for assembling bilinear interpolation code fractions
sse2: Bilinear scaled over_8888_8888 and over_8888_8_8888
init/fini functions for pixman_image_t
Add new fast path flag FAST_PATH_BITS_IMAGE
Add src, mask, and dest flags to the composite args struct
Simple repeat fast path
0.23.8:
Add stable release / development snapshot to draft release notes
gradient walker: Correct types and fix formatting
Use sentinels instead of special casing first and last stops
Simplify gradient_walker_reset()
ARM: NEON: Some cleanup of bilinear scanline functions
ARM: NEON: Bilinear macro template for instruction scheduling
ARM: NEON: Replace old bilinear scanline generator with new template
ARM: NEON: Instruction scheduling of bilinear over_8888_8888 and over_8888_8_8888
ARM: NEON: Standard fast path src_n_8_8888 and src_n_8_8
ARM: NEON: Fix assembly typo error in src_n_8_8888
Fix use of uninitialized fields reported by valgrind
0.24.0:
Add definitions of INT64_MIN and INT64_MAX
Change MMX ldq_u to return _m64 instead of forcing all callers to cast
0.24.2:
Don't use non-POSIX test
Android Runtime Detection Support For ARM NEON
gradient-walker: For NONE repeats, when x < 0 or x > 1, set both colors to 0
autogen.sh: Support GNOME Build API
pixman-image.c: Fix typo in pixman_image_set_transform()
Fix some signed overflow bugs
Reject trapezoids where top (botttom) is above (below) the edges
Make mmx code compatible with Solaris Studio 12.3 compilers
Fix bugs with alpha maps
0.24.4:
iOS Runtime Detection Support For ARM NEON
Revert "Reject trapezoids where top (botttom) is above (below) the edges"
other platforms.
The pthread check macro in pixman's configure is fundamentally broken,
it seems. It would be better to fix it instead of working around ...
Reviewed by Thomas Klausner.
This was removed upstream but is still needed for pkgsrc's
modular-xorg.
Fixes PR pkg/45509 by Francois Tigeot.
Thankd for Francois for providing a pointer to the
offending change.
bump PKGREV
Log:
Søren Sandmann Pedersen (6):
Post-release version bump to 0.18.3
Fix memory leak in the pthreads thread local storage code
When storing a g1 pixel, store the lowest bit, rather than comparing with
If we bail out of do_composite, make sure to undo any workarounds.
Check for read accessors before taking the bilinear fast path
Pre-release version bump to 0.18.4
New features since the last stable release, 0.14.0, include:
* Support for PDF blend modes [Benjamin Otte, Carlos Garcia Campos]
* A number of fast paths for ARM NEON [Jeff Muizelaar, Jonathan
Morton, Siarhei Siamashka, Ian Rickards]
* Support for PIXMAN_REPEAT_REFLECT for images [Thomas Jaeger]
* New image formats:
a2r10g10b10, x2r10g10b10 [Ben Skeggs]
b8g8r8a8, b8g8r8x8 [Mike Kettenis]
* Support for MMX and SSE2 on Sun compilers and Solaris [Alan
Coopersmith]
* Support for SSE2 on Windows x64 [George Yohng]
Also new in this release:
* A reorganisation of pixman's internals to make future development
and maintenance easier [Søren Sandmann Pedersen]
* A substantial expansion of pixman's test suite [Siarhei Siamashka]
Thanks to everyone who contributed to pixman 0.16.0, including Adam
Jackson, Adrian Bunk, Alan Coopersmith, Andre Tupinamba, Ben Skeggs,
Benjamin Otte, Carlos Garcia Campos, Chris Wilson, George Yohng,
Guillaume Letellier, Ian Rickards, Jeff Muizelaar, Jonathan Morton,
Loïc Minier, Luca Barbato, M Joonas Pihlaja, Magnus Kessler, Makoto
Kato, Mark Kettenis, Michel Dänzer, Miha Vrhovnik, Siarhei Siamashka,
Søren Sandmann Pedersen, Thomas Jaeger, and William Bonnet.
- A new test program for compositing operators [Siarhei Siamashka]
- Bugs and performance fixes [Benjamin Otte, Chris Wilson,
Andre Tupinamba, Soren Sandmann]
News:
- ARM bug fixes [Siarhei Siamashka]
- No more asserts on malformed regions [Søren Sandmann Pedersen]
- SSE2 support for 64 bit windows [George Yohng]
- Improvements to the region code [Benjamin Otte]
- Misc. bug fixes
[Adrian Bunk, Chris Wilson, M Joonas Pihlaja, Miha Vrhovnik]
anyway). It fails to link under Mac OS X because it tries to call
various symbols that are apparently now hidden. No changes to the
binary package on other platforms.
- New ARGB formats with 10 bits per channel [Ben Skeggs]
- ARM updates [Adrian Bunk, Guillaume Letellier, Jonathan
Morton, Siarhei Siamashka]
- The final bits of refactoring [Søren Sandmann Pedersen]
- Misc. bug fixes [Michel Dänzer, Benjamin Otte, Søren Sandmann Pedsen]
0.15.8:
- Phase three of the refactoring [Søren Sandmann Pedersen]
- Fixes for refactoring fallout [Jonathan Morton, Jeff Muizelaar,
Luca Barbato, Magnus Kessler]
- Improved testing code [Siarhei Siamashka]
0.15.6:
Apart from a few bug fixes, this release contains phase two of the
refactoring; in this phase the various types of images are split
into their own files.
0.15.4:
A new pixman release 0.15.4 is now available. This is a development
release leading up to a stable 0.16.0 release. News:
- New ARM NEON fast paths [Ian Rickards, Jeff Muizelaar]
- The first part of a large refactoring of the pixman code
base [Søren Sandmann]
- Bug fixes [Adam Jackson, Alan Coopersmith, Siarhei
Siamashka, Jonathan Morton]
Upstream changes (since 0.12.0):
- Fix MMX & SSE intrinsics to work with Sun compilers & Solaris
- More SSE2 optimizations
- Optimize rectilinear nearest-neighbour scaling
- Add support for BGRA and BGRx formats
and a lot of minor bug fixes and optimizations
Oked by wiz@
In addition to many bug fixes, new features [since approximately 0.10.0]
include:
- New image formats with 10 bits per channel
- SSE2 optimizations for many operations
- Opacity based optimizations for operators
- Altivec optimizations for many operations
- A 32 bit region implementation
- Fix bug in pixman_image_is_opaque().
- Fix for bug 17477 (see patch-ag).
While here, add missing .PHONY attribute for gen-symfile target.
PKGREVISION++, but no recursive dependency bump necessary.
add a 'gen-symfile' target for regenerating the libtool
export symfile. This should be run upon updating the package.
While here, silence needless autotools warnings and update
sse2 conditional in hacks.mk.
Changes since 0.11.8:
Add depth 30 formats to pixman_format_supported_source.
[sse2] Change pixman-sse to pass __mm128i args as
pointers, so as not to
Use CopyAreasse2, plus a compatibility fix
Use hidden attribute for private functions when
compiling with Sun Studio
Minor portability fixes
Post-release version-bump
Update RELEASING and release targets in Makefile.am
Fix typo in sse2 configure logic
TODO
Don't require GCC 4.2 on x86-64
Bug 16921. MMX and SSE2 intrinsics not enabled when
compiling with Intel'
Remove use of MMX extensions.
Be consistent in naming SSE2 related things SSE2
A few other renamings of SSE->SSE2
Rename pixman-sse.h pixman-sse2.h
Make sure pixman-combine{32,64}.h are disted
Use error instead of #error in a couple of other places
Check for __sun || __sun in pixman.h. Update TODO
Bump release
Update RELEASING
Add sys/inttypes.h include for AIX
(just a reminder: when updating this package, be sure to adjust
files/pixman.sym appropriately)
commit 411c0e990f7a96d4e15f2cbbe07d3b50b6a20f95
Make a couple of functions static
commit 96f57c07f24cd6d86c0aad624bd1a16b85f08e04
Speed up fbOver
Use FbByteMulAdd to operate on two components at a time and force
the function to be inlined.
commit dcbe4b3f80fb8dc6a83efa7e66a891f8b102608d
fix --enable-{mmx,sse2,vmx}
If --enable-foo is used, don't treat it as --disable-foo, and
error out if the appropriate compiler support isn't detected.
commit e21f00db50c30e80c8969fbf63982aeb7434dc1d
Add pixman-1-uninstalled.pc file
commit 1570746350baf82d36aeb7ea1702350700b795d7
Use -no-undefined -- fixes bug 15927
commit 99fead412e7602daf193035831b952e252dac0e1
Use <inttypes.h> on most types of Unix.
Fix for bug 15560.
commit 2070f10db927a97d7d38024e607093f5a6e00291
Remove unused pixman-combine.c
commit 9d54568d5f93701313fdbb49c1ef9dc79fe5850c
Fix SSE2 bug where x888 pixels were treated as 8888
commit 7dfd023e94d9ab5940d7062c2e5cde11ab02f43e
fix Altivec detection
the old code used to cause infinite looping on G3 machines.
commit 0a92401678286eb438fe24979fd032efba540a0a
Fix fbCompositeSrc_x888xnx8888mmx to properly ignore source alpha
commit 687176023caf53f2fe234827d152f270048b1cd3
make --{en,dis}able-gtk work correctly
--enable-gtk had the same effect as --disable-gtk.
Now we check for it by default, and error out if we can't
find it and it was explicitly enabled.
commit 9d97716d2fd91d5611a5e7a7b29b38887b672e9f
Fix bug 16310 in the SSE2 fast path in function
fbCompositeSolidMask_nx8888x0565Csse2
commit eb53d111bd8651cd00c1b728b09e8be09b8482f7
Add a lossy 32-bit generic pixel fetch function for wide surfaces.
The transformed fetch path currently only works at 32-bit precision.
Until a wide version of that function is added, we need to have a
path to perform a wide FetchPixel and then contract it down to
a8r8g8b8.
Also, use the right format when expanding the result in
fbFetchTransformed64. fbFetchTransformed returns a8r8g8b8 results.
commit 3c43b869f3821495978c61b9195f0b0e9e9e1245
Unexport or delete various functions
- Delete pixman_region_append()
- Delete pixman_region_empty()
- Make pixman_region_validate() static and don't export it.
Reported by Julien Cristau.
commit 36b05f2cac7fa28e31131ca0d6b8b133ccd95ab8
Only export the 16 bit version of pixman_region_set_static_pointers()
commit a766b62880108f278478888f5167a5fbf2819a97
Add configure time options to disable mmx/sse2/vmx
commit 02268903e4311709744c11e495f9b17f171ec5e9
pixman-sse.c: silence pointer-cast compiler warnings.
Cast pointers to words of the same size, not 32-bits.
commit eb2d95de98683a387153f010077ad9c3c3b1b01d
Fix implicit declaration of function 'free'.
Otherwise pointer will be truncated on 64bit arch and
your programs will crash.
commit 29d144712e558aaeb49f4384028dd669d76a410b
Fix memory leak by freeing boxes{16,32}.
After calling pixman_region_init_rects() or
pixman_region32_init_rects(), boxes{16,32} were not freed before
returning. Fixes bug 16312.
commit 5d32519316b40b35113c6df9e15d955a16709ba2
Use pixman_malloc_ab instead of plain malloc for the
fbStore64_generic scratch buffer.
commit b1c70c4e6435d7f15751111828c381feb1d139cf
Move PIXMAN_FORMAT_16BPC to pixman-private.h
commit 7fa966df0ee781fa486715710f389b148c11d36e
Decide based on the image formats whether we need wide compositing.
commit 7cb735c9c0fa55ae1f4d8d13da9f33e3da2ae8fe
Take the source format into account in pixman_expand.
Extract the original bits of the source image for each
component and then replicate up to 16 bits to fill the wide
components. Make sure to hard-code the alpha value to 1 if
the source format didn't have alpha.
commit c0d98e96605c6d03f4b02f337f2f5827165bb092
Make expansion and contraction loops clearer.
commit fc0b28bf6af81428b7ac045614eea97fbf9c4a70
Add wide source picture, external alpha, and transformed
image routines. The wide external alpha path should work
correctly with wide formats. The wide transformed fetch code for
now just does a 32-bit fetch and then expands, which will lose
precision. Source pictures, for now, are evaluated at depth 32
and then are expanded to depth 64. We could get higher precision
by evaluating them directly at depth 64, but this should be good
enough for now.
commit 42a3a2d6fc8d3e521c6914ff8fb89f1fbc673e28
Add wide fetch/store functions.
Use the narrow ones and expand/contract where necessary. Still
need wide paths for fancy pictures, but this gets the
basic stuff working.
commit 7591d3f1d7e0884f9362018edf720724095cf380
Add expand and contract functions to convert between ARGB8
and ARGB16. The expansion function isn't quite correct,
but gives reasonable results.
date: 2008/04/27 11:58:09; author: tnn; state: Exp; lines: +2 -2
Skip the SSE2 configure test if we already know we don't have SSE,
because Sun Studio gets the result of the SSE2 test wrong.
if you're curious.
Also (this is noted in the Makefile):
The configure script is written to fail if it detects gcc<4.0
for lack of -fvisibility=hidden. In keeping with the pkgsrc
tradition of portability, we'll opt to use libtool to export
the desired symbols, hiding the rest.
I have verified the list of visible symbols is unchanged from
the "factory" build.
snapshots. This was mostly done to fold the patches into
a new distfile, but a NULL pointer dereference and the EXTEND_PAD
macro were fixed also (see git history).
Bump rev.