Commit Graph

1757 Commits

Author SHA1 Message Date
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
Søren Sandmann Pedersen
273e89750b 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:52:10 -04:00
M Joonas Pihlaja
ec7c1affcc Don't prefetch from NULL in the SSE2 fast paths.
On an Athlon64 box prefetch from NULL slows down
the rgba OVER rgba fast for predominantly solid sources
by up to 3.5x in the one-rounded-rectangle test case
when run using a tiling polygon renderer.  This patch
conditionalises the prefetches of the mask everywhere
where the mask pointer may be NULL in a fast path.
2009-09-15 00:35:14 +03:00
Søren Sandmann Pedersen
1b5269a585 Reformat test/composite.c to follow the standard coding style. 2009-09-14 07:32:54 -04:00
Chris Wilson
0431a0af6c [test] Exercise repeating patterns for composite. 2009-09-13 18:02:10 +01:00
Chris Wilson
c28e39f17a [build] Add rule to generate asm for inspection. 2009-09-13 16:38:04 +01:00
Chris Wilson
823bb1a943 [sse2] Don't emit prefetch 0 for an absent mask 2009-09-13 16:37:57 +01:00
Chris Wilson
8f2daa7ca2 [test] Add composite test from rendercheck
Iterate over all destination formats for dst, src and composite and
compare the result of all oprators with a selection of colours.
2009-09-13 16:33:01 +01:00
Chris Wilson
cda0ee5165 build: Suppress verbose compile lines
Compile warnings are being lost in the sea of noise. Automake-1.11 finally
introduced AM_SILENT_RULES to suppress the echoing of the compile line for
every object. Enable this to bring sanity to the pixman build.
2009-09-13 16:32:44 +01:00
Chris Wilson
56cc06f89b Merge branch '0.16'
Conflicts:
	configure.ac
	pixman/pixman-sse2.c
2009-09-13 16:32:27 +01:00
Chris Wilson
8035df8bcb Remove duplicated declaration
The pixman_tranform_pixman_f_transform() declaration is repeated 4 lines
down.
2009-09-13 16:29:57 +01:00
Chris Wilson
29e22cf38e Enable component alpha on solid masks. 2009-09-13 16:29:42 +01:00
Chris Wilson
9fe2628702 [sse2] Bit-reversing typo: src != dst 2009-09-13 16:29:19 +01:00
Søren Sandmann Pedersen
8aff99e231 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-10 21:33:24 -04:00
Gaetan Nadon
fefe2a5d24 Remove unused generated libcomp.pc #23801 2009-09-09 14:36:39 -04:00
Siarhei Siamashka
2186bc8948 Change CFLAGS order for PPC and ARM configure tests
CFLAGS are always appended to the end of gcc options when compiling
sources in autotools based projects. Configure tests should do the
same. Otherwise build fails on PPC when using CFLAGS="-O2 -mno-altivec"
for example. Similar problem affects ARM.
2009-09-07 00:41:42 +03:00
Siarhei Siamashka
15304e3cdd ARM: Remove fallback to ARMv6 implementation from NEON delegate chain
This can help to fix build problems with '-mthumb' gcc option in CFLAGS.
ARMv6 optimized code can't be compiled for thumb (because of its inline
assembly) and gets automatically disabled in configure. Reference
to it from NEON optimized code resulted in linking problems.

Every ARMv6 optimized fast path function also has a better NEON
counterpart, so there is no need to fallback to ARMv6. Shorter
delegate chain should additionally result in a bit better performance.
2009-09-07 00:41:21 +03:00
Siarhei Siamashka
2679d93e22 Change CFLAGS order for PPC and ARM configure tests
CFLAGS are always appended to the end of gcc options when compiling
sources in autotools based projects. Configure tests should do the
same. Otherwise build fails on PPC when using CFLAGS="-O2 -mno-altivec"
for example. Similar problem affects ARM.
2009-09-06 23:03:21 +03:00
Siarhei Siamashka
91232ee40d ARM: Remove fallback to ARMv6 implementation from NEON delegate chain
This can help to fix build problems with '-mthumb' gcc option in CFLAGS.
ARMv6 optimized code can't be compiled for thumb (because of its inline
assembly) and gets automatically disabled in configure. Reference
to it from NEON optimized code resulted in linking problems.

