Jonathan Morton [Wed, 3 Jun 2009 14:43:41 +0000 (10:43 -0400)]
Add more NEON fast paths
Søren Sandmann Pedersen [Tue, 2 Jun 2009 20:51:28 +0000 (16:51 -0400)]
Get rid of toplevel argument to implementation constructors.
It was always NULL anyway.
Søren Sandmann Pedersen [Tue, 2 Jun 2009 11:47:29 +0000 (07:47 -0400)]
Make sure the whole delegate chain has the correct toplevel
Søren Sandmann Pedersen [Sun, 31 May 2009 02:23:27 +0000 (22:23 -0400)]
Post-release version bump
Søren Sandmann Pedersen [Sun, 31 May 2009 02:09:11 +0000 (22:09 -0400)]
Pre-release version bump.
Also delete non-existant header files from pixman/Makefile.am
Søren Sandmann Pedersen [Sun, 31 May 2009 01:44:08 +0000 (21:44 -0400)]
Create a vmx pixman_implementation_t
Luca Barbato [Sun, 24 May 2009 16:41:06 +0000 (18:41 +0200)]
Update vmxCombine*U to the new interface
Make the functions use different codepaths depending on mask being non
NULL. It could be speed up a bit more but should work as before
speedwise. Conformance checked with cairo tests.
Siarhei Siamashka [Wed, 27 May 2009 19:46:23 +0000 (22:46 +0300)]
Scaling test updated to provide better coverage for problematic cases
Now scaling test should reliably detect problems in new scaling code.
Maximum image size reduced to improve performance (more tests can be
run per second) and also simplify detected errors analysis.
Søren Sandmann Pedersen [Sat, 30 May 2009 02:21:37 +0000 (22:21 -0400)]
In pixman-sse2.c test for non-zero source, not just non-zero source alpha.
Søren Sandmann Pedersen [Sat, 30 May 2009 01:20:20 +0000 (21:20 -0400)]
In the mmx implementation, check for source == 0 rather than alpha == 0.
Otherwise we compute the incorrect value when the source has zero in
the alpha channel, but non-zero in the color channels.
Jonathan Morton [Fri, 29 May 2009 20:38:45 +0000 (13:38 -0700)]
Fixup the arm-simd and arm-neon implementations.
Magnus Kessler [Thu, 28 May 2009 11:09:07 +0000 (12:09 +0100)]
pixman: define pixman_have_{mmx,sse2} on 64-bit Linux
The refactoring of pixman removed pixman-sse2.h and pixman-mmx.h in commit
41a9a17e0308f2075bb1bd59c4411e43a67d49ec
(http://cgit.freedesktop.org/pixman/commit/?id=
41a9a17e0308f2075bb1bd59c4411e43a67d49ec).
On 64-bit Linux this breaks linking of new programs as well as execution of
existing programs with the following errors:
../pixman/.libs/libpixman-1.so: undefined reference to `pixman_have_mmx'
../pixman/.libs/libpixman-1.so: undefined reference to `pixman_have_sse2'
This patch fixes the issue for me by re-introducing the definitions for these
functions. It might be preferable, though, to create proper trivial static
inline functions instead.
Signed-off-by: Magnus Kessler <Magnus.Kessler@gmx.net>
Søren Sandmann Pedersen [Thu, 28 May 2009 01:51:00 +0000 (21:51 -0400)]
Really fix PPC build.
Add a pixman_composeFunctions variable to pixman-vmx.c.
Søren Sandmann Pedersen [Thu, 28 May 2009 01:15:18 +0000 (21:15 -0400)]
Add back pixman_composeFunctions since vmx is not ported to implementations yet
Søren Sandmann Pedersen [Wed, 20 May 2009 10:04:15 +0000 (06:04 -0400)]
In _pixman_implementation_fill() don't call the delegate; call the actual implementation
Søren Sandmann Pedersen [Sun, 17 May 2009 08:56:13 +0000 (04:56 -0400)]
Call the toplevel implementation for combining
Søren Sandmann Pedersen [Sat, 16 May 2009 15:22:54 +0000 (11:22 -0400)]
Set up combiner functions for an implementation directly in combine.inc.
Previously it would go through two big tables, and the general
implementation would select the correct one dynmcailly.
Søren Sandmann Pedersen [Sat, 16 May 2009 14:24:30 +0000 (10:24 -0400)]
Consolidate the general implementation into one function
Søren Sandmann Pedersen [Sat, 16 May 2009 13:56:31 +0000 (09:56 -0400)]
Move the argument struct into pixman_image_composite_rect
Søren Sandmann Pedersen [Wed, 13 May 2009 15:32:59 +0000 (11:32 -0400)]
Make a couple of functions static
Søren Sandmann Pedersen [Wed, 13 May 2009 15:31:30 +0000 (11:31 -0400)]
Delete pixman-sse2.h and pixman-mmx.h
Søren Sandmann Pedersen [Wed, 13 May 2009 15:27:01 +0000 (11:27 -0400)]
Make the fast_path implementation run the c_fast_paths
Søren Sandmann Pedersen [Wed, 13 May 2009 15:24:28 +0000 (11:24 -0400)]
Split fill implementations out in the implementations
Søren Sandmann Pedersen [Wed, 13 May 2009 15:04:07 +0000 (11:04 -0400)]
Add alignment workaround to sse2
Søren Sandmann Pedersen [Wed, 13 May 2009 15:03:15 +0000 (11:03 -0400)]
Add a general_blt() that just returns FALSE
Søren Sandmann Pedersen [Wed, 13 May 2009 14:56:15 +0000 (10:56 -0400)]
Move sse2 and mmx blt implementations to their respective files
Søren Sandmann Pedersen [Wed, 13 May 2009 14:32:36 +0000 (10:32 -0400)]
Move gcc alignment workaround to pixman-sse2.c
Søren Sandmann Pedersen [Wed, 13 May 2009 14:28:41 +0000 (10:28 -0400)]
Set up SSE2 combiners
Søren Sandmann Pedersen [Wed, 13 May 2009 14:23:01 +0000 (10:23 -0400)]
Make pixman_implementation call the right combiner
Søren Sandmann Pedersen [Wed, 13 May 2009 14:15:58 +0000 (10:15 -0400)]
Use the implementation's combiner's
Søren Sandmann Pedersen [Wed, 13 May 2009 14:06:29 +0000 (10:06 -0400)]
Move SSE2 variable initializations to pixman_implementations_create_sse2
Søren Sandmann Pedersen [Wed, 13 May 2009 13:50:55 +0000 (09:50 -0400)]
Move mmx fast path code to pixman-mmx.c
Søren Sandmann Pedersen [Wed, 13 May 2009 13:44:45 +0000 (09:44 -0400)]
Move sse2 fast path running to the sse2 implementation
Søren Sandmann Pedersen [Wed, 13 May 2009 13:42:42 +0000 (09:42 -0400)]
Change pixman_lookup_fast_path() to actually run the fast path
Then just return in the general implementation if we ran a fast path.
Søren Sandmann Pedersen [Wed, 13 May 2009 13:26:42 +0000 (09:26 -0400)]
Add _pixman_choose_implementation
Søren Sandmann Pedersen [Wed, 13 May 2009 13:21:37 +0000 (09:21 -0400)]
Remove fast path lookup code from pixman-general
Søren Sandmann Pedersen [Wed, 13 May 2009 13:12:04 +0000 (09:12 -0400)]
Beginning of sse2 implementation
Søren Sandmann Pedersen [Wed, 13 May 2009 13:06:19 +0000 (09:06 -0400)]
Copy fast path lookup code into pixman-utils.c
Søren Sandmann Pedersen [Wed, 13 May 2009 12:51:09 +0000 (08:51 -0400)]
Initial fast path implementation
Move fbSrcScaleNearest() here, and move
_pixman_walk_composite_region() to pixman-utils.c
Søren Sandmann Pedersen [Wed, 13 May 2009 12:14:01 +0000 (08:14 -0400)]
Change prototypes for compositing functions to use 32 bit integers
Søren Sandmann Pedersen [Wed, 13 May 2009 09:12:52 +0000 (05:12 -0400)]
Add component alpha combiners in pixman-implementation.c
Søren Sandmann Pedersen [Wed, 13 May 2009 08:52:28 +0000 (04:52 -0400)]
Beginning of MMX implementation
Søren Sandmann Pedersen [Wed, 13 May 2009 08:32:32 +0000 (04:32 -0400)]
Move entire C implementation into pixman-general.c
Søren Sandmann Pedersen [Wed, 13 May 2009 08:04:36 +0000 (04:04 -0400)]
Add beginning of general implementation
Søren Sandmann Pedersen [Wed, 13 May 2009 07:40:05 +0000 (03:40 -0400)]
Formatting
Søren Sandmann Pedersen [Wed, 13 May 2009 07:31:11 +0000 (03:31 -0400)]
Beginning of pluggable implementations
Søren Sandmann Pedersen [Wed, 20 May 2009 22:28:03 +0000 (18:28 -0400)]
Move fbStoreExternalAlpha{,64} into pixman-bits-image.c
Søren Sandmann Pedersen [Thu, 21 May 2009 14:45:51 +0000 (10:45 -0400)]
Add new store_scanline_{32,64} in bits_image_t
Also move fbStore and fbStore64 into pixman-bits-image.c
Søren Sandmann Pedersen [Sat, 23 May 2009 15:33:21 +0000 (11:33 -0400)]
Post-release version bump
Jeff Muizelaar [Fri, 22 May 2009 19:13:57 +0000 (12:13 -0700)]
NEON: Remove some unneeded casts
There are some unnecessary (void*) casts. Eliminate some of them. Doesn't
change the generated code.
Jeff Muizelaar [Fri, 22 May 2009 18:56:44 +0000 (11:56 -0700)]
Fix uses of dst_keep
Søren Sandmann Pedersen [Fri, 22 May 2009 16:07:55 +0000 (12:07 -0400)]
Pre-release version bump
Jonathan Morton [Fri, 22 May 2009 16:01:26 +0000 (12:01 -0400)]
Initialize the ARM SIMD fast path array.
Jonathan Morton [Fri, 22 May 2009 15:25:26 +0000 (08:25 -0700)]
Søren Sandmann Pedersen [Wed, 20 May 2009 14:45:29 +0000 (10:45 -0400)]
Fix alpha map computation in pixman_compute_composite_region()
According to the RENDER spec, the origin of the alpha map is
interpreted relative to the origin of the drawable of the image, not
the origin of the drawable of the alpha map.
This commit fixes that and adds an alpha-test.c test program.
The only use of alpha maps I have been able to find is in Qt and they
don't use a non-zero alpha origin.
Jonathan Morton [Thu, 21 May 2009 11:16:34 +0000 (07:16 -0400)]
Avoid malloc() by allocating a fixed set of boxes on the stack
Søren Sandmann Pedersen [Thu, 21 May 2009 09:07:19 +0000 (05:07 -0400)]
Fix build on ppc. Pointed out by Chris Ball
Søren Sandmann Pedersen [Wed, 13 May 2009 09:53:40 +0000 (05:53 -0400)]
Make SSE2 fast paths static and remove them from the header file
Søren Sandmann Pedersen [Wed, 13 May 2009 09:49:13 +0000 (05:49 -0400)]
Make MMX fast paths static and remove them from the header file
Søren Sandmann Pedersen [Tue, 5 May 2009 13:07:32 +0000 (09:07 -0400)]
Notes on component alpha
Søren Sandmann Pedersen [Tue, 5 May 2009 12:49:49 +0000 (08:49 -0400)]
Note about glyphs polygons
Søren Sandmann Pedersen [Tue, 5 May 2009 11:31:52 +0000 (07:31 -0400)]
Notes on output kernels
Søren Sandmann Pedersen [Tue, 5 May 2009 07:10:44 +0000 (03:10 -0400)]
Further notes on the rendering pipeline
Søren Sandmann Pedersen [Tue, 5 May 2009 05:58:48 +0000 (01:58 -0400)]
Some roadmap notes
Søren Sandmann Pedersen [Mon, 4 May 2009 21:39:19 +0000 (17:39 -0400)]
Describe alpha map in the pipeline
Søren Sandmann Pedersen [Mon, 4 May 2009 02:46:34 +0000 (22:46 -0400)]
Notes on the rendering pipeline
Søren Sandmann Pedersen [Mon, 4 May 2009 01:07:06 +0000 (21:07 -0400)]
Move C fast paths to their own file pixman-fast-path.c
Søren Sandmann Pedersen [Mon, 4 May 2009 01:05:45 +0000 (21:05 -0400)]
Move the arch specific fast path tables into their arch files
Søren Sandmann Pedersen [Sun, 3 May 2009 23:12:02 +0000 (19:12 -0400)]
Move CPU detection code to its own file
Søren Sandmann Pedersen [Sun, 3 May 2009 05:18:49 +0000 (01:18 -0400)]
Move conical gradient code to pixman-conical-gradient.c and delete pixman-source.c
Søren Sandmann Pedersen [Sun, 3 May 2009 05:08:54 +0000 (01:08 -0400)]
Move the radial gradient code form pixman-source.c into pixman-radial-gradient.c
Søren Sandmann Pedersen [Sun, 3 May 2009 04:59:36 +0000 (00:59 -0400)]
Duplicate some code that was shared between radial and conical gradients.
It is going to live in separate files.
Søren Sandmann Pedersen [Sun, 3 May 2009 04:56:16 +0000 (00:56 -0400)]
Move the linear gradient code from pixman-source.c into pixman-linear-gradient.c
Søren Sandmann Pedersen [Sun, 3 May 2009 04:46:30 +0000 (00:46 -0400)]
Rename pixmanFetchSourcePict to pixmanFetchGradient
Move the solid fill parts into pixman-solid-fill.c
Søren Sandmann Pedersen [Sun, 3 May 2009 03:26:30 +0000 (23:26 -0400)]
Add a generic 64 bit fetcher and use it for gradients and transformed images
Søren Sandmann Pedersen [Sun, 3 May 2009 03:08:59 +0000 (23:08 -0400)]
Move the gradient walker code to its own file
Søren Sandmann Pedersen [Sun, 3 May 2009 02:55:56 +0000 (22:55 -0400)]
Replace pixman_image_get_fetchers() with pixman_image_get_scanline_{32,64}
Søren Sandmann Pedersen [Sun, 3 May 2009 02:46:20 +0000 (22:46 -0400)]
Set up scanline getters for bits images
Søren Sandmann Pedersen [Sun, 3 May 2009 02:42:59 +0000 (22:42 -0400)]
Set up scanline getters for source pictures
Søren Sandmann Pedersen [Sun, 3 May 2009 02:26:23 +0000 (22:26 -0400)]
Store get_scanline() functions in the image struct
Søren Sandmann Pedersen [Sun, 3 May 2009 02:00:25 +0000 (22:00 -0400)]
Add stubs for property_changed virtual functions
Søren Sandmann Pedersen [Sun, 3 May 2009 01:14:36 +0000 (21:14 -0400)]
Split pixel images into pixman-bits-image.c
Søren Sandmann Pedersen [Sun, 3 May 2009 01:08:12 +0000 (21:08 -0400)]
Split conical gradient images into pixman-conical-gradient.c
Søren Sandmann Pedersen [Sun, 3 May 2009 01:06:23 +0000 (21:06 -0400)]
Split radial gradient images into pixman-radial-gradient.c
Søren Sandmann Pedersen [Sun, 3 May 2009 00:54:17 +0000 (20:54 -0400)]
Split linear gradient images into pixman-linear-gradient.c
Søren Sandmann Pedersen [Sun, 3 May 2009 00:40:16 +0000 (20:40 -0400)]
Split solid fill images into pixman-solid-fill.c
Søren Sandmann Pedersen [Sat, 16 May 2009 16:51:05 +0000 (12:51 -0400)]
Merge branch 'master' of git+ssh://sandmann@git.freedesktop.org/git/pixman
Søren Sandmann Pedersen [Sat, 16 May 2009 12:33:35 +0000 (08:33 -0400)]
Don't read potentially uninitialized data in pixman_CombineMaskU()
This is mainly to quiet valgrind. The data in question would only be
uninitialized when the corresponding mask pixel was zero, so the end
result is zero in any case.
Loïc Minier [Fri, 15 May 2009 14:11:16 +0000 (16:11 +0200)]
Fix fd check after auxv file open() [Bug 21749]
Signed-off-by: Julien Cristau <jcristau@debian.org>
Søren Sandmann Pedersen [Fri, 15 May 2009 11:47:59 +0000 (07:47 -0400)]
Don't call hyphenated git commands as they don't exist anymore
Søren Sandmann Pedersen [Fri, 15 May 2009 11:47:22 +0000 (07:47 -0400)]
Post-release version bump
Søren Sandmann Pedersen [Fri, 15 May 2009 10:57:59 +0000 (06:57 -0400)]
Pre-release version bump
Adam Jackson [Fri, 15 May 2009 10:26:48 +0000 (06:26 -0400)]
Fix overflows during trap rasterization. [Bug 16560].
Avoid overflows when rasterizing traps that fall entirely in the space
between the final sample row and the end of the coordinate system, or
in the space between the beginning of the coordinate system and the
first sample row. Such traps don't contain any sample points, so the
top and bottom of the edges can safely be moved to the beginning/end.
Søren Sandmann Pedersen [Wed, 13 May 2009 17:10:01 +0000 (13:10 -0400)]
Merge branch 'master' of git+ssh://sandmann@git.freedesktop.org/git/pixman
Søren Sandmann Pedersen [Wed, 13 May 2009 17:09:45 +0000 (13:09 -0400)]
Add test that shows difference in clipping with transformed vs untransformed
Søren Sandmann Pedersen [Wed, 13 May 2009 10:17:55 +0000 (06:17 -0400)]
Remove unused CombineMask64 type
Søren Sandmann Pedersen [Wed, 13 May 2009 09:58:36 +0000 (05:58 -0400)]
Merge branch 'master' into refactor
Søren Sandmann Pedersen [Sat, 9 May 2009 12:34:12 +0000 (08:34 -0400)]
Fix divide-by-zero crash
Jonathan Morton [Thu, 7 May 2009 08:54:15 +0000 (11:54 +0300)]
Test USE_GCC_INLINE_ASM instead of USE_NEON_INLINE_ASM.
The former is now Autoconf enabled, and does what it says on the tin.
Siarhei Siamashka [Tue, 5 May 2009 12:25:43 +0000 (15:25 +0300)]
Fixed rendering bug for source alpha == 0 in OVER fastpath functions
Handling of the case when source alpha is zero was keeping destination
pixel unmodified. But this is different from how generic path behaves.
For example fbOver(0x00200483, 0x9CAC7E9F) == 0x9CCC82FF and the
destination pixel changes from 0x9CAC7E9F to 0x9CCC82FF in spite
of having zero alpha.
Signed-off-by: Søren Sandmann Pedersen <sandmann@redhat.com>