Vladimir Vukicevic [Wed, 7 Nov 2007 00:15:01 +0000 (16:15 -0800)]
Remove last CVS $Id$ tags
Søren Sandmann [Thu, 20 Dec 2007 05:23:18 +0000 (00:23 -0500)]
Don't use the pixbuf fast paths when the source picture has alpha. Bug
13650, reported by Wu Nian.
Søren Sandmann [Fri, 7 Dec 2007 23:59:54 +0000 (18:59 -0500)]
Guard MMX get_fast_path() with pixman_have_mmx()
Søren Sandmann [Mon, 3 Dec 2007 18:14:42 +0000 (13:14 -0500)]
Use -fvisibility=hidden by default.
Add a PIXMAN_EXPORT macro that expands to the appropriate GCC magic.
Various formatting fixes.
Søren Sandmann [Sun, 2 Dec 2007 03:50:05 +0000 (22:50 -0500)]
Make the tables static; remove unused flag
Søren Sandmann [Sun, 2 Dec 2007 02:56:25 +0000 (21:56 -0500)]
Set maskRepeat to FALSE when the function is NEED_SOLID_MASK
Søren Sandmann [Sun, 2 Dec 2007 01:55:56 +0000 (20:55 -0500)]
Conditionalize MMX code with USE_MMX
Søren Sandmann [Sun, 2 Dec 2007 01:54:13 +0000 (20:54 -0500)]
Add some commented-out plain C fast paths.
Søren Sandmann [Sun, 2 Dec 2007 01:46:29 +0000 (20:46 -0500)]
Delete switch of doom.
Søren Sandmann [Sun, 2 Dec 2007 01:41:49 +0000 (20:41 -0500)]
Check for correct op.
Søren Sandmann [Sun, 2 Dec 2007 01:35:03 +0000 (20:35 -0500)]
Add code to locate fast paths. Comment out switch of doom.
Søren Sandmann [Sun, 2 Dec 2007 00:56:26 +0000 (19:56 -0500)]
Beginning of the end for the Switch of Doom.
Add tables with information about the MMX and plain-C fast paths.
Update TODO.
Carl Worth [Tue, 30 Oct 2007 18:48:31 +0000 (11:48 -0700)]
Track name change from pixman.pc to pixman-1.pc in .gitignore
Alan Hourihane [Wed, 24 Oct 2007 20:39:34 +0000 (21:39 +0100)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/pixman into yuv-porting
Søren Sandmann Pedersen [Wed, 24 Oct 2007 19:48:45 +0000 (15:48 -0400)]
Bump version number
Alan Hourihane [Thu, 18 Oct 2007 16:33:43 +0000 (17:33 +0100)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/pixman into yuv-porting
Conflicts:
pixman/pixman-compose.c
pixman/pixman.h
Søren Sandmann [Thu, 18 Oct 2007 00:01:27 +0000 (20:01 -0400)]
Only compile with -msse on x86-64.
Søren Sandmann [Wed, 17 Oct 2007 23:20:55 +0000 (19:20 -0400)]
Make stride signed in various places. This should fix some the
crashers that people have reported in bug 12398.
Søren Sandmann [Wed, 17 Oct 2007 22:43:13 +0000 (18:43 -0400)]
Remove comma from enumerator list. Bug 12621, reported by Matt Kraai.
Søren Sandmann [Wed, 17 Oct 2007 22:40:28 +0000 (18:40 -0400)]
Add README file based on text from Bjorn Lindquist
Alan Hourihane [Wed, 17 Oct 2007 18:39:41 +0000 (19:39 +0100)]
Merge branch 'master' of git+ssh://git.freedesktop.org/git/pixman into yuv-porting
Conflicts:
pixman/pixman-image.c
Tilman Sauerbeck [Sat, 29 Sep 2007 20:45:42 +0000 (22:45 +0200)]
Fixed the declaration of pixman_image_set_source_clipping().
Chris Wilson [Thu, 27 Sep 2007 11:46:46 +0000 (12:46 +0100)]
[pixman-image] [mlk] Free the locally allocated bits.
If we fail to allocate the image, remember to free the bits if we have
created the buffer on behalf of the caller.
Chris Wilson [Thu, 27 Sep 2007 11:44:44 +0000 (12:44 +0100)]
[pixman-image] Avoid a potential malloc(0).
Do not attempt to allocate bits if either the image width or height is
0 - Cairo has a habit of attempting to create such surfaces when
generating glyphs. The malloc(0) may return a NULL pointer and be treated
as an out-of-memory error.
Chris Wilson [Thu, 27 Sep 2007 11:40:59 +0000 (12:40 +0100)]
[pixman-image] Avoid integer overflow when allocating bits.
Check for potential overflows at every step of the calculation of the
buffer size required for the pixels.
(Fixes https://bugs.freedesktop.org/show_bug.cgi?id=11627)
Jeff Muizelaar [Thu, 20 Sep 2007 19:40:17 +0000 (15:40 -0400)]
Fix special case selection when the mask has a transform
http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commitdiff;h=
c19ece1d8c32dc81740a4036a642661f54064e75
was a mismerge that avoided setting the maskTransform condition when the mask
has a transform. This allowed a special case routine to be chosen when the
mask had a transform, which is not expected by the special case routines.
José Fonseca [Mon, 17 Sep 2007 17:49:40 +0000 (18:49 +0100)]
Prevent promotion to unsigned when calculating strides.
José Fonseca [Mon, 17 Sep 2007 16:08:31 +0000 (17:08 +0100)]
Use a consistent type for stride and more importantly, use always a signed type.
José Fonseca [Fri, 14 Sep 2007 14:48:18 +0000 (15:48 +0100)]
Remove the macro magic from READ/WRITE macros.
José Fonseca [Fri, 14 Sep 2007 09:53:32 +0000 (10:53 +0100)]
Remove the MMX code path for YV12 for the meanwhile, as pixel output is not
exactly the same as the non-MMX code.
This reverts commit
c61d6ae39e5039dcb27bf95334a86520b562bbc5.
Carl Worth [Tue, 11 Sep 2007 15:29:06 +0000 (16:29 +0100)]
Fix build breakage when under the influence of USE_MMX
This was recently broken (
dc7c047d1c68f343b66e81d9e79084e4171e2634) when
removing an assignment to noinst_LTLIBRARIES.
Vladimir Vukicevic [Mon, 10 Sep 2007 22:20:44 +0000 (15:20 -0700)]
[memlk] don't try to allocate new data for 0-rectangle regions
José Fonseca [Fri, 7 Sep 2007 09:52:01 +0000 (10:52 +0100)]
MMX code path for YV12 copy, taken from the xserver glucose-2 branch.
José Fonseca [Fri, 7 Sep 2007 09:49:21 +0000 (10:49 +0100)]
YUV formats fetch support.
José Fonseca [Thu, 6 Sep 2007 11:27:12 +0000 (12:27 +0100)]
New test for image fetching.
José Fonseca [Wed, 5 Sep 2007 20:56:24 +0000 (21:56 +0100)]
Perform stride calculations inside the callback functions.
Vladimir Vukicevic [Tue, 4 Sep 2007 18:19:33 +0000 (11:19 -0700)]
[win32] Makefile and compilation fixes for win32
Vladimir Vukicevic [Tue, 4 Sep 2007 18:18:40 +0000 (11:18 -0700)]
compilation: build edge/compose with accessors separately
Simplify the build by creating a new file for pixman-compose and
pixman-edge built with accessor functions.
Carl Worth [Wed, 5 Sep 2007 00:24:04 +0000 (17:24 -0700)]
Don't copy unused bits to an alpha channel
This bug was identified by cairo's rgb24-ignore-alpha test which
blends RGB24 over ARGB32 and notices that "alpha" values are
making it from the source to the destination.
Vladimir Vukicevic [Sun, 26 Aug 2007 06:30:41 +0000 (23:30 -0700)]
rasterize traps that extend outside of the image bounds correctly
Traps that extend outside of the image bounds are rasterized incorrectly
currently; the problem is a signed vs. unsigned comparison that got
introduced when a width parameter went from int -> uint. This patch
puts it back to int (since it's stored as an int in the bits structure
to begin with), and also fixes a similar warning in the memset wrapper
Søren Sandmann [Fri, 24 Aug 2007 20:49:29 +0000 (16:49 -0400)]
Set accessors for the destination image in composite-test.c
Søren Sandmann [Fri, 24 Aug 2007 20:30:10 +0000 (16:30 -0400)]
Add missing comma in enum
Søren Sandmann [Fri, 24 Aug 2007 20:19:31 +0000 (16:19 -0400)]
Remove trailing comma in enum
Søren Sandmann [Fri, 24 Aug 2007 20:12:30 +0000 (16:12 -0400)]
Add conjoint and disjoint operators to pixman.h
Søren Sandmann Pedersen [Tue, 21 Aug 2007 20:31:45 +0000 (16:31 -0400)]
Merge branch 'master' of ssh+git://sandmann@git.freedesktop.org/git/pixman
Søren Sandmann Pedersen [Tue, 21 Aug 2007 18:11:54 +0000 (14:11 -0400)]
Fix bug 12039, based on Chris Wilson's patch.
Eric Anholt [Mon, 20 Aug 2007 19:58:47 +0000 (12:58 -0700)]
Fix failure to set identity transform in pixman.
While here, optimize out a free/malloc in the case where a transform
existed previously and the new transform is non-identity.
Søren Sandmann Pedersen [Fri, 17 Aug 2007 22:01:09 +0000 (18:01 -0400)]
Add pixman_image_set_source_clipping()
Carl Worth [Wed, 15 Aug 2007 17:16:11 +0000 (10:16 -0700)]
Fix typo AC_MAJOR -> PIXMAN_MAJOR
This typo was causing build failures for some. Thanks to David Sharp for
pointing out the problem.
Aaron Plattner [Tue, 14 Aug 2007 23:16:27 +0000 (16:16 -0700)]
Remove redundant defines.
Arcady Goldmints-Orlov [Tue, 14 Aug 2007 00:37:59 +0000 (17:37 -0700)]
One more minor wrapping fix
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Arcady Goldmints-Orlov [Mon, 13 Aug 2007 22:20:18 +0000 (15:20 -0700)]
Remove unnecessary wrapping from fbFetch/fbStore.
These functions fetch from a picture to a scanline buffer, or store
from a scanline buffer to a picture. Since pixman allocates its own
scanline buffer, we don't need to wrap accesses to it.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Aaron Plattner [Tue, 14 Aug 2007 00:26:51 +0000 (17:26 -0700)]
Don't skip fbFetch/fbStore when PIXMAN_FB_ACCESSORS is enabled.
pixman_composite_rect_general_accessors skips the fetch / store steps by setting
store to NULL when the op is ADD or OVER and the dest format is [ax]8r8g8b8.
This optimization is only valid when no accessors are in play.
Eric Anholt [Tue, 7 Aug 2007 03:06:48 +0000 (20:06 -0700)]
Update .pc file for library version name change.
Aaron Plattner [Wed, 1 Aug 2007 21:16:55 +0000 (14:16 -0700)]
Return a bool from pixman_image_unref.
Returns TRUE when the refcount reaches 0 and the image is freed.
Søren Sandmann Pedersen [Mon, 6 Aug 2007 21:28:06 +0000 (17:28 -0400)]
Bump version number; fix typo in configure.ac
Søren Sandmann Pedersen [Mon, 6 Aug 2007 21:24:44 +0000 (17:24 -0400)]
Change the library name to pixman-1
Set the soname to something based on the library version.
Vladimir Vukicevic [Fri, 3 Aug 2007 22:24:03 +0000 (15:24 -0700)]
Fix OpenSolaris compilation
Alan Coopersmith [Mon, 16 Jul 2007 19:06:23 +0000 (15:06 -0400)]
Build fixes for Solaris.
Jinghua Luo [Tue, 10 Jul 2007 06:47:28 +0000 (14:47 +0800)]
Fix bug in rasterizeEdges() where the stride should be signed.
Søren Sandmann [Mon, 2 Jul 2007 16:18:42 +0000 (12:18 -0400)]
Port Vlad's fixes for integer overflows with malloc().
Søren Sandmann [Fri, 22 Jun 2007 17:37:46 +0000 (13:37 -0400)]
Revert "Add a cache of images to reduce malloc/free time"
Revert the image cache since it isn't thread safe.
This reverts commit
deb09d769ae4fc55cde595c170f417692284b3e8.
Søren Sandmann Pedersen [Fri, 22 Jun 2007 04:58:05 +0000 (00:58 -0400)]
Don't treat void as a value. Bug 11322, Alan Coopersmith.
Vladimir Vukicevic [Wed, 20 Jun 2007 19:13:30 +0000 (15:13 -0400)]
Add pixman_region_init_rects()
Søren Sandmann Pedersen [Wed, 20 Jun 2007 16:12:43 +0000 (12:12 -0400)]
Fix typo
Alex Larsson [Wed, 20 Jun 2007 16:01:12 +0000 (12:01 -0400)]
Add non-mmx fast paths for In_8x8 and In_nx8x8. Bug 4191, patch by
Alex Larsson.
Søren Sandmann Pedersen [Wed, 20 Jun 2007 15:36:22 +0000 (11:36 -0400)]
Add fbCompositeSrc_8888xx888(); comment out
fbCompositeOver_x888x8x8888{mmx} since they are not actually faster
than the generic code.
Søren Sandmann Pedersen [Tue, 19 Jun 2007 18:41:04 +0000 (14:41 -0400)]
Optimize pixman_fill_rectangles() in a few more cases
Søren Sandmann Pedersen [Tue, 19 Jun 2007 16:41:21 +0000 (12:41 -0400)]
Add a cache of images to reduce malloc/free time
Søren Sandmann Pedersen [Tue, 19 Jun 2007 15:23:05 +0000 (11:23 -0400)]
Also store the g3 part correctly
Søren Sandmann Pedersen [Tue, 19 Jun 2007 15:19:43 +0000 (11:19 -0400)]
Fix fbStore_b2g3r3(). Pointed out by Dan Amelang
Søren Sandmann Pedersen [Tue, 19 Jun 2007 14:46:36 +0000 (10:46 -0400)]
Smplify the 1x1r optimization for the general compositing and fix the
1xn and nx1 cases.
Søren Sandmann Pedersen [Tue, 19 Jun 2007 14:40:58 +0000 (10:40 -0400)]
Fix pixman_fill() to return TRUE when it succeeded
Søren Sandmann Pedersen [Tue, 19 Jun 2007 04:57:33 +0000 (00:57 -0400)]
Add in 0xff alpha channel in Over_x888x8x8888mmx
Søren Sandmann Pedersen [Tue, 19 Jun 2007 04:35:58 +0000 (00:35 -0400)]
Fix solid fill optimization to compute the src correctly
Søren Sandmann Pedersen [Mon, 18 Jun 2007 18:29:02 +0000 (14:29 -0400)]
Add non-mmx solid fills. Update TODO
Søren Sandmann Pedersen [Mon, 18 Jun 2007 17:37:20 +0000 (13:37 -0400)]
Make sure the output of fbCompositeOver_x888x8x8888 is actually stored
Søren Sandmann Pedersen [Mon, 18 Jun 2007 03:10:23 +0000 (23:10 -0400)]
Also use this function in the xBGR case
Søren Sandmann Pedersen [Mon, 18 Jun 2007 02:57:47 +0000 (22:57 -0400)]
Add new fbCompositeOver_x888x8x8888mmx() operation
Søren Sandmann Pedersen [Mon, 18 Jun 2007 02:43:55 +0000 (22:43 -0400)]
Add fbCompositeOver_x888x8x8888() fast path
Søren Sandmann Pedersen [Mon, 18 Jun 2007 02:24:46 +0000 (22:24 -0400)]
Rename fbCompositeSrc_x888x8x8888 to x888xnx8888
Søren Sandmann Pedersen [Sun, 17 Jun 2007 22:50:00 +0000 (18:50 -0400)]
Remove accidentally committed use of TIMER_BEGIN/END
Søren Sandmann Pedersen [Sun, 17 Jun 2007 22:49:02 +0000 (18:49 -0400)]
Merge branch 'master' of ssh+git://sandmann@git.freedesktop.org/git/pixman
Søren Sandmann [Sun, 17 Jun 2007 22:55:37 +0000 (18:55 -0400)]
Add timer macros
Søren Sandmann Pedersen [Sun, 17 Jun 2007 22:02:06 +0000 (18:02 -0400)]
Update TODO
Søren Sandmann Pedersen [Sun, 17 Jun 2007 05:00:07 +0000 (01:00 -0400)]
Optimize fill rectangles in the op=PIXMAN_OP_CLEAR case
Søren Sandmann [Sun, 17 Jun 2007 03:08:53 +0000 (23:08 -0400)]
Use the general code in some cases even when a fast path is available
If src or mask are repeating 1x1 images and srcRepeat or
maskRepeat are still TRUE, it means the fast path we
selected does not actually handle repeating images.
So rather than call the "fast path" with a zillion
1x1 requests, we just use the general code (which does
do something sensible with 1x1 repeating images).
Søren Sandmann [Sun, 17 Jun 2007 02:10:36 +0000 (22:10 -0400)]
Remove ACCESS_MEM macro; define READ and WRITE to directly use the wrapper functions
Søren Sandmann [Sun, 17 Jun 2007 01:40:43 +0000 (21:40 -0400)]
Move some utility functions from pixman-edge.c to pixman-utils.c
Set up so pixman-edge.c is compiled twice.
Søren Sandmann [Sun, 17 Jun 2007 01:23:20 +0000 (21:23 -0400)]
Slight tweak to the definition of pixman_composeFunctions
Søren Sandmann [Sun, 17 Jun 2007 01:19:51 +0000 (21:19 -0400)]
Add #defines etc to compile pixman-compose.c twice
Søren Sandmann Pedersen [Sat, 16 Jun 2007 19:13:04 +0000 (15:13 -0400)]
Make fbCompositeSrc_8888x8888mmx() check if the mask is 0
Søren Sandmann Pedersen [Sat, 16 Jun 2007 18:56:25 +0000 (14:56 -0400)]
Unroll loop in fbComposite_x888x8x8888()
Søren Sandmann Pedersen [Sat, 16 Jun 2007 18:49:11 +0000 (14:49 -0400)]
Optimize 1x1 repeating images in the general case
Reinstate checks for empty masks in mmxCombineOverU() and mmxCombineMaskU()
Søren Sandmann Pedersen [Sat, 16 Jun 2007 16:55:59 +0000 (12:55 -0400)]
Add a few optimizations for solid fills
Søren Sandmann Pedersen [Sat, 16 Jun 2007 05:40:07 +0000 (01:40 -0400)]
Plug leak of the gradient stops
Søren Sandmann Pedersen [Sat, 16 Jun 2007 05:15:05 +0000 (01:15 -0400)]
Plug leak in the bits=NULL case for pixman_image_create_bits()
Søren Sandmann Pedersen [Fri, 15 Jun 2007 18:33:57 +0000 (14:33 -0400)]
When setting identity transformations store them as NULL to prevent
hitting the general compositing code.
Søren Sandmann [Fri, 15 Jun 2007 05:45:04 +0000 (01:45 -0400)]
Turn off debug spew for incorrect arguments
Søren Sandmann [Fri, 15 Jun 2007 04:15:03 +0000 (00:15 -0400)]
Disable source clipping by default