2005-08-27 Owen Taylor * 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 * 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 * src/pixman-remap.h: Fix a typo in the last change. 2005-08-21 Billy Biggs * 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 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 * 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 * 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 * 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 * src/pixman-remap.h: Only mangle exported symbols. This is sufficient and makes debugging a lot easier. 2005-08-16 Billy Biggs * src/Makefile.am: Fix a typo in the last commit. 2005-08-16 Billy Biggs * 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 * 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 * src/icrect.c: (pixman_fill_rect_1bpp): Fix to be correct for arbitrary xDst values. 2005-08-11 Billy Biggs * 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 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 * src/pixregion.c: (pixman_region_union_rect): Union with empty rectangle should yield SUCCESS, not FAILURE 2005-08-06 Jeff Muizelaar * 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 * 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 * src/pixman-xserver-compat.h: Fix fbGetDrawable Patch from Billy Biggs . 2005-08-05 Jeff Muizelaar * src/icint.h: Fix some of the 4 bit per channel PICT definitions Patch from Billy Biggs . 2005-08-05 Jeff Muizelaar * 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 * 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 * NEWS: fix typo 2005-07-30 Jeff Muizelaar * 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 * 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 * 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 * configure.in: Add -head to LIBPIXMAN_VERSION after tagging with SNAPSHOT_0_1_6. 2005-07-28 Carl Worth * NEWS: Add notes for snapshot 0.1.6. * configure.in: Increment version to 0.1.6. 2005-07-27 Owen Taylor * src/icint.h (FbGetStipPixels): Fix units for stride return to be FbStip-sized. 2005-07-16 Jeff Muizelaar * src/ic.c: (pixman_composite): Add call to fbCompositeSrcSrc_nxn that I missed. 2005-07-14 Carl Worth * 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 * 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 * 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 * 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 * 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 * src/icint.h: Fix broken build on older gcc's caused by overzealous s/IC_/FB_/g 2005-06-24 Jeff Muizelaar * 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 * 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 * 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 * 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 * 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 * 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 * 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 * src/icint.h: * src/icblt.c: (IcBlt): Start the xserver/fb -> libpixman merging with a copy optimization. 2005-05-26 Keith Packard * 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 * configure.in: Add -head to CAIRO_VERSION after tagging with SNAPSHOT_0_1_5. 2005-05-18 Carl Worth * NEWS: Add notes for snapshot 0.1.5. * configure.in: Increment version to 0.1.5. 2005-05-18 Carl Worth * src/icimage.c (pixman_image_destroy): Clear pointers to NULL after destroying/freeing them. 2005-05-18 Carl Worth * 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 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 * 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 * src/ic.c: Don't use pixman_compositeSrc_8888x8888 when the source is x8r8g8b8 or x8b8g8r8. 2005-03-29 T Rowley * src/pixman.h: add AIX to the test for inttypes.h 2005-03-11 Owen Taylor * src/icformat.c (pixman_format_init): Set format->depth correctly instead of just using the bpp. 2005-03-07 Carl Worth * 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 * 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 * src/ictrap.c (pixman_composite_trapezoids): Add comment from xserver's mitrap.c. 2005-03-04 David Reveman * src/pixman.h: * src/ictrap.c: Add pixman_add_trapezoids. 2005-03-03 Carl Worth * 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 * 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 * src/icint.h: * src/ictrap.c: Move definitions of MIN and MAX macros from ictrap.c to icint.h. 2005-03-03 Carl Worth * 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 * src/ictrap.c: Restore original copyright and license which must have been inadvertently changed. 2005-03-02 Carl Worth * 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 * 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 * 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 * configure.in: Add AC_PREREQ(2.54) to help the Debian auto-guess-which-configure-version hack. 2005-01-26 Carl Worth * 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 * 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 * 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 * 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 * 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 * 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 * 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 . (pixman_fill_rect_8bpp, pixman_fill_rect_32bpp): Fix typo in naming: bbp -> bpp. 2004-12-20 Alexander Larsson * 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 * 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 * 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 * 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 * 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 ). 2004-05-06 Carl Worth * src/icimage.c (pixman_image_set_clip_region): Leave clientClipType as CT_NONE if region is NULL (thanks to Vladimir Vukicevic ). 2004-04-16 Carl Worth * 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 * AUTHORS: Added attribution for several authors after sifting through the ChangeLog. Fix email address for Anders Carlsson. 2004-01-24 Carl Worth * src/iccompose.c (IcFetch_transform): (IcFetcha_transform): Remove dead-code (useless n++). 2004-01-22 Richard Worth * 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 * src/pixman.h: Remove trailing commas from enum, (some compilers like to complain about this). 2003-12-12 Dave Beckett * src/Makefile.am: Remove LIBPIXMAN_CFLAGS/LIBS cruft. (libpixman_la_SOURCES): slim_export.h slim_import.h gone. 2003-12-12 Carl Worth * 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 * 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 * 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 * 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 . 2003-11-17 Carl Worth * 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 . 2003-11-06 Carl Worth * 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 * ChangeLog.libic, src/ic.h, src/icimage.c: Add IcImageGetDepth. Bump version to 0.1.3 2003-10-29 Carl Worth * 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 to eliminate lots of leftover, undesired dependencies on X header files. 2003-09-24 Carl Worth * ChangeLog.slim: Require __GNUC__ >= 3 before defining slim_hidden_def macro 2003-09-23 Carl Worth * src/slim_internal.h: Require __GNUC__ >= 3 before defining slim_hidden_def macro 2003-09-10 Carl Worth * 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 * 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 * src/ic.h: Portability fix for OpenBSD (from Michael Schubert) 2003-08-19 Carl Worth * 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 * ChangeLog.libic, src/iccolor.c: * src/iccolor.c (Ones): Define as __builtin_popcount when available. 2003-07-31 Richard Henderson * 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 * 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 * 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 * ChangeLog.slim: Initial commit of slim shell 2003-07-29 Carl Worth * 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 * ChangeLog.libic: 2003-07-10 Anders Carlsson * autogen.sh: Pass --enable-maintainer-mode to configure * configure.in: Add compiler warning flags to CFLAGS. 2003-07-09 Anders Carlsson * src/ic.h, src/icimage.c, ChangeLog.libic: 2003-07-09 Anders Carlsson * src/ic.h: * src/icimage.c: (IcImageGetData): Add accessor for getting a pointer to the image data. 2003-07-08 Anders Carlsson * src/ic.h, src/icimage.c, ChangeLog.libic: 2003-07-09 Anders Carlsson * src/ic.h: * src/icimage.c: (IcImageGetWidth), (IcImageGetHeight), (IcImageGetStride): Add accessors. 2003-05-29 Carl Worth * src/ic.c, src/iccompose.c: Cleanup of some stale unused code. 2003-05-15 Carl Worth * 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 * ChangeLog.libic, src/ictrap.c: Avoid crash in IcCompositeTrapezoids when there's nothing to draw. 2003-04-26 Carl Worth * ChangeLog.libic, src/icimage.c, src/icimage.h: Fixed memory leak 2003-04-25 Carl Worth * 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 * src/ic.h: extern "C" stuff to support C++ (Fredrik Höglund) 2003-04-22 Carl Worth * ChangeLog.libpixregion, configure.in: Fixed typo (Owen Taylor) 2003-04-17 Carl Worth * 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 * ChangeLog.libic, src/ic.h, src/icimage.h, src/icint.h: Updated to use libpixregion 2003-02-25 Carl Worth * 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 * 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.