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.
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
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
Søren Sandmann [Thu, 14 Jun 2007 21:37:12 +0000 (17:37 -0400)]
Update TODO
Søren Sandmann [Thu, 14 Jun 2007 21:35:28 +0000 (17:35 -0400)]
Update TODO
Søren Sandmann [Thu, 14 Jun 2007 21:34:42 +0000 (17:34 -0400)]
Update TODO
Søren Sandmann [Thu, 14 Jun 2007 16:59:15 +0000 (12:59 -0400)]
Reset clip regions correctly when NULL is passed
Søren Sandmann [Wed, 13 Jun 2007 03:50:04 +0000 (23:50 -0400)]
Make default clip region the full image
Søren Sandmann [Wed, 13 Jun 2007 03:37:25 +0000 (23:37 -0400)]
Don't complain if users try to read non-existing data from images
Søren Sandmann [Wed, 13 Jun 2007 02:53:35 +0000 (22:53 -0400)]
Don't require rowstride to be a multiple of 4 when bits is NULL
Søren Sandmann [Wed, 13 Jun 2007 02:14:32 +0000 (22:14 -0400)]
Add pixman_fill_rectangles()
Søren Sandmann [Tue, 12 Jun 2007 19:32:27 +0000 (15:32 -0400)]
Add pixman_add_trapezoids() function
Søren Sandmann [Tue, 12 Jun 2007 19:27:31 +0000 (15:27 -0400)]
Add boolean returns to various setters
Søren Sandmann [Tue, 12 Jun 2007 18:30:53 +0000 (14:30 -0400)]
Allow bits to be NULL when bit images are created
Søren Sandmann [Tue, 12 Jun 2007 18:24:40 +0000 (14:24 -0400)]
Add various accessors; remove composite_rect
Søren Sandmann Pedersen [Tue, 12 Jun 2007 02:02:03 +0000 (22:02 -0400)]
Bump version number
Søren Sandmann Pedersen [Tue, 12 Jun 2007 01:39:24 +0000 (21:39 -0400)]
Make use of pixman_fill_mmx() in various places. Delete #if0'ed code
Søren Sandmann Pedersen [Tue, 12 Jun 2007 01:35:14 +0000 (21:35 -0400)]
Add pixman_fill_mmx() function
Søren Sandmann Pedersen [Mon, 11 Jun 2007 18:55:31 +0000 (14:55 -0400)]
Forgotten fbHaveMMX()
Søren Sandmann Pedersen [Mon, 11 Jun 2007 18:54:44 +0000 (14:54 -0400)]
Rename fbHaveMMX() pixman_have_mmx()
Guard pixman_blt_mmx() with pixman_have_mmx()
Søren Sandmann Pedersen [Mon, 11 Jun 2007 18:41:01 +0000 (14:41 -0400)]
Add pixman_blt_mmx() based on fbBltmmx() from the X server.
Implement fbCompositeAreammx() in terms of it.
Uncomment calls to fbCompositeAreammx() in pixman-pict.c
Add public pixman_blt() that just returns false if not using mmx.
Søren Sandmann Pedersen [Mon, 11 Jun 2007 13:15:05 +0000 (09:15 -0400)]
Bump version number
Søren Sandmann Pedersen [Mon, 11 Jun 2007 04:22:19 +0000 (00:22 -0400)]
Add a version of miComputeCompositeRegion; call it from
pixman_image_composite(). Remove const from return value of
pixman_region_rectangles().
Søren Sandmann Pedersen [Tue, 5 Jun 2007 15:33:17 +0000 (11:33 -0400)]
Fix bug in pixman_image_set_filter() where only the parameters were
updated, not the filter type. Reported by Michel Dänzer.
Daniel Stone [Thu, 24 May 2007 13:24:39 +0000 (16:24 +0300)]
Add .gitignore file
Daniel Stone [Thu, 24 May 2007 13:19:40 +0000 (16:19 +0300)]
Use canonical autogen.sh
Use the standard autogen.sh, which allows for srcdir != builddir.
Soren Sandmann Pedersen [Wed, 23 May 2007 20:38:38 +0000 (16:38 -0400)]
Declare the two new trapezoid functions in pixman.h
Søren Sandmann [Wed, 23 May 2007 20:40:23 +0000 (16:40 -0400)]
Add pixman-trap with the trapezoid rasterization code from the X server.
Add two different trapezoid types that X makes use of.
Soren Sandmann Pedersen [Wed, 23 May 2007 20:09:49 +0000 (16:09 -0400)]
Make sure gradient-test.c builds when srcdir != buildir. Patch from
Julien Cristau <jcristau@debian.org>.
Søren Sandmann [Wed, 23 May 2007 19:39:03 +0000 (15:39 -0400)]
Fix bug in rasterizeEdges() where the stride was treated as if in
bytes, when it was in uint32_t's. Formatting fixes. Delete misleading
comment from pixman-private.h
Soren Sandmann Pedersen [Wed, 23 May 2007 16:18:09 +0000 (12:18 -0400)]
Fix function name
Soren Sandmann Pedersen [Tue, 22 May 2007 17:39:25 +0000 (13:39 -0400)]
Add more edge functions