Chris Wilson [Sat, 20 Dec 2008 17:18:51 +0000 (17:18 +0000)]
Fix pixman-1-uninstalled.pc to point to the libtool library
Otherwise we fail to link when compiling cairo against the uninstalled
library.
Chris Wilson [Fri, 21 Nov 2008 01:20:38 +0000 (01:20 +0000)]
Allocate initial array of RegionInfo on the stack.
The region validate() code is frequently called by cairo as it is used to
extract regions from the trapezoids for fast-paths through the drawing
code and also for fast-path clipping and the RegionInfo allocation (as
well as the pixman_rect_alloc during the final union) appears as a hot
spot on application memory profiles.
Aaron Plattner [Wed, 17 Dec 2008 18:35:03 +0000 (10:35 -0800)]
Don't treat PIXMAN_TYPE_YUY2 and PIXMAN_TYPE_YV12 as PIXMAN_FORMAT_COLOR.
Various pieces of code expect PIXMAN_FORMAT_COLOR (and its less cool older
brother, PICT_FORMAT_COLOR) formats to have ARGB bits, and the YUV formats do
not.
Jeff Muizelaar [Fri, 5 Dec 2008 17:01:03 +0000 (12:01 -0500)]
[arm-simd] Add a comment about aligning source and destination pointers.
Jeff Muizelaar [Fri, 5 Dec 2008 16:45:03 +0000 (11:45 -0500)]
Check alignment of 'src' pointer in optimized ARM routines
fbCompositeSrcAdd_8000x8000arm() tries to align 'dst' already but must check
'src' too. Otherwise, the next 4-byte copy loop might access an odd 'src' address
causing an alignment trap.
Patch from Enrico Scholz
Keith Packard [Wed, 26 Nov 2008 06:04:29 +0000 (22:04 -0800)]
Merge commit 'origin/master'
Keith Packard [Wed, 26 Nov 2008 06:03:55 +0000 (22:03 -0800)]
Bump to 0.13.3 after 0.13.2 release
Keith Packard [Wed, 26 Nov 2008 05:37:54 +0000 (21:37 -0800)]
Bump version to 0.13.2 for release
Keith Packard [Mon, 24 Nov 2008 19:49:32 +0000 (11:49 -0800)]
Move matrix operations from X server to pixman
Signed-off-by: Keith Packard <keithp@keithp.com>
Jeff Muizelaar [Mon, 24 Nov 2008 20:11:24 +0000 (15:11 -0500)]
Optimize rectilinear nearest-neighbour scaling
Add a special case for a source transformation that is only a scale and
preserves rectangular pixels and doesn't rotate the image. Currently, only
SOURCE is special cased, however I plan to do more work in this area as needed.
The biggest advantage the specialization currently has is writing directly to
the destination surface instead of a temporary scanline buffer. However, it is
still pretty unoptimized but I want to keep things simple for now.
Jeff Muizelaar [Sat, 22 Nov 2008 02:35:30 +0000 (21:35 -0500)]
Unify scanline buffer types
Change the type of the stack based scanline buffer to uint8_t to match the rest
of the variables. Also premultiply the scanline buffer size by sizeof(uint32_t)
because the bpp can be either sizeof(uint32_t) or sizeof(uint64_t).
Jeff Muizelaar [Thu, 20 Nov 2008 15:41:40 +0000 (10:41 -0500)]
[arm-simd] Fix typo found by 王新拓
'and r7, %[upper_component_mask]' appears to by a short hand for
'and r7, %[upper_component_mask], %[upper_component_mask]'. Use
the explicit form to avoid any confusion.
David Woodhouse [Tue, 18 Nov 2008 21:01:11 +0000 (16:01 -0500)]
Less fragile Linux altivec detection
Instead of using really fragile SIGILL trapping, use a more reliable
detection method by checking what the CPU really supports.
https://bugzilla.redhat.com/show_bug.cgi?id=472000
https://bugzilla.redhat.com/show_bug.cgi?id=451831
Søren Sandmann Pedersen [Tue, 11 Nov 2008 04:18:09 +0000 (23:18 -0500)]
Make comments about PIXMAN_REFLECT more useful
Søren Sandmann Pedersen [Thu, 6 Nov 2008 04:58:56 +0000 (23:58 -0500)]
Various formatting fixes, and a simplification of the adjusting code
Søren Sandmann Pedersen [Wed, 5 Nov 2008 22:51:55 +0000 (17:51 -0500)]
Inline the fetchers
Søren Sandmann Pedersen [Wed, 5 Nov 2008 22:23:45 +0000 (17:23 -0500)]
Use fetch_nearest() instead of having duplicated code
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.