Every ARMv6 optimized fast path function also has a better NEON
counterpart, so there is no need to fallback to ARMv6. Shorter
delegate chain should additionally result in a bit better performance.
2009-09-06 23:03:08 +03:00
M Joonas Pihlaja
61b616067c Default to optimised builds when using a Sun Studio compiler.
Autoconf's AC_PROG_CC sets the default CFLAGS to -O2 -g for
gcc and -g for every other compiler.  This patch defaults
CFLAGS to the equivalent -O -g when we're using Sun Studio's cc
if the user or site admin hasn't already set CFLAGS.
2009-09-03 22:51:22 +03:00
M Joonas Pihlaja
20acda6fde Work around a Sun Studio 12 code generation bug involving _mm_set_epi32().
Calling a static function wrapper around _mm_set_epi32() when not
using optimisation causes Sun Studio 12's cc to emit a spurious
floating point load which confuses the assembler.  Using a macro wrapper
rather than a function steps around the problem.
2009-09-03 22:51:18 +03:00
M Joonas Pihlaja
e30c0037d4 Work around differing _mm_prefetch() prototypes on Solaris.
Sun Studio 12 expects the address to prefetch to be
a const char pointer rather than a __m128i pointer or
void pointer.
2009-09-03 22:51:14 +03:00
M Joonas Pihlaja
29e7d6063f Default to optimised builds when using a Sun Studio compiler.
Autoconf's AC_PROG_CC sets the default CFLAGS to -O2 -g for
gcc and -g for every other compiler.  This patch defaults
CFLAGS to the equivalent -O -g when we're using Sun Studio's cc
if the user or site admin hasn't already set CFLAGS.
2009-09-03 22:50:38 +03:00
M Joonas Pihlaja
e7018685f0 Work around a Sun Studio 12 code generation bug involving _mm_set_epi32().
Calling a static function wrapper around _mm_set_epi32() when not
using optimisation causes Sun Studio 12's cc to emit a spurious
floating point load which confuses the assembler.  Using a macro wrapper
rather than a function steps around the problem.
2009-09-03 22:47:24 +03:00
M Joonas Pihlaja
04ade7b68c Work around differing _mm_prefetch() prototypes on Solaris.
Sun Studio 12 expects the address to prefetch to be
a const char pointer rather than a __m128i pointer or
void pointer.
2009-09-03 22:47:22 +03:00
Siarhei Siamashka
698b686d58 ARM: workaround for gcc bug in vshll_n_u8 intrinsic
Some versions of gcc (cs2009q1, 4.4.1) incorrectly reject
shift operand having value >= 8, claiming that it is out of
range. So inline assembly is used as a workaround.
2009-09-03 19:51:47 +03:00
Siarhei Siamashka
3e228377f9 ARM: workaround for gcc bug in vshll_n_u8 intrinsic
Some versions of gcc (cs2009q1, 4.4.1) incorrectly reject
shift operand having value >= 8, claiming that it is out of
range. So inline assembly is used as a workaround.
2009-09-03 19:49:17 +03:00
Søren Sandmann Pedersen
632125d410 Enable the x888_8_8888 sse2 fast path. 2009-09-02 19:29:03 -04:00
Søren Sandmann Pedersen
b02b644d70 Set version number to 0.16.1 2009-09-02 16:09:32 -04:00
Makoto Kato
d465f854b3 Add CPU detection for VC++ x64
VC++ x64 has no inline assembler and x64 mode supports SSE2.
So, it is unnecessary to call cpuid.
2009-09-02 16:04:02 -04:00
Makoto Kato
097342a65d Add CPU detection for VC++ x64
VC++ x64 has no inline assembler and x64 mode supports SSE2.
So, it is unnecessary to call cpuid.
2009-09-02 15:00:46 -04:00
Søren Sandmann Pedersen
64085c91b6 Change names of add_8888_8_8 fast paths to add_n_8_8
The source is solid in those.
2009-09-01 08:23:23 -04:00
Søren Sandmann Pedersen
7af985a69a Post-release version bump 2009-08-28 08:14:04 -04:00
Søren Sandmann Pedersen
57812465bf Pre-release version bump 2009-08-28 07:55:30 -04:00
Chris Wilson
9e1a34a0d1 _pixman_run_fast_path: typo
This is one example of a compiler warning that was lost amit the build
noise.

The error here is that in a list of required conditions we used ';'
instead of '&&' with the result of continuing to use the fast-path
even if we had a wide mask.

Another error is that it was testing src, not mask as it should.
2009-08-28 06:43:39 -04:00
Makoto Kato
83d607cbf1 Remove spurious spaces in pixman-x64-mmx-emulation.h 2009-08-28 04:14:11 -04:00
Julien Cristau
182f32af53 Prepare changelog for upload 2009-08-23 12:45:10 +02:00
Julien Cristau
828b229bec Add README.source with a pointer to the quilt package. 2009-08-23 12:43:57 +02:00
Julien Cristau
3ebff7c552 Add patch to disable use of env vars to force hwcap and platform on arm.
This is just ugly…
2009-08-23 12:36:58 +02:00
Julien Cristau
b3e7c210df Update changelogs 2009-08-23 12:27:53 +02:00
Julien Cristau
19b65800ba Merge tag 'pixman-0.15.20' into debian-experimental 2009-08-23 12:25:41 +02:00
Søren Sandmann Pedersen
ce966f4d8e Check if we have posix_memalign() in configure.ac. [23260, 23261]
Fall back to malloc() in blitters-test.c if we don't.
2009-08-13 12:46:20 -04:00