platform/upstream/pixman.git
15 years agoRename some of the fetchers
Søren Sandmann Pedersen [Fri, 22 May 2009 12:39:18 +0000 (08:39 -0400)]
Rename some of the fetchers

15 years agoSplit filter switching into its own bits_image_fetch_filtered() function
Søren Sandmann Pedersen [Fri, 22 May 2009 12:31:50 +0000 (08:31 -0400)]
Split filter switching into its own bits_image_fetch_filtered() function

15 years agoMove 'adjust' code into the individual filters
Søren Sandmann Pedersen [Fri, 22 May 2009 12:28:35 +0000 (08:28 -0400)]
Move 'adjust' code into the individual filters

15 years agoAdd bits_image prefix to fetchers
Søren Sandmann Pedersen [Fri, 22 May 2009 12:18:40 +0000 (08:18 -0400)]
Add bits_image prefix to fetchers

15 years agoMove some code around - use image->fetch_pixel in FbFetchSolid
Søren Sandmann Pedersen [Fri, 22 May 2009 12:15:35 +0000 (08:15 -0400)]
Move some code around - use image->fetch_pixel in FbFetchSolid

15 years agoRename _pixman_image_fetch_pixels() to bits_image_fetch_alpha_pixels
Søren Sandmann Pedersen [Fri, 22 May 2009 12:13:39 +0000 (08:13 -0400)]
Rename _pixman_image_fetch_pixels() to bits_image_fetch_alpha_pixels

15 years agoGet rid of the StoreExternalAlpha() functions
Søren Sandmann Pedersen [Fri, 22 May 2009 12:04:38 +0000 (08:04 -0400)]
Get rid of the StoreExternalAlpha() functions

15 years agoAdd fetch_scanline_raw{32,64}
Søren Sandmann Pedersen [Fri, 22 May 2009 11:49:55 +0000 (07:49 -0400)]
Add fetch_scanline_raw{32,64}

15 years agoAdd store_scanline_raw_{32,64} virtual functions to bits image
Søren Sandmann Pedersen [Fri, 22 May 2009 11:13:51 +0000 (07:13 -0400)]
Add store_scanline_raw_{32,64} virtual functions to bits image

15 years agoMove remaining pixman-transformed.c code into pixman-bits-image.c
Søren Sandmann Pedersen [Thu, 21 May 2009 00:32:42 +0000 (20:32 -0400)]
Move remaining pixman-transformed.c code into pixman-bits-image.c

15 years agoFix coordinate computation for perspective transformations
Søren Sandmann Pedersen [Thu, 21 May 2009 00:27:51 +0000 (20:27 -0400)]
Fix coordinate computation for perspective transformations

- Don't convert to integer

- Saturate to INT16_MIN/MAX on overflow

15 years agoGet rid of pixman-transformed-accessors
Søren Sandmann Pedersen [Wed, 20 May 2009 22:39:26 +0000 (18:39 -0400)]
Get rid of pixman-transformed-accessors

15 years agoRemove unused code from pixman-transformed.c
Søren Sandmann Pedersen [Wed, 20 May 2009 20:52:31 +0000 (16:52 -0400)]
Remove unused code from pixman-transformed.c

15 years agoHandle alpha maps in _pixman_image_fetch_pixels()
Søren Sandmann Pedersen [Wed, 20 May 2009 16:44:55 +0000 (12:44 -0400)]
Handle alpha maps in _pixman_image_fetch_pixels()

15 years agoOnly do region lookups when the source region is different from the full region
Søren Sandmann Pedersen [Wed, 20 May 2009 12:28:54 +0000 (08:28 -0400)]
Only do region lookups when the source region is different from the full region

15 years agoFix typo in fetch_bilinear_pixels()
Søren Sandmann Pedersen [Wed, 20 May 2009 11:40:29 +0000 (07:40 -0400)]
Fix typo in fetch_bilinear_pixels()

Change the number of temp pixels in FbFetchTransformed() to something a little more reasonable.

15 years agoProcess the correct number of coordinates for the NEAREST filter
Søren Sandmann Pedersen [Tue, 19 May 2009 14:04:33 +0000 (10:04 -0400)]
Process the correct number of coordinates for the NEAREST filter

The number of coordinates to process is twice the number of pixels.

15 years agoFix a couple of bugs in the bilinear fetcher
Søren Sandmann Pedersen [Tue, 19 May 2009 13:23:01 +0000 (09:23 -0400)]
Fix a couple of bugs in the bilinear fetcher

