15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    SGIX_packed_6bytes
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_SGIX_packed_6bytes
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciVersion
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    $Date: 1999/04/03 08:41:01 $ $Revision: 1.3 $
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciNumber
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    162
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ciDependencies
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ci    EXT_abgr affects the definition of this extension
205bd8deadSopenharmony_ci    Histogram affects the definition of this extension
215bd8deadSopenharmony_ci    Convolution affects the definition of this extension
225bd8deadSopenharmony_ci    Color_table affects the definition of this extension
235bd8deadSopenharmony_ci    SGIS_texture4D affects the definition of this extension
245bd8deadSopenharmony_ci
255bd8deadSopenharmony_ciOverview
265bd8deadSopenharmony_ci
275bd8deadSopenharmony_ci    This extension provides support for packing four component pixels 
285bd8deadSopenharmony_ci    into a 6-byte field, where each component is represented by 12 bits.
295bd8deadSopenharmony_ci    Since the pixel is represented by 6 unsigned bytes it is inferred
305bd8deadSopenharmony_ci    that the fields or components of the pixel are not proper machine
315bd8deadSopenharmony_ci    types.  However, since the pixel as a whole can be resepresented
325bd8deadSopenharmony_ci    as an integral number of bytes, the pixel storage modes, including 
335bd8deadSopenharmony_ci    PACK_SKIP_PIXELS, PACK_ROW_LENGTH, PACK_SKIP_ROWS, PACK_IMAGE_HEIGHT_EXT, 
345bd8deadSopenharmony_ci    PACK_SKIP_IMAGES_EXT, PACK_SWAP_BYTES, PACK_ALIGNMENT, and their unpacking 
355bd8deadSopenharmony_ci    counterparts all work correctly.
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ciNew Procedures and Functions
385bd8deadSopenharmony_ci
395bd8deadSopenharmony_ci    None
405bd8deadSopenharmony_ci
415bd8deadSopenharmony_ciNew Tokens
425bd8deadSopenharmony_ci
435bd8deadSopenharmony_ci    Accepted by the <type> parameter of DrawPixels, ReadPixels, TexImage1D,
445bd8deadSopenharmony_ci    TexImage2D, GetTexImage, TexImage3D, TexSubImage1D,
455bd8deadSopenharmony_ci    TexSubImage2D, TexSubImage3D, GetHistogram, GetMinmax,
465bd8deadSopenharmony_ci    ConvolutionFilter1D, ConvolutionFilter2D, ConvolutionFilter3D,
475bd8deadSopenharmony_ci    GetConvolutionFilter, SeparableFilter2D, SeparableFilter3D,
485bd8deadSopenharmony_ci    GetSeparableFilter, ColorTable, GetColorTable, TexImage4DSGIS,
495bd8deadSopenharmony_ci    and TexSubImage4DSGIS:
505bd8deadSopenharmony_ci
515bd8deadSopenharmony_ci	6BYTES_12_12_12_12_SGIX		0x????
525bd8deadSopenharmony_ci
535bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.2 Specification (OpenGL Operation)
545bd8deadSopenharmony_ci
555bd8deadSopenharmony_ci    None
565bd8deadSopenharmony_ci
575bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.2 Specification (Rasterization)
585bd8deadSopenharmony_ci
595bd8deadSopenharmony_ci    The token defined by this extension is added to Table 3.5:
605bd8deadSopenharmony_ci
615bd8deadSopenharmony_ci	<type> Parameter		Corresponding	Special
625bd8deadSopenharmony_ci	Token Value				GL Data Type	Interpretation
635bd8deadSopenharmony_ci	----------------			-------------	--------------
645bd8deadSopenharmony_ci	UNSIGNED_BYTE				ubyte		No
655bd8deadSopenharmony_ci        BITMAP					ubyte		Yes
665bd8deadSopenharmony_ci	BYTE					byte		No
675bd8deadSopenharmony_ci	UNSIGNED_SHORT				ushort		No
685bd8deadSopenharmony_ci	SHORT					short		No
695bd8deadSopenharmony_ci	UNSIGNED_INT				uint		No
705bd8deadSopenharmony_ci	INT					int		No
715bd8deadSopenharmony_ci	FLOAT					float		No
725bd8deadSopenharmony_ci	BITMAP					ubyte		Yes
735bd8deadSopenharmony_ci	UNSIGNED_BYTE_3_3_2    			ubyte		Yes
745bd8deadSopenharmony_ci	UNSIGNED_BYTE_3_3_2_REV  		ubyte		Yes
755bd8deadSopenharmony_ci	UNSIGNED_SHORT_5_6_5    		ushort		Yes
765bd8deadSopenharmony_ci	UNSIGNED_SHORT_5_6_5_REV		ushort		Yes
775bd8deadSopenharmony_ci	UNSIGNED_SHORT_4_4_4_4    		ushort		Yes
785bd8deadSopenharmony_ci	UNSIGNED_SHORT_4_4_4_4_REV		ushort		Yes
795bd8deadSopenharmony_ci	UNSIGNED_SHORT_5_5_5_1    		ushort		Yes
805bd8deadSopenharmony_ci	UNSIGNED_SHORT_5_5_5_1_REV		ushort		Yes
815bd8deadSopenharmony_ci	UNSIGNED_INT_8_8_8_8    		uint		Yes
825bd8deadSopenharmony_ci	UNSIGNED_INT_8_8_8_8_REV		uint		Yes
835bd8deadSopenharmony_ci	UNSIGNED_INT_10_10_10_2    		uint		Yes
845bd8deadSopenharmony_ci	UNSIGNED_INT_10_10_10_2_REV		uint		Yes
855bd8deadSopenharmony_ci	UNSIGNED_6BYTES_12_12_12_12_SGIX	6*ubyte		Yes
865bd8deadSopenharmony_ci
875bd8deadSopenharmony_ci	Table 3.5: DrawPixels and ReadPixels <type> parameter values and the
885bd8deadSopenharmony_ci	corresponding GL data types.  Refer to table 2.2 for definitions of
895bd8deadSopenharmony_ci	GL data types.  Special interpretations are described near the end
905bd8deadSopenharmony_ci	of section 3.6.4.
915bd8deadSopenharmony_ci
925bd8deadSopenharmony_ci    [Additions to Section 3.6.4 of the GL Specification (Rasterization of Pixel
935bd8deadSopenharmony_ci    Rectangles) is made as follows:]
945bd8deadSopenharmony_ci
955bd8deadSopenharmony_ci    3.6.4 Rasterization of Pixel Rectangles
965bd8deadSopenharmony_ci
975bd8deadSopenharmony_ci    Unpacking
985bd8deadSopenharmony_ci    ---------
995bd8deadSopenharmony_ci    [Modify fourth paragraph to read:]
1005bd8deadSopenharmony_ci
1015bd8deadSopenharmony_ci    Calling DrawPixels with a <type> of UNSIGNED_BYTE_3_3_2, UNSIGNED_BYTE_3_3_2_REV,
1025bd8deadSopenharmony_ci    UNSIGNED_SHORT_5_6_5, UNSIGNED_SHORT_5_6_5_REV, UNSIGNED_SHORT_4_4_4_4,
1035bd8deadSopenharmony_ci    UNSIGNED_SHORT_4_4_4_4_REV, UNSIGNED_SHORT_5_5_5_1, UNSIGNED_SHORT_5_5_5_1_REV,
1045bd8deadSopenharmony_ci    UNSIGNED_INT_8_8_8_8, UNSIGNED_INT_8_8_8_8_REV, UNSIGNED_INT_10_10_10_2, or
1055bd8deadSopenharmony_ci    UNSIGNED_INT_10_10_10_2_REV is a special case in which all the components of
1065bd8deadSopenharmony_ci    each group are packed into a single unsigned byte, unsigned short, or unsigned int,
1075bd8deadSopenharmony_ci    depending on the type.  Additionally, calling DrawPixels with a <type> of
1085bd8deadSopenharmony_ci    UNSIGNED_6BYTES_12_12_12_12_SGIX is a special case in which all the components of 
1095bd8deadSopenharmony_ci    each group are is packed into 6 bytes.  The number of components per packed pixel
1105bd8deadSopenharmony_ci    is fixed by the <type>, and must match the number of components per group as
1115bd8deadSopenharmony_ci    indicated by the <format> parameter, as listed in table 3.8.  The error
1125bd8deadSopenharmony_ci    INVALID_OPERATION is generated if a mismatch occurs.  This constraint also holds
1135bd8deadSopenharmony_ci    for all other functions that accept or return pixel data using <type> and <format>
1145bd8deadSopenharmony_ci    parameters to define the type and format of that data.
1155bd8deadSopenharmony_ci
1165bd8deadSopenharmony_ci    A new table is added to demonstrate bitfield locations <type>
1175bd8deadSopenharmony_ci    UNSIGNED_6BYTES_12_12_12_12_SGIX. The bitfield locations for the first, second, 
1185bd8deadSopenharmony_ci    third and fourth component for this pixel type is shown in Table 3.12.
1195bd8deadSopenharmony_ci
1205bd8deadSopenharmony_ci
1215bd8deadSopenharmony_ci 	  47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24
1225bd8deadSopenharmony_ci         +--------------------------------+--------------------------------------+
1235bd8deadSopenharmony_ci         |                                |                                      |
1245bd8deadSopenharmony_ci         +--------------------------------+--------------------------------------+
1255bd8deadSopenharmony_ci                      first                         second                        
1265bd8deadSopenharmony_ci                      element                       element
1275bd8deadSopenharmony_ci
1285bd8deadSopenharmony_ci
1295bd8deadSopenharmony_ci 	  23 22 21 20 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
1305bd8deadSopenharmony_ci         +--------------------------------+--------------------------------------+
1315bd8deadSopenharmony_ci         |                                |                                      |
1325bd8deadSopenharmony_ci         +--------------------------------+--------------------------------------+
1335bd8deadSopenharmony_ci
1345bd8deadSopenharmony_ci                      third                         fourth                        
1355bd8deadSopenharmony_ci                      element                       element
1365bd8deadSopenharmony_ci
1375bd8deadSopenharmony_ci	Table 3.12 UNSIGNED_6BYTES_12_12_12_SGIX format
1385bd8deadSopenharmony_ci
1395bd8deadSopenharmony_ci     [Add to the paragraph describing byte swapping:]
1405bd8deadSopenharmony_ci
1415bd8deadSopenharmony_ci     If byte swapping is enabled with UNSIGNED_6BYTES_12_12_12_SGIX as the <type>, 
1425bd8deadSopenharmony_ci     the byte swapping is performed as follows:
1435bd8deadSopenharmony_ci
1445bd8deadSopenharmony_ci	given the 6byte ordering as  
1455bd8deadSopenharmony_ci
1465bd8deadSopenharmony_ci				b5 b4 b3 b2 b1 b0
1475bd8deadSopenharmony_ci
1485bd8deadSopenharmony_ci        where b# represents the byte index or order, then byte swapping yields
1495bd8deadSopenharmony_ci
1505bd8deadSopenharmony_ci				b4 b5 b2 b3 b0 b1
1515bd8deadSopenharmony_ci
1525bd8deadSopenharmony_ci
1535bd8deadSopenharmony_ci
1545bd8deadSopenharmony_ci
1555bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations
1565bd8deadSopenharmony_ciand the Framebuffer)
1575bd8deadSopenharmony_ci
1585bd8deadSopenharmony_ci    [Make the following addition to Table 4.7]
1595bd8deadSopenharmony_ci
1605bd8deadSopenharmony_ci	<type>				GL Data		Component
1615bd8deadSopenharmony_ci	Parameter			Type		Conversion Formula
1625bd8deadSopenharmony_ci	---------			-------		------------------
1635bd8deadSopenharmony_ci	UNSIGNED_INT_10_10_10_2_EXT	uint		c = ((2**N)-1)*f
1645bd8deadSopenharmony_ci
1655bd8deadSopenharmony_ci	Table 4.7: Reversed component conversions - used when component data
1665bd8deadSopenharmony_ci	are being returned to client memory.  Color, normal, and depth
1675bd8deadSopenharmony_ci	components are converted from the internal floating-point
1685bd8deadSopenharmony_ci	representation (f) to a datum of the specified GL data type (c) using
1695bd8deadSopenharmony_ci	the equations in this table.  All arithmetic is done in the internal
1705bd8deadSopenharmony_ci	floating point format.  These conversions apply to component data
1715bd8deadSopenharmony_ci	returned by GL query commands and to components of pixel data returned
1725bd8deadSopenharmony_ci	to client memory.  The equations remain the same even if the
1735bd8deadSopenharmony_ci	implemented ranges of the GL data types are greater than the minimum
1745bd8deadSopenharmony_ci	required ranges.  (Refer to table 2.2.)  Equations with N as the
1755bd8deadSopenharmony_ci	exponent are performed for each bitfield of the packed data type,
1765bd8deadSopenharmony_ci	with N set to the number of bits in the bitfield.
1775bd8deadSopenharmony_ci
1785bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.0 Specification (Special Functions)
1795bd8deadSopenharmony_ci
1805bd8deadSopenharmony_ci    None
1815bd8deadSopenharmony_ci
1825bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.0 Specification (State and State Requests)
1835bd8deadSopenharmony_ci
1845bd8deadSopenharmony_ci    None
1855bd8deadSopenharmony_ci
1865bd8deadSopenharmony_ciAdditions to the GLX Specification
1875bd8deadSopenharmony_ci
1885bd8deadSopenharmony_ci    None
1895bd8deadSopenharmony_ci
1905bd8deadSopenharmony_ciGLX Protocol
1915bd8deadSopenharmony_ci
1925bd8deadSopenharmony_ci        None
1935bd8deadSopenharmony_ci
1945bd8deadSopenharmony_ciDependencies on EXT_abgr
1955bd8deadSopenharmony_ci
1965bd8deadSopenharmony_ci    If EXT_abgr is not implemented, then the references to ABGR_EXT in this
1975bd8deadSopenharmony_ci    file are invalid, and should be ignored.
1985bd8deadSopenharmony_ci
1995bd8deadSopenharmony_ciDependencies on Histogram
2005bd8deadSopenharmony_ci
2015bd8deadSopenharmony_ci    If EXT_histogram is not implemented, then the references to
2025bd8deadSopenharmony_ci    GetHistogramEXT and GetMinmaxEXT in this file are invalid, and should be
2035bd8deadSopenharmony_ci    ignored.
2045bd8deadSopenharmony_ci
2055bd8deadSopenharmony_ciDependencies on Convolution
2065bd8deadSopenharmony_ci
2075bd8deadSopenharmony_ci    If EXT_convolution is not implemented, then the references to
2085bd8deadSopenharmony_ci    ConvolutionFilter1DEXT, ConvolutionFilter2DEXT, ConvolutionFilter3DEXT,
2095bd8deadSopenharmony_ci    GetConvolutionFilterEXT, SeparableFilter2DEXT, SeparableFilter3DEXT, and
2105bd8deadSopenharmony_ci    GetSeparableFilterEXT in this file are invalid, and should be ignored.
2115bd8deadSopenharmony_ci
2125bd8deadSopenharmony_ciDependencies on Color_table
2135bd8deadSopenharmony_ci
2145bd8deadSopenharmony_ci    If Color_table is not implemented, then the references to
2155bd8deadSopenharmony_ci    ColorTableSGI and GetColorTableSGI in this file are invalid, and should
2165bd8deadSopenharmony_ci    be ignored.
2175bd8deadSopenharmony_ci
2185bd8deadSopenharmony_ciDependencies on SGIS_texture4D
2195bd8deadSopenharmony_ci
2205bd8deadSopenharmony_ci    If SGIS_texture4D is not implemented, then the references to
2215bd8deadSopenharmony_ci    TexImage4DSGIS and TexSubImage4DSGIS in this file are invalid, and should
2225bd8deadSopenharmony_ci    be ignored.
2235bd8deadSopenharmony_ci
2245bd8deadSopenharmony_ci
2255bd8deadSopenharmony_ciErrors
2265bd8deadSopenharmony_ci
2275bd8deadSopenharmony_ci    INVALID_OPERATION is generated by GenericPixelFunction if its <type>
2285bd8deadSopenharmony_ci    parameter is UNSIGNED_6BYTES_12_12_12_SGIX and its
2295bd8deadSopenharmony_ci    <format> parameter does not specify four components.  
2305bd8deadSopenharmony_ci
2315bd8deadSopenharmony_ciNew State
2325bd8deadSopenharmony_ci
2335bd8deadSopenharmony_ci    None
2345bd8deadSopenharmony_ci
2355bd8deadSopenharmony_ciNew Implementation Dependent State
2365bd8deadSopenharmony_ci
2375bd8deadSopenharmony_ci    None
238