Commit Graph

2041 Commits

Author SHA1 Message Date
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
Siarhei Siamashka
29c2ae4a0c ARM: a fix to pass blitters-test for 'neon_composite_over_n_8_0565'
Inline assembly for handling <8 pixels width did not pass blitters-test.
Fortunately gcc has no problems compiling alternative implementation
which is using RVCT style intrinsics, so it can be used instead.
2009-08-13 18:17:13 +03:00
Søren Sandmann Pedersen
ed4598f08a Post-release version bump 2009-08-11 14:03:24 -04:00
Søren Sandmann Pedersen
bfdae053ea Pre-release version-bump 2009-08-11 13:56:16 -04:00
Søren Sandmann Pedersen
d6016d406a Merge branch 'blitter-test' 2009-08-11 02:04:40 -04:00
Søren Sandmann Pedersen
93923c626f Fix x/y mixup in bits_image_fetch_pixel_convolution()
Bug 23224, reported by Michel Dänzer.
2009-08-10 20:47:36 -04:00
Søren Sandmann Pedersen
e084351b13 Update CRC value in blitters-test.
At this point, the SIMD, SSE2, MMX and general implementations all
agree.
2009-08-08 18:52:55 -04:00
Søren Sandmann Pedersen
ba5c5325e7 Various formatting fixes 2009-08-08 18:50:42 -04:00
Søren Sandmann Pedersen
cc5c59b3f2 Add the ability to print intermediate CRC values 2009-08-08 18:50:42 -04:00
Søren Sandmann Pedersen
0bc4adae3e Reenable commented-out tests in blitter-test.
The crashes and valgrind issues are all fixed at this point.
2009-08-08 18:50:42 -04:00
Siarhei Siamashka
9ee18806a9 One more update to blitters-test - use aligned memory
allocations in order in order to make reproducibility
of alignment sensitive bugs more deterministic
Also testing of masks is reenabled
2009-08-08 18:50:42 -04:00
Siarhei Siamashka
4fc0f9dd45 HACK: updated test to better cover new neon optimizations 2009-08-08 18:50:41 -04:00
Siarhei Siamashka
67769ad5bf Test program for stressing the use of different formats and operators
The code and overall method is mostly based on scaling-test. This one
focuses on trying to stress as many different color formats and types
of composition operations as possible.

This is an initial implementation which may need more tuning. Also
not all color format and operator combinations are actually used.

When cpu specific optimizations are disabled, this test provides
identical deterministic results on x86, PPC and ARM.

Script blitters-test-bisect.rb now works in non-stop mode, until
it finds any problem. This allows to run it for example overnight
in order to test a lot more variants of pixman calls and increase
chances of detecting problems in pixman. Just like with scaling-test,
running blitters-test binary alone with no command line arguments
runs a small predefined number of tests and compares checksum
with a reference value for quick verification.
2009-08-08 18:50:41 -04:00
Søren Sandmann Pedersen
51f597ad32 Delete commented out code in pixman-vmx.c 2009-08-08 18:50:19 -04:00
Søren Sandmann Pedersen
a590eabead Misc formatting fixes for pixman-vmx.c 2009-08-08 18:50:19 -04:00
Søren Sandmann Pedersen
0ebb587e24 In vmx_combine_atop_reverse_ca() extract alpha after inversing 2009-08-08 18:50:19 -04:00
Søren Sandmann Pedersen
3d2f00783f Really fix vmx_combine_over_reverse_ca()
The inverse destination alpha is just one component, not four.
2009-08-08 18:50:19 -04:00