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 Hglund)

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.