- The x and y distances are the most significant fractional bits.

- We need to fetch four times the number pixels produced.

15 years agoMake fbFetchTransformed() used the new filtered many-pixel fetchers
Søren Sandmann Pedersen [Tue, 19 May 2009 12:30:01 +0000 (08:30 -0400)]
Make fbFetchTransformed() used the new filtered many-pixel fetchers

15 years agoAdd fetch_convolution_pixels() function
Søren Sandmann Pedersen [Tue, 19 May 2009 12:09:03 +0000 (08:09 -0400)]
Add fetch_convolution_pixels() function

15 years agoAdd fetch_bilinear_pixels() function
Søren Sandmann Pedersen [Tue, 19 May 2009 10:59:13 +0000 (06:59 -0400)]
Add fetch_bilinear_pixels() function

A bilinear fetcher that fetches many pixels instead of just one.

15 years agoAdd fetch_extended() function
Søren Sandmann Pedersen [Tue, 19 May 2009 10:18:00 +0000 (06:18 -0400)]
Add fetch_extended() function

This function takes a list of coordinates and transforms it into
another list of coordinates, according to the repeat method of the
picture.

15 years agoAdd _pixman_image_fetch_pixels()
Søren Sandmann Pedersen [Tue, 19 May 2009 09:23:29 +0000 (05:23 -0400)]
Add _pixman_image_fetch_pixels()

Including a virtual fetch_pixel() function in bits_image_t.

15 years agoGet rid of toplevel argument to implementation constructors.
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.

15 years agoMake sure the whole delegate chain has the correct toplevel
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

15 years agoPost-release version bump
Søren Sandmann Pedersen [Sun, 31 May 2009 02:23:27 +0000 (22:23 -0400)]
Post-release version bump

15 years agoPre-release version bump. pixman-0.15.8
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

15 years agoCreate a vmx pixman_implementation_t
Søren Sandmann Pedersen [Sun, 31 May 2009 01:44:08 +0000 (21:44 -0400)]
Create a vmx pixman_implementation_t

15 years agoUpdate vmxCombine*U to the new interface
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.

15 years agoScaling test updated to provide better coverage for problematic cases
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.

15 years agoIn pixman-sse2.c test for non-zero source, not just non-zero source alpha.
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.

15 years agoIn the mmx implementation, check for source == 0 rather than alpha == 0.
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.

15 years agoFixup the arm-simd and arm-neon implementations.
Jonathan Morton [Fri, 29 May 2009 20:38:45 +0000 (13:38 -0700)]
Fixup the arm-simd and arm-neon implementations.

15 years agopixman: define pixman_have_{mmx,sse2} on 64-bit Linux
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>
15 years agoReally fix PPC build.
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.

15 years agoAdd back pixman_composeFunctions since vmx is not ported to implementations yet
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

15 years agoIn _pixman_implementation_fill() don't call the delegate; call the actual implementation
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

15 years agoCall the toplevel implementation for combining
Søren Sandmann Pedersen [Sun, 17 May 2009 08:56:13 +0000 (04:56 -0400)]
Call the toplevel implementation for combining

15 years agoSet up combiner functions for an implementation directly in combine.inc.
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.

15 years agoConsolidate the general implementation into one function
Søren Sandmann Pedersen [Sat, 16 May 2009 14:24:30 +0000 (10:24 -0400)]
Consolidate the general implementation into one function

15 years agoMove the argument struct into pixman_image_composite_rect
Søren Sandmann Pedersen [Sat, 16 May 2009 13:56:31 +0000 (09:56 -0400)]
Move the argument struct into pixman_image_composite_rect

15 years agoMake a couple of functions static
Søren Sandmann Pedersen [Wed, 13 May 2009 15:32:59 +0000 (11:32 -0400)]
Make a couple of functions static

15 years agoDelete pixman-sse2.h and pixman-mmx.h
Søren Sandmann Pedersen [Wed, 13 May 2009 15:31:30 +0000 (11:31 -0400)]
Delete pixman-sse2.h and pixman-mmx.h

15 years agoMake the fast_path implementation run the c_fast_paths
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

15 years agoSplit fill implementations out in the implementations
Søren Sandmann Pedersen [Wed, 13 May 2009 15:24:28 +0000 (11:24 -0400)]
Split fill implementations out in the implementations

