Commit Graph

1929 Commits

Author SHA1 Message Date
Jonathan Morton
0bfd9904e4 Enable NEON straight blits. 2009-06-03 10:43:41 -04:00
Jonathan Morton
4da5316285 Enable NEON copies. 2009-06-03 10:43:41 -04:00
Jonathan Morton
15ec397784 Enable NEON fills. 2009-06-03 10:43:41 -04:00
Jonathan Morton
78faaa58d6 Add more NEON fast paths 2009-06-03 10:43:41 -04:00
Søren Sandmann Pedersen
d4d716cc25 Only advance the Z coordinate for non-affine transformations 2009-06-02 16:54:10 -04:00
Søren Sandmann Pedersen
c2b1194929 Consistently use 256 pixels as the size of the temp buffers 2009-06-02 16:54:10 -04:00
Søren Sandmann Pedersen
10bc25b01a Inline repeating instead of doing it as a separate pass 2009-06-02 16:54:10 -04:00
Søren Sandmann Pedersen
db4f7fc9df Move pixman_expand/contract to pixman-utils.c 2009-06-02 16:54:10 -04:00
Søren Sandmann Pedersen
abb60f43f4 Change pixel wise fetcher to fetch many pixels at a time instead of just one 2009-06-02 16:54:10 -04:00
Søren Sandmann Pedersen
9a7ded161c Remove unused access macro 2009-06-02 16:54:10 -04:00
Søren Sandmann Pedersen
2b82a4c14d Add a 64 bit pixel fetcher and use it for solid colors 2009-06-02 16:54:10 -04:00
Søren Sandmann Pedersen
f9fa5bcac0 Move simple fetchers after transformed fetcher 2009-06-02 16:54:10 -04:00
Søren Sandmann Pedersen
c981eb95bb Rename some of the fetchers 2009-06-02 16:54:09 -04:00
Søren Sandmann Pedersen
e043530553 Split filter switching into its own bits_image_fetch_filtered() function 2009-06-02 16:54:09 -04:00
Søren Sandmann Pedersen
cb04bfd6b4 Move 'adjust' code into the individual filters 2009-06-02 16:54:09 -04:00
Søren Sandmann Pedersen
94c6abe8fc Add bits_image prefix to fetchers 2009-06-02 16:54:09 -04:00
Søren Sandmann Pedersen
5b8304fd17 Move some code around - use image->fetch_pixel in FbFetchSolid 2009-06-02 16:54:09 -04:00
Søren Sandmann Pedersen
48a2d0bba2 Rename _pixman_image_fetch_pixels() to bits_image_fetch_alpha_pixels 2009-06-02 16:54:09 -04:00
Søren Sandmann Pedersen
0486f0f324 Get rid of the StoreExternalAlpha() functions 2009-06-02 16:54:09 -04:00
Søren Sandmann Pedersen
d9b045d18e Add fetch_scanline_raw{32,64} 2009-06-02 16:54:09 -04:00
Søren Sandmann Pedersen
67cd7fcbdf Add store_scanline_raw_{32,64} virtual functions to bits image 2009-06-02 16:54:09 -04:00
Søren Sandmann Pedersen
2434524fd9 Move remaining pixman-transformed.c code into pixman-bits-image.c 2009-06-02 16:54:09 -04:00
Søren Sandmann Pedersen
4bd73c4d6a Fix coordinate computation for perspective transformations
- Don't convert to integer

