Subject: pixman 0.18 [PSARC/2010/282 Self Review]
To:      PSARC-ext@Sun.Com
Cc:      Alan.Coopersmith@Sun.COM
Bcc:     one-pager-list@sac.sfbay one-pager-log@sac.sfbay sac-bar@sac.sfbay

I am sponsoring this case for the X group, and have marked it closed
approved automatic, with a Patch release binding, as it is a simple upgrade
to a new community release that only adds new functions and does not change
compatibility of any existing functions.

	-Alan Coopersmith-        alan.coopersmith@oracle.com
	 Oracle Solaris Platform Engineering: X Window System

Template Version: @(#)sac_nextcase 1.70 03/30/10 SMI
This information is Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
1. Introduction
    1.1. Project/Component Working Name:
	 pixman 0.18
    1.2. Name of Document Author/Supplier:
	 Author:  Alan Coopersmith
    1.3  Date of This Document:
	21 July, 2010
4. Technical Description

This case updates the pixman image rendering library used by the X servers
and Cairo from community release 0.16 to 0.18.

These new functions are exported from <pixman.h> & libpixman.so.1
in pixman-0.18 - several add versions of existing API's with an
32-bit coordinate space, expanded from the 16-bit coordinate space
used in the original API (which inherited it from the X11 16-bit space).

These new functions are exported with a stability level of Volatile,
matching the existing pixman API stability.

void	pixman_region_init_from_image    (pixman_region16_t *region,
                                          pixman_image_t    *image);
void	pixman_region32_init_from_image  (pixman_region32_t *region,
					  pixman_image_t    *image);

    These create a region from an image in PIXMAN_a1 format.

void *	pixman_image_get_destroy_data	 (pixman_image_t    *image);

    Returns the value set using the data parameter to the
    pixman_image_set_destroy_function().

pixman_bool_t   pixman_image_fill_boxes	 (pixman_op_t        op,
					  pixman_image_t    *dest,
                                          pixman_color_t    *color,
                                          int                n_boxes,
                                          const pixman_box32_t *boxes);

    This is basically the 32bit version of pixman_image_fill_rectangles(),
    just with a saner data type.      
    pixman_image_fill_rectangles() now calls pixman_image_fill_boxes()

void	pixman_image_composite32	 (pixman_op_t        op,
                                          pixman_image_t    *src,
					  pixman_image_t    *mask,
					  pixman_image_t    *dest,
					  int32_t            src_x,
					  int32_t            src_y,
					  int32_t            mask_x,
					  int32_t            mask_y,
					  int32_t            dest_x,
					  int32_t            dest_y,
					  int32_t            width,
					  int32_t            height);

    This is equal to pixman_image_composite(), just with 32bit parameters.
    pixman_image_composite() now just calls pixman_image_composite32()


Imported interfaces:
--------------------
Previous pixman versions		Volatile	LSARC 2008/637, 
	 						LSARC 2009/223

Exported interfaces:
--------------------
pixman_region_init_from_image()		Volatile
pixman_region32_init_from_image()	Volatile
pixman_image_get_destroy_data()		Volatile
pixman_image_fill_boxes()		Volatile
pixman_image_composite32()		Volatile

6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		X Consolidation (Desktop C-Team)
    6.5. ARC review type: Automatic
    6.6. ARC Exposure: open

