thread stacks.
<martin> base pixman only enables sse2 for amd64
<martin> I only tested and found it crash like that, so I did not enable it
<martin> for i386 in base
This is a workaround - there should be some better solution.
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
Omit a PKGREVISION bump, this package doesn't actually build (on Linux) due to
failing build-time test cases. Presumably on platforms where the build
succeeds this export list doesn't actually matter.
1.) The check in "pkgsrc/x11/pixman/Makefile" was incorrect and always
disabled SSE2. Remove it which also fixes the Mac OS X build as
the necessary patch for the test program gets applied again.
2.) Correct the existing SSE2 handling in "pkgsrc/x11/pixman/hacks.mk":
- Correctly match the various GCC versions.
- Disable SSE2 for both amd64 and i386 when old versions of GCC
are used.
NetBSD/amd64 5.1_STABLE. Bump package revision because of this change.
It is possible that SSE2 support works fine if "pixman" is built with
NetBSD-current's newer toolchain. If you have such a setup please
test it and adjust the package accordingly if appropriate.
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
Omit a PKGREVISION bump, this package doesn't actually build (on Linux) due to
failing build-time test cases. Presumably on platforms where the build
succeeds this export list doesn't actually matter.
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@
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
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