- Saturate to INT16_MIN/MAX on overflow
2009-06-02 16:54:09 -04:00
Søren Sandmann Pedersen
3dd2496890 Get rid of pixman-transformed-accessors 2009-06-02 16:54:09 -04:00
Søren Sandmann Pedersen
df23b360a0 Remove unused code from pixman-transformed.c 2009-06-02 16:54:09 -04:00
Søren Sandmann Pedersen
2557931bac Handle alpha maps in _pixman_image_fetch_pixels() 2009-06-02 16:54:08 -04:00
Søren Sandmann Pedersen
72ae714b74 Only do region lookups when the source region is different from the full region 2009-06-02 16:54:08 -04:00
Søren Sandmann Pedersen
ccbe5cf8f3 Fix typo in fetch_bilinear_pixels()
Change the number of temp pixels in FbFetchTransformed() to something a little more reasonable.
2009-06-02 16:54:08 -04:00
Søren Sandmann Pedersen
72a3e20c72 Process the correct number of coordinates for the NEAREST filter
The number of coordinates to process is twice the number of pixels.
2009-06-02 16:54:08 -04:00
Søren Sandmann Pedersen
e8b4ebf591 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.
2009-06-02 16:54:08 -04:00
Søren Sandmann Pedersen
b24fc024fa Make fbFetchTransformed() used the new filtered many-pixel fetchers 2009-06-02 16:54:08 -04:00
Søren Sandmann Pedersen
8e0ad050e7 Add fetch_convolution_pixels() function 2009-06-02 16:54:08 -04:00
Søren Sandmann Pedersen
1510ffb750 Add fetch_bilinear_pixels() function
A bilinear fetcher that fetches many pixels instead of just one.
2009-06-02 16:54:08 -04:00
Søren Sandmann Pedersen
a156e4e097 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.
2009-06-02 16:54:08 -04:00
Søren Sandmann Pedersen
d2cbfeca0e Add _pixman_image_fetch_pixels()
Including a virtual fetch_pixel() function in bits_image_t.
2009-06-02 16:54:08 -04:00
Søren Sandmann Pedersen
bd1cc87da3 Get rid of toplevel argument to implementation constructors.
It was always NULL anyway.
2009-06-02 16:51:28 -04:00
Søren Sandmann Pedersen
8d523bd9f3 Make sure the whole delegate chain has the correct toplevel 2009-06-02 07:47:29 -04:00
Søren Sandmann Pedersen
812a993843 Post-release version bump 2009-05-30 22:23:27 -04:00
Søren Sandmann Pedersen
3bad5eefd0 Pre-release version bump.
Also delete non-existant header files from pixman/Makefile.am
2009-05-30 22:09:11 -04:00
Søren Sandmann Pedersen
e3dba0f61a Create a vmx pixman_implementation_t 2009-05-30 21:54:28 -04:00
Luca Barbato
0c92309a8a 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.
2009-05-30 20:15:58 -04:00
Siarhei Siamashka
21034db1da 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.
2009-05-29 22:23:22 -04:00
Søren Sandmann Pedersen
53ce883825 In pixman-sse2.c test for non-zero source, not just non-zero source alpha. 2009-05-29 22:21:37 -04:00
Søren Sandmann Pedersen
da9f3266fd 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.
2009-05-29 21:20:20 -04:00
Jonathan Morton
f889ad9f36 Fixup the arm-simd and arm-neon implementations. 2009-05-29 13:38:45 -07:00
Magnus Kessler
d6dfafd958 pixman: define pixman_have_{mmx,sse2} on 64-bit Linux
The refactoring of pixman removed pixman-sse2.h and pixman-mmx.h in commit
41a9a17e03
(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>
2009-05-28 12:08:15 -04:00
Søren Sandmann Pedersen
3d93070db8 Really fix PPC build.
Add a pixman_composeFunctions variable to pixman-vmx.c.
2009-05-27 21:58:52 -04:00
Søren Sandmann Pedersen
3f5c2936c6 Add back pixman_composeFunctions since vmx is not ported to implementations yet 2009-05-27 21:15:18 -04:00
Søren Sandmann Pedersen
6f93d36915 In _pixman_implementation_fill() don't call the delegate; call the actual implementation 2009-05-23 12:12:42 -04:00
Søren Sandmann Pedersen
a5a249613b Call the toplevel implementation for combining 2009-05-23 12:12:42 -04:00