Søren Sandmann Pedersen [Wed, 5 Nov 2008 22:12:22 +0000 (17:12 -0500)]
Do the fetch_bilinear inline rather than in separate functions
Søren Sandmann Pedersen [Wed, 5 Nov 2008 21:59:56 +0000 (16:59 -0500)]
Make use of fetch_bilinear() in the various bilinear implementations
Søren Sandmann Pedersen [Wed, 5 Nov 2008 21:38:33 +0000 (16:38 -0500)]
Add fetch_bilinear function
Søren Sandmann Pedersen [Mon, 3 Nov 2008 18:09:02 +0000 (13:09 -0500)]
Add missing pixman-arm-simd.[ch] files.
Pointed out by Chris Ball and Adrian Bunk.
Søren Sandmann Pedersen [Fri, 31 Oct 2008 19:08:03 +0000 (15:08 -0400)]
Inlucde inttypes.h on digital Tru64
Bug 18007, reported by Joonas Pihlaja.
Adrian Bunk [Fri, 31 Oct 2008 18:59:30 +0000 (14:59 -0400)]
Rename the current ARM code to ARM SIMD
This code is only for CPUs supporting the SIMD instructions, not for all ARM
CPUs.
I stumbled above the recent commit with the ARM SIMD code while preparing a
patch that models the patch from #13445 after the MMX and SSE2 cases:
The ARM SIMD option currently uses --disable-arm, although this code is only
for CPUs >= ARMv6. That's as if one would call the option to disable the SSE2
code --disable-x86.
This patch therefore renames the configure option and the function and file
names to arm-simd/arm_simd.
Alan Coopersmith [Thu, 30 Oct 2008 01:13:59 +0000 (18:13 -0700)]
Define force_inline for compilers other than gcc & MS Visual C
Jeff Muizelaar [Thu, 30 Oct 2008 00:14:41 +0000 (17:14 -0700)]
Cleanup inline definitions
Replace all inline definitions with a common one in pixman-private.h. Also, add
'force_inline' and replace all existing uses of 'inline' as a forced inline
with 'force_inline'.
Søren Sandmann Pedersen [Wed, 15 Oct 2008 22:46:38 +0000 (18:46 -0400)]
Remove unused AddMul_256 macro
Benjamin Otte [Sun, 12 Oct 2008 22:05:40 +0000 (00:05 +0200)]
unswitch red and blue
The previous code assumed a color format of ABGR when naming the
variables. The true color format is ARGB. This did not cause any bugs
because no functions rely on the order of colors so far. This patch
renames the variables just to avoid confusion.
Benjamin Otte [Wed, 8 Oct 2008 19:21:58 +0000 (21:21 +0200)]
update .gitignore
Benjamin Otte [Wed, 8 Oct 2008 19:18:12 +0000 (21:18 +0200)]
force alignment of arg pointer in potential SSE users
Fix for bug 17824
David Müller [Tue, 23 Sep 2008 11:45:51 +0000 (07:45 -0400)]
Move _mm_empty() to correct place
The "fbComposeSetupSSE2()" function is guarding most of its code
depending on the capabilities of the CPU, but unfortunately the call
to "_mm_empty()" is not part of this code path but executed
unconditionally. This results in a "illegal instruction" crash on
non-MMX / non-SSE capable CPUs caused by the the "emms" instruction
(embedded in "_mm_empty()").
Fix bug 17729.
Søren Sandmann Pedersen [Sun, 21 Sep 2008 15:01:07 +0000 (11:01 -0400)]
Update TODO
Søren Sandmann Pedersen [Sun, 21 Sep 2008 15:00:33 +0000 (11:00 -0400)]
Make use of SSE2 blt/fill in more places
Julien Cristau [Fri, 19 Sep 2008 08:29:05 +0000 (10:29 +0200)]
Merge tag 'pixman-0.12.0'
Conflicts:
configure.ac
Søren Sandmann Pedersen [Thu, 18 Sep 2008 23:28:31 +0000 (19:28 -0400)]
Inline fetch functions in pixman-transformed.c
There was significant performance overhead associated with indirect
call to the fetch functions, so inline them.
Also, the old code assumed that if the number of rectangles in the
source clip was 1, then the clip was identical to the image
boundaries. Fix that by running a full region_contains_point()
whenever the source clip is different from pict->common.full_region.
Based on a patch from Antoine Azar.
Jeff Muizelaar [Thu, 18 Sep 2008 15:44:36 +0000 (11:44 -0400)]
Fix inner branch code.
The entire source must be 0 not just the alpha component.
Fix some comments too.
Søren Sandmann Pedersen [Wed, 17 Sep 2008 18:38:47 +0000 (14:38 -0400)]
Post release version bump
Søren Sandmann Pedersen [Wed, 17 Sep 2008 18:03:23 +0000 (14:03 -0400)]
Pre-release version bump
Vladimir Vukicevic [Wed, 17 Sep 2008 20:01:31 +0000 (16:01 -0400)]
Add SRC x888x0565 C fast path
Jeff Muizelaar [Wed, 17 Sep 2008 19:53:20 +0000 (15:53 -0400)]
Add support for ARMv6 SIMD fastpaths.
Søren Sandmann Pedersen [Wed, 17 Sep 2008 18:03:23 +0000 (14:03 -0400)]
Pre-release version bump
Søren Sandmann Pedersen [Wed, 17 Sep 2008 13:50:57 +0000 (09:50 -0400)]
Don't include stdio.h
Søren Sandmann Pedersen [Sun, 14 Sep 2008 18:58:00 +0000 (14:58 -0400)]
[sse2] Fix rounding bug in conversion from 565 to 8888
When converting from 565 to 8888, replicate the topmost bits instead
of appending zeros.
Søren Sandmann Pedersen [Tue, 9 Sep 2008 14:49:56 +0000 (10:49 -0400)]
Fix for bug 17477.
over_2x128 was changing the alphaLo and alphaHi arguments, causing
stripes.
Søren Sandmann Pedersen [Sun, 7 Sep 2008 04:40:09 +0000 (00:40 -0400)]
Update TODO
Søren Sandmann Pedersen [Sun, 7 Sep 2008 04:13:10 +0000 (00:13 -0400)]
Extend clip-test to demonstrate a bug in source clipping
Søren Sandmann Pedersen [Sun, 7 Sep 2008 03:49:25 +0000 (23:49 -0400)]
Fix bug in pixman_image_is_opaque()
Non-repeating gradient images would be reported as opaque. Also add
new test program to test source clipping.
Søren Sandmann Pedersen [Sat, 6 Sep 2008 10:17:32 +0000 (06:17 -0400)]
Update RELEASING
Søren Sandmann Pedersen [Sat, 6 Sep 2008 10:15:31 +0000 (06:15 -0400)]
Bump release
Søren Sandmann Pedersen [Sat, 6 Sep 2008 09:14:18 +0000 (05:14 -0400)]
Check for __sun || __sun in pixman.h. Update TODO
Reported by Bernd Nies.
Søren Sandmann Pedersen [Sat, 6 Sep 2008 08:33:16 +0000 (04:33 -0400)]
Use error instead of #error in a couple of other places
Peter O'Gorman [Fri, 15 Aug 2008 20:00:24 +0000 (15:00 -0500)]
Minor portability fixes
Use AC_C_INLINE to figure out `inline'.
IRIX compiler does not exit with a non-zero exit status when it sees #error
Frédéric Plourde [Thu, 4 Sep 2008 20:30:21 +0000 (16:30 -0400)]
Win32 build system fixes
Signed-off-by: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
Søren Sandmann Pedersen [Thu, 4 Sep 2008 20:21:08 +0000 (16:21 -0400)]
Make sure pixman-combine{32,64}.h are disted
Søren Sandmann Pedersen [Sun, 24 Aug 2008 04:40:16 +0000 (00:40 -0400)]
Rename pixman-sse.h pixman-sse2.h
Søren Sandmann Pedersen [Sun, 24 Aug 2008 03:59:49 +0000 (23:59 -0400)]
A few other renamings of SSE->SSE2
Søren Sandmann Pedersen [Sun, 24 Aug 2008 03:54:24 +0000 (23:54 -0400)]
Be consistent in naming SSE2 related things SSE2
Søren Sandmann Pedersen [Sun, 24 Aug 2008 03:42:36 +0000 (23:42 -0400)]
Remove use of MMX extensions.
They were never a big improvement anyway, and now that we have SSE2
support, they would only be useful on Pentium IIIs, and only if
explicitly enabled, which most distributions couldn't do anyway.
Andre Tupinamba [Thu, 21 Aug 2008 21:43:17 +0000 (14:43 -0700)]
[sse2] Change pixman-sse to pass __mm128i args as pointers, so as not to confuse MSVC
Ginn Chen [Thu, 21 Aug 2008 21:21:01 +0000 (14:21 -0700)]
Use hidden attribute for private functions when compiling with Sun Studio
https://bugs.freedesktop.org/show_bug.cgi?id=17183
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Vladimir Vukicevic [Tue, 19 Aug 2008 18:57:53 +0000 (11:57 -0700)]
Add sys/inttypes.h include for AIX
Søren Sandmann Pedersen [Thu, 31 Jul 2008 17:32:59 +0000 (13:32 -0400)]
Merge branch 'master' of sandmann@git.freedesktop.org:/git/pixman
Søren Sandmann Pedersen [Thu, 31 Jul 2008 17:32:38 +0000 (13:32 -0400)]
Bug 16921. MMX and SSE2 intrinsics not enabled when compiling with Intel's icc
Remove GCC specific inline-growth flags, and use __force_inline__ in
pixman-sse2 instead. Based on patch by Matt Turner.
Aaron Plattner [Fri, 25 Jul 2008 17:14:29 +0000 (10:14 -0700)]
Add depth 30 formats to pixman_format_supported_source.
Thanks to Julien Cristau for pointing out that these were missing.
Søren Sandmann Pedersen [Tue, 22 Jul 2008 02:06:02 +0000 (22:06 -0400)]
Don't require GCC 4.2 on x86-64
Søren Sandmann Pedersen [Tue, 22 Jul 2008 01:55:55 +0000 (21:55 -0400)]
TODO
André Tupinambá [Tue, 22 Jul 2008 01:53:20 +0000 (21:53 -0400)]
Use CopyAreasse2, plus a compatibility fix
Søren Sandmann Pedersen [Fri, 18 Jul 2008 18:49:35 +0000 (14:49 -0400)]
Fix typo in sse2 configure logic
Frederic Plourde [Thu, 17 Jul 2008 20:51:31 +0000 (13:51 -0700)]
Win32 Makefile fix
Søren Sandmann Pedersen [Thu, 17 Jul 2008 18:13:34 +0000 (14:13 -0400)]
Update RELEASING and release targets in Makefile.am
Søren Sandmann Pedersen [Thu, 17 Jul 2008 18:07:23 +0000 (14:07 -0400)]
Post-release version-bump
Søren Sandmann Pedersen [Thu, 17 Jul 2008 17:38:57 +0000 (13:38 -0400)]
Pre-release version bump
Søren Sandmann Pedersen [Thu, 17 Jul 2008 17:37:56 +0000 (13:37 -0400)]
Make a couple of functions static
Jeff Muizelaar [Thu, 17 Jul 2008 17:32:45 +0000 (13:32 -0400)]
Speed up fbOver
Use FbByteMulAdd to operate on two components at a time and force the function
to be inlined.
Jeff Muizelaar [Thu, 17 Jul 2008 17:32:08 +0000 (13:32 -0400)]
Comment FbByteMulAdd
Julien Cristau [Wed, 16 Jul 2008 20:03:29 +0000 (22:03 +0200)]
fix --enable-{mmx,sse2,vmx}
If --enable-foo is used, don't treat it as --disable-foo, and
error out if the appropriate compiler support isn't detected.
Damien Carbery [Wed, 16 Jul 2008 19:47:38 +0000 (15:47 -0400)]
Add pixman-1-uninstalled.pc file
Signed-off-by: Søren Sandmann <sandmann@redhat.com>
Søren Sandmann [Wed, 16 Jul 2008 19:19:17 +0000 (15:19 -0400)]
Use -no-undefined -- fixes bug 15927
Søren Sandmann Pedersen [Wed, 16 Jul 2008 19:07:30 +0000 (15:07 -0400)]
Use <inttypes.h> on most types of Unix.
Fix for bug 15560.
Søren Sandmann [Wed, 16 Jul 2008 18:56:48 +0000 (14:56 -0400)]
Update TODO
Søren Sandmann [Wed, 16 Jul 2008 18:30:46 +0000 (14:30 -0400)]
Remove unused pixman-combine.c
André Tupinambá [Wed, 16 Jul 2008 18:29:29 +0000 (14:29 -0400)]
Fix SSE2 bug where x888 pixels were treated as 8888
Benjamin Otte [Wed, 16 Jul 2008 18:41:02 +0000 (20:41 +0200)]
fix Altivec detection
the old code used to cause infinite looping on G3 machines.
Behdad Esfahbod [Tue, 15 Jul 2008 23:49:32 +0000 (16:49 -0700)]
Fix fbCompositeSrc_x888xnx8888mmx to properly ignore source alpha
Julien Cristau [Tue, 15 Jul 2008 14:59:21 +0000 (16:59 +0200)]
make --{en,dis}able-gtk work correctly
--enable-gtk had the same effect as --disable-gtk.
Now we check for it by default, and error out if we can't
find it and it was explicitly enabled.
André Tupinambá [Tue, 8 Jul 2008 18:15:27 +0000 (14:15 -0400)]
Fix bug 16310 in the SSE2 fast path in function fbCompositeSolidMask_nx8888x0565Csse2
Søren Sandmann Pedersen [Tue, 8 Jul 2008 18:10:56 +0000 (14:10 -0400)]
Update TODO
Aaron Plattner [Thu, 26 Jun 2008 00:55:28 +0000 (17:55 -0700)]
Add a lossy 32-bit generic pixel fetch function for wide surfaces.
The transformed fetch path currently only works at 32-bit precision. Until a
wide version of that function is added, we need to have a path to perform a
wide FetchPixel and then contract it down to a8r8g8b8.
Also, use the right format when expanding the result in fbFetchTransformed64.
fbFetchTransformed returns a8r8g8b8 results.
Søren Sandmann [Fri, 27 Jun 2008 05:11:30 +0000 (01:11 -0400)]
Unexport or delete various functions
- Delete pixman_region_append()
- Delete pixman_region_empty()
- Make pixman_region_validate() static and don't export it.
Reported by Julien Cristau.
Søren Sandmann [Fri, 27 Jun 2008 05:05:30 +0000 (01:05 -0400)]
Only export the 16 bit version of pixman_region_set_static_pointers()
Søren Sandmann Pedersen [Wed, 25 Jun 2008 13:46:12 +0000 (09:46 -0400)]
Update versioning documentation
Søren Sandmann Pedersen [Wed, 25 Jun 2008 13:36:13 +0000 (09:36 -0400)]
Update release instructions
Søren Sandmann Pedersen [Wed, 25 Jun 2008 13:24:00 +0000 (09:24 -0400)]
Explicitly use my GPG key for signing.
Søren Sandmann Pedersen [Wed, 25 Jun 2008 13:16:09 +0000 (09:16 -0400)]
Post-release version bump
Søren Sandmann Pedersen [Wed, 25 Jun 2008 11:58:21 +0000 (07:58 -0400)]
Pre-release version bump
Søren Sandmann Pedersen [Sun, 22 Jun 2008 17:44:23 +0000 (13:44 -0400)]
TODO
Søren Sandmann Pedersen [Sun, 22 Jun 2008 17:42:21 +0000 (13:42 -0400)]
Add configure time options to disable mmx/sse2/vmx
David Sharp [Fri, 20 Jun 2008 03:23:33 +0000 (20:23 -0700)]
pixman-sse.c: silence pointer-cast compiler warnings.
Cast pointers to words of the same size, not 32-bits.
Signed-off-by: Søren Sandmann Pedersen <sandmann@redhat.com>
Søren Sandmann Pedersen [Fri, 13 Jun 2008 20:16:59 +0000 (16:16 -0400)]
Update TODO
Luo Jinghua [Sat, 14 Jun 2008 01:07:22 +0000 (09:07 +0800)]
Fix implicit declaration of function 'free'.
Otherwise pointer will be truncated on 64bit arch and your programs will crash.
Maximilian Grothusmann [Fri, 13 Jun 2008 19:44:50 +0000 (12:44 -0700)]
Fix memory leak by freeing boxes{16,32}.
After calling pixman_region_init_rects() or
pixman_region32_init_rects(), boxes{16,32} were not freed before
returning. Fixes bug 16312.
Aaron Plattner [Fri, 13 Jun 2008 16:52:53 +0000 (09:52 -0700)]
Use pixman_malloc_ab instead of plain malloc for the fbStore64_generic scratch buffer.
Søren Sandmann Pedersen [Fri, 13 Jun 2008 04:25:45 +0000 (00:25 -0400)]
Move PIXMAN_FORMAT_16BPC to pixman-private.h
Aaron Plattner [Sat, 7 Jun 2008 06:02:51 +0000 (23:02 -0700)]
Decide based on the image formats whether we need wide compositing.
Signed-off-by: Søren Sandmann Pedersen <sandmann@redhat.com>
Aaron Plattner [Sat, 7 Jun 2008 02:40:25 +0000 (19:40 -0700)]
Take the source format into account in pixman_expand.
Extract the original bits of the source image for each component and then
replicate up to 16 bits to fill the wide components. Make sure to hard-code the
alpha value to 1 if the source format didn't have alpha.
Signed-off-by: Søren Sandmann Pedersen <sandmann@redhat.com>
Aaron Plattner [Sat, 7 Jun 2008 01:51:48 +0000 (18:51 -0700)]
Make expansion and contraction loops clearer.
Signed-off-by: Søren Sandmann Pedersen <sandmann@redhat.com>
Aaron Plattner [Sat, 7 Jun 2008 01:05:15 +0000 (18:05 -0700)]
Add wide source picture, external alpha, and transformed image routines.
The wide external alpha path should work correctly with wide formats. The wide
transformed fetch code for now just does a 32-bit fetch and then expands, which
will lose precision. Source pictures, for now, are evaluated at depth 32 and
then are expanded to depth 64. We could get higher precision by evaluating them
directly at depth 64, but this should be good enough for now.
Signed-off-by: Søren Sandmann Pedersen <sandmann@redhat.com>
Aaron Plattner [Fri, 6 Jun 2008 22:45:17 +0000 (15:45 -0700)]
Add wide fetch/store functions.
Use the narrow ones and expand/contract where necessary. Still need wide paths
for fancy pictures, but this gets the basic stuff working.
Signed-off-by: Søren Sandmann Pedersen <sandmann@redhat.com>
Aaron Plattner [Fri, 6 Jun 2008 22:30:52 +0000 (15:30 -0700)]
Add expand and contract functions to convert between ARGB8 and ARGB16.
The expansion function isn't quite correct, but gives reasonable results.
Signed-off-by: Søren Sandmann Pedersen <sandmann@redhat.com>
Søren Sandmann Pedersen [Mon, 9 Jun 2008 17:06:50 +0000 (13:06 -0400)]
Post-release version bump
Søren Sandmann Pedersen [Mon, 9 Jun 2008 16:32:56 +0000 (12:32 -0400)]
Pre-release version bump
Søren Sandmann Pedersen [Mon, 9 Jun 2008 16:28:05 +0000 (12:28 -0400)]
Add back prototypes for pixman_version() and pixman_version_string() to pixman.h
Julien Cristau [Mon, 9 Jun 2008 10:01:37 +0000 (12:01 +0200)]
Add a couple more missing PIXMAN_EXPORTs
Julien Cristau [Mon, 9 Jun 2008 09:53:23 +0000 (11:53 +0200)]
Add PIXMAN_EXPORT for pixman_region_equal
This used to be exported, so removing the export broke ABI.
Søren Sandmann Pedersen [Mon, 9 Jun 2008 06:43:37 +0000 (02:43 -0400)]
Post-release version bump
Søren Sandmann Pedersen [Mon, 9 Jun 2008 05:59:56 +0000 (01:59 -0400)]
Bump version number
Søren Sandmann Pedersen [Mon, 9 Jun 2008 05:57:26 +0000 (01:57 -0400)]
Merge region32 branch; fix conflicts
Søren Sandmann Pedersen [Mon, 9 Jun 2008 05:53:03 +0000 (01:53 -0400)]
Unbump version number