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
X.Org found in NetBSD-current.
Thanks a lot to all who helped, especially Matthias Scheler who did
repeated tests on Mac OS X and older versions of NetBSD to make sure the
support for those platforms wouldn't be broken (or at least, not fatally,
as I would still expect a few hiccups here and there, because there is
only so much one can test in such limited time).
On the infrastructure side, this branch brings pkgconfig-builtin.mk, in
order to write very easily new builtin.mk files. It can actually handle
more than just pkgconfig files, but it will provide a version if it finds
such a file. x11.builtin.mk has also been made more useful and now all
existing (and future!) native-X11-related builtin.mk files should include
it.
- 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.
- There's a better version in the "cube-native-xorg" branch.
- Using the bundled "pixman" library doesn't work under Mac OS X anyway
because Apple didn't update the ".la" file at same point.
[It is likely that the second issue will require attention after the
"cube-native-xorg" branch has been merged.]
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.