Commit Graph

1948 Commits

Author SHA1 Message Date
Søren Sandmann Pedersen
b8898d77d0 Define PIXMAN_USE_INTERNAL_API in pixman-private.h
Instead of mucking around with CFLAGS in configure.ac, preventing
users from setting their own CFLAGS, just define the
PIXMAN_USE_INTERNAL_API and PIXMAN_DISABLE_DEPRECATED in
pixman-private.h
2009-11-07 14:47:22 -05:00
Søren Sandmann Pedersen
67bf739187 Include <inttypes.h> when compiled with HP's C compiler.
Fixes bug 23169.
2009-10-27 09:11:28 -04:00
Siarhei Siamashka
384fb88b90 C fast path function for 'over_n_1_8888'
This function is needed to improve performance of xfce4 terminal.
Some other applications may potentially benefit too.
2009-10-27 12:32:04 +02:00
Siarhei Siamashka
a2985da947 C fast path function for 'add_1000_1000'
This function is needed to improve performance of xfce4 terminal.
Some other applications may potentially benefit too.
2009-10-27 12:31:59 +02:00
Siarhei Siamashka
5f429e4510 blitters-test updated to also randomly generate mask_x/mask_y 2009-10-27 12:31:55 +02:00
André Tupinambá
0d5562747c Add fast path scaled, bilinear fetcher.
This adds a bilinear fetcher for the case where the image has a scaled
transformation, does not repeat, and the format {ax}8r8g8b8.

Results for the swfdec-youtube benchmark

Before:

