cairo/pixman/ChangeLog
2005-09-18 19:52:08 +00:00

1470 lines
54 KiB
Text
Raw Blame History

2005-09-18 Billy Biggs <vektor@dumbterm.net>
* src/fbmmx.c: Only include xmmintrin.h if USE_SSE is defined.
2005-09-15 Billy Biggs <vektor@dumbterm.net>
Bug #4414, reviewed by otaylor, cworth.
* src/fbmmx.c: Remove CPU detection code.
* src/fbpict.c (detectCPUFeatures), (fbHaveMMX): Move CPU
detection code out of the MMX file and into the generic code to
avoid compiling it with -mmmx and -msse. Using these options
causes gcc to use MMX and SSE instructions in the CPU detection
code which causes SIGILLs on older processors.
2005-08-28 Owen Taylor <otaylor@redhat.com>
Bug #4260, Reviewed by B. Biggs
* src/fbcompose.c (fbStore_a8b8g8r8, fbStore_x8b8g8r8): Use & not
&& for bitwise AND.
* src/fbpict.h (fbComposeGetSolid) src/fbpict.c src/fbmmx.c: Take
'dest' as an argument, if pict and dest don't match for RGB, BGR,
swap result.
2005-08-28 Owen Taylor <otaylor@redhat.com>
* src/fbmmx.c (detectCPUFeatures): Use local labels rather than
global labels in the assembly, to be robust if the code is inlined
in multiple places. (#4283, Reported by Marco Manfredini)
2005-08-27 Billy Biggs <vektor@dumbterm.net>
Some fixes for warnings from sparse (Part of bug #4208,
Kjartan Maraas)
* src/fbcompose.c (fetchProcForPicture),
(fetchPixelProcForPicture), (storeProcForPicture), (fbFetchSolid),
(fbFetch), (fbFetchTransformed), (fbStore), (fbStoreExternalAlpha),
(fbCompositeRect):
* src/fbpict.c (pixman_composite):
* src/icbltone.c (fbLaneTable), (fbBltOne):
* src/icimage.c (pixman_image_init), (pixman_image_set_transform):
* src/icrect.c (pixman_fill_rectangles):
* src/ictrap.c (FbCreateAlphaPicture): Use NULL not 0.
2005-08-27 Owen Taylor <otaylor@redhat.com>
* src/fbmmx.c (detectCPUFeatures): Make the code work with
-fomit-frame-pointer by making sure that %esp isn't modified at
the point where we access output operands. (#4269, Patch from
Ronald Wahl)
2005-08-22 Owen Taylor <otaylor@redhat.com>
* src/pixregion.c (pixman_region_union_rect): When width/height
are 0, copy the src to the dest, don't just return. (#3017)
2005-08-21 Billy Biggs <vektor@dumbterm.net>
* src/pixman-remap.h: Fix a typo in the last change.
2005-08-21 Billy Biggs <vektor@dumbterm.net>
* src/fbpict.c: Remove warning about fbCompositeTrans_0888xnx0888 not
being tested on big-endian, it's not helpful at this point.
* src/pixman-remap.h: Only define _cairo_pixman_have_mmx for fbHaveMMX
when the symbol will actually exist.
2005-08-21 Billy Biggs <vektor@dumbterm.net>
Fix for bug #4140:
* src/icrect.c: (pixman_fill_rect_8bpp): Dereference the pixel value
correctly on big endian systems.
2005-08-18 Billy Biggs <vektor@dumbterm.net>
* src/fbmmx.c: (mmxCombineMaskU), (mmxCombineOverU): Special case
alpha values of 0 and 0xff.
(fbCompositeSrc_8888x8888mmx): Add an MMX implementation for
a common operation when using pixman.
* src/fbmmx.h: Prototype for the new function.
* src/fbpict.c: (fbComposite): Call the new function where
appropriate.
2005-08-18 Billy Biggs <vektor@dumbterm.net>
* src/fbcompose.c: (fbFetchTransformed): 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 Billy Biggs <vektor@dumbterm.net>
* src/fbmmx.c: (fbCompositeSolidMaskSrc_nx8x8888mmx): For the source
operator, the output should be cleared if the mask is zero. This
fixes the MMX code to match the fbcompose code.
* src/fbpict.c: (pixman_composite): Fix a logic mistake that caused
the MMX functions not to be used in many cases.
2005-08-17 Billy Biggs <vektor@dumbterm.net>
* src/pixman-remap.h: Only mangle exported symbols. This is
sufficient and makes debugging a lot easier.
2005-08-16 Billy Biggs <vektor@dumbterm.net>
* src/Makefile.am: Fix a typo in the last commit.
2005-08-16 Billy Biggs <vektor@dumbterm.net>
* src/Makefile.am: Split the MMX code into a separate libtool
library to avoid applying the MMX CFLAGS to all of the pixman
code. Idea and code from Owen Taylor.
* src/pixman-remap.h: Update the mangling header file to include
the MMX symbols.
2005-08-16 Billy Biggs <vektor@dumbterm.net>
* src/fbmmx.c: (shift), (negate), (pix_multiply), (pix_add),
(expand_alpha), (expand_alpha_rev), (invert_colors), (over),
(over_rev_non_pre), (in), (in_over), (load8888), (pack8888),
(store8888), (expand565), (expand8888), (pack565), (pix_add_mul),
(mmxCombineMaskU), (mmxCombineOverU), (mmxCombineOverReverseU),
(mmxCombineInU), (mmxCombineInReverseU), (mmxCombineOutU),
(mmxCombineOutReverseU), (mmxCombineAtopU),
(mmxCombineAtopReverseU), (mmxCombineXorU), (mmxCombineAddU),
(mmxCombineSaturateU), (mmxCombineSrcC), (mmxCombineOverC),
(mmxCombineOverReverseC), (mmxCombineInC), (mmxCombineInReverseC),
(mmxCombineOutC), (mmxCombineOutReverseC), (mmxCombineAtopC),
(mmxCombineAtopReverseC), (mmxCombineXorC), (mmxCombineAddC),
(fbComposeSetupMMX), (fbCompositeSolid_nx8888mmx),
(fbCompositeSolid_nx0565mmx),
(fbCompositeSolidMask_nx8888x8888Cmmx),
(fbCompositeSrc_8888x8x8888mmx), (fbCompositeSrc_x888x8x8888mmx),
(fbCompositeSolidMask_nx8x8888mmx),
(fbCompositeSolidMaskSrc_nx8x8888mmx),
(fbCompositeSolidMask_nx8x0565mmx),
(fbCompositeSrc_8888RevNPx0565mmx),
(fbCompositeSrc_8888RevNPx8888mmx),
(fbCompositeSolidMask_nx8888x0565Cmmx),
(fbCompositeSrcAdd_8000x8000mmx), (fbCompositeSrcAdd_8888x8888mmx),
(fbSolidFillmmx), (fbCopyAreammx), (fbCompositeCopyAreammx),
(detectCPUFeatures), (fbHaveMMX):
* src/fbmmx.h: Port MMX code from xserver to pixman.
* src/fbpict.c: (fbOver), (fbOver24), (fbIn), (fbIn24),
(fbCompositeSolidMask_nx8x8888),
(fbCompositeSolidMask_nx8888x8888C),
(fbCompositeSolidMask_nx8x0888), (fbCompositeSolidMask_nx8x0565),
(fbCompositeSolidMask_nx8888x0565),
(fbCompositeSolidMask_nx8888x0565C), (fbCompositeSrc_8888x8888),
(fbCompositeSrc_8888x0888), (fbCompositeSrc_8888x0565),
(fbCompositeSrcAdd_8000x8000), (fbCompositeSrcAdd_8888x8888),
(fbCompositeSrcAdd_1000x1000), (fbCompositeSolidMask_nx1xn),
(fbCompositeTrans_0565xnx0565), (fbCompositeTrans_0888xnx0888),
(fbCompositeSrcSrc_nxn), (pixman_composite): Add an fbpict.c ported
from the latest in xserver/fb, including hooks to the MMX code
where appropriate. This replaces the old ic.c file.
* src/ic.c: Replaced by fbpict.c.
* src/icint.h: Move some X server macros from fbpict.c up into
icint.h to keep the diff small.
* src/Makefile.am: Add fbmmx and fbpict.c, remove ic.c.
* configure.in: Add a check for the MMX intrinsics. gcc >= 3.4
is required.
2005-08-12 Billy Biggs <vektor@dumbterm.net>
* src/icrect.c: (pixman_fill_rect_1bpp): Fix to be correct for
arbitrary xDst values.
2005-08-11 Billy Biggs <vektor@dumbterm.net>
* src/icrect.c: (pixman_fill_rect_1bpp), (pixman_color_rects):
Add support for filling 1bpp images (used to clear A1 masks).
2005-08-10 Billy Biggs <vektor@dumbterm.net>
reviewed by: cworth and Jeff Muizelaar at various stages
* src/fbcompose.c: (PictureTransformPoint3d), (fbFetch_a8r8g8b8),
(fbFetch_x8r8g8b8), (fbFetch_a8b8g8r8), (fbFetch_x8b8g8r8),
(fbFetch_r8g8b8), (fbFetch_b8g8r8), (fbFetch_r5g6b5),
(fbFetch_b5g6r5), (fbFetch_a1r5g5b5), (fbFetch_x1r5g5b5),
(fbFetch_a1b5g5r5), (fbFetch_x1b5g5r5), (fbFetch_a4r4g4b4),
(fbFetch_x4r4g4b4), (fbFetch_a4b4g4r4), (fbFetch_x4b4g4r4),
(fbFetch_a8), (fbFetch_r3g3b2), (fbFetch_b2g3r3),
(fbFetch_a2r2g2b2), (fbFetch_a2b2g2r2), (fbFetch_c8), (fbFetch_a4),
(fbFetch_r1g2b1), (fbFetch_b1g2r1), (fbFetch_a1r1g1b1),
(fbFetch_a1b1g1r1), (fbFetch_c4), (fbFetch_a1), (fbFetch_g1),
(fetchProcForPicture), (fbFetchPixel_a8r8g8b8),
(fbFetchPixel_x8r8g8b8), (fbFetchPixel_a8b8g8r8),
(fbFetchPixel_x8b8g8r8), (fbFetchPixel_r8g8b8),
(fbFetchPixel_b8g8r8), (fbFetchPixel_r5g6b5),
(fbFetchPixel_b5g6r5), (fbFetchPixel_a1r5g5b5),
(fbFetchPixel_x1r5g5b5), (fbFetchPixel_a1b5g5r5),
(fbFetchPixel_x1b5g5r5), (fbFetchPixel_a4r4g4b4),
(fbFetchPixel_x4r4g4b4), (fbFetchPixel_a4b4g4r4),
(fbFetchPixel_x4b4g4r4), (fbFetchPixel_a8), (fbFetchPixel_r3g3b2),
(fbFetchPixel_b2g3r3), (fbFetchPixel_a2r2g2b2),
(fbFetchPixel_a2b2g2r2), (fbFetchPixel_c8), (fbFetchPixel_a4),
(fbFetchPixel_r1g2b1), (fbFetchPixel_b1g2r1),
(fbFetchPixel_a1r1g1b1), (fbFetchPixel_a1b1g1r1),
(fbFetchPixel_c4), (fbFetchPixel_a1), (fbFetchPixel_g1),
(fetchPixelProcForPicture), (fbStore_a8r8g8b8), (fbStore_x8r8g8b8),
(fbStore_a8b8g8r8), (fbStore_x8b8g8r8), (fbStore_r8g8b8),
(fbStore_b8g8r8), (fbStore_r5g6b5), (fbStore_b5g6r5),
(fbStore_a1r5g5b5), (fbStore_x1r5g5b5), (fbStore_a1b5g5r5),
(fbStore_x1b5g5r5), (fbStore_a4r4g4b4), (fbStore_x4r4g4b4),
(fbStore_a4b4g4r4), (fbStore_x4b4g4r4), (fbStore_a8),
(fbStore_r3g3b2), (fbStore_b2g3r3), (fbStore_a2r2g2b2),
(fbStore_c8), (fbStore_a4), (fbStore_r1g2b1), (fbStore_b1g2r1),
(fbStore_a1r1g1b1), (fbStore_a1b1g1r1), (fbStore_c4), (fbStore_a1),
(fbStore_g1), (storeProcForPicture), (fbCombineMaskU),
(fbCombineClear), (fbCombineSrcU), (fbCombineOverU),
(fbCombineOverReverseU), (fbCombineInU), (fbCombineInReverseU),
(fbCombineOutU), (fbCombineOutReverseU), (fbCombineAtopU),
(fbCombineAtopReverseU), (fbCombineXorU), (fbCombineAddU),
(fbCombineSaturateU), (fbCombineDisjointOutPart),
(fbCombineDisjointInPart), (fbCombineDisjointGeneralU),
(fbCombineDisjointOverU), (fbCombineDisjointInU),
(fbCombineDisjointInReverseU), (fbCombineDisjointOutU),
(fbCombineDisjointOutReverseU), (fbCombineDisjointAtopU),
(fbCombineDisjointAtopReverseU), (fbCombineDisjointXorU),
(fbCombineConjointOutPart), (fbCombineConjointInPart),
(fbCombineConjointGeneralU), (fbCombineConjointOverU),
(fbCombineConjointOverReverseU), (fbCombineConjointInU),
(fbCombineConjointInReverseU), (fbCombineConjointOutU),
(fbCombineConjointOutReverseU), (fbCombineConjointAtopU),
(fbCombineConjointAtopReverseU), (fbCombineConjointXorU),
(fbCombineMaskC), (fbCombineMaskValueC), (fbCombineMaskAlphaC),
(fbCombineClearC), (fbCombineSrcC), (fbCombineOverC),
(fbCombineOverReverseC), (fbCombineInC), (fbCombineInReverseC),
(fbCombineOutC), (fbCombineOutReverseC), (fbCombineAtopC),
(fbCombineAtopReverseC), (fbCombineXorC), (fbCombineAddC),
(fbCombineSaturateC), (fbCombineDisjointGeneralC),
(fbCombineDisjointOverC), (fbCombineDisjointInC),
(fbCombineDisjointInReverseC), (fbCombineDisjointOutC),
(fbCombineDisjointOutReverseC), (fbCombineDisjointAtopC),
(fbCombineDisjointAtopReverseC), (fbCombineDisjointXorC),
(fbCombineConjointGeneralC), (fbCombineConjointOverC),
(fbCombineConjointOverReverseC), (fbCombineConjointInC),
(fbCombineConjointInReverseC), (fbCombineConjointOutC),
(fbCombineConjointOutReverseC), (fbCombineConjointAtopC),
(fbCombineConjointAtopReverseC), (fbCombineConjointXorC),
(fbFetchSolid), (fbFetch), (gradientPixel), (fbFetchSourcePict),
(fbFetchTransformed), (fbFetchExternalAlpha), (fbStore),
(fbStoreExternalAlpha), (fbCompositeRect),
(pixman_compositeGeneral): 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.
* src/iccompose.c: Remove iccompose.c, replaced by fbcompose.c.
* src/fbpict.h: Add a slightly-trimmed version of fbpict.h from
xserver/fb to make the port smaller and cleaner.
* src/ic.c: Use the redundant fbpict.h defines and add in the
struct for indexed colour support.
* src/icimage.h: Remove defines now in fbpict.h.
* src/pixman-xserver-compat.h: Add some constants and types
required by fbcompose.c
* src/Makefile.am: Add fbcompose.c and fbpict.h, remove iccompose.c.
2005-08-10 Keith Packard <keithp@keithp.com>
* src/pixregion.c: (pixman_region_union_rect):
Union with empty rectangle should yield SUCCESS, not FAILURE
2005-08-06 Jeff Muizelaar <jeff@infidigm.net>
* src/iccompose.c: (fbCombineMaskAlphaC), (fbCombineAtopC),
(fbCombineXorC), (fbCombineSaturateU), (fbCombineSaturateC),
(fbCombineDisjointGeneralC), (fbCombineConjointGeneralC):
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-06 Jeff Muizelaar <jeff@infidigm.net>
* src/iccompose.c: (fbFetch_r8g8b8):
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 Jeff Muizelaar <jeff@infidigm.net>
* src/pixman-xserver-compat.h: Fix fbGetDrawable
Patch from Billy Biggs <vektor@dumbterm.net>.
2005-08-05 Jeff Muizelaar <jeff@infidigm.net>
* src/icint.h: Fix some of the 4 bit per channel PICT definitions
Patch from Billy Biggs <vektor@dumbterm.net>.
2005-08-05 Jeff Muizelaar <jeff@infidigm.net>
* src/ic.c: (fbCompositeSolidMask_nx8x8888),
(fbCompositeSolidMask_nx8x0888), (fbCompositeSolidMask_nx8x0565),
(fbCompositeSolidMask_nx8888x0565),
(fbCompositeSolidMask_nx8888x0565C), (fbCompositeSrc_8888x0565),
(fbCompositeTrans_0565xnx0565), (fbCompositeTrans_0888xnx0888),
(fbCompositeSrcSrc_nxn), (pixman_composite):
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-01 Billy Biggs <vektor@dumbterm.net>
* src/fbedge.c: (clip255), (add_saturate_8),
(fbRasterizeEdges8): Optimize spans where the same value is
being added to multiple pixels. This improves the speed of
rasterizing wide trapezoids.
* src/icint.h: Add an INLINE macro that matches the one from
fbpict.h in xserver/fb.
2005-08-01 Amaury Jacquot <sxpert@esitcom.org>
* NEWS: fix typo
2005-07-30 Jeff Muizelaar <jeff@infidigm.net>
* src/ic.c: (fbCompositeSolidMask_nx8x0888),
(fbCompositeSolidMask_nx8x0565), (fbCompositeSolidMask_nx1xn),
(fbCompositeTrans_0565xnx0565), (fbCompositeTrans_0888xnx0888),
(fbCompositeSrcSrc_nxn), (pixman_composite):
* src/icblt.c: (fbBlt):
* src/iccompose.c: (fbFetch_r8g8b8):
Finish up merging the optimization work from jaymz.
2005-07-30 Jeff Muizelaar <jeff@infidigm.net>
* src/iccompose.c: (fbCombineMaskAlphaU),
(fbCombineDisjointOutPart), (fbCombineDisjointInPart),
(fbCombineConjointOutPart), (fbCombineConjointInPart),
(fbStore_a8r8g8b8), (fbStore_x8r8g8b8), (fbStore_a8b8g8r8),
(fbStore_x8b8g8r8), (fbStore_r8g8b8), (fbStore_b8g8r8),
(fbStore_r5g6b5), (fbStore_b5g6r5), (fbStore_a1r5g5b5),
(fbStore_x1r5g5b5), (fbStore_a1b5g5r5), (fbStore_x1b5g5r5),
(fbStore_a4r4g4b4), (fbStore_x4r4g4b4), (fbStore_a4b4g4r4),
(fbStore_x4b4g4r4), (fbStore_a8), (fbStore_r3g3b2),
(fbStore_b2g3r3), (fbStore_a2r2g2b2), (fbStore_a4),
(fbStore_r1g2b1), (fbStore_b1g2r1), (fbStore_a1r1g1b1),
(fbStore_a1b1g1r1), (fbStore_a1), (fbFetch_external),
(fbStore_external), (fbFetch_transform), (fbFetcha_transform):
s/uint(8|16|32)_t/CARD(8|16|32)/
2005-07-30 Jeff Muizelaar <jeff@infidigm.net>
* src/ic.c: (fbCompositeSolidMask_nx8x0888),
(fbCompositeSolidMask_nx8x0565), (fbCompositeTrans_0565xnx0565),
(fbCompositeTrans_0888xnx0888), (fbCompositeSrcSrc_nxn),
(pixman_composite):
Add some optimizations from jaymz. Also adds some compile warnings
that will hopefully go away as we continue merging.
2005-07-28 Carl Worth <cworth@cworth.org>
* configure.in: Add -head to LIBPIXMAN_VERSION after tagging with
SNAPSHOT_0_1_6.
2005-07-28 Carl Worth <cworth@cworth.org>
* NEWS: Add notes for snapshot 0.1.6.
* configure.in: Increment version to 0.1.6.
2005-07-27 Owen Taylor <otaylor@redhat.com>
* src/icint.h (FbGetStipPixels): Fix units for stride return
to be FbStip-sized.
2005-07-16 Jeff Muizelaar <jeff@infidigm.net>
* src/ic.c: (pixman_composite):
Add call to fbCompositeSrcSrc_nxn that I missed.
2005-07-14 Carl Worth <cworth@cworth.org>
* src/icimage.c: (pixman_image_set_component_alpha): 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-09 Jeff Muizelaar <jeff@infidigm.net>
* src/ic.c: (fbIn24), (fbCompositeTrans_0565xnx0565),
(fbCompositeSrcSrc_nxn), (pixman_composite):
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 Jeff Muizelaar <jeff@infidigm.net>
* src/ic.c: (fbCompositeSolidMask_nx8x8888),
(fbCompositeSolidMask_nx8888x8888C),
(fbCompositeSolidMask_nx8x0888), (fbCompositeSolidMask_nx8x0565),
(fbCompositeSolidMask_nx8888x0565C), (fbCompositeSrc_8888x8888),
(fbCompositeSrc_8888x0888), (fbCompositeSrc_8888x0565),
(fbCompositeSrc_0565x0565), (fbCompositeSrcAdd_8000x8000),
(fbCompositeSrcAdd_8888x8888), (fbCompositeSrcAdd_1000x1000),
(fbCompositeSolidMask_nx1xn), (pixman_composite):
More misc merging. Mostly s/pixman_composite/fbComposite/.
2005-07-09 Jeff Muizelaar <jeff@infidigm.net>
* src/ic.c: (fbOver), (fbOver24), (fbIn),
(pixman_compositeSolidMask_nx8x8888),
(pixman_compositeSolidMask_nx8888x8888C),
(pixman_compositeSolidMask_nx8x0888),
(pixman_compositeSolidMask_nx8x0565),
(pixman_compositeSolidMask_nx8888x0565C),
(pixman_compositeSrc_8888x8888), (pixman_compositeSrc_8888x0888),
(pixman_compositeSrc_8888x0565), (pixman_compositeSrc_0565x0565),
(pixman_compositeSrcAdd_8000x8000),
(pixman_compositeSrcAdd_8888x8888),
(pixman_compositeSrcAdd_1000x1000),
(pixman_compositeSolidMask_nx1xn), (pixman_composite):
More misc merging. Mostly stuff like s/uint32_t/CARD32/.
2005-06-25 Jeff Muizelaar <jeff@infidigm.net>
* src/ic.c: (fbOver):
* src/icblt.c: (fbBlt), (fbBlt24Line), (fbBlt24), (fbBltOdd),
(fbBltOdd24), (fbBltStip):
* src/icbltone.c: (fbBltOne):
* src/iccompose.c: (fbCombineMaskU), (fbCombineMaskC),
(fbCombineMaskValueC), (fbCombineMaskAlphaC), (fbCombineOverU),
(fbCombineOverC), (fbCombineOverReverseU), (fbCombineOverReverseC),
(fbCombineInU), (fbCombineInC), (fbCombineInReverseU),
(fbCombineInReverseC), (fbCombineOutU), (fbCombineOutC),
(fbCombineOutReverseU), (fbCombineOutReverseC), (fbCombineAtopU),
(fbCombineAtopC), (fbCombineAtopReverseU), (fbCombineAtopReverseC),
(fbCombineXorU), (fbCombineXorC), (fbCombineAddU), (fbCombineAddC),
(fbCombineDisjointGeneralU), (fbCombineDisjointGeneralC),
(fbCombineDisjointOverU), (fbCombineConjointGeneralU),
(fbCombineConjointGeneralC), (fbCombineConjointOverU),
(fbFetch_a8r8g8b8), (fbFetch_x8r8g8b8), (fbFetch_a8b8g8r8),
(fbFetch_x8b8g8r8), (fbFetch_r8g8b8), (fbFetch_b8g8r8),
(fbFetch_r5g6b5), (fbFetch_b5g6r5), (fbFetch_a1r5g5b5),
(fbFetch_x1r5g5b5), (fbFetch_a1b5g5r5), (fbFetch_x1b5g5r5),
(fbFetch_a4r4g4b4), (fbFetch_x4r4g4b4), (fbFetch_a4b4g4r4),
(fbFetch_x4b4g4r4), (fbFetch_a8), (fbFetcha_a8), (fbFetch_r3g3b2),
(fbFetch_b2g3r3), (fbFetch_a2r2g2b2), (fbFetch_a4), (fbFetcha_a4),
(fbFetch_r1g2b1), (fbFetch_b1g2r1), (fbFetch_a1r1g1b1),
(fbFetch_a1b1g1r1), (fbFetcha_a1), (fbFetch_a1),
(fbBuildCompositeOperand), (pixman_compositeGeneral):
* src/icint.h:
* src/icrop.h:
* src/icutil.c:
* src/pixman-xserver-compat.h:
Merge over most of the low-hanging renames from xserver/fb.
2005-06-25 Jeff Muizelaar <jeff@infidigm.net>
* src/icint.h:
Fix broken build on older gcc's caused by overzealous s/IC_/FB_/g
2005-06-24 Jeff Muizelaar <jeff@infidigm.net>
* src/ic.c:
* src/icblt.c:
* src/icbltone.c:
* src/iccolor.c:
* src/iccompose.c:
* src/icformat.c:
* src/icimage.c:
* src/icimage.h:
* src/icint.h:
* src/icpixels.c:
* src/icrect.c:
* src/icrop.h:
* src/icstipple.c:
* src/ictrap.c:
* src/ictri.c:
* src/icutil.c:
* src/pixman-xserver-compat.h:
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 Jeff Muizelaar <jeff@infidigm.net>
* src/ic.c:
* src/icblt.c:
* src/icbltone.c:
* src/iccompose.c:
* src/icimage.h:
* src/icint.h:
* src/icrop.h:
* src/icstipple.c:
* src/icutil.c:
selective s/Ic/fb/g.
I took out the list of functions because it was ridiculously long.
2005-06-24 Jeff Muizelaar <jeff@infidigm.net>
* src/ic.c: (pixman_compositeSrcAdd_1000x1000),
(pixman_compositeSolidMask_nx1xn):
* src/icblt.c: (IcBlt), (IcBlt24Line), (IcBltOdd), (IcSetBltOdd),
(IcBltStip):
* src/icbltone.c: (IcBltOne), (IcBltOne24):
* src/icint.h:
* src/icpixels.c: (IcPixelsCreate):
* src/icrop.h:
* src/icstipple.c: (IcTransparentSpan):
* src/icutil.c: (IcReplicatePixel):
* src/pixman-xserver-compat.h:
s/IC_/FB_/g
* src/pixman.h:
add #define FB_BITS IC_BITS so that FB_BITS get defined early enough
2005-06-23 Jeff Muizelaar <jeff@infidigm.net>
* src/iccompose.c: (fbCombineClear), (fbCombineSrcU),
(fbCombineSrcC), (fbCombineDst), (fbCombineOverU),
(fbCombineOverC), (fbCombineOverReverseU), (fbCombineOverReverseC),
(fbCombineInU), (fbCombineInC), (fbCombineInReverseU),
(fbCombineInReverseC), (fbCombineOutU), (fbCombineOutC),
(fbCombineOutReverseU), (fbCombineOutReverseC), (fbCombineAtopU),
(fbCombineAtopC), (fbCombineAtopReverseU), (fbCombineAtopReverseC),
(fbCombineXorU), (fbCombineXorC), (fbCombineAddU), (fbCombineAddC),
(fbCombineDisjointOverU), (fbCombineDisjointOverC),
(fbCombineDisjointOverReverseU), (fbCombineDisjointOverReverseC),
(fbCombineDisjointInU), (fbCombineDisjointInC),
(fbCombineDisjointInReverseU), (fbCombineDisjointInReverseC),
(fbCombineDisjointOutU), (fbCombineDisjointOutC),
(fbCombineDisjointOutReverseU), (fbCombineDisjointOutReverseC),
(fbCombineDisjointAtopU), (fbCombineDisjointAtopC),
(fbCombineDisjointAtopReverseU), (fbCombineDisjointAtopReverseC),
(fbCombineDisjointXorU), (fbCombineDisjointXorC),
(fbCombineConjointOverU), (fbCombineConjointOverC),
(fbCombineConjointOverReverseU), (fbCombineConjointOverReverseC),
(fbCombineConjointInU), (fbCombineConjointInC),
(fbCombineConjointInReverseU), (fbCombineConjointInReverseC),
(fbCombineConjointOutU), (fbCombineConjointOutC),
(fbCombineConjointOutReverseU), (fbCombineConjointOutReverseC),
(fbCombineConjointAtopU), (fbCombineConjointAtopC),
(fbCombineConjointAtopReverseU), (fbCombineConjointAtopReverseC),
(fbCombineConjointXorU), (fbCombineConjointXorC):
s/IcCombine/fbCombine/
2005-06-23 Jeff Muizelaar <jeff@infidigm.net>
* src/iccompose.c: (IcCombineMaskU), (IcCombineMaskC),
(IcCombineMaskValueC), (IcCombineMaskAlphaU),
(IcCombineMaskAlphaC), (IcCombineClear), (IcCombineSrcU),
(IcCombineSrcC), (IcCombineDst), (IcCombineOverU),
(IcCombineOverC), (IcCombineOverReverseU), (IcCombineOverReverseC),
(IcCombineInU), (IcCombineInC), (IcCombineInReverseU),
(IcCombineInReverseC), (IcCombineOutU), (IcCombineOutC),
(IcCombineOutReverseU), (IcCombineOutReverseC), (IcCombineAtopU),
(IcCombineAtopC), (IcCombineAtopReverseU), (IcCombineAtopReverseC),
(IcCombineXorU), (IcCombineXorC), (IcCombineAddU), (IcCombineAddC),
(IcCombineDisjointGeneralU), (IcCombineDisjointGeneralC),
(IcCombineDisjointOverU), (IcCombineDisjointOverC),
(IcCombineDisjointOverReverseU), (IcCombineDisjointOverReverseC),
(IcCombineDisjointInU), (IcCombineDisjointInC),
(IcCombineDisjointInReverseU), (IcCombineDisjointInReverseC),
(IcCombineDisjointOutU), (IcCombineDisjointOutC),
(IcCombineDisjointOutReverseU), (IcCombineDisjointOutReverseC),
(IcCombineDisjointAtopU), (IcCombineDisjointAtopC),
(IcCombineDisjointAtopReverseU), (IcCombineDisjointAtopReverseC),
(IcCombineDisjointXorU), (IcCombineDisjointXorC),
(IcCombineConjointGeneralU), (IcCombineConjointGeneralC),
(IcCombineConjointOverU), (IcCombineConjointOverC),
(IcCombineConjointOverReverseU), (IcCombineConjointOverReverseC),
(IcCombineConjointInU), (IcCombineConjointInC),
(IcCombineConjointInReverseU), (IcCombineConjointInReverseC),
(IcCombineConjointOutU), (IcCombineConjointOutC),
(IcCombineConjointOutReverseU), (IcCombineConjointOutReverseC),
(IcCombineConjointAtopU), (IcCombineConjointAtopC),
(IcCombineConjointAtopReverseU), (IcCombineConjointAtopReverseC),
(IcCombineConjointXorU), (IcCombineConjointXorC),
(IcFetch_a8r8g8b8), (IcFetch_x8r8g8b8), (IcFetch_a8b8g8r8),
(IcFetch_x8b8g8r8), (IcFetch_r8g8b8), (IcFetch_b8g8r8),
(IcFetch_r5g6b5), (IcFetch_b5g6r5), (IcFetch_a1r5g5b5),
(IcFetch_x1r5g5b5), (IcFetch_a1b5g5r5), (IcFetch_x1b5g5r5),
(IcFetch_a4r4g4b4), (IcFetch_x4r4g4b4), (IcFetch_a4b4g4r4),
(IcFetch_x4b4g4r4), (IcFetch_a8), (IcFetcha_a8), (IcFetch_r3g3b2),
(IcFetch_b2g3r3), (IcFetch_a2r2g2b2), (IcFetch_a4), (IcFetcha_a4),
(IcFetch_r1g2b1), (IcFetch_b1g2r1), (IcFetch_a1r1g1b1),
(IcFetch_a1b1g1r1), (IcFetcha_a1), (IcFetch_a1),
(IcStore_a8r8g8b8), (IcStore_x8r8g8b8), (IcStore_a8b8g8r8),
(IcStore_x8b8g8r8), (IcStore_r8g8b8), (IcStore_b8g8r8),
(IcStore_r5g6b5), (IcStore_b5g6r5), (IcStore_a1r5g5b5),
(IcStore_x1r5g5b5), (IcStore_a1b5g5r5), (IcStore_x1b5g5r5),
(IcStore_a4r4g4b4), (IcStore_x4r4g4b4), (IcStore_a4b4g4r4),
(IcStore_x4b4g4r4), (IcStore_a8), (IcStore_r3g3b2),
(IcStore_b2g3r3), (IcStore_a2r2g2b2), (IcStore_a4),
(IcStore_r1g2b1), (IcStore_b1g2r1), (IcStore_a1r1g1b1),
(IcStore_a1b1g1r1), (IcStore_a1), (IcFetch_external),
(IcFetcha_external), (IcStore_external), (IcFetch_transform),
(IcFetcha_transform), (IcStepOver), (IcStepDown), (IcSet),
(IcStepOver_external), (IcStepDown_external), (IcSet_external),
(IcStepOver_transform), (IcStepDown_transform), (IcSet_transform),
(IcBuildCompositeOperand), (pixman_compositeGeneral):
* src/icimage.h:
s/pixman_compositeOperand/FbCompositeOperand/g.
2005-06-23 Jeff Muizelaar <jeff@infidigm.net>
* src/ic.c: (pixman_compositeSrcAdd_1000x1000),
(pixman_compositeSolidMask_nx1xn):
* src/icblt.c: (IcBlt), (IcBlt24Line), (IcBlt24), (IcBltOdd),
(IcBltOdd24), (IcSetBltOdd), (IcBltStip):
* src/icbltone.c: (IcBltOne), (IcBltOne24):
* src/iccompose.c: (IcFetch_a8r8g8b8), (IcFetch_x8r8g8b8),
(IcFetch_a8b8g8r8), (IcFetch_x8b8g8r8), (IcFetch_r8g8b8),
(IcFetch_b8g8r8), (IcFetch_r5g6b5), (IcFetch_b5g6r5),
(IcFetch_a1r5g5b5), (IcFetch_x1r5g5b5), (IcFetch_a1b5g5r5),
(IcFetch_x1b5g5r5), (IcFetch_a4r4g4b4), (IcFetch_x4r4g4b4),
(IcFetch_a4b4g4r4), (IcFetch_x4b4g4r4), (IcFetch_a8),
(IcFetcha_a8), (IcFetch_r3g3b2), (IcFetch_b2g3r3),
(IcFetch_a2r2g2b2), (IcFetch_a4), (IcFetcha_a4), (IcFetch_r1g2b1),
(IcFetch_b1g2r1), (IcFetch_a1r1g1b1), (IcFetch_a1b1g1r1),
(IcFetcha_a1), (IcFetch_a1), (IcStore_a8r8g8b8),
(IcStore_x8r8g8b8), (IcStore_a8b8g8r8), (IcStore_x8b8g8r8),
(IcStore_r8g8b8), (IcStore_b8g8r8), (IcStore_r5g6b5),
(IcStore_b5g6r5), (IcStore_a1r5g5b5), (IcStore_x1r5g5b5),
(IcStore_a1b5g5r5), (IcStore_x1b5g5r5), (IcStore_a4r4g4b4),
(IcStore_x4r4g4b4), (IcStore_a4b4g4r4), (IcStore_x4b4g4r4),
(IcStore_a8), (IcStore_r3g3b2), (IcStore_b2g3r3),
(IcStore_a2r2g2b2), (IcStore_a4), (IcStore_r1g2b1),
(IcStore_b1g2r1), (IcStore_a1r1g1b1), (IcStore_a1b1g1r1),
(IcStore_a1), (IcBuildCompositeOperand):
* src/icimage.c: (pixman_image_create_for_data):
* src/icstipple.c: (IcTransparentSpan):
s/pixman_bits_t/FbBits/s
2005-06-23 Jeff Muizelaar <jeff@infidigm.net>
* src/ic.c: (pixman_compositeSrcAdd_8000x8000),
(pixman_compositeSrcAdd_8888x8888):
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 Jeff Muizelaar <jeff@infidigm.net>
* src/icint.h:
* src/icblt.c: (IcBlt):
Start the xserver/fb -> libpixman merging with a copy
optimization.
2005-05-26 Keith Packard <keithp@keithp.com>
* src/iccompose.c: (IcFetch_transform), (IcFetcha_transform),
(IcBuildCompositeOperand):
* src/icimage.c: (pixman_image_init), (pixman_image_destroy),
(pixman_image_set_clip_region), (IcClipImageSrc):
* src/icimage.h:
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-18 Carl Worth <cworth@cworth.org>
* configure.in: Add -head to CAIRO_VERSION after tagging with
SNAPSHOT_0_1_5.
2005-05-18 Carl Worth <cworth@cworth.org>
* NEWS: Add notes for snapshot 0.1.5.
* configure.in: Increment version to 0.1.5.
2005-05-18 Carl Worth <cworth@cworth.org>
* src/icimage.c (pixman_image_destroy): Clear pointers to NULL
after destroying/freeing them.
2005-05-18 Carl Worth <cworth@cworth.org>
* src/pixman.h: Declare pixman_fixed16_16_t properly as int32_t
rather than just int. Reported by Lance Fetters.
2005-05-12 Keith Packard <keithp@keithp.com>
reviewed by: cworth
* src/ictrap.c: (pixman_composite_trapezoids):
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.
2005-04-27 Owen Taylor <otaylor@redhat.com>
* src/icimage.c (pixman_image_set_clip_region): Set
image->pCompositeClip here.
(IcComputeCompositeRegion) src/icrect.c (pixman_color_rects):
Remove workaround clipping to the clientClip.
2005-04-27 Owen Taylor <otaylor@redhat.com>
* src/ic.c: Don't use pixman_compositeSrc_8888x8888 when
the source is x8r8g8b8 or x8b8g8r8.
2005-03-29 T Rowley <tim.rowley@gmail.com>
* src/pixman.h: add AIX to the test for inttypes.h
2005-03-11 Owen Taylor <otaylor@redhat.com>
* src/icformat.c (pixman_format_init): Set format->depth
correctly instead of just using the bpp.
2005-03-07 Carl Worth <cworth@cworth.org>
* configure.in: Increment version to 0.1.4-head post-snapshot.
* RELEASING: Add notes on using -head suffix for PIXMAN_VERSION.
* NEWS: Add notes for snapshot 0.1.4.
* configure.in: Increment version to 0.1.4.
2005-03-04 Carl Worth <cworth@cworth.org>
* src/ictrap.c (pixman_composite_trapezoids): Intersect bounds of
trapezoids with the bounds of the destination surface before
creating an intermediate surface.
2005-03-04 Carl Worth <cworth@cworth.org>
* src/ictrap.c (pixman_composite_trapezoids): Add comment from
xserver's mitrap.c.
2005-03-04 David Reveman <davidr@novell.com>
* src/pixman.h:
* src/ictrap.c: Add pixman_add_trapezoids.
2005-03-03 Carl Worth <cworth@cworth.org>
* src/icimage.c (miIsSolidAlpha): Port from render/mipict.c.
* src/ictrap.c (pixman_composite_trapezoids): Merge in
optimization from render/mitrap.c for op==ADD and solid alpha src.
2005-03-03 Carl Worth <cworth@cworth.org>
* src/pixman-xserver-compat.h (BoxRec, BoxPtr, Bool, TRUE, FALSE):
Add a few more things that might be helpful when moving more files
over from xserver.
2005-03-03 Carl Worth <cworth@cworth.org>
* src/icint.h:
* src/ictrap.c: Move definitions of MIN and MAX macros from
ictrap.c to icint.h.
2005-03-03 Carl Worth <cworth@cworth.org>
* src/ictrap.c (pixman_composite_trapezoids): Remove dead "if
(!format)" code which also makes things more in synch with the
server's mitrap.c.
2005-03-03 Carl Worth <cworth@cworth.org>
* src/ictrap.c: Restore original copyright and license which must
have been inadvertently changed.
2005-03-02 Carl Worth <cworth@cworth.org>
* src/pixman-xserver-compat.h: Fix comment to clarify that
libpixman regards the xserver repository as its canonical upstream
for some files.
* src/ic.c, src/icblt.c, src/icbltone.c, src/iccolor.c,
src/iccompose.c, src/icformat.c, src/icimage.c, src/icimage.h,
src/icint.h, src/icpixels.c, src/icrect.c, src/icrop.h,
src/icstipple.c, src/ictransform.c, src/ictrap.c, src/ictri.c,
src/icutil.c, src/pixman.h, src/slim_internal.h: Convert file
encodings from ISO-8859 to UTF-8.
2005-02-21 Carl Worth <cworth@cworth.org>
* src/renderedge.h: Add only-just-better-than-ASCII-art diagram
showing all macros used in locating sub-pixel sample rows/columns.
* src/renderedge.h (RenderEdgeStepSmall, RenderEdgeStepBig): Add
missing protective parentheses around macro parameter usage.
2005-02-21 Carl Worth <cworth@cworth.org>
* src/ic.c:
* src/icint.h: Move definition of __inline for non-gcc from ic.c
to icint.h so it applies to more code in the implementation.
2005-02-06 Owen Taylor <otaylor@redhat.com>
* configure.in: Add AC_PREREQ(2.54) to help the Debian
auto-guess-which-configure-version hack.
2005-01-26 Carl Worth <cworth@cworth.org>
* src/pixman.h: Use 32-bits for pixman_bits_t, even on 64-bit
platforms. This should fix bug #2335 as well as rendering problems
seen on 64-bit platforms.
2005-01-21 Carl Worth <cworth@cworth.org>
* NEWS: Add notes for snapshot 0.1.3.
* configure.in: Increment version to 0.1.3
* RELEASING: Add reminder to diff pixman.h to look for API changes
since the last snapshot.
* src/Makefile.am (libpixman_la_SOURCES): Add missing files to
satisfy make distcheck.
* Makefile.am (RELEASE_UPLOAD_DIR): Update for changed www
directory on server.
* src/pixman-xserver-compat.h): Add pixman-xserver-compat.h, (that
was supposed to go in a couple of commits ago).
* src/fbedgeimp.h (rasterizeEdges): Avoid buffer ovverrun when
trapezoid's right edge is on a pixel boundary.
* src/ictri.c (IcRasterizeTriangle):
* src/ictrap.c (pixman_composite_trapezoids): Switch to use new
fbRasterizeTrapezoid. Gut old IcRasterizeTrapezoid
implementation. Remove lots of code, (and all the bugs with it).
* src/icint.h: Replace IcRasterizeTrapezoid with
fbRasterizeTrapezoid. Add a couple of missing typedefs.
* src/renderedge.h:
* src/renderedge.c (RenderLineFixedEdgeInit):
* src/fbtrap.c:
* src/fbedge.c: Minor changes to allow things to compile within
libpixman tree, (replace xserver include directives with
pixman-xserver-compat.h and sprinkle a few const qualifiers).
* src/Makefile.am (libpixman_la_SOURCES): Add sources for new
point-sampling rasterization.
* src/fbtrap.c: Merge in changes from xserver, (mostly just
whitespace).
2005-01-18 Carl Worth <cworth@cworth.org>
* src/fbedge.c:
* src/fbedgeimp.h:
* src/fbtrap.c:
* src/renderedge.c:
* src/renderedge.h: Add pristine files from the X server
containing Keith's newer point-sampling implementation of
trapezoid rasterization. The plan is to munge these files as
little as possible to make them work within libpixman, (so that it
will be easier to share patches between libpixman and the X
server).
2005-01-13 Carl Worth <cworth@cworth.org>
* src/ictrap.c (IcRasterizeTrapezoid): Force alpha to 0 when the
left edge is entirely above top. (This is a workaround for some
bizarre edge effects in the current algorithm).
(IcRasterizeTrapezoid): Fix the above correction so that it
doesn't force 0 alpha when the left edge is positioned above but
slopes so as to contain some of the pixel.
2005-01-07 Carl Worth <cworth@cworth.org>
* src/icrop.h:
* src/icint.h: Restore extern tag for variable declarations,
(accidentally removed when recently removing extern from function
prototypes).
2005-01-04 Carl Worth <cworth@cworth.org>
* src/ic.c (pixman_composite): Do nothing if src image has width
or height == 0 to avoid potential divide-by-zero.
2004-12-23 Carl Worth <cworth@cworth.org>
* src/slim_internal.h: Rename __internal_linkage to
pixman_private.
* src/icrop.h:
* src/icint.h:
* src/icimage.h: Track rename to pixman_private and move it to
before the function return value to quiet gcc warnings about
visibility attribute ignored for non-class type.
* configure.in:
* src/Makefile.am (INCLUDES): Add the following warnings when
compiling with gcc: -Wall -Wpointer-arith -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-declarations -Wnested-externs
-fno-strict-aliasing
* src/icrect.c (pixman_color_rects): Fix to actually call
pixman_fill_rect_32bpp in the 32 bpp case. Thanks to
TOKUNAGA Hiroyuki <tkng@xem.jp>.
(pixman_fill_rect_8bpp, pixman_fill_rect_32bpp): Fix typo in
naming: bbp -> bpp.
2004-12-20 Alexander Larsson <alexl@redhat.com>
* src/icrect.c: (pixman_fill_rect_8bbp), (pixman_fill_rect_32bbp),
(pixman_fill_rect_general), (pixman_color_rects),
(pixman_fill_rectangles):
Special case solid color rectangle fills.
2004-10-28 Carl Worth <cworth@cworth.org>
* Makefile.am (release-verify-newer): Abort release-publish if
there's already a published tar file with the current version.
(release-publish): Add code to update the LATEST-package-version
file.
2004-10-27 Carl Worth <cworth@cworth.org>
* RELEASING: Put the tag command back which was accidentally
removed from the instructions.
* NEWS: Update date since 0.1.2 release didn't get pushed out
until today.
* RELEASING: Update release instructions to include new
release-publish target.
Suggest "cvs -q update -Ad" as an alternative to checkout.
* Makefile.am (release-publish): Add release-check and
release-publish targets to simplify the release process.
2004-10-13 Carl Worth <cworth@cworth.org>
* NEWS: Add notes for snapshot 0.1.2
* configure.in: Increment version to 0.1.2
* src/icint.h (MOD):
* src/iccompose.c (IcFetch_transform):
* src/ic.c (pixman_composite): Switch from two different buggy mod
macros to a new MOD macro which should work in C89 or C99.
2004-09-12 David Reveman <c99drn@cs.umu.se>
* src/icformat.c (pixman_format_init): pixman_format_init expects
that all variables not touched are zero. We need to add a memset
here to make that true.
Added pixman_format_get_masks, which allow clients to get the
masks from a format.
* src/icimage.c: Added the implementation of pixman_image_get_format,
which was missing.
* src/icint.h: slim_hidden_proto pixman_image_set_component_alpha.
* src/pixman.h: Added pixman_image_set_component_alpha, making it
possible to use component alpha.
* src/icimage.c (pixman_image_set_clip_region): Make a copy of
the client owned region.
(IcComputeCompositeRegion): Intersect possible client region.
Added pixman_image_set_component_alpha.
* src/icint.h: Include "../config.h".
Define IMAGE_BYTE_ORDER and BITMAP_BIT_ORDER correctly.
* configure.in: Added AC_C_BIGENDIAN.
* src/ic.c (pixman_composite):
* src/iccompose.c (IcFetch_transform, IcFetcha_transform):
* src/icimage.h: Added support for both transform and repeat
(thanks to Owen Taylor <otaylor@redhat.com>).
2004-05-06 Carl Worth <cworth@isi.edu>
* src/icimage.c (pixman_image_set_clip_region): Leave
clientClipType as CT_NONE if region is NULL (thanks to Vladimir
Vukicevic <vladimir@pobox.com>).
2004-04-16 Carl Worth <cworth@isi.edu>
* NEWS: Add notes for snapshot 0.1.1
* configure.in: Increment LIBPIXMAN_VERSION to 0.1.1
* src/ictrap.c (IcCreateAlphaPicture):
* src/icrect.c (pixman_color_rects):
* src/pixregion.c (pixman_region16_print, pixman_region16_valid):
* src/icint.h (IcBitsMask):
* src/icimage.h:
* src/icimage.c (pixman_image_change):
* src/icformat.c (pixman_format_create):
* src/pixman.h: Fix bogus names such as PIXMAN_FORMAT_NAME_AR_GB32
that were left over from a broken search-and-replace. Normalize
structure defintions, (eg. struct _pixman_region16_t -> struct
pixman_region16). Normalize indentation.
* AUTHORS: Fix alphabetization.
2004-02-24 Carl Worth <cworth@isi.edu>
* AUTHORS: Added attribution for several authors after sifting
through the ChangeLog.
Fix email address for Anders Carlsson.
2004-01-24 Carl Worth <cworth@isi.edu>
* src/iccompose.c (IcFetch_transform):
(IcFetcha_transform): Remove dead-code (useless n++).
2004-01-22 Richard Worth <richard@theworths.org>
* src/Makefile.am: Add '-no-undefined' to end of
libpixman_la_LDFLAGS tp enable building shared libary under
cygwin.
* src/pixman.h: Remove all 'extern ' and ' __external_linkage'
(macro for __declspec(dllexport) and __declspec(dllimport))
from function declarations. These are no longer needed for cygwin.
2003-12-17 Carl Worth <cworth@east.isi.edu>
* src/pixman.h: Remove trailing commas from enum, (some compilers
like to complain about this).
2003-12-12 Dave Beckett <Dave.Beckett@bristol.ac.uk>
* src/Makefile.am: Remove LIBPIXMAN_CFLAGS/LIBS cruft.
(libpixman_la_SOURCES): slim_export.h slim_import.h gone.
2003-12-12 Carl Worth <cworth@east.isi.edu>
* src/pixman.h: Fold contents of slim_export/import.h directly
into this file to avoid dependence on external slim package.
* src/icint.h:
* src/pixregionint.h: Use quote-based include now that
slim_internal is an internal file.
* src/icint.h: Follow convention of other files for
multi-inclusion guard (_IC_INT_H_)
* configure.in: Remove cruft.
2003-12-10 Dave Beckett <Dave.Beckett@bristol.ac.uk>
* update.pl: fixes for wrong order of renames
* src/pixregion.c, src/pixman.h, src/ictri.c, src/ictrap.c, src/icimage.c, src/icformat.c, src/ic.c:
Correct some more renames where the order of the renaming
caused later renames to fail due to earlier prefixes failing.
* update.pl: Add rename fixes
* src/pixregionint.h, src/pixregion.c, src/pixman.h, src/ictri.c, src/ictrap.c, src/ictransform.c, src/icrect.c, src/icpixels.c, src/icint.h, src/icimage.h, src/icimage.c, src/icformat.c, src/iccompose.c, src/iccolor.c:
Correct over-eager renames of the form pixman_thing_tName into
pixman_thing_name. It was inevitable really this would happen!
* update.pl: Added helper script for updating names in source.
* src/pixregionint.h, src/pixregion.c, src/pixman.h, src/icutil.c, src/ictri.c, src/ictrap.c, src/ictransform.c, src/icstipple.c, src/icrop.h, src/icrect.c, src/icpixels.c, src/icint.h, src/icimage.h, src/icimage.c, src/icformat.c, src/iccompose.c, src/iccolor.c, src/icbltone.c, src/icblt.c, src/ic.c:
Rename exported Ic* and PixRegion* functions, types, enums
to be prefixed pixman (or PIXMAN for enum values)
* libpixman.pc.in, README: libpixman is the pixel manipulation library
* src/pixregionint.h, src/icint.h:
Change ic.h/pixregion.h headers inclusions to be pixman.h
* src/ic.h: Removed ic.h, merged into pixman.h
* src/pixman.h:
Merged pixregion.h (former name and CVS history of this file)
and ic.h (now CVS deleted here).
* src/Makefile.am:
Updated for libpixregion,libic to libpixman source merges.
Added -I$(srcdir) so we get internal headers from here even
when srcdir != builddir.
* libpixman.pc.in, configure.in, Makefile.am:
Updated for libpixregion,libic to libpixman package name, dependencies.
* README, COPYING, AUTHORS:
Merge of libic, slim AUTHORS, COPYING, README
* Initial repository copy of libpixregion, libic, slim CVS.
* Constructed a merged ChangeLog below via emacs VC mode (which rocks!)
2003-12-09 Carl Worth <cworth@isi.edu>
* ChangeLog.libpixregion, autogen.sh, ChangeLog.libic:
* autogen.sh: Allow names of all autofoo programs to be
overridden via environment variables.
2003-11-25 Carl Worth <cworth@isi.edu>
* ChangeLog.libic, src/icutil.c:
* configure.in: Bump version to 0.1.5 for new 64-bit fixes.
* src/icutil.c (icStipple8Bits): One more fix needed for 64-bit
machine (alpha in this case). Thanks to Jakub Bogusz
<qboosh@pld-linux.org>.
2003-11-17 Carl Worth <cworth@isi.edu>
* src/icrop.h, src/icutil.c, ChangeLog.libic:
* src/icutil.c (icStipple1Bits):
* src/icrop.h (IcStipple16Bits): Fixes needed to compile libic on
x86_64. Many thanks to David R Bacon <dbacon@cis.ksu.edu>.
2003-11-06 Carl Worth <cworth@isi.edu>
* ChangeLog.libic, src/ic.h: Removed stale version from ic.h.
Better to have no version listed than the wrong one.
2003-11-01 Carl Worth <cworth@isi.edu>
* ChangeLog.libic, src/ic.h, src/icimage.c:
Add IcImageGetDepth. Bump version to 0.1.3
2003-10-29 Carl Worth <cworth@isi.edu>
* ChangeLog.libpixregion, configure.in, ChangeLog.libic:
Drop AC_CONFIG_AUX_DIR(config) as it was confusing "make distcheck"
* ChangeLog.libic, src/icimage.c, src/icimage.h:
Fix memory leak of image->transform.
Remove currently unused DevUnion type and IcImageChange function.
* ChangeLog.libic:
Bumped version to 0.1.2 to indicate new IcOperator type.
* ChangeLog.libic, src/ic.c, src/ic.h, src/icblt.c, src/icbltone.c, src/iccolor.c, src/iccompose.c, src/icimage.c, src/icimage.h, src/icint.h, src/icrect.c, src/ictransform.c, src/ictrap.c, src/ictri.c:
Patch from Bryan Worth <bryan@theworths.org> to eliminate lots of leftover,
undesired dependencies on X header files.
2003-09-24 Carl Worth <cworth@isi.edu>
* ChangeLog.slim:
Require __GNUC__ >= 3 before defining slim_hidden_def macro
2003-09-23 Carl Worth <cworth@isi.edu>
* src/slim_internal.h:
Require __GNUC__ >= 3 before defining slim_hidden_def macro
2003-09-10 Carl Worth <cworth@isi.edu>
* src/ic.c, src/iccolor.c, src/icformat.c, src/icimage.c, src/icrect.c, ChangeLog.libic, ChangeLog.libpixregion, configure.in, src/pixregion.c:
Updated calls to slim_hidden_def to track cahnges in slim 0.2.0
* ChangeLog.slim: Bump version number to 0.2.0
* ChangeLog.slim, src/slim_internal.h:
Remove ';' from slim_hidden_def. Bump version to 0.1.1
2003-09-05 Carl Worth <cworth@isi.edu>
* ChangeLog.libic, src/ic.c, src/ic.h, src/icblt.c, src/icbltone.c, src/iccolor.c, src/iccompose.c, src/icformat.c, src/icimage.c, src/icimage.h, src/icint.h, src/icpixels.c, src/icrect.c, src/icrop.h, src/icstipple.c, src/ictransform.c, src/ictrap.c, src/ictri.c, src/icutil.c:
Expose functions for creating IcFormat based on IcFormatName or masks.
The actual IcFormat struct is no longer exposed.
Bump version number to 0.1.1
* ChangeLog.libic: Portability fix for OpenBSD (from Michael Schubert)
2003-09-02 Carl Worth <cworth@isi.edu>
* src/ic.h: Portability fix for OpenBSD (from Michael Schubert)
2003-08-19 Carl Worth <cworth@isi.edu>
* autogen.sh: Add --enable-maintainer-mode to autogen.sh
* autogen.sh:
Fixed to give a better warning if pkg-config is not installed
2003-08-01 Richard Henderson <rth@twiddle.net>
* ChangeLog.libic, src/iccolor.c:
* src/iccolor.c (Ones): Define as __builtin_popcount when available.
2003-07-31 Richard Henderson <rth@twiddle.net>
* src/ic.c, src/ic.h, src/iccolor.c, src/iccompose.c, src/icformat.c, src/icimage.c, src/icimage.h, src/icint.h, src/icrect.c, src/icrop.h, src/ictri.c, ChangeLog.libic:
* configure.in: Check for slim revision.
* libic.pc.in: Depend on slim.
* src/ic.c, src/iccompose.c: Don't include icimage.h.
* src/icimage.h: Don't include ic.h.
* src/ic.h: Include slim_{export,import}.h as appropriate. Mark all
symbols __external_linkage.
* src/icint.h: Include slim_import.h; mark symbols __internal_linkage;
add slim hidden_proto declarations.
* src/icimage.h: Mark all symbols __internal_linkage.
* src/icrop.h: Likewise.
* src/ic.c (IcComposite): Provide hidden definition.
* src/iccolor.c (IcColorToPixel): Likewise.
* src/icformat.c (IcFormatInit): Likewise.
* src/icimage.c (IcImageCreate, IcImageDestroy): Likewise.
(IcImageSetRepeat): Likewise.
* src/icrect.c (IcFillRectangles): Likewise.
* src/tri.c (IcRasterizeTriangle): Make static.
* ChangeLog.slim, src/slim_internal.h:
* src/slim_internal.h (__internal_linkage): Attribute visibility
not present until gcc 3.3.
* src/icimage.h, src/icrop.h, src/icutil.c, ChangeLog.libic, src/ic.c, src/icbltone.c, src/iccompose.c:
* src/ic.c: Make everything but IcComposite static.
* src/iccompose.c: Make everything except IcBuildCompositeOperand
and IcCompositeGeneral static.
* src/icbltone.c (Ic8Lane, Ic16Lane, Ic32Lane): Make static.
(IcLaneTable): Turn into a function.
(IcBltOne): Make IcLane const.
(icStipple24Bits): Make static.
* src/icimage.h: Remove lots of now static declarations.
* src/icrop.h: Likewise.
* src/icutil.c (icStipple8Bits, icStipple4Bits): Make static.
(icStipple2Bits, icStipple1Bits): Make static.
(IcStippleTable): Turn into a function.
2003-07-30 Carl Worth <cworth@isi.edu>
* ChangeLog.libic, src/ic.h: Committing missed ChangeLog entry
* ChangeLog.libic, src/ic.h:
Fixed IcRectangle to be compatible with XRectangle.
* ChangeLog.libpixregion, configure.in, src/pixman.h:
Removed false dependency on X.
2003-07-30 Richard Henderson <rth@twiddle.net>
* ChangeLog.slim:
* Makefile.am (EXTRA_DIST, pkgconfigdir, pkgconfig_DATA): New.
* configure.in (AC_OUTPUT): Add slim.pc.
* slim.pc.in: New file.
* ChangeLog.libpixregion, configure.in, libpixman.pc.in, src/pixman.h, src/pixregion.c, src/pixregionint.h:
* configure.in: Run PKG_CHECK_MODULES on slim.
* libpixregion.pc.in: Require slim.
* src/pixregion.c (PixRegionCreateSimple): Mark hidden.
(PixRegionCopy, PixRegionUnion): Mark hidden.
* src/pixregion.h: Include and use X11/Xfuncproto.h. Include
slim_{export,import}.h as appropriate. Mark all functions with
__external_linkage.
* src/pixregionint.h: Rename include protect to _PIXREGIONINT_H_.
* src/slim_export.h, src/slim_import.h, src/slim_internal.h, ChangeLog.slim:
* src/slim_internal.h: New file.
* src/slim_export.h: New file.
* src/slim_import.h: New file.
* src/Makefile.am (include_HEADERS): Add them.
* configure.in (AC_INIT): Check for src/slim_export.h
2003-07-30 Carl Worth <cworth@isi.edu>
* ChangeLog.slim: Initial commit of slim shell
2003-07-29 Carl Worth <cworth@isi.edu>
* src/ic.c, src/ic.h, src/iccompose.c, src/icimage.h, src/icint.h:
Replaced CARD*/INT* datatypes with stdint types (vektor@dumbterm.net).
2003-07-10 Anders Carlsson <andersca@codefactory.se>
* ChangeLog.libic:
2003-07-10 Anders Carlsson <andersca@codefactory.se>
* autogen.sh:
Pass --enable-maintainer-mode to configure
* configure.in:
Add compiler warning flags to CFLAGS.
2003-07-09 Anders Carlsson <andersca@codefactory.se>
* src/ic.h, src/icimage.c, ChangeLog.libic:
2003-07-09 Anders Carlsson <andersca@codefactory.se>
* src/ic.h:
* src/icimage.c: (IcImageGetData):
Add accessor for getting a pointer to the image data.
2003-07-08 Anders Carlsson <andersca@codefactory.se>
* src/ic.h, src/icimage.c, ChangeLog.libic:
2003-07-09 Anders Carlsson <andersca@codefactory.se>
* src/ic.h:
* src/icimage.c: (IcImageGetWidth), (IcImageGetHeight),
(IcImageGetStride):
Add accessors.
2003-05-29 Carl Worth <cworth@isi.edu>
* src/ic.c, src/iccompose.c: Cleanup of some stale unused code.
2003-05-15 Carl Worth <cworth@isi.edu>
* src/ic.h, src/iccompose.c, src/icimage.c, src/icimage.h,
src/icint.h, src/ictransform.c, ChangeLog.libic: Fixed
transform/filter support
2003-05-05 Carl Worth <cworth@isi.edu>
* ChangeLog.libic, src/ictrap.c:
Avoid crash in IcCompositeTrapezoids when there's nothing to draw.
2003-04-26 Carl Worth <cworth@isi.edu>
* ChangeLog.libic, src/icimage.c, src/icimage.h: Fixed memory leak
2003-04-25 Carl Worth <cworth@isi.edu>
* ChangeLog.libic, src/ic.h, src/icint.h, src/icrect.c,
src/ictrap.c, src/ictri.c: Remove X datatypes from public
interface
* configure.in, src/Makefile.am, src/pixman.h, src/pixregionint.h:
Fixed libtool versioning
* ChangeLog.libic, src/ic.h:
Fixed to not reference XFixed. Fixed libtool versioning
2003-04-23 Carl Worth <cworth@isi.edu>
* src/ic.h: extern "C" stuff to support C++ (Fredrik H<>glund)
2003-04-22 Carl Worth <cworth@isi.edu>
* ChangeLog.libpixregion, configure.in: Fixed typo (Owen Taylor)
2003-04-17 Carl Worth <cworth@isi.edu>
* ChangeLog.libic, src/ic.c, src/ic.h, src/iccolor.c,
src/iccompose.c, src/icformat.c, src/icimage.c, src/icimage.h,
src/icint.h, src/icpixels.c, src/icrect.c, src/ictrap.c,
src/ictri.c: Removed reliance on server headers. Reowrked IcFormat
2003-03-05 Carl Worth <cworth@isi.edu>
* ChangeLog.libic, src/ic.h, src/icimage.h, src/icint.h:
Updated to use libpixregion
2003-02-25 Carl Worth <cworth@isi.edu>
* src/ic.c, src/ic.h, src/iccompose.c, src/icimage.c,
src/icimage.h, src/icint.h, src/ictrap.c, src/ictri.c: updated to
use libpixregion instead of Xlib region code
* ChangeLog.libpixregion, src/pixman.h, src/pixregion.c: API cleanup
* src/.cvsignore, src/Makefile.am, src/pixman.h, src/pixregion.c,
src/pixregionint.h: Initial import of libpixregion
* src/.cvsignore, src/Makefile.am, src/pixman.h, src/pixregion.c,
src/pixregionint.h: New file.
* .cvsignore, AUTHORS, COPYING, ChangeLog.libpixregion, INSTALL,
Makefile.am, NEWS, README, autogen.sh, configure.in,
libpixman.pc.in: Initial import of libpixregion
* .cvsignore, AUTHORS, COPYING, ChangeLog.libpixregion, INSTALL,
Makefile.am, NEWS, README, autogen.sh, configure.in,
libpixman.pc.in: New file.
2003-02-21 Carl Worth <cworth@isi.edu>
* src/ic.h, src/icimage.h, src/icint.h, src/ictrap.c, src/ictri.c:
Added triangle support
* src/ictransform.c, ChangeLog.libic, src/ic.c, src/icbltone.c,
src/iccompose.c, src/icformat.c, src/icimage.c, src/icimage.h,
src/icint.h, src/icutil.c: Some reorganization and cruft removal
* src/ic.c, src/ic.h, src/icimage.c, src/icint.h, src/icpixels.c,
src/icstipple.c, src/ictrap.c: Started cleaning up public libic
interface
* src/icimage.h, src/icint.h, src/icrop.h:
Initial import of libic code, (still very preliminary).
* src/icimage.h, src/icint.h, src/icrop.h: New file.
* src/ictrap.c, src/ictri.c, src/icutil.c:
Initial import of libic code, (still very preliminary).
* src/ictrap.c, src/ictri.c, src/icutil.c: New file.
* src/iccompose.c, src/icformat.c, src/icimage.c, src/icpixels.c, src/icrect.c, src/icstipple.c:
Initial import of libic code, (still very preliminary).
* src/iccompose.c, src/icformat.c, src/icimage.c, src/icpixels.c, src/icrect.c, src/icstipple.c:
New file.
* src/icbltone.c:
Initial import of libic code, (still very preliminary).
* src/icbltone.c: New file.
* src/ic.c, src/ic.h, src/icblt.c:
Initial import of libic code, (still very preliminary).
* src/ic.c, src/ic.h, src/icblt.c: New file.
* ChangeLog.libic:
Initial import of libic code, (still very preliminary).
* ChangeLog.libic: New file.