Commit graph

17 commits

Author SHA1 Message Date
David Turner
ae4f37e0a3 fixing gradient repeat mode computations
This fixes the regression of linear gradient as demonstrated
by the recently added linear-gradient-reflect test.
2007-02-02 16:42:43 -08:00
David Turner
e9bef30d2b Optimize gradient computations
We update the test suite reference images where needed, (pdiff
avoided a few, but most still needed updating). We take advantage
of the need for new reference images to shrink some of the giant
tests to speed them up a bit.

This optimization provides a 2x improvement in linear gradient
generation performance (numbers from an x86 laptop):

image-rgb    paint_linear_rgba_source-512 26.13 -> 11.13: 2.35x speedup
█▍
image-rgb    paint_linear_rgba_source-256  6.47 ->  2.76: 2.34x speedup
█▍
image-rgba      paint_linear_rgb_over-256  6.51 ->  2.86: 2.28x speedup
█▎
image-rgb      paint_linear_rgba_over-512 28.62 -> 13.70: 2.09x speedup
█▏
image-rgba       fill_linear_rgb_over-256  3.24 ->  1.94: 1.66x speedup
▋
image-rgb     stroke_linear_rgba_over-256  5.68 ->  4.10: 1.39x speedup
▍
2006-12-14 09:27:45 -08:00
Vladimir Vukicevic
72e25648c4 pixman: Use pSourceClip rather than pCompositeClip when fetching
This fixes the source-clip-scale test failures for most backends.
2006-08-17 13:35:16 -07:00
Kjartan Maraas
22eee1db00 [warnings] Fixes for sparse. This fixes a lot of instances of 0 vs NULL 2006-08-11 11:18:24 -04:00
Carl Worth
7285499700 Squelch some bogus compiler warnings about possibly uninitialized values. 2006-06-29 05:07:51 +02:00
Bertram Felgenhauer
b104a79502 Patch to fix pixman samping location bug (#2488). 2006-06-13 20:10:59 -04:00
Carl Worth
ef10a0403a Remove initial, final, and duplicate blank lines.
This patch was produced by running git-stripspace on all *.[ch] files
within cairo. Note that this script would have also created all the changes
from the previous commits to remove trailing whitespace.
2006-06-06 15:50:33 -07:00
Carl Worth
5278de0997 Remove all remaining trailing whitespace.
This patch was produced with the following (GNU) sed script:

	sed -i -r -e 's/[ \t]+$//'

run on all *.[ch] files within cairo.

Note that the above script would have also created all the changes
from the previous commits to remove trailing whitespace.
2006-06-06 15:41:31 -07:00
Carl Worth
80b8deb1e4 Remove extraneous whitespace from "blank" lines.
This patch was produced with the following (GNU) sed script:

	sed -i -r -e 's/^[ \t]+$//'

run on all *.[ch] files within cairo.
2006-06-06 15:25:49 -07:00
Vladimir Vukicevic
f6b4fabaf5 Misc compilation fixes (C++-style comments, M_PI decls, etc.)
(cherry picked from d0cc56b9a24fa59febc15ac5de073da0e785e1cc commit)
(cherry picked from a6a054abe45287eb950c294e20366594313138f5 commit)
2006-02-27 12:22:33 +01:00
Christian Biesinger
dba214b944 Use C-style comments rather than C++-style 2006-02-26 11:13:42 +01:00
Carl Worth
19441311e4 2005-10-10 David Reveman <davidr@novell.com>
Some major performance improvements to the general composite code used for gradients and transformed images. Like fetching of mask scanline before source scanline so that only the necessary pixels from source needs to be computed in case of gradients or transformed images as source. This patch also include some gradient specific fixes and performance improvement.
2006-01-04 16:39:23 +00:00
Carl Worth
305a83721f Originally: 2005-10-10 David Reveman <davidr@novell.com>
Add entries for gradient support.
Add PictureGradientColor.
Add necessary functionality for gradient support.
Enable gradient support.
2006-01-04 16:26:10 +00:00
Owen Taylor
a1bca924b9 Bug #4260, Reviewed by B. Biggs
Use & not && for bitwise AND.
src/fbpict.c src/fbmmx.c: Take 'dest' as an argument, if pict and dest don't match for RGB, BGR, swap result.
2005-09-12 05:55:11 +00:00
Billy Biggs
a83537fe02 Some fixes for warnings from sparse (Part of bug #4208, Kjartan Maraas)
Use NULL not 0.
2005-08-27 19:32:57 +00:00
Billy Biggs
f5afeec18a Special case projective transforms so we can avoid doing the expensive 64-bit math. Unroll the bilinear interpolation loops for an extra boost. 2005-08-18 18:46:30 +00:00
Billy Biggs
910d824b3d Port fbcompose.c from xserver into pixman. Add #defines for gradients, convolution filters, and indexed colour formats to keep the patch small. Use pixman regions instead of X server regions as appropriate.
Remove iccompose.c, replaced by fbcompose.c.
Add a slightly-trimmed version of fbpict.h from xserver/fb to make the port smaller and cleaner.
Use the redundant fbpict.h defines and add in the struct for indexed colour support.
Remove defines now in fbpict.h.
Add some constants and types required by fbcompose.c
Add fbcompose.c and fbpict.h, remove iccompose.c.
reviewed by: cworth and Jeff Muizelaar at various stages
2005-08-10 21:10:11 +00:00