[ # ]  backend                         test   min(s) median(s) stddev. count
[  0]    image               swfdec-youtube    7.841    7.915   0.72%    6/6

After:

[ # ]  backend                         test   min(s) median(s) stddev. count
[  0]    image               swfdec-youtube    6.677    6.780   0.94%    6/6

These results were measured on a faster machine than the ones in the
previous commit, so the numbers are not comparable.

Signed-off-by: Søren Sandmann Pedersen <sandmann@redhat.com>
2009-10-26 13:04:21 -04:00
André Tupinambá
88323c5abe Speed up bilinear interpolation.
Speed up bilinear interpolation by processing more than one component
at a time on 64 bit architectures, and by precomputing the dist{ixiy}
products on 32 bit architectures.

Previously bilinear interpolation for one pixel would take 24
multiplications. With this improvement it takes 12 on 64 bit, and 20
on 32 bit.

This is a small but consistent speedup on the swfdec-youtube
benchmark:

[ # ]  backend                         test   min(s) median(s) stddev. count
Before:
[  0]    image               swfdec-youtube   18.010   18.020   0.09%    4/5

After:
[  0]    image               swfdec-youtube   17.488   17.584   0.22%    5/6

Signed-off-by: Søren Sandmann Pedersen <sandmann@redhat.com>
2009-10-26 13:04:21 -04:00
Søren Sandmann Pedersen
f0c157f888 Extend scaling-test to also test bilinear filtering. 2009-10-26 13:04:21 -04:00
Jeremy Huddleston
eab882ef38 This is not a GNU project, so declare it foreign.
On Wed, 2009-10-21 at 13:36 +1000, Peter Hutterer wrote:
> On Tue, Oct 20, 2009 at 08:23:55PM -0700, Jeremy Huddleston wrote:
> > I noticed an INSTALL file in xlsclients and libXvMC today, and it
> > was quite annoying to work around since 'autoreconf -fvi' replaces
> > it and git wants to commit it.  Should these files even be in git?
> > Can I nuke them for the betterment of humanity and since they get
> > created by autoreconf anyways?
>
> See https://bugs.freedesktop.org/show_bug.cgi?id=24206

As an interim measure, replace AM_INIT_AUTOMAKE([dist-bzip2]) with
AM_INIT_AUTOMAKE([foreign dist-bzip2]). This will prevent the generation
of the INSTALL file. It is also part of the 24206 solution.

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-10-21 12:47:27 -07:00
Søren Sandmann Pedersen
dc46ad274a Make walk_region_internal() use 32 bit dimensions 2009-10-19 20:32:37 -04:00
Søren Sandmann Pedersen
bb3698d479 Make pixman_compute_composite_region32() use 32 bit dimensions 2009-10-19 20:31:54 -04:00
Søren Sandmann Pedersen
895c281c40 Change prototype of _pixman_walk_composite_region from int16_t to int32_t 2009-10-19 20:30:22 -04:00
Søren Sandmann Pedersen
9cd470665b Remove unused color_table and color_table_size fields 2009-10-19 20:27:36 -04:00
Søren Sandmann Pedersen
8186937637 Remove BOUNDS() macro.
It was bounding the clip region to INT16_MIN, INT16_MAX, but this was
a relic from the X server. We don't need it since we are already
restricting the clip region to the geometry of the destination.
2009-10-19 20:16:25 -04:00
Benjamin Otte
9bcfc0ac54 --enable-maintainer-mode is gone from configure, so remove it 2009-10-20 00:40:40 +02:00
Benjamin Otte
fa49ef81f7 Add default cases for all switch statements
Fixes compilation with -Wswitch-default. Compilation with -Wswitch-enums
works fine as is.
2009-10-20 00:40:40 +02:00
Benjamin Otte
5c3ef4e979 Fix compile warnings 2009-10-20 00:40:40 +02:00
Siarhei Siamashka
ad48407885 ARM: Removal of unused/broken NEON code 2009-10-20 00:21:56 +03:00
Søren Sandmann Pedersen
358f96d202 Fix double semicolon; pointed out by Travis Griggs 2009-10-08 13:01:27 -04:00
Gerdus van Zyl
93acc10617 Fix build with Visual Studio 2008
moved __m64 ms declaration in sse2_composite_over_x888_8_8888 to top
of function so it compiles with visual studio 2008
2009-09-30 06:29:43 -04:00
Julien Cristau
770ccb54e7 Prepare changelog for upload 2009-09-28 18:13:08 +02:00
Julien Cristau
37ac8c9885 Bump changelogs 2009-09-28 18:08:24 +02:00
Julien Cristau
9bef67d9d5 Merge tag 'pixman-0.16.2' into debian-unstable 2009-09-28 15:37:15 +02:00
Søren Sandmann Pedersen
f1ecbaba0c Post-release version bump 2009-09-28 09:31:25 -04:00
Søren Sandmann Pedersen
601e4dc6fd Pre-release version bump 2009-09-28 09:20:13 -04:00
Søren Sandmann Pedersen
b765dcb554 Update CRC in blitters-test for the changes in 10bpc alpha handling 2009-09-28 08:59:11 -04:00
Søren Sandmann Pedersen
66f7581ccf Fix fetch-test for big-endian systems.
Data narrower than 32bpp should be stored in the correct
endian. Reported by Andrea Canciani.
2009-09-28 08:36:01 -04:00
Søren Sandmann Pedersen
485c1f54b4 Fix bug in blitters-test with BGRA formats.
When masking out the x bits, blitter-test would make the incorrect
assumption that the they were always in the topmost position. This is
not correct for formats of type PIXMAN_TYPE_BGRA.
2009-09-28 08:35:09 -04:00
Søren Sandmann Pedersen
8f5cca82ac Fix alpha handling for 10 bpc formats.
These generally extracted the 2 bits of alpha, then shifted them 62
bits and replicated across 16 bits. Then they were shifted another 48
bits, making the resulting alpha channel 0.
2009-09-28 08:34:38 -04:00
Søren Sandmann Pedersen
09a71a0dc0 Return result from pixman_image_set_transform().
Previously it would always return TRUE, even when malloc() had failed.
2009-09-28 08:33:55 -04:00
Andrea Canciani
f135f74ff3 Fix composite on big-endian systems.
Data narrower than 32bpp is padded to an unsigned long and on
big-endian systems this shifts the value by the padding bits.
2009-09-27 09:35:02 -04:00
Søren Sandmann Pedersen
15c14691a7 Fix fetch-test for big-endian systems.
Data narrower than 32bpp should be stored in the correct
endian. Reported by Andrea Canciani.
2009-09-26 14:10:20 -04:00
Søren Sandmann Pedersen
02d7099888 Add missing break in composite.c 2009-09-25 07:53:32 -04:00
Guillem Jover
8ce004af36 pixman: Update .gitignore
Generalize to catch all .pc files. Add more tests.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
2009-09-24 21:13:54 +02:00
Søren Sandmann Pedersen
59e877cffe In the compositing test, Don't try to use component alpha with solid fills.
It's not supported yet.
2009-09-24 08:10:00 -04:00
Søren Sandmann Pedersen
16adb09c8a Update CRC value in blitters-test for the new bug fixes 2009-09-24 07:54:37 -04:00
Søren Sandmann Pedersen
e156964d3e Fix bug in blitters-test with BGRA formats.
When masking out the x bits, blitter-test would make the incorrect
assumption that the they were always in the topmost position. This is
not correct for formats of type PIXMAN_TYPE_BGRA.
2009-09-24 07:54:37 -04:00
Søren Sandmann Pedersen
eb72bfb97d Fix bugs in fetch_*_b2g3r3().
The red channel should only be shifted five positions, not six.
2009-09-24 07:54:35 -04:00
Søren Sandmann Pedersen
b4f6113cb9 Fix bugs in a1b2g1r1.
The first bug is that it is treating the input as if it were a1r1g1b1;
the second one is that the red channel should only be shifted two
bits, not three.
2009-09-24 07:48:46 -04:00
Søren Sandmann Pedersen
efdf15e677 Fix shift bug in fetch_scanline/pixel_a2b2g2r2()
0x30 * 0x55 is 0xff0, so the red channel should be shifted four bits,
not six.
2009-09-24 07:30:38 -04:00
Søren Sandmann Pedersen
679c2dabda Fix four bit formats.
The original Render code used to index pixels with their position in
bits in the image. When the scanline code was introduced pixels were
indexed in bytes, but the FETCH/STORE_4/8 macros still assumed bits.

This commit fixes that by making the FETCH/STORE_4 macros first
convert the index to bit position.
2009-09-24 07:08:30 -04:00
Søren Sandmann Pedersen
3d1714cd1f Hide PIXMAN_OP_NONE and PIXMAN_N_OPERATORS behind PIXMAN_INTERNAL_API.
These cannot sanely be used by applications since they may change in
new versions.
2009-09-24 07:06:34 -04:00
Søren Sandmann Pedersen
0683f34c41 Add a few notes about testing to TODO 2009-09-24 07:04:29 -04:00
Søren Sandmann Pedersen
48ba7d9461 Fix alpha handling for 10 bpc formats.
These generally extracted the 2 bits of alpha, then shifted them 62
bits and replicated across 16 bits. Then they were shifted another 48
bits, making the resulting alpha channel 0.
2009-09-24 06:49:56 -04:00
Søren Sandmann Pedersen
c673c83e07 Return result from pixman_image_set_transform().
Previously it would always return TRUE, even when malloc() had failed.
2009-09-24 05:22:33 -04:00
Søren Sandmann Pedersen
eb16d17188 Revert "Enable component alpha on solid masks."
For consistency we will probably want to allow component alpha to be
set on all masks at some point, but this commit only enabled it for
solid images.

This reverts commit 29e22cf38e.
2009-09-15 08:55:13 -04:00
Søren Sandmann Pedersen
8138f908aa Revert "Enable component alpha on solid masks."
For consistency we will probably want to allow component alpha to be
set on all masks at some point, but not in the stable branch, and this
commit only enabled it for solid images anyway.

This reverts commit 29e22cf38e.
2009-09-15 08:35:13 -04:00
Chris Wilson
b96e37f8d0 [Makefile] Set the SIMD specific CFLAGS for inspecting asm. 2009-09-15 13:25:00 +01:00
Søren Sandmann Pedersen
77627554bc Fix off-by-one error in source_image_needs_out_of_bounds_workaround()
If extents->x2/y2 are equal to image->width/height, then the clip is
still inside the drawable, so no workaround is necessary.
2009-09-15 07:54:16 -04:00
Søren Sandmann Pedersen
c31cd73a09 Remove optimization for 0xffffffff and 0xff the add_n_8888_8888_ca fast path
This is an ADD operation, not an OVER. Fixes bug 23934, reported by
Siarhei Siamashka.
2009-09-14 18:53:34 -04:00