This is the initial release of the pixman library. Pixman contains lowlevel pixel manipulation routines and is used by both xorg and cairo. Thanks, Soren Download: http://xorg.freedesktop.org/archive/individual/lib/pixman-0.9.4.tar.bz2 http://xorg.freedesktop.org/archive/individual/lib/pixman-0.9.4.tar.gz Shortlog: Aaron Plattner (1): Return a bool from pixman_image_unref. Alan Coopersmith (1): Build fixes for Solaris. Alex Larsson (1): Add non-mmx fast paths for In_8x8 and In_nx8x8. Bug 4191, patch by Daniel Stone (2): Use canonical autogen.sh Add .gitignore file Jinghua Luo (1): Fix bug in rasterizeEdges() where the stride should be signed. Soren Sandmann Pedersen (52): Add the files. Change autogen.sh to call autoreconf. Remove reference to libcomp.h Add code to initialize images, based on picture.c from the X server Add pixman.pc.in Make autogen.sh run configure Changes to autogen.sh Make autogen.sh run configure Don't run configure from autogen.sh Run configure from autogen.sh Add fixed point macros, add declarations for image init functions Fix copyright notice Implement pixman_image_composite() in terms of fbCompositeRect(). Add a simple test program; fix linking problems Make the test program test something useful. Add setters for various properties Fix libpixman.pc.in Install header file in pixman/pixman.h Apply bad hack to avoid including config.h Change to use malloced image instead of stack allocated Export pixman_gradient_stop; get rid of *error argument from init functions. Make images ref counted. Memory management. Handle setting of NULL properties Various formatting fixes Remove *error from solid fill constructor Fix various stupid mistakes, such as inverted return_if_fail() tests Change the names of a few functions to prevent them from clashing with the X names Make the pixman_transform_point_3d() function public Make the region data struct public Don't build GTK+ test programs if GTK+ is not available Replace hack to get standard integer types with #if/#elif construction Fix typo in pixman.h Various formatting fixes Add API to have accessor functions on pixman Move some macros from pixman-compose.c to pixman-private.h Add an image argument to all the fetch functions Add an image argument to all the store functions Add a TODO file. Indent pixman-compose.c Fix wrong type in composite-test.c Add new function pixman_image_set_indexed() Free the indexed table when the image is freed Make pixman_image_set_indexed() not copy its argument Add pixman-pict.c which is a version of fbpict.c. It compiles, but Make pixman_image_composite() take a region parameter; comment out non-implemented functions from the switch of doom Fix bug in fbCompositeGetSolid() where a format was compared to a format type Update TODO Use the general code if the images have read/write functions Add edge data types Add implementation of edge rasterization Add more edge functions Fix function name Make sure gradient-test.c builds when srcdir != buildir. Patch from Declare the two new trapezoid functions in pixman.h S?ren Sandmann (50): Add a version of fbcompose.c. Fixes and additions to make it compile Remove AM_MAINTAINER_MODE ; add new gradient-test Use fixpoint instead of double in gradient test Add a transformation to the gradient test Make sure 64 bit fixed point types are signed Use a radial gradient in the gradien-test Add new pixman_region_set_static_pointers Export pixman_region_equal() Export a pixman_region_selfcheck Export pixman_region_reset Add macro magic in pixman-private.h to allow reading and writing to Include limits.h in pixman-compose.c; patch from Alan Coopersmith Add macro FUNC that expands to __PRETTY_FUNCTION__ or __func__ Various formatting/style tweaks Add implementation of can_get_solid() Add fbComposeGetSolid() macro Add fbComposeGetStart() macro Move mod and div macros to pixman-private.h Add slightly changed copy of miComputeCompositeRegion() to pixman-pict.c Add pixman-mmx.[ch] and move macros around to make it compile. Make the mmx code compile Update TODO Check for MMX in the build system Check for getisax() support Include string.h in pixman-pict.c Detect endianness Fix bug in rasterizeEdges() where the stride was treated as if in Add pixman-trap with the trapezoid rasterization code from the X server. Add various accessors; remove composite_rect Allow bits to be NULL when bit images are created Add boolean returns to various setters Add pixman_add_trapezoids() function Add pixman_fill_rectangles() Don't require rowstride to be a multiple of 4 when bits is NULL Don't complain if users try to read non-existing data from images Make default clip region the full image Reset clip regions correctly when NULL is passed Update TODO Update TODO Update TODO Disable source clipping by default Turn off debug spew for incorrect arguments Add #defines etc to compile pixman-compose.c twice Slight tweak to the definition of pixman_composeFunctions Move some utility functions from pixman-edge.c to pixman-utils.c Remove ACCESS_MEM macro; define READ and WRITE to directly use the wrapper functions Use the general code in some cases even when a fast path is available Add timer macros Revert "Add a cache of images to reduce malloc/free time" Port Vlad's fixes for integer overflows with malloc(). S?ren Sandmann Pedersen (38): Fix bug in pixman_image_set_filter() where only the parameters were Add a version of miComputeCompositeRegion; call it from Bump version number Add pixman_blt_mmx() based on fbBltmmx() from the X server. Rename fbHaveMMX() pixman_have_mmx() Forgotten fbHaveMMX() Add pixman_fill_mmx() function Make use of pixman_fill_mmx() in various places. Delete #if0'ed code Bump version number When setting identity transformations store them as NULL to prevent Plug leak in the bits=NULL case for pixman_image_create_bits() Plug leak of the gradient stops Add a few optimizations for solid fills Optimize 1x1 repeating images in the general case Unroll loop in fbComposite_x888x8x8888() Make fbCompositeSrc_8888x8888mmx() check if the mask is 0 Optimize fill rectangles in the op=PIXMAN_OP_CLEAR case Update TODO Remove accidentally committed use of TIMER_BEGIN/END Rename fbCompositeSrc_x888x8x8888 to x888xnx8888 Add fbCompositeOver_x888x8x8888() fast path Add new fbCompositeOver_x888x8x8888mmx() operation Also use this function in the xBGR case Make sure the output of fbCompositeOver_x888x8x8888 is actually stored Add non-mmx solid fills. Update TODO Fix solid fill optimization to compute the src correctly Add in 0xff alpha channel in Over_x888x8x8888mmx Fix pixman_fill() to return TRUE when it succeeded Smplify the 1x1r optimization for the general compositing and fix the Fix fbStore_b2g3r3(). Pointed out by Dan Amelang Also store the g3 part correctly Add a cache of images to reduce malloc/free time Optimize pixman_fill_rectangles() in a few more cases Add fbCompositeSrc_8888xx888(); comment out Fix typo Don't treat void as a value. Bug 11322, Alan Coopersmith. Change the library name to pixman-1 Bump version number; fix typo in configure.ac Vladimir Vukicevic (2): Add pixman_region_init_rects() Fix OpenSolaris compilation git tag: pixman-0.9.4 http://xorg.freedesktop.org/archive/individual/lib/pixman-0.9.4.tar.bz2 MD5: c354ab5b0da10227226d3ef604254875 pixman-0.9.4.tar.bz2 SHA1: c7c790d0cd96546993918a56c973cba16e35b87b pixman-0.9.4.tar.bz2 http://xorg.freedesktop.org/archive/individual/lib/pixman-0.9.4.tar.gz MD5: 44851d2c6015c5c5794c2f2041cea1a9 pixman-0.9.4.tar.gz SHA1: 3926b89fe63c03fc2542fd14a527d47737e0f95e pixman-0.9.4.tar.gz