15 years agoAdd alignment workaround to sse2
Søren Sandmann Pedersen [Wed, 13 May 2009 15:04:07 +0000 (11:04 -0400)]
Add alignment workaround to sse2

15 years agoAdd a general_blt() that just returns FALSE
Søren Sandmann Pedersen [Wed, 13 May 2009 15:03:15 +0000 (11:03 -0400)]
Add a general_blt() that just returns FALSE

15 years agoMove sse2 and mmx blt implementations to their respective files
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

15 years agoMove gcc alignment workaround to pixman-sse2.c
Søren Sandmann Pedersen [Wed, 13 May 2009 14:32:36 +0000 (10:32 -0400)]
Move gcc alignment workaround to pixman-sse2.c

15 years agoSet up SSE2 combiners
Søren Sandmann Pedersen [Wed, 13 May 2009 14:28:41 +0000 (10:28 -0400)]
Set up SSE2 combiners

15 years agoMake pixman_implementation call the right combiner
Søren Sandmann Pedersen [Wed, 13 May 2009 14:23:01 +0000 (10:23 -0400)]
Make pixman_implementation call the right combiner

15 years agoUse the implementation's combiner's
Søren Sandmann Pedersen [Wed, 13 May 2009 14:15:58 +0000 (10:15 -0400)]
Use the implementation's combiner's

15 years agoMove SSE2 variable initializations to pixman_implementations_create_sse2
Søren Sandmann Pedersen [Wed, 13 May 2009 14:06:29 +0000 (10:06 -0400)]
Move SSE2 variable initializations to pixman_implementations_create_sse2

15 years agoMove mmx fast path code to pixman-mmx.c
Søren Sandmann Pedersen [Wed, 13 May 2009 13:50:55 +0000 (09:50 -0400)]
Move mmx fast path code to pixman-mmx.c

15 years agoMove sse2 fast path running to the sse2 implementation
Søren Sandmann Pedersen [Wed, 13 May 2009 13:44:45 +0000 (09:44 -0400)]
Move sse2 fast path running to the sse2 implementation

15 years agoChange pixman_lookup_fast_path() to actually run the fast path
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.

15 years agoAdd _pixman_choose_implementation
Søren Sandmann Pedersen [Wed, 13 May 2009 13:26:42 +0000 (09:26 -0400)]
Add _pixman_choose_implementation

15 years agoRemove fast path lookup code from pixman-general
Søren Sandmann Pedersen [Wed, 13 May 2009 13:21:37 +0000 (09:21 -0400)]
Remove fast path lookup code from pixman-general

15 years agoBeginning of sse2 implementation
Søren Sandmann Pedersen [Wed, 13 May 2009 13:12:04 +0000 (09:12 -0400)]
Beginning of sse2 implementation

15 years agoCopy fast path lookup code into pixman-utils.c
Søren Sandmann Pedersen [Wed, 13 May 2009 13:06:19 +0000 (09:06 -0400)]
Copy fast path lookup code into pixman-utils.c

15 years agoInitial fast path implementation
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

15 years agoChange prototypes for compositing functions to use 32 bit integers
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

15 years agoAdd component alpha combiners in pixman-implementation.c
Søren Sandmann Pedersen [Wed, 13 May 2009 09:12:52 +0000 (05:12 -0400)]
Add component alpha combiners in pixman-implementation.c

15 years agoBeginning of MMX implementation
Søren Sandmann Pedersen [Wed, 13 May 2009 08:52:28 +0000 (04:52 -0400)]
Beginning of MMX implementation

15 years agoMove entire C implementation into pixman-general.c
Søren Sandmann Pedersen [Wed, 13 May 2009 08:32:32 +0000 (04:32 -0400)]
Move entire C implementation into pixman-general.c

15 years agoAdd beginning of general implementation
Søren Sandmann Pedersen [Wed, 13 May 2009 08:04:36 +0000 (04:04 -0400)]
Add beginning of general implementation

15 years agoFormatting
Søren Sandmann Pedersen [Wed, 13 May 2009 07:40:05 +0000 (03:40 -0400)]
Formatting

15 years agoBeginning of pluggable implementations
Søren Sandmann Pedersen [Wed, 13 May 2009 07:31:11 +0000 (03:31 -0400)]
Beginning of pluggable implementations

15 years agoMove fbStoreExternalAlpha{,64} into pixman-bits-image.c
Søren Sandmann Pedersen [Wed, 20 May 2009 22:28:03 +0000 (18:28 -0400)]
Move fbStoreExternalAlpha{,64} into pixman-bits-image.c

