Billy Biggs
027157feb6
Fix to be correct for arbitrary xDst values.
2005-08-11 21:07:26 +00:00
Billy Biggs
b25c1203d8
Add support for filling 1bpp images (used to clear A1 masks).
2005-08-10 22:03:00 +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
Keith Packard
a05fcce165
Union with empty rectangle should yield SUCCESS, not FAILURE
2005-08-10 13:27:48 +00:00
Jeff Muizelaar
de87ebcc1c
Fix problems in render fb implementation found by rendercheck:
...
- fbCombineSaturate was pointed at fbCombineDisjointOver, instead of fbCombineDisjointOverReverse as it should. Instead, point fbCombineDisjointOverReverse at fbCombineSaturate (which is likely to be faster).
- fix previously-unused fbCombineSaturate implementation.
- fbCombineMaskAlphaC was just a copy of fbCombineMaskValueC. Make it do what it's supposed to (return a cs.alpha).
- fbCombineAtopC didn't invert the source alpha value.
- fix copy'n'paste errors in fbCombine(Dis/Con)jointGeneralC, also source alpha wasn't treated in a component fashion.
From anholt.
2005-08-05 22:17:08 +00:00
Jeff Muizelaar
71e560a8fa
Temporarily disable the 24bpp WORKING_UNALIGNED_INT because of a crash when using electric-fence when accessing hte last pixel of a drawable (last pixel is 3 bytes, read it as a 4 byte word, and you're reading one extra pixel, which doesn't normally matter, but does in a few rare cases). Should be easy to work around, but that will come later.
...
From jaymz
2005-08-05 21:35:51 +00:00
Jeff Muizelaar
ec93e241b0
Fix fbGetDrawable
...
Patch from Billy Biggs <vektor@dumbterm.net>.
2005-08-05 12:26:33 +00:00
Jeff Muizelaar
3ef2488265
Fix some of the 4 bit per channel PICT definitions
...
Patch from Billy Biggs <vektor@dumbterm.net>.
2005-08-05 12:14:12 +00:00
Jeff Muizelaar
2b20b7a230
Fix up the fast-path compositing operators; those are useful for sources without alpha, but can't be used for sources with alpha. Also, replaced fbCompositeSrcSrc_nxn with call to fbBlt as this function must handle 1, 4, 8, 16, 24, 32 bpp objects. Would be nice to optimize fbBlt for common cases involving 8, 16, 24 and 32bpp.
...
From Keith Packard.
2005-08-05 11:44:49 +00:00
Billy Biggs
ba87f1324f
Optimize spans where the same value is being added to multiple pixels. This improves the speed of rasterizing wide trapezoids.
...
Add an INLINE macro that matches the one from fbpict.h in xserver/fb.
2005-08-01 18:01:24 +00:00
Amaury Jacquot
392a2746ef
fix typo
2005-08-01 06:57:09 +00:00
Jeff Muizelaar
05d84a0a1e
Finish up merging the optimization work from jaymz.
2005-07-30 10:23:21 +00:00
Jeff Muizelaar
bdfb7f4db0
s/uint(8|16|32)_t/CARD(8|16|32)/
2005-07-30 09:43:51 +00:00
Jeff Muizelaar
5ebf2c5d96
Add some optimizations from jaymz. Also adds some compile warnings that will hopefully go away as we continue merging.
2005-07-30 08:48:25 +00:00
Carl Worth
3dd93a930f
Add -head to LIBPIXMAN_VERSION after tagging with SNAPSHOT_0_1_6.
2005-07-28 14:58:25 +00:00
Carl Worth
6d8d18e2dc
Add notes for snapshot 0.1.6.
...
Increment version to 0.1.6.
2005-07-28 14:41:36 +00:00
Owen Taylor
7b2b9df4e7
Fix units for stride return to be FbStip-sized. : ----------------------------------------------------------------------
2005-07-27 14:11:58 +00:00
Jeff Muizelaar
c36fd95f6e
Add call to fbCompositeSrcSrc_nxn that I missed.
2005-07-16 11:27:32 +00:00
Carl Worth
171b053347
Whitespace fix. (pixman_image_destroy): Fix leak of the clip region associated with an image. (NOTE: xserver/render doesn't have the same bug since it has FreePicture that calls into both DestroyPicture and DestroyPictureClip separately).
2005-07-14 11:41:00 +00:00
Jeff Muizelaar
2ff04df852
Begin merging in newer fb code.
...
The code comes from keithp: Initial import of Composite extension along with name change from Apportion. Added some accelerated code to fbpict to make this initial hack a bit faster. "real" extension bits to follow.
2005-07-09 19:00:36 +00:00
Jeff Muizelaar
1d48dc6cdb
More misc merging. Mostly s/pixman_composite/fbComposite/.
2005-07-09 18:13:14 +00:00
Jeff Muizelaar
36a57bcdcb
More misc merging. Mostly stuff like s/uint32_t/CARD32/.
2005-07-09 15:47:43 +00:00
Jeff Muizelaar
574f7f560b
Merge over most of the low-hanging renames from xserver/fb.
2005-06-25 15:03:17 +00:00
Jeff Muizelaar
be38e07c4e
Fix broken build on older gcc's caused by overzealous s/IC_/FB_/g
2005-06-25 14:41:38 +00:00
Jeff Muizelaar
64d5b34a98
s/Ic/Fb/g This gets read of most of the [Ii][cC]'s the rest will probably dealt with on a case by case basis.
...
trimmed function list again.
2005-06-24 20:13:19 +00:00
Jeff Muizelaar
42fc090745
selective s/Ic/fb/g.
...
I took out the list of functions because it was ridiculously long.
2005-06-24 18:28:19 +00:00
Jeff Muizelaar
43e3e7eeff
s/IC_/FB_/g
...
dd #define FB_BITS IC_BITS so that FB_BITS get defined early enough
2005-06-24 18:21:15 +00:00
Jeff Muizelaar
81fa936fd2
s/IcCombine/fbCombine/
2005-06-23 19:41:07 +00:00
Jeff Muizelaar
e77d9776ae
s/pixman_compositeOperand/FbCompositeOperand/g.
2005-06-23 19:39:12 +00:00
Jeff Muizelaar
373e7f68b1
s/pixman_bits_t/FbBits/s
2005-06-23 19:35:45 +00:00
Jeff Muizelaar
aa07c01cb5
more merging:
...
630. Fix incorrect datatype for the pixmap width in fbCompositeSrcAdd_8000x8000(), and add some small optimisations (#A.1423, Keith Packard).
2005-06-23 19:33:34 +00:00
Jeff Muizelaar
81ec183697
Start the xserver/fb -> libpixman merging with a copy optimization.
2005-06-23 19:30:12 +00:00
Keith Packard
ae96f5db6c
Split clipping into separate source and destination operand clips. By default, source operands are not affected by any client clipping. This matches the desired semantics for cairo. When this code is ported back to the X server, that will have to select the clipping option which clip source operands to the client clip.
2005-05-26 13:02:31 +00:00
Carl Worth
b16dafe553
Add -head to CAIRO_VERSION after tagging with SNAPSHOT_0_1_5.
2005-05-18 10:23:48 +00:00
Carl Worth
17c740eb6b
Add notes for snapshot 0.1.5.
...
Increment version to 0.1.5.
2005-05-18 10:13:14 +00:00
Carl Worth
f083b21c76
Clear pointers to NULL after destroying/freeing them.
2005-05-18 09:27:24 +00:00
Carl Worth
55a7bb718f
Declare pixman_fixed16_16_t properly as int32_t rather than just int. Reported by Lance Fetters.
2005-05-18 09:25:54 +00:00
Keith Packard
949daa1bc9
libpixman creates an A8 format object and sometimes forgets to destroy (when the bounds of the trapezoids are empty). Avoids creating the format object in that case.
...
reviewed by: cworth
2005-05-12 20:25:07 +00:00
Owen Taylor
2dd5f40bc0
Set image->pCompositeClip here. (IcComputeCompositeRegion) src/icrect.c (pixman_color_rects): Remove workaround clipping to the clientClip.
2005-04-28 11:16:52 +00:00
Owen Taylor
eabc32a011
Don't use pixman_compositeSrc_8888x8888 when the source is x8r8g8b8 or x8b8g8r8.
2005-04-27 13:02:20 +00:00
Tor Lillqvist
72cc8f96fe
src/pixman.h: add AIX to the test for inttypes.h
2005-03-29 11:45:52 +00:00
Owen Taylor
db616356c1
Set format->depth correctly instead of just using the bpp.
2005-03-11 12:09:00 +00:00
Carl Worth
864496a10a
Increment version to 0.1.4-head post-snapshot.
2005-03-07 13:50:30 +00:00
Carl Worth
dfcd68ecca
Add notes on using -head suffix for PIXMAN_VERSION.
2005-03-07 13:20:52 +00:00
Carl Worth
5804df2bcc
Add notes for snapshot 0.1.4.
...
Increment version to 0.1.4.
2005-03-07 12:16:33 +00:00
Carl Worth
c4443533e8
Intersect bounds of trapezoids with the bounds of the destination surface before creating an intermediate surface.
2005-03-04 07:53:09 +00:00
Carl Worth
b1545db066
Add comment from xserver's mitrap.c.
2005-03-04 07:31:49 +00:00
David Reveman
6c91529311
Add pixman_add_trapezoids
2005-03-03 18:02:23 +00:00
Carl Worth
849a7ca8ef
Port from render/mipict.c.
...
Merge in optimization from render/mitrap.c for op==ADD and solid alpha src.
2005-03-03 14:27:31 +00:00
Carl Worth
e533d2faeb
Add a few more things that might be helpful when moving more files over from xserver.
2005-03-03 13:54:40 +00:00