Aaron Plattner [Thu, 24 Apr 2008 00:30:14 +0000 (17:30 -0700)]
Use wide compositing functions when wide == 1.
Signed-off-by: Soren Sandmann Pedersen <sandmann@redhat.com>
Aaron Plattner [Tue, 15 Apr 2008 20:58:27 +0000 (13:58 -0700)]
Add infrastructure for allocating wide scanline buffers. Not yet used.
Signed-off-by: Soren Sandmann Pedersen <sandmann@redhat.com>
Aaron Plattner [Tue, 15 Apr 2008 20:13:46 +0000 (13:13 -0700)]
Split fetch/fetchPixel/store proc types into 32-bit and 64-bit versions.
Signed-off-by: Soren Sandmann Pedersen <sandmann@redhat.com>
Aaron Plattner [Fri, 4 Apr 2008 21:43:48 +0000 (14:43 -0700)]
Move the scanline buffer allocation logic into pixman_composite_rect_general.
Pass the src, mask, and dest buffers into pixman_composite_rect_general_* as
void* pointers since those functions should not do pointer arithmetic.
Signed-off-by: Soren Sandmann Pedersen <sandmann@redhat.com>
Søren Sandmann [Thu, 15 May 2008 05:07:59 +0000 (01:07 -0400)]
Update TODO
Søren Sandmann [Thu, 15 May 2008 05:00:28 +0000 (01:00 -0400)]
Work around GCC bug causing crashes in Mozilla with SSE2
When using SSE2 intrinsics, gcc assumes that the stack is 16 byte
aligned. Unfortunately some code, such as Mozilla and Mono contain
code that aligns the stack to 4 bytes.
The __force_align_arg_pointer__ makes gcc generate a prologue that
realigns the stack pointer to 16 bytes. Fix bug 15693.
Søren Sandmann [Thu, 8 May 2008 02:27:56 +0000 (22:27 -0400)]
Add support for 8 bit fills in pixman_fill_mmx()
Richard Hult [Sat, 3 May 2008 19:03:00 +0000 (15:03 -0400)]
Add --disable-gtk switch to configure
Signed-off-by: Søren Sandmann <sandmann@redhat.com>
Søren Sandmann [Sat, 3 May 2008 01:10:07 +0000 (21:10 -0400)]
Update TODO
Oswald Buddenhagen [Thu, 1 May 2008 08:50:58 +0000 (10:50 +0200)]
fix pixman compile with srcdir != builddir
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Thomas Zimmermann [Sat, 26 Apr 2008 02:13:24 +0000 (22:13 -0400)]
Remove trailing comma from enum (bug 15364)
Alan Coopersmith [Fri, 25 Apr 2008 01:10:56 +0000 (18:10 -0700)]
Fix pixman/Makefile.am to work with Solaris make
André Tupinambá [Wed, 23 Apr 2008 04:18:39 +0000 (00:18 -0400)]
Add SSE2 implementations of many compositing operations.
Søren Sandmann [Sat, 12 Apr 2008 04:22:35 +0000 (00:22 -0400)]
Simplify handling compiler handling in MMX code
Instead of using the parameters --param inline-unit-growth=10000 and
--param large-function-growth=10000", just make the inline functions
__always_inline__.
Also support Intel's compiler in pixman-mmx.c.
Based on a patch by Serhat <ubunturk@gmail.com>
Aaron Plattner [Fri, 4 Apr 2008 00:27:08 +0000 (17:27 -0700)]
Use a macro to append _accessors to things.
Signed-off-by: Søren Sandmann <sandmann@redhat.com>
Aaron Plattner [Wed, 2 Apr 2008 00:26:03 +0000 (17:26 -0700)]
Generate 64-bit combining functions.
Copy some macros from pixman-private.h into combine.inc and update them to
generate 64-bit versions as appropriate. Add a rule to generate
pixman-combine64.c and add it to the build.
Signed-off-by: Søren Sandmann <sandmann@redhat.com>
Aaron Plattner [Tue, 1 Apr 2008 23:31:26 +0000 (16:31 -0700)]
Replace hardcoded numbers and uint*_t in combine.inc.
The masks and shifts have been replaced with preprocessor defines generated by
combine.pl. The uint*_t types have been replaced with comp4_t, comp2_t, and
comp1_t depending on how many components the value is supposed to hold.
Signed-off-by: Søren Sandmann <sandmann@redhat.com>
Aaron Plattner [Mon, 31 Mar 2008 23:42:53 +0000 (16:42 -0700)]
Tack 32 onto the ends of the combining function types.
Signed-off-by: Søren Sandmann <sandmann@redhat.com>
Aaron Plattner [Mon, 31 Mar 2008 23:33:09 +0000 (16:33 -0700)]
Move combining routines into combine.inc and add a Perl rule to generate it.
This will eventually be used to search & replace types and mask/shift
calculations to generate a wide version of these functions.
Signed-off-by: Søren Sandmann <sandmann@redhat.com>
Aaron Plattner [Mon, 31 Mar 2008 23:09:44 +0000 (16:09 -0700)]
Move combining macros into pixman-combine.c.
Signed-off-by: Søren Sandmann <sandmann@redhat.com>
Søren Sandmann [Thu, 10 Apr 2008 01:39:29 +0000 (21:39 -0400)]
Require GCC 3.4 for SSE and SSE2.
Also include <emmintrin.h> in the SSE2 test and use SSE_FLAGS rather than MMX_FLAGS
Reported by Dave Yeo.
Søren Sandmann [Wed, 9 Apr 2008 01:58:00 +0000 (21:58 -0400)]
Fix bug in FbStore_b2g3r3
Antoine Azar [Sun, 6 Apr 2008 14:56:53 +0000 (10:56 -0400)]
Optimize operators based on source or dest opacity.
Check if we can replace our operator by a simpler one if the src or
dest are opaque The output operator should be mathematically
equivalent to the source.
Julien Cristau [Sun, 6 Apr 2008 15:12:12 +0000 (17:12 +0200)]
Revert "pixman-version.h is generated, don't distribute it"
This reverts commit
4fd8910ea499eb484e29c44dbee7dbc029656e9c.
Julien Cristau [Fri, 4 Apr 2008 19:36:02 +0000 (21:36 +0200)]
pixman-version.h is generated, don't distribute it
Frederic Plourde [Thu, 3 Apr 2008 20:52:54 +0000 (13:52 -0700)]
Add CopyAreammx fast path for argb32 SRC xrgb32 and abgr32 SRC xbgr32
Julien Cristau [Sun, 30 Mar 2008 18:53:42 +0000 (20:53 +0200)]
Remove prototype for nonexistent pixman_image_set_filter_params
Aaron Plattner [Fri, 28 Mar 2008 19:26:18 +0000 (12:26 -0700)]
Get rid of pixman_composeFunctions_accessors.
The combining functions operate on scratch memory, so they don't need the access
wrappers. There's also no reason not to use the MMX combining functions in the
accessor path.
Aaron Plattner [Fri, 28 Mar 2008 19:16:07 +0000 (12:16 -0700)]
Fix test build when srcdir != builddir.
The tests were including pixman.h, but pixman.h couldn't find pixman-version.h
because it was in $(top_builddir)/pixman rather than $(top_srcdir)/pixman.
Søren Sandmann Pedersen [Fri, 28 Mar 2008 09:23:34 +0000 (05:23 -0400)]
Post-release version bump
Søren Sandmann Pedersen [Thu, 27 Mar 2008 14:08:35 +0000 (10:08 -0400)]
Fix log generation
Søren Sandmann Pedersen [Thu, 27 Mar 2008 14:07:11 +0000 (10:07 -0400)]
Bump version to 0.10.0.
Also a bunch of changes to the release make targets
Søren Sandmann Pedersen [Thu, 27 Mar 2008 12:37:29 +0000 (08:37 -0400)]
Make username configurable; add Makefile.win32 to EXTRA_DIST
Vladimir Vukicevic [Wed, 26 Mar 2008 23:10:43 +0000 (16:10 -0700)]
Fix up unsigned long long/ullong usage
A few stray "unsigned long long"s were in place, along with
a ullong typedef outside of the appropriate ifdef.
Søren Sandmann [Wed, 26 Mar 2008 06:20:42 +0000 (02:20 -0400)]
Make it distcheck
Søren Sandmann [Wed, 26 Mar 2008 05:49:56 +0000 (01:49 -0400)]
Move version functions from pixman-version.c into pixman-utils.c.
Delete pixman-version.c
Søren Sandmann [Wed, 26 Mar 2008 03:11:19 +0000 (23:11 -0400)]
Make pixman-version.h print an error if you include it by itself
Søren Sandmann [Wed, 26 Mar 2008 03:07:03 +0000 (23:07 -0400)]
Update TODO
Carl Worth [Wed, 26 Mar 2008 02:43:40 +0000 (19:43 -0700)]
Eliminate duplicate case values that were breaking the compilation.
Carl Worth [Tue, 25 Mar 2008 20:12:29 +0000 (13:12 -0700)]
New API: pixman_format_supported_destination and pixman_format_supported_source
These functions allow for callers to use the PIXMAN_FORMAT macro to
construct a format code and to then determine if the resulting code
is supported by pixman for either destination or source surfaces.
Carl Worth [Mon, 24 Mar 2008 21:51:09 +0000 (14:51 -0700)]
Add pixman_version function and related macros
The complete new API here makes available compile-tim version checks:
PIXMAN_VERSION
PIXMAN_VERSION_STRING
PIXMAN_VERSION_ENCODE
as well as run-time version checks:
pixman_version()
pixman_version_string()
Carl Worth [Mon, 24 Mar 2008 19:00:46 +0000 (12:00 -0700)]
Increment pixman version to 0.9.7
This represents the in-development state, (so that the next release
will be 0.9.8 with an even-number micro component).
Carl Worth [Mon, 24 Mar 2008 18:58:33 +0000 (11:58 -0700)]
Document incrementing the micro version immediately after a release
This is a cairo-like scheme where the version number is incremented
both immediately before and immediately after a release.
Vladimir Vukicevic [Tue, 25 Mar 2008 18:45:56 +0000 (11:45 -0700)]
Only define pixman_have_sse() as function if USE_SSE2 is also defined
.. otherwise it's already a macro evaluating to FALSE.
Aaron Plattner [Sat, 22 Mar 2008 01:59:45 +0000 (18:59 -0700)]
Move fbFetchTransformed and friends into pixman-transformed.c.
Aaron Plattner [Sat, 22 Mar 2008 01:18:50 +0000 (18:18 -0700)]
Move pixmanFetchSourcePict and friends into pixman-source.c.
Aaron Plattner [Sat, 22 Mar 2008 01:06:54 +0000 (18:06 -0700)]
Move fetch, fetchPixel, and store routines into pixman-access.c.
Aaron Plattner [Sat, 22 Mar 2008 00:13:32 +0000 (17:13 -0700)]
Get rid of fbPrepareAccess and fbFinishAccess, since the former was unused and neither one did anything anyway.
Aaron Plattner [Fri, 21 Mar 2008 21:15:34 +0000 (14:15 -0700)]
Rename pixman-compose-operators.c to pixman-combine.c and fix the build.
Add pixman-combine.c to the source list. Make the functions in it static. Call
fbCombineInU through the PIXMAN_COMPOSE_FUNCTIONS table. Declare the functions
tables as extern in pixman-private.h.
Antoine Azar [Thu, 21 Feb 2008 08:38:46 +0000 (03:38 -0500)]
[PATCH] Moved all composition operators from pixman-compose.c to their own c/h file
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Kamalneet Singh [Wed, 19 Mar 2008 14:02:11 +0000 (10:02 -0400)]
Fix computation of x_offset in pixman_add_traps.
nmiell@gmail.com [Sat, 15 Mar 2008 05:23:19 +0000 (22:23 -0700)]
Fix the SSE related AMD64 build breakage
The introduction of pixman_have_sse() copied the #ifdef __amd64__
found around pixman_have_mmx() in pixman-mmx.c but didn't include the
equivalents of the macros in pixman-mmx.h. As a result, the AMD64 link
fails because the pixman_have_sse() function doesn't exist.
I also introduced header inclusion guards to pixman-mmx.h and
pixman-sse.h while I was at it.
Søren Sandmann [Fri, 14 Mar 2008 23:24:28 +0000 (19:24 -0400)]
Fix typo; include pixman-sse.h
Søren Sandmann [Fri, 14 Mar 2008 23:20:34 +0000 (19:20 -0400)]
Require MMX and MMX_Extensions for SSE. Various code style fixes.
Rodrigo Kumpera [Fri, 14 Mar 2008 23:11:17 +0000 (19:11 -0400)]
Add build system support for SSE2.
Frederic Plourde [Thu, 13 Mar 2008 21:24:08 +0000 (14:24 -0700)]
Enable/fix MMX compilation under Win32 with Visual Studio
Søren Sandmann [Tue, 11 Mar 2008 03:41:52 +0000 (23:41 -0400)]
Add rounding epsilon for NEAREST filter after transformation, not before.
For nearest filtering, the transformed location must be rounded to the
nearest sample. For locations that precisely in the middle between two
samples, we round down by adding -epsilon to the coordinates.
Before, we would do this on untransformed coordinates. This patch
changes it to happen after transformation. It also clarifies the
difference between sample locations and rounding.
Reported by Robert O'Callahan.
Antoine Azar [Wed, 5 Mar 2008 23:27:11 +0000 (15:27 -0800)]
Fixed transformed/untransformed cases of extend_pad by using fbfetchtransformed in all cases and making sure no fast path can be taken.
Søren Sandmann [Fri, 29 Feb 2008 23:32:44 +0000 (18:32 -0500)]
Update TODO
Antoine Azar [Tue, 26 Feb 2008 21:36:22 +0000 (16:36 -0500)]
Fix EXTEND_PAD for untransformed sources
Søren Sandmann Pedersen [Tue, 26 Feb 2008 01:12:42 +0000 (20:12 -0500)]
Fix another NULL dereference in pixman-compose.c, reported by Joel
Bosveld.
Update TODO.
Bertram Felgenhauer [Thu, 14 Feb 2008 15:40:54 +0000 (16:40 +0100)]
Fix a NULL pointer dereference in fbFetchFromNRectangles().
As pointed out by Soeren Sandmann Pedersen, calling
pixman_region_contains_point with a NULL box argument leads to a crash.
Also fix a few warnings.
Antoine Azar [Tue, 29 Jan 2008 10:53:03 +0000 (11:53 +0100)]
Refactor fbFetchTransformed()
Vladimir Vukicevic [Sun, 27 Jan 2008 22:49:12 +0000 (14:49 -0800)]
Include only pixman-private.h, not pixman.h, in local .c files
This is so that changes (such as symbol renames) can take place in
pixman-private and ensure that they're included before the prototypes from
pixman.h. pixman-private.h includes pixman.h right at the start.
Bertram Felgenhauer [Wed, 23 Jan 2008 15:08:48 +0000 (16:08 +0100)]
export pixman_transform_point_3d function
Carl Worth [Wed, 23 Jan 2008 00:33:58 +0000 (16:33 -0800)]
A tiny amount of ifdef reduction.
Just moving two common assignments outside the condition to
drop the #else part.
Carl Worth [Wed, 23 Jan 2008 00:31:44 +0000 (16:31 -0800)]
Merge commit 'inte/sampling'
Carl Worth [Tue, 30 Oct 2007 20:03:18 +0000 (13:03 -0700)]
Ignore test/fetch-test
Carl Worth [Tue, 30 Oct 2007 19:52:19 +0000 (12:52 -0700)]
Add release-publish target and RELEASING instructions
Bertram Felgenhauer [Tue, 22 Jan 2008 07:00:05 +0000 (08:00 +0100)]
eliminate a special case in fbRasterizeEdges{4,8}.
Bertram Felgenhauer [Tue, 22 Jan 2008 06:57:54 +0000 (07:57 +0100)]
fix cairo's a1-traps-sample test
For 1 bit alpha targets, the left and right boundaries of edges were
not rounded correctly.
Bertram Felgenhauer [Sat, 19 Jan 2008 12:29:56 +0000 (13:29 +0100)]
fix cairo's a1-image-sample test
Move the sampling point for image surfaces very slightly so that it's in
the upper left quadrant of the pixel.
Alp Toker [Tue, 15 Jan 2008 21:34:57 +0000 (16:34 -0500)]
Avoid use of C++ keyword xor in header
Vladimir Vukicevic [Wed, 16 Jan 2008 00:51:59 +0000 (16:51 -0800)]
Remove trailing ; in SETUP_YV12 macro
Causes compilation problems with MSVC.
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.