15 years agoAdd new store_scanline_{32,64} in bits_image_t
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

15 years agoPost-release version bump
Søren Sandmann Pedersen [Sat, 23 May 2009 15:33:21 +0000 (11:33 -0400)]
Post-release version bump

15 years agoNEON: Remove some unneeded casts
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.

15 years agoFix uses of dst_keep
Jeff Muizelaar [Fri, 22 May 2009 18:56:44 +0000 (11:56 -0700)]
Fix uses of dst_keep

15 years agoPre-release version bump pixman-0.15.6
Søren Sandmann Pedersen [Fri, 22 May 2009 16:07:55 +0000 (12:07 -0400)]
Pre-release version bump

15 years agoInitialize the ARM SIMD fast path array.
Jonathan Morton [Fri, 22 May 2009 16:01:26 +0000 (12:01 -0400)]
Initialize the ARM SIMD fast path array.

15 years agoFix compile error caused by e42fae9e8364f5f0791f9fce749ab18b33acf598
Jonathan Morton [Fri, 22 May 2009 15:25:26 +0000 (08:25 -0700)]
Fix compile error caused by e42fae9e8364f5f0791f9fce749ab18b33acf598

15 years agoFix alpha map computation in pixman_compute_composite_region()
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.

15 years agoAvoid malloc() by allocating a fixed set of boxes on the stack
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

15 years agoFix build on ppc. Pointed out by Chris Ball
Søren Sandmann Pedersen [Thu, 21 May 2009 09:07:19 +0000 (05:07 -0400)]
Fix build on ppc. Pointed out by Chris Ball

15 years agoMake SSE2 fast paths static and remove them from the header file
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

15 years agoMake MMX 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

15 years agoNotes on component alpha
Søren Sandmann Pedersen [Tue, 5 May 2009 13:07:32 +0000 (09:07 -0400)]
Notes on component alpha

15 years agoNote about glyphs polygons
Søren Sandmann Pedersen [Tue, 5 May 2009 12:49:49 +0000 (08:49 -0400)]
Note about glyphs polygons

15 years agoNotes on output kernels
Søren Sandmann Pedersen [Tue, 5 May 2009 11:31:52 +0000 (07:31 -0400)]
Notes on output kernels

15 years agoFurther notes on the rendering pipeline
Søren Sandmann Pedersen [Tue, 5 May 2009 07:10:44 +0000 (03:10 -0400)]
Further notes on the rendering pipeline

15 years agoSome roadmap notes
Søren Sandmann Pedersen [Tue, 5 May 2009 05:58:48 +0000 (01:58 -0400)]
Some roadmap notes

15 years agoDescribe alpha map in the pipeline
Søren Sandmann Pedersen [Mon, 4 May 2009 21:39:19 +0000 (17:39 -0400)]
Describe alpha map in the pipeline

15 years agoNotes on the rendering pipeline
Søren Sandmann Pedersen [Mon, 4 May 2009 02:46:34 +0000 (22:46 -0400)]
Notes on the rendering pipeline

15 years agoMove C fast paths to their own file pixman-fast-path.c
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

15 years agoMove the arch specific fast path tables into their arch files
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

15 years agoMove CPU detection code to its own file
Søren Sandmann Pedersen [Sun, 3 May 2009 23:12:02 +0000 (19:12 -0400)]
Move CPU detection code to its own file

15 years agoMove conical gradient code to pixman-conical-gradient.c and delete pixman-source.c
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

15 years agoMove the radial gradient code form pixman-source.c into pixman-radial-gradient.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

15 years agoDuplicate some code that was shared between radial and conical gradients.
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.

15 years agoMove the linear gradient code from pixman-source.c into pixman-linear-gradient.c
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

15 years agoRename pixmanFetchSourcePict to pixmanFetchGradient
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

15 years agoAdd a generic 64 bit fetcher and use it for gradients and transformed images
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

15 years agoMove the gradient walker code to its own file
Søren Sandmann Pedersen [Sun, 3 May 2009 03:08:59 +0000 (23:08 -0400)]
Move the gradient walker code to its own file

15 years agoReplace pixman_image_get_fetchers() with pixman_image_get_scanline_{32,64}
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}

15 years agoSet up scanline getters for bits images
Søren Sandmann Pedersen [Sun, 3 May 2009 02:46:20 +0000 (22:46 -0400)]
Set up scanline getters for bits images