15bd8deadSopenharmony_ciXXX - Not complete.
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ciName
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ci    SGIX_image_compression
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ciName Strings
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ci    GL_SGIX_image_compression
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ciVersion
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ci    $Date: 1997/06/05 16:11:49 $ $Revision: 1.5 $
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ciNumber
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ci    ???
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ciDependencies
205bd8deadSopenharmony_ci
215bd8deadSopenharmony_ci	None.
225bd8deadSopenharmony_ci
235bd8deadSopenharmony_ciOverview
245bd8deadSopenharmony_ci
255bd8deadSopenharmony_ci	This extension defines new pixel storage modes which are used in the
265bd8deadSopenharmony_ci	conversion of image data to and from compressed formats on the client
275bd8deadSopenharmony_ci	side.  These new compression and decompression operations take place
285bd8deadSopenharmony_ci	during the pixel packing and unpacking stages of the OpenGL pipeline,
295bd8deadSopenharmony_ci	respectively, and obey the same semantics as other packing and
305bd8deadSopenharmony_ci	unpacking modes.  This extension defines a framework in which further
315bd8deadSopenharmony_ci	extensions can provide support for specific compressed formats, and
325bd8deadSopenharmony_ci	also provides additional infrastructure which is common to various
335bd8deadSopenharmony_ci	compression techniques, without defining any specific compression
345bd8deadSopenharmony_ci	formats.  Other extensions will define compression formats which make
355bd8deadSopenharmony_ci	use of this framework.  A new pixel unpacking mode and a new pixel
365bd8deadSopenharmony_ci	packing mode are defined which specify the compressed format of pixel
375bd8deadSopenharmony_ci	data on the client side.  The only legal value this extension defines
385bd8deadSopenharmony_ci	for these storage modes is NONE; further compression extensions will
395bd8deadSopenharmony_ci	define additional legal values.
405bd8deadSopenharmony_ci
415bd8deadSopenharmony_ci	Many compression techniques utilize various component subsamplings, so
425bd8deadSopenharmony_ci	it is necessary to provide a mechanism to specify the up- and
435bd8deadSopenharmony_ci	down-sampling of components as pixel data is decompressed from- and
445bd8deadSopenharmony_ci	compressed to the client.  This extension defines a new pixel storage
455bd8deadSopenharmony_ci	mode to specify these sampling patterns, and four legal values.  When
465bd8deadSopenharmony_ci	pixel data is decompressed from the client and an unpacking upsampling
475bd8deadSopenharmony_ci	mode other than SAMPLE_444_SGIX is specified, the upsampling is
485bd8deadSopenharmony_ci	performed via simple component replication.  This preserves all
495bd8deadSopenharmony_ci	information in the incoming image data, so that if an application
505bd8deadSopenharmony_ci	requires other types of filtering, they may be performed after
515bd8deadSopenharmony_ci	decompression.  Similarly, when pixel data is compressed to the client
525bd8deadSopenharmony_ci	and a packing downsampling mode other than SAMPLE_444_SGIX is
535bd8deadSopenharmony_ci	specified, the downsampling is performed via simple component
545bd8deadSopenharmony_ci	decimation.  If an application requires other types of filtering, they
555bd8deadSopenharmony_ci	must be performed before compression.
565bd8deadSopenharmony_ci
575bd8deadSopenharmony_ci	Some compression formats specify a color space in which the pixels are
585bd8deadSopenharmony_ci	expressed before compression and after decompression.  To make support
595bd8deadSopenharmony_ci	of these formats more transparent, this extension adds a conversion
605bd8deadSopenharmony_ci	between the natural color space of the compression format and RGB.
615bd8deadSopenharmony_ci	This conversion can be enabled separately for packing and for unpacking
625bd8deadSopenharmony_ci	of pixel data.  When it is enabled for unpacking, the pixel data will
635bd8deadSopenharmony_ci	be converted to RGB after decompression.  When it is enabled for
645bd8deadSopenharmony_ci	packing, the pixel data will be assumed to be represented as RGB, and
655bd8deadSopenharmony_ci	converted as necessary before compression.  The client may wish to
665bd8deadSopenharmony_ci	disable these automatic conversion in order to apply filtering before
675bd8deadSopenharmony_ci	the color space conversion in the case of decompression, or after the
685bd8deadSopenharmony_ci	color space conversion in the case of compression.  When the
695bd8deadSopenharmony_ci	conversions are disabled, the client is responsible for performing the
705bd8deadSopenharmony_ci	appropriate color space conversions.  The alternate color spaces must
715bd8deadSopenharmony_ci	be defined by the additional compression format extensions.  If a new
725bd8deadSopenharmony_ci	format extension does not specify a preferred color space, this color
735bd8deadSopenharmony_ci	space conversion has no effect.
745bd8deadSopenharmony_ci
755bd8deadSopenharmony_ciIssues
765bd8deadSopenharmony_ci
775bd8deadSopenharmony_ci	- Should this be split into multiple extensions?
785bd8deadSopenharmony_ci
795bd8deadSopenharmony_ci	- How should bitrate/quality be controlled for vbr techniques?
805bd8deadSopenharmony_ci
815bd8deadSopenharmony_ci	- Instead of requiring each compression format extension to specify
825bd8deadSopenharmony_ci	  its own color space, this could be specified by the client using the
835bd8deadSopenharmony_ci	  <format> parameter.  This would require the creation of additional
845bd8deadSopenharmony_ci	  formats, but would also have the advantage of more accurately
855bd8deadSopenharmony_ci	  reflecting the format of pixel data, i.e., calling the format of DVC
865bd8deadSopenharmony_ci	  compressed data YCrCb rather than RGB.
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ci	- Should some additional support for up- and down-sampling methods
895bd8deadSopenharmony_ci	  other than replication and decimation be provided?
905bd8deadSopenharmony_ci
915bd8deadSopenharmony_ci	- Should we define an error for a bogus compressed frame?
925bd8deadSopenharmony_ci          Something like COMPRESSION_DATA_ERROR?
935bd8deadSopenharmony_ci
945bd8deadSopenharmony_ci	- We define all compression standards as operating on RGBA
955bd8deadSopenharmony_ci	  floating-point images.  Is this the correct decision?
965bd8deadSopenharmony_ci
975bd8deadSopenharmony_ci	- We ignore color-index images.  Is this the correct decision?
985bd8deadSopenharmony_ci
995bd8deadSopenharmony_ci	- The current scheme for subrectangle modes doesn't permit the
1005bd8deadSopenharmony_ci	  old trick of drawing fields by setting ROW_LENGTH to twice
1015bd8deadSopenharmony_ci	  the actual width of the image.  Probably the easiest way to
1025bd8deadSopenharmony_ci	  fix this would be to add some new pixel storage parameter
1035bd8deadSopenharmony_ci	  (FIELD_EXTRACT or something) which would be treated as
1045bd8deadSopenharmony_ci	  though it were part of ROW_LENGTH in the non-compressed
1055bd8deadSopenharmony_ci	  unpack case.  The non-compressed unpack case is a little
1065bd8deadSopenharmony_ci	  harder -- it can be done by setting ROW_LEGNTH to one half
1075bd8deadSopenharmony_ci	  the width, but bytes past the end of the last scan line are
1085bd8deadSopenharmony_ci	  written. 
1095bd8deadSopenharmony_ci
1105bd8deadSopenharmony_ci	- What about three- and four-dimensional images?
1115bd8deadSopenharmony_ci
1125bd8deadSopenharmony_ci	- What about three- and four-dimensional subrectangle modes?
1135bd8deadSopenharmony_ci
1145bd8deadSopenharmony_ciNew Procedures and Functions
1155bd8deadSopenharmony_ci
1165bd8deadSopenharmony_ci	None.
1175bd8deadSopenharmony_ci
1185bd8deadSopenharmony_ciNew Tokens
1195bd8deadSopenharmony_ci
1205bd8deadSopenharmony_ci	Accepted by the <pname> parameter of PixelStoref, PixelStorei,
1215bd8deadSopenharmony_ci	GetBooleanv, GetIntegerv, GetFloatv and GetDoublev:
1225bd8deadSopenharmony_ci	
1235bd8deadSopenharmony_ci		PACK_COMPRESSION_TYPE_SGIX
1245bd8deadSopenharmony_ci		UNPACK_COMPRESSION_TYPE_SGIX
1255bd8deadSopenharmony_ci		UNPACK_COMPRESSED_SIZE_SGIX
1265bd8deadSopenharmony_ci		PACK_MAX_COMPRESSED_SIZE_SGIX
1275bd8deadSopenharmony_ci		PACK_SAMPLE_SGIX
1285bd8deadSopenharmony_ci		UNPACK_SAMPLE_SGIX
1295bd8deadSopenharmony_ci	
1305bd8deadSopenharmony_ci	Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
1315bd8deadSopenharmony_ci	GetFloatv and GetDoublev:
1325bd8deadSopenharmony_ci
1335bd8deadSopenharmony_ci		PACK_COMPRESSED_SIZE_SGIX
1345bd8deadSopenharmony_ci
1355bd8deadSopenharmony_ci	Accepted by the <param> parameter of PixelStoref and PixelStorei
1365bd8deadSopenharmony_ci	when the <pname> parameter is PACK_SAMPLE_SGIX or
1375bd8deadSopenharmony_ci	UNPACK_SAMPLE_SGIX:
1385bd8deadSopenharmony_ci	
1395bd8deadSopenharmony_ci		SAMPLE_444_SGIX
1405bd8deadSopenharmony_ci		SAMPLE_422_SGIX
1415bd8deadSopenharmony_ci		SAMPLE_411_SGIX
1425bd8deadSopenharmony_ci		SAMPLE_420_SGIX
1435bd8deadSopenharmony_ci
1445bd8deadSopenharmony_ci	Accepted by the <pname> parameter of PixelStoref and
1455bd8deadSopenharmony_ci	PixelStorei with a <param> parameter of TRUE or FALSE and by
1465bd8deadSopenharmony_ci	the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv
1475bd8deadSopenharmony_ci	and GetDoublev:
1485bd8deadSopenharmony_ci	
1495bd8deadSopenharmony_ci		PACK_FROM_RGB_SGIX
1505bd8deadSopenharmony_ci		UNPACK_TO_RGB_SGIX
1515bd8deadSopenharmony_ci
1525bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
1535bd8deadSopenharmony_ci
1545bd8deadSopenharmony_ci	None.
1555bd8deadSopenharmony_ci
1565bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.0 Specification (Rasterization)
1575bd8deadSopenharmony_ci
1585bd8deadSopenharmony_ci	3.6.1 Pixel Storage Modes
1595bd8deadSopenharmony_ci	
1605bd8deadSopenharmony_ci	The following is added to Table 3.1:
1615bd8deadSopenharmony_ci	
1625bd8deadSopenharmony_ci	Parameter Name			Type		Initial Value		Valid Range
1635bd8deadSopenharmony_ci	--------------			----		-------------		-----------
1645bd8deadSopenharmony_ci	UNPACK_COMPRESSION_TYPE_SGIX	integer		NONE			NONE
1655bd8deadSopenharmony_ci	UNPACK_COMPRESSED_SIZE_SGIX	integer		0			[0,inf)
1665bd8deadSopenharmony_ci	UNPACK_SAMPLE_SGIX		integer		SAMPLE_444_SGIX		SAMPLE_444_SGIX, SAMPLE_422_SGIX, SAMPLE_411_SGIX, SAMPLE_420_SGIX
1675bd8deadSopenharmony_ci	UNPACK_TO_RGB_SGIX		boolean		TRUE			TRUE/FALSE
1685bd8deadSopenharmony_ci		
1695bd8deadSopenharmony_ci	3.6.3 Rasterization of Pixel Rectangles
1705bd8deadSopenharmony_ci
1715bd8deadSopenharmony_ci	The following is added to the introduction to section 3.6.3:
1725bd8deadSopenharmony_ci	"Unpacking" refers to the reading of pixels from host memory.
1735bd8deadSopenharmony_ci	Pixels are unpacked from host memory as either compressed or
1745bd8deadSopenharmony_ci	uncompressed images.  If PACK_COMPRESSION_TYPE_SGIX is set to
1755bd8deadSopenharmony_ci	NONE, the images are stored as uncompressed data and are
1765bd8deadSopenharmony_ci	unpacked from host memory as described below.  If
1775bd8deadSopenharmony_ci	PACK_COMPRESSION_TYPE_SGIX is set to a value other than NONE,
1785bd8deadSopenharmony_ci	the images are compressed and are unpacked from host memory as
1795bd8deadSopenharmony_ci	described in "Unpacking of Compressed Images".
1805bd8deadSopenharmony_ci
1815bd8deadSopenharmony_ci	The title of the "Unpacking" subsection is changed to
1825bd8deadSopenharmony_ci	"Unpacking of Uncompressed Images."  All references to this
1835bd8deadSopenharmony_ci	subsection are changed as well.
1845bd8deadSopenharmony_ci
1855bd8deadSopenharmony_ci	A new subsection, "Unpacking of Compressed Images," is added
1865bd8deadSopenharmony_ci	between "Unpacking of Uncompressed Images" and the "Conversion
1875bd8deadSopenharmony_ci	to Floating-Point."  The contents of the section are as
1885bd8deadSopenharmony_ci	follows:
1895bd8deadSopenharmony_ci
1905bd8deadSopenharmony_ci	In this section, we describe the unpacking of compressed
1915bd8deadSopenharmony_ci	images.  The first part describes how images are taken from
1925bd8deadSopenharmony_ci	host memory as a byte stream.  Next, a description GL's
1935bd8deadSopenharmony_ci	upsampling algorithms is provided since they are used by
1945bd8deadSopenharmony_ci	several compressed formats.  After the upsampling description,
1955bd8deadSopenharmony_ci	paragraphs added by other extensions describe the conversion
1965bd8deadSopenharmony_ci	applied to the byte stream for a given
1975bd8deadSopenharmony_ci	UNPACK_COMPRESSION_TYPE_SGIX.  After these descriptions, we
1985bd8deadSopenharmony_ci	describe the application of subrectangle pixel storage modes.
1995bd8deadSopenharmony_ci
2005bd8deadSopenharmony_ci	GL supports four types of upsampling:  SAMPLE_444_SGIX,
2015bd8deadSopenharmony_ci	SAMPLE_422_SGIX, SAMPLE_411_SGIX, and SAMPLE_420_SGIX.  The
2025bd8deadSopenharmony_ci	type of upsampling performed is determined by the setting of
2035bd8deadSopenharmony_ci	the UNPACK_SAMPLE_SGIX pixel storage parameter.
2045bd8deadSopenharmony_ci	XXX say how the upsampling is performed for each of the
2055bd8deadSopenharmony_ci	things.
2065bd8deadSopenharmony_ci
2075bd8deadSopenharmony_ci	Compressed images are taken from memory as an uninterrupted
2085bd8deadSopenharmony_ci	sequence of bytes beginning at <data> whose length is given by
2095bd8deadSopenharmony_ci	UNPACK_COMPRESSED_SIZE_SGIX.  The byte stream is passed to the
2105bd8deadSopenharmony_ci	GL and interpreted as determined by the compression type given
2115bd8deadSopenharmony_ci	by UNPACK_COMPRESSION_TYPE_SGIX.  The dimensions of the image
2125bd8deadSopenharmony_ci	represented by the byte stream are determined as follows.  The
2135bd8deadSopenharmony_ci	width of the image is equal to the value of UNPACK_ROW_LENGTH
2145bd8deadSopenharmony_ci	if this value is positive, or to <width> otherwise.  The
2155bd8deadSopenharmony_ci	height of the image is equal to the value of IMAGE_HEIGHT_EXT
2165bd8deadSopenharmony_ci	if this value is positive, or to <height> otherwise.  The
2175bd8deadSopenharmony_ci	width and height refer to the the size of the image after
2185bd8deadSopenharmony_ci	upsampling (see below).
2195bd8deadSopenharmony_ci
2205bd8deadSopenharmony_ci	The pixel storage parameters UNPACK_SWAP_BYTES,
2215bd8deadSopenharmony_ci	UNPACK_LSB_FIRST, and UNPACK_ALIGNMENT are ignored for
2225bd8deadSopenharmony_ci	compressed images.  Subrectangle storage modes
2235bd8deadSopenharmony_ci	(UNPACK_SKIP_ROWS, UNPACK_SKIP_PIXELS) are not applied as the
2245bd8deadSopenharmony_ci	image is extracted from memory, but instead are applied after
2255bd8deadSopenharmony_ci	the image has been decompressed.  This operation is described
2265bd8deadSopenharmony_ci	in detail at the end of this section.
2275bd8deadSopenharmony_ci
2285bd8deadSopenharmony_ci	Once the byte stream has been taken from host memory, it is
2295bd8deadSopenharmony_ci	decompressed as determined by the setting of
2305bd8deadSopenharmony_ci	UNPACK_COMPRESSION_TYPE_SGIX.  The operations are described in
2315bd8deadSopenharmony_ci	detail below.
2325bd8deadSopenharmony_ci
2335bd8deadSopenharmony_ci	The output of the decompression algorithm is a width by height
2345bd8deadSopenharmony_ci	image.  A subrectangle of the image may be extracted as
2355bd8deadSopenharmony_ci	determined by the pixel storage parameters UNPACK_SKIP_PIXELS,
2365bd8deadSopenharmony_ci	UNPACK_SKIP_ROWS and by the <width> and <height> arguments to
2375bd8deadSopenharmony_ci	the original entry point (see figure 3.8.  The result of
2385bd8deadSopenharmony_ci	application of the subrect algorithm is a <width> by <height>
2395bd8deadSopenharmony_ci	image.
2405bd8deadSopenharmony_ci
2415bd8deadSopenharmony_ci	To compute the subrectangle image, we consider the output of
2425bd8deadSopenharmony_ci	the decompression algorithm as a two-dimensional array of
2435bd8deadSopenharmony_ci	pixels Pin[0...(width-1)][0...(height-1)].  The first index
2445bd8deadSopenharmony_ci	selects the column of the image, the second selects the row.
2455bd8deadSopenharmony_ci	We consider the output of the subrectangle algorithm as a
2465bd8deadSopenharmony_ci	two-dimensional array of pixels
2475bd8deadSopenharmony_ci	Pout[0...(<width>-1)][0...(<height>-1)].  Each pixel the
2485bd8deadSopenharmony_ci	output image is defined by:
2495bd8deadSopenharmony_ci
2505bd8deadSopenharmony_ci		Pout[i][j] = Pin[UNPACK_SKIP_PIXELS + i][UNPACK_SKIP_ROWS + j]
2515bd8deadSopenharmony_ci
2525bd8deadSopenharmony_ci	In this equation, we define the "=" operation to set each
2535bd8deadSopenharmony_ci	channel of the output pixel equal to the equivalent channel of
2545bd8deadSopenharmony_ci	the input pixel.  If any of the output pixels are generated
2555bd8deadSopenharmony_ci	from pixels outside of the input image, the values of the
2565bd8deadSopenharmony_ci	components of these pixels are undefined.
2575bd8deadSopenharmony_ci
2585bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations
2595bd8deadSopenharmony_ciand the Frame Buffer)
2605bd8deadSopenharmony_ci
2615bd8deadSopenharmony_ci	4.3.2 Reading Pixels
2625bd8deadSopenharmony_ci	
2635bd8deadSopenharmony_ci	The following entries are added to Table 4.5:
2645bd8deadSopenharmony_ci
2655bd8deadSopenharmony_ci	Parameter Name			Type		Initial Value		Valid Range
2665bd8deadSopenharmony_ci	--------------			----		-------------		-----------
2675bd8deadSopenharmony_ci	PACK_COMPRESSION_TYPE_SGIX	integer		NONE			NONE
2685bd8deadSopenharmony_ci	PACK_MAX_COMPRESSED_SIZE_SGIX	integer		0			[0,inf)
2695bd8deadSopenharmony_ci	PACK_SAMPLE_SGIX		integer		SAMPLE_444_SGIX		SAMPLE_444_SGIX, SAMPLE_422_SGIX, SAMPLE_411_SGIX, SAMPLE_420_SGIX
2705bd8deadSopenharmony_ci	PACK_FROM_RGB_SGIX		boolean		TRUE			TRUE/FALSE
2715bd8deadSopenharmony_ci	
2725bd8deadSopenharmony_ci	The following needs to be added to the end of the "Final
2735bd8deadSopenharmony_ci	Conversion" subsection: If image compression is on
2745bd8deadSopenharmony_ci	(PACK_COMPRESSION_TYPE_SGIX is set to other than NONE), no
2755bd8deadSopenharmony_ci	conversion is applied.
2765bd8deadSopenharmony_ci
2775bd8deadSopenharmony_ci	The subsection titled "Placement in Client Memory" is renamed
2785bd8deadSopenharmony_ci	"Packing of Uncompressed Images."  The following is added to
2795bd8deadSopenharmony_ci	the start of the subsection:  If image compression is not on
2805bd8deadSopenharmony_ci	(PACK_COMPRESSION_TYPE_SGIX is set to NONE), the pixels of the
2815bd8deadSopenharmony_ci	image are transferred to host memory as described in this
2825bd8deadSopenharmony_ci	section.  If compression is on, the pixels are transferred as
2835bd8deadSopenharmony_ci	described in "Packing of Compressed Images."
2845bd8deadSopenharmony_ci
2855bd8deadSopenharmony_ci	A new subsection, "Packing of Compressed Images," is added
2865bd8deadSopenharmony_ci	after the subsection "Packing of Uncompressed Images."  The
2875bd8deadSopenharmony_ci	contents of the subsection are as follows:
2885bd8deadSopenharmony_ci
2895bd8deadSopenharmony_ci	If image compression is on (PACK_COMPRESSION_TYPE_SGIX is set
2905bd8deadSopenharmony_ci	to something other than NONE), images are placed in memory as
2915bd8deadSopenharmony_ci	described in this section.  The floating-point image from the
2925bd8deadSopenharmony_ci	final conversion step is used as the input to the compression
2935bd8deadSopenharmony_ci	step.  The algorithm used for the compression step is
2945bd8deadSopenharmony_ci	determined by the value of PACK_COMPRESSION_TYPE_SGIX.
2955bd8deadSopenharmony_ci	Algorithms are described in separate extensions.  The size of
2965bd8deadSopenharmony_ci	the image returned to the host is <width> by <height>.  The
2975bd8deadSopenharmony_ci	pixel pack parameters PACK_SWAP_BYTES, PACK_LSB_FIRST,
2985bd8deadSopenharmony_ci	PACK_ROW_LENGTH, PACK_SKIP_ROWS, PACK_SKIP_PIXELS, and
2995bd8deadSopenharmony_ci	PACK_ALIGNMENT are not considered when reading back compressed
3005bd8deadSopenharmony_ci	images.
3015bd8deadSopenharmony_ci
3025bd8deadSopenharmony_ci	The output of the compression step is a byte stream.  The
3035bd8deadSopenharmony_ci	compression algorithm sets the value of
3045bd8deadSopenharmony_ci	PACK_COMPRESSED_SIZE_SGIX to the length of the byte stream.
3055bd8deadSopenharmony_ci	The bytes are placed in an uninterrupted stream starting at
3065bd8deadSopenharmony_ci	the location <data> in host memory.  If the value of
3075bd8deadSopenharmony_ci	PACK_MAX_COMPRESSED_SIZE_SGIX is greater than zero and the
3085bd8deadSopenharmony_ci	value of PACK_COMPRESSED_SIZE_SGIX is greater than the value
3095bd8deadSopenharmony_ci	of PACK_MAX_COMPRESSED_SIZE_SGIX, the error INVALID_OPERATION
3105bd8deadSopenharmony_ci	is generated.  If this occurs, the contents of the first
3115bd8deadSopenharmony_ci	PACK_MAX_COMPRESSED_SIZE_SGIX bytes after the <data> pointer
3125bd8deadSopenharmony_ci	are undefined, but bytes outside this range are guaranteed to
3135bd8deadSopenharmony_ci	be left unchanged.
3145bd8deadSopenharmony_ci	
3155bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.0 Specification (Special Functions)
3165bd8deadSopenharmony_ci
3175bd8deadSopenharmony_ci	None.
3185bd8deadSopenharmony_ci
3195bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.0 Specification (State and State Requests)
3205bd8deadSopenharmony_ci
3215bd8deadSopenharmony_ci	XXX
3225bd8deadSopenharmony_ci
3235bd8deadSopenharmony_ciAdditions to the GLX Specification
3245bd8deadSopenharmony_ci
3255bd8deadSopenharmony_ci
3265bd8deadSopenharmony_ciErrors
3275bd8deadSopenharmony_ci
3285bd8deadSopenharmony_ci	XXX
3295bd8deadSopenharmony_ci	
3305bd8deadSopenharmony_ci	INVALID_OPERATION is generated if the compressed data requested by a
3315bd8deadSopenharmony_ci	ReadPixels or GetTexImage will occupy more than
3325bd8deadSopenharmony_ci	PACK_MAX_COMPRESSED_SIZE bytes.
3335bd8deadSopenharmony_ci
3345bd8deadSopenharmony_ci
3355bd8deadSopenharmony_ci	
3365bd8deadSopenharmony_ci
3375bd8deadSopenharmony_ciNew State
3385bd8deadSopenharmony_ci
3395bd8deadSopenharmony_ci    Get Value			Get Command			Type		Initial Value		Attribute
3405bd8deadSopenharmony_ci    ---------			-----------			----		-------------		---------
3415bd8deadSopenharmony_ci    UNPACK_COMPRESSION_TYPE	GetIntegerv			Z1*		NONE			client
3425bd8deadSopenharmony_ci    UNPACK_COMPRESSED_SIZE	GetIntegerv			Z+		0			client
3435bd8deadSopenharmony_ci    UNPACK_SAMPLE_SGIX		GetIntegerv			Z4		SAMPLE_444_SGIX		client
3445bd8deadSopenharmony_ci    UNPACK_TO_RGB_SGIX		GetBooleanv			B		TRUE			client
3455bd8deadSopenharmony_ci    PACK_COMPRESSION_TYPE	GetIntegerv			Z1		NONE			client
3465bd8deadSopenharmony_ci    PACK_COMPRESSED_SIZE	GetIntegerv			Z+		0			client
3475bd8deadSopenharmony_ci    PACK_MAX_COMPRESSED_SIZE	GetIntegerv			Z+		0			client
3485bd8deadSopenharmony_ci    PACK_SAMPLE_SGIX		GetIntegerv			Z4		SAMPLE_444_SGIX		client
3495bd8deadSopenharmony_ci    PACK_FROM_RGB_SGIX		GetBooleanv			B		TRUE			client
3505bd8deadSopenharmony_ci	
3515bd8deadSopenharmony_ci
3525bd8deadSopenharmony_ciNew Implementation Dependent State
3535bd8deadSopenharmony_ci
3545bd8deadSopenharmony_ci	None.
355