Søren Sandmann Pedersen [Fri, 1 May 2009 04:59:29 +0000 (00:59 -0400)]
Implement the sse2 combiners with masks (disabled)
Søren Sandmann Pedersen [Fri, 1 May 2009 04:58:38 +0000 (00:58 -0400)]
Use memcpy() in fbCombineSrcU when there is no mask
Søren Sandmann Pedersen [Thu, 30 Apr 2009 21:59:09 +0000 (17:59 -0400)]
Have the generic code go through the component alpha path always
Søren Sandmann Pedersen [Thu, 30 Apr 2009 21:53:48 +0000 (17:53 -0400)]
Get rid of separate combineU and combineC types
Søren Sandmann Pedersen [Thu, 30 Apr 2009 21:14:04 +0000 (17:14 -0400)]
Change type of combineU to take a mask
Søren Sandmann Pedersen [Thu, 30 Apr 2009 23:50:24 +0000 (19:50 -0400)]
Make combineC function type take const args
Fix type of mmx component alpha combiners
Fix type of sse2 component alpha combiners
Fix type of vmx component alpha combiners
Søren Sandmann Pedersen [Thu, 30 Apr 2009 06:54:32 +0000 (02:54 -0400)]
Remove accessor version of pixman-compose.c
Søren Sandmann Pedersen [Thu, 30 Apr 2009 06:51:09 +0000 (02:51 -0400)]
Remove unused xoff/yoff variables
Søren Sandmann Pedersen [Thu, 30 Apr 2009 06:50:18 +0000 (02:50 -0400)]
Move store logic into pixman-image.c
Søren Sandmann Pedersen [Thu, 30 Apr 2009 06:42:47 +0000 (02:42 -0400)]
Move fetch logic to pixman-image.c
Søren Sandmann Pedersen [Thu, 30 Apr 2009 06:25:48 +0000 (02:25 -0400)]
Simplify logic to compute store function
Søren Sandmann Pedersen [Thu, 30 Apr 2009 06:14:13 +0000 (02:14 -0400)]
Formatting
Søren Sandmann Pedersen [Thu, 30 Apr 2009 06:08:44 +0000 (02:08 -0400)]
Factor out duplicated fetcher finding code
Søren Sandmann Pedersen [Thu, 30 Apr 2009 06:03:03 +0000 (02:03 -0400)]
Get rid of SOURCE_IMAGE_CLASS_NEITHER again
Søren Sandmann Pedersen [Thu, 30 Apr 2009 05:49:13 +0000 (01:49 -0400)]
More refactoring notes
Søren Sandmann Pedersen [Thu, 30 Apr 2009 03:13:14 +0000 (23:13 -0400)]
Add notes on how Render actually works
Søren Sandmann Pedersen [Thu, 30 Apr 2009 00:15:20 +0000 (20:15 -0400)]
Move calls of the classification out of the if statements.
Søren Sandmann Pedersen [Wed, 29 Apr 2009 23:55:19 +0000 (19:55 -0400)]
Move SourcePictClassify into pixman-image.c
In preparation for making pixman_image_t more of a real object, move
SourcePictClassify into pixman-image.c and expose it through a
function pointer. Later, this function will be split into smaller
functions depending on the exact type of the image.
Søren Sandmann Pedersen [Wed, 29 Apr 2009 05:44:56 +0000 (01:44 -0400)]
More refactoring notes
Søren Sandmann Pedersen [Wed, 29 Apr 2009 03:02:49 +0000 (23:02 -0400)]
Add refactoring notes
Søren Sandmann Pedersen [Mon, 4 May 2009 22:54:27 +0000 (18:54 -0400)]
Mention utils.h in test/Makefile.am so that make dist will pick it up
Pointed out by Julien Cristau.
Søren Sandmann Pedersen [Mon, 4 May 2009 22:34:54 +0000 (18:34 -0400)]
Move all the GTK+ test code into its own file, utils.c
Søren Sandmann Pedersen [Wed, 29 Apr 2009 02:49:31 +0000 (22:49 -0400)]
Include string.h and fix warning in trap-test.c
Alan Coopersmith [Tue, 28 Apr 2009 15:44:47 +0000 (08:44 -0700)]
Add solaris-hwcap.mapfile to EXTRA_DIST
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Siarhei Siamashka [Mon, 20 Apr 2009 13:13:44 +0000 (16:13 +0300)]
Updated scaling test to support rgb565, source clipping, etc.
Now test provides better coverage for various image scaling
cases. Unused byte for x8r8g8b8 format is ignored. Running
the test program without any command line options provides
a PASS/FAIL verdict based on the precalculated crc32 value
for using pixman with all the fastpath functions disabled,
which should simplify testing for correcteness.
Søren Sandmann Pedersen [Sat, 25 Apr 2009 01:35:46 +0000 (21:35 -0400)]
Add trap-crasher.c test program
Based off of Pavel Kankovsky's test case in bug 16560.
Jeff Muizelaar [Tue, 21 Apr 2009 21:32:38 +0000 (17:32 -0400)]
Enable fbCompositeSolidMask_nx8x8888neon
Jeff Muizelaar [Tue, 21 Apr 2009 21:32:38 +0000 (17:32 -0400)]
Enable fbCompositeSolidMask_nx8x0565neon
Jeff Muizelaar [Tue, 21 Apr 2009 21:32:38 +0000 (17:32 -0400)]
Enable fbCompositeSrc_8888x8x8888neon
Jeff Muizelaar [Tue, 21 Apr 2009 21:32:38 +0000 (17:32 -0400)]
Enable fbCompositeSrc_8888x8888neon
Jeff Muizelaar [Tue, 21 Apr 2009 21:32:37 +0000 (17:32 -0400)]
Enable fbCompositeSrc_x888x0565neon
Jeff Muizelaar [Tue, 21 Apr 2009 21:32:37 +0000 (17:32 -0400)]
Enable fbCompositeSrcAdd_8000x8000neon
Jeff Muizelaar [Tue, 21 Apr 2009 21:32:37 +0000 (17:32 -0400)]
Enable fbCompositeSrcAdd_8888x8x8neon
Ian Rickards [Tue, 21 Apr 2009 21:32:36 +0000 (17:32 -0400)]
Add support for ARM NEON fast paths
Currently disabled
Jeff Muizelaar [Tue, 21 Apr 2009 21:32:36 +0000 (17:32 -0400)]
Add support for doing ARM simd detection on Windows
Jeff Muizelaar [Wed, 15 Apr 2009 14:38:37 +0000 (10:38 -0400)]
Add support for doing ARM simd detection on Windows
Søren Sandmann Pedersen [Fri, 10 Apr 2009 00:38:53 +0000 (20:38 -0400)]
Post-release version bump
Søren Sandmann Pedersen [Thu, 9 Apr 2009 20:38:05 +0000 (16:38 -0400)]
Pre-release version bump
Søren Sandmann Pedersen [Mon, 6 Apr 2009 19:25:03 +0000 (15:25 -0400)]
Fix search and replace issue
Alan Coopersmith [Fri, 3 Apr 2009 20:02:37 +0000 (13:02 -0700)]
Replace custom type ullong with standard uint64_t in pixman-mmx.c
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Alan Coopersmith [Fri, 3 Apr 2009 19:40:10 +0000 (12:40 -0700)]
Fix MMX & SSE intrinsics to work with Sun compilers & Solaris
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Søren Sandmann Pedersen [Sat, 4 Apr 2009 10:04:42 +0000 (06:04 -0400)]
Fix pixbuf_from_argb32() to take premultiplied alpha into account
Søren Sandmann Pedersen [Sat, 4 Apr 2009 09:57:20 +0000 (05:57 -0400)]
Add a new trap-test test program.
Also some tweaks to the build system in the test directory to make it
build non-gtk+-using application when use of gtk+ is disabled.
Siarhei Siamashka [Wed, 1 Apr 2009 22:26:24 +0000 (18:26 -0400)]
Set srcRepeat = False when using fbCompositeSrcScaleNearest
NORMAL repeat was broken (the optimized function can handle repeat operation
itself and can be screwed up if 'pixman_walk_composite_region' tries to help it
by splitting the work into handling multiple separate areas).
Splitting work into handling different areas does not work right for the
transform case (and it is never used for generic path). The point is that this
splitting only has full pixel precision at the moment, while correct blitting
needs to preserve some fractional part in calculations when moving from one
"tile" to another.
Siarhei Siamashka [Tue, 31 Mar 2009 17:58:56 +0000 (20:58 +0300)]
Image scaling regression test script
This test script can help in finding regressions in image scaling
fastpath implementations. It uses test program compiled with
and without fastpath code and can compare results of execution
for different pseudorandom compositing operations involving scaling.
Signed-off-by: Søren Sandmann Pedersen <sandmann@redhat.com>
Mark Kettenis [Tue, 24 Mar 2009 18:28:38 +0000 (14:28 -0400)]
Add support for BGRA and BGRx formats.
Chris Wilson [Tue, 17 Mar 2009 13:28:31 +0000 (13:28 +0000)]
Check for failure when intersecting regions.
Need to check and report the failure of intersecting the rectangle with
the clip region during pixman_image_fill_rectangles().
Chris Wilson [Tue, 17 Mar 2009 08:39:48 +0000 (08:39 +0000)]
Check for allocation errors during pixman_op()
Propagate the error returns from pixman_rect_alloc().
Søren Sandmann Pedersen [Wed, 11 Feb 2009 00:47:19 +0000 (19:47 -0500)]
Remove stale comment
Søren Sandmann Pedersen [Sat, 7 Feb 2009 00:41:24 +0000 (19:41 -0500)]
Add license and copyright holders to COPYING
Thomas Jaeger [Tue, 20 Jan 2009 23:40:46 +0000 (18:40 -0500)]
Implement PIXMAN_REPEAT_REFLECT for images
Søren Sandmann Pedersen [Fri, 6 Feb 2009 23:03:31 +0000 (18:03 -0500)]
Reinstate SrcScaledNearest optimization
Søren Sandmann Pedersen [Fri, 6 Feb 2009 23:01:57 +0000 (18:01 -0500)]
Bump version number post-release
Søren Sandmann Pedersen [Fri, 6 Feb 2009 22:31:32 +0000 (17:31 -0500)]
Bump version number pre release
Søren Sandmann Pedersen [Fri, 6 Feb 2009 22:30:24 +0000 (17:30 -0500)]
Comment out SrcScaledNearest optimization that hasn't been tested much
Søren Sandmann Pedersen [Fri, 6 Feb 2009 22:29:04 +0000 (17:29 -0500)]
Fix release targets to remove all hashfiles before generating tar balls
Jeff Muizelaar [Fri, 9 Jan 2009 17:48:22 +0000 (12:48 -0500)]
Add pixman-matrix.c to Makefile.win32
Jeff Muizelaar [Fri, 9 Jan 2009 17:48:20 +0000 (12:48 -0500)]
Conditionally include config.h in pixman-matrix.c to fix win32 build
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.