15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    OML_subsample
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_OML_subsample
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Jon Leech, Silicon Graphics (ljp 'at' sgi.com)
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciStatus
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    Complete. Approved by the Khronos SIG on July 19, 2001.
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ciVersion
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ci    Last Modified Date: 07/23/2001
205bd8deadSopenharmony_ci    Author Revision: $Header: //depot/main/doc/registry/extensions/OML/subsample.spec#10 $
215bd8deadSopenharmony_ci
225bd8deadSopenharmony_ciNumber
235bd8deadSopenharmony_ci
245bd8deadSopenharmony_ci    240
255bd8deadSopenharmony_ci
265bd8deadSopenharmony_ciDependencies
275bd8deadSopenharmony_ci
285bd8deadSopenharmony_ci    This extension is written against the OpenGL 1.2.1 Specification,
295bd8deadSopenharmony_ci
305bd8deadSopenharmony_ciOverview
315bd8deadSopenharmony_ci
325bd8deadSopenharmony_ci    Many video image formats and compression techniques utilize various
335bd8deadSopenharmony_ci    component subsamplings, so it is necessary to provide a mechanism to
345bd8deadSopenharmony_ci    specify the up- and down-sampling of components as pixel data is
355bd8deadSopenharmony_ci    drawn from and read back to the client. Though subsampled components
365bd8deadSopenharmony_ci    are normally associated with the video color space, YCrCb, use of
375bd8deadSopenharmony_ci    subsampling in OpenGL does not imply a specific color space. Color
385bd8deadSopenharmony_ci    space conversion may be performed using other extensions or core
395bd8deadSopenharmony_ci    capabilities such as the color matrix.
405bd8deadSopenharmony_ci
415bd8deadSopenharmony_ci    This extension defines two new pixel storage formats representing
425bd8deadSopenharmony_ci    subsampled data on the client. It is loosely based on the
435bd8deadSopenharmony_ci    SGIX_subsample extension, but specifies subsampling with the data
445bd8deadSopenharmony_ci    format parameter rather than pixel packing parameters. It also
455bd8deadSopenharmony_ci    adds support for CYA subsampled data.
465bd8deadSopenharmony_ci
475bd8deadSopenharmony_ci    When pixel data is received from the client and an unpacking
485bd8deadSopenharmony_ci    upsampling mode other than PIXEL_SUBSAMPLE_NONE_OML is specified,
495bd8deadSopenharmony_ci    upsampling is performed via replication, unless otherwise specified
505bd8deadSopenharmony_ci    by UNPACK_RESAMPLE_OML.
515bd8deadSopenharmony_ci
525bd8deadSopenharmony_ci    Similarly, when pixel data is read back to the client and a packing
535bd8deadSopenharmony_ci    downsampling mode other than PIXEL_SUBSAMPLE_NONE_OML is specified,
545bd8deadSopenharmony_ci    downsampling is performed via simple component decimation (point
555bd8deadSopenharmony_ci    sampling), unless otherwise specified by PACK_RESAMPLE_OML.
565bd8deadSopenharmony_ci
575bd8deadSopenharmony_ciIssues
585bd8deadSopenharmony_ci
595bd8deadSopenharmony_ci  * Which subsampled component orderings should be supported?
605bd8deadSopenharmony_ci
615bd8deadSopenharmony_ci    Only CY and CYA component ordering, since this matches contemporary
625bd8deadSopenharmony_ci    video hardware. YC and YCA ordering will require a separate
635bd8deadSopenharmony_ci    extension defining new formats.
645bd8deadSopenharmony_ci
655bd8deadSopenharmony_ci  * The new enumerant naming scheme gives the component frequencies in
665bd8deadSopenharmony_ci    the same order as the components themselves; that is,
675bd8deadSopenharmony_ci    FORMAT_SUBSAMPLE_24_24_OML corresponds to CY 4:2:2, and
685bd8deadSopenharmony_ci    FORMAT_SUBSAMPLE_244_244_OML corresponds to CYA 4:2:2:4. This makes
695bd8deadSopenharmony_ci    naming YC and YCA orderings easier.
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ci  * Should subsampling be specified with new pixel storage parameters,
725bd8deadSopenharmony_ci    like the SGIX_subsample extension, or with new formats, like the
735bd8deadSopenharmony_ci    EXT_422 extension?
745bd8deadSopenharmony_ci
755bd8deadSopenharmony_ci    With new formats. There are many invalid format/type combinations
765bd8deadSopenharmony_ci    when specifying subsampling with a pixel storage parameter. Also,
775bd8deadSopenharmony_ci    there's an ambiguity when doing this because the <format> parameter
785bd8deadSopenharmony_ci    represents the after-upsampling data format, not the host format.
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ci  * Because subsampled data is inherently pixel / texture oriented, this
815bd8deadSopenharmony_ci    extension only supports the new formats for pixel and texture
825bd8deadSopenharmony_ci    operations; it does not support them for convolution filters,
835bd8deadSopenharmony_ci    histograms, minmax, or color tables.
845bd8deadSopenharmony_ci
855bd8deadSopenharmony_ci  * The only packed pixel type supported is 10_10_10_2, since this is
865bd8deadSopenharmony_ci    needed for video data interoperability. It would be possible to
875bd8deadSopenharmony_ci    support many other packed pixel formats, but most are unused in
885bd8deadSopenharmony_ci    practice.
895bd8deadSopenharmony_ci
905bd8deadSopenharmony_ci    Is support for other packed pixels types, particularly
915bd8deadSopenharmony_ci    2_10_10_10_REV, required?
925bd8deadSopenharmony_ci
935bd8deadSopenharmony_ci  * Should readbacks of non-even widths be allowed when downsampling?
945bd8deadSopenharmony_ci
955bd8deadSopenharmony_ci    No. This is not consistent with draw operations, where this
965bd8deadSopenharmony_ci    constraint already exists. It also makes OML_resample more complex
975bd8deadSopenharmony_ci    when using an AVERAGE filter, since the edge cases may also apply to
985bd8deadSopenharmony_ci    even pixel coordinates. The spec may need to be more explicit about
995bd8deadSopenharmony_ci    this restriction.
1005bd8deadSopenharmony_ci
1015bd8deadSopenharmony_ciIP Status
1025bd8deadSopenharmony_ci
1035bd8deadSopenharmony_ci    No known issues.
1045bd8deadSopenharmony_ci
1055bd8deadSopenharmony_ciNew Procedures and Functions
1065bd8deadSopenharmony_ci
1075bd8deadSopenharmony_ci    None.
1085bd8deadSopenharmony_ci
1095bd8deadSopenharmony_ciNew Tokens
1105bd8deadSopenharmony_ci
1115bd8deadSopenharmony_ci    Accepted by the <format> parameter of DrawPixels, ReadPixels,
1125bd8deadSopenharmony_ci    TexImage1D, TexImage2D, TexImage3D, TexSubImage1D, TexSubImage2D,
1135bd8deadSopenharmony_ci    TexSubImage3D, and GetTexImage
1145bd8deadSopenharmony_ci
1155bd8deadSopenharmony_ci	FORMAT_SUBSAMPLE_24_24_OML	    0x8982
1165bd8deadSopenharmony_ci	FORMAT_SUBSAMPLE_244_244_OML	    0x8983
1175bd8deadSopenharmony_ci
1185bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation)
1195bd8deadSopenharmony_ci
1205bd8deadSopenharmony_ci    None.
1215bd8deadSopenharmony_ci
1225bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 1.2.1 Specification (Rasterization)
1235bd8deadSopenharmony_ci
1245bd8deadSopenharmony_ci  - (3.6.4, p. 88 "Rasterization of Pixel Rectangles")
1255bd8deadSopenharmony_ci
1265bd8deadSopenharmony_ci    Add prior to the "Unpacking" subsection on page 90:
1275bd8deadSopenharmony_ci
1285bd8deadSopenharmony_ci    If <format> is FORMAT_SUBSAMPLE_24_24_OML or
1295bd8deadSopenharmony_ci    FORMAT_SUBSAMPLE_244_244_OML, and <type> is one of the packed pixel
1305bd8deadSopenharmony_ci    formats in table 3.8 other than UNSIGNED_INT_10_10_10_2, then the
1315bd8deadSopenharmony_ci    error INVALID_OPERATION occurs; if <width> is not a multiple of 2
1325bd8deadSopenharmony_ci    pixels, or if the value of the UNPACK_SKIP_PIXELS or
1335bd8deadSopenharmony_ci    UNPACK_ROW_LENGTH parameters is not a multiple of 2 pixels, then the
1345bd8deadSopenharmony_ci    error INVALID_OPERATION occurs.
1355bd8deadSopenharmony_ci
1365bd8deadSopenharmony_ci  - Add new entries to table 3.6:
1375bd8deadSopenharmony_ci
1385bd8deadSopenharmony_ci    Format Name			    Element Meaning and Order	Target Buffer
1395bd8deadSopenharmony_ci    -----------			    -------------------------	-------------
1405bd8deadSopenharmony_ci    FORMAT_SUBSAMPLE_24_24_OML	    CbY / CrY			Color
1415bd8deadSopenharmony_ci    FORMAT_SUBSAMPLE_244_244_OML    CbYA / CrYA			Color
1425bd8deadSopenharmony_ci
1435bd8deadSopenharmony_ci  - Append to the caption of table 3.6:
1445bd8deadSopenharmony_ci
1455bd8deadSopenharmony_ci    Subsampled formats yield components that are further modified during
1465bd8deadSopenharmony_ci    conversion to uniform sampling. The subsampled components are
1475bd8deadSopenharmony_ci    denoted as Cb, Y, Cr, and A, although subsampled data is not defined
1485bd8deadSopenharmony_ci    to be in any specific color space.
1495bd8deadSopenharmony_ci
1505bd8deadSopenharmony_ci  - Modify table 3.8:
1515bd8deadSopenharmony_ci
1525bd8deadSopenharmony_ci    <type> Parameter	    GL Data Number of  Matching
1535bd8deadSopenharmony_ci    Token Name		    Type    Components Pixel Formats
1545bd8deadSopenharmony_ci    ----------------------- ------- ---------- -------------
1555bd8deadSopenharmony_ci    UNSIGNED_INT_10_10_10_2 uint    2, 3, 4    RGBA, BGRA,
1565bd8deadSopenharmony_ci					       FORMAT_SUBSAMPLE_24_24_OML,
1575bd8deadSopenharmony_ci					       FORMAT_SUBSAMPLE_244_244_OML
1585bd8deadSopenharmony_ci
1595bd8deadSopenharmony_ci  - Append to the caption of table 3.8:
1605bd8deadSopenharmony_ci
1615bd8deadSopenharmony_ci    Subsampled formats may pack components from multiple groups into a
1625bd8deadSopenharmony_ci    single uint.
1635bd8deadSopenharmony_ci
1645bd8deadSopenharmony_ci  - Modify table 3.11's UNSIGNED_INT_10_10_10_2 entry:
1655bd8deadSopenharmony_ci
1665bd8deadSopenharmony_ci    UNSIGNED_INT_10_10_10_2, <format>s RGBA and BGRA:
1675bd8deadSopenharmony_ci
1685bd8deadSopenharmony_ci	(use existing 4-component diagram)
1695bd8deadSopenharmony_ci
1705bd8deadSopenharmony_ci    UNSIGNED_INT_10_10_10_2, <format> SUBSAMPLE_24_24_OML:
1715bd8deadSopenharmony_ci
1725bd8deadSopenharmony_ci	 31		22 21		  12 11		     2 1  0
1735bd8deadSopenharmony_ci	| pixel 0/comp. 0 | pixel 0/comp. 1 | pixel 1/comp. 0 | xx |
1745bd8deadSopenharmony_ci	| pixel 1/comp. 1 | pixel 2/comp. 0 | pixel 2/comp. 1 | xx |
1755bd8deadSopenharmony_ci
1765bd8deadSopenharmony_ci    UNSIGNED_INT_10_10_10_2, <format> SUBSAMPLE_244_244_OML:
1775bd8deadSopenharmony_ci
1785bd8deadSopenharmony_ci	 31		22 21		  12 11		     2 1  0
1795bd8deadSopenharmony_ci	| 1st comp.	  | 2nd comp.	    | 3rd comp.       | xx |
1805bd8deadSopenharmony_ci
1815bd8deadSopenharmony_ci  - Change caption of table 3.11:
1825bd8deadSopenharmony_ci
1835bd8deadSopenharmony_ci    Table 3.11: UNSIGNED_INT formats. Subsampled formats are packed into
1845bd8deadSopenharmony_ci    words, so components from a group may lie in different words. ``xx''
1855bd8deadSopenharmony_ci    fields are unused.
1865bd8deadSopenharmony_ci
1875bd8deadSopenharmony_ci  - Add new subsection before "Conversion to RGB" on page 99:
1885bd8deadSopenharmony_ci
1895bd8deadSopenharmony_ci    Conversion to Uniform Sampling
1905bd8deadSopenharmony_ci
1915bd8deadSopenharmony_ci    This step is applied only to subsampled data. If <format> is
1925bd8deadSopenharmony_ci    FORMAT_SUBSAMPLE_24_24_OML, then the number of components per pixel
1935bd8deadSopenharmony_ci    is increased from two to three. If <format> is
1945bd8deadSopenharmony_ci    FORMAT_SUBSAMPLE_244_244_OML. then the number of components per
1955bd8deadSopenharmony_ci    pixel is increased from three to four.
1965bd8deadSopenharmony_ci
1975bd8deadSopenharmony_ci    After conversion to uniform sampling (see figure 3.9). pixels are
1985bd8deadSopenharmony_ci    thereafter treated as though they were RGB (three component) or RGBA
1995bd8deadSopenharmony_ci    (four component) format.
2005bd8deadSopenharmony_ci
2015bd8deadSopenharmony_ci    In the remainder of this section, the j'th component of the i'th
2025bd8deadSopenharmony_ci    pixel in a row is denoted by S_i,j (for source pixels in client
2035bd8deadSopenharmony_ci    memory) and D_i,j (for destination pixels in the color buffer).
2045bd8deadSopenharmony_ci
2055bd8deadSopenharmony_ci    Destination component values are defined as:
2065bd8deadSopenharmony_ci
2075bd8deadSopenharmony_ci    For even pixels ((i mod 2) == 0):
2085bd8deadSopenharmony_ci
2095bd8deadSopenharmony_ci	D_i,0 = S_i,0
2105bd8deadSopenharmony_ci	D_i,1 = S_i,1
2115bd8deadSopenharmony_ci	D_i,2 = S_i+1,0
2125bd8deadSopenharmony_ci	D_i,3 = S_i,2
2135bd8deadSopenharmony_ci
2145bd8deadSopenharmony_ci    For odd pixels ((i mod 2) == 1):
2155bd8deadSopenharmony_ci
2165bd8deadSopenharmony_ci	D_i,0 = S_i-1,0
2175bd8deadSopenharmony_ci	D_i,1 = S_i,1
2185bd8deadSopenharmony_ci	D_i,2 = S_i,0
2195bd8deadSopenharmony_ci	D_i,3 = S_i,2
2205bd8deadSopenharmony_ci
2215bd8deadSopenharmony_ci  - Add new figure 3.9 (renumber following figures):
2225bd8deadSopenharmony_ci
2235bd8deadSopenharmony_ci    FORMAT_SUBSAMPLE_24_24_OML:
2245bd8deadSopenharmony_ci    <Cb0,Y0>	 <Cr0,Y1>     <Cb2,Y2>	  <Cr2, Y3>
2255bd8deadSopenharmony_ci      |  |	  |   |        |   |	    |	|
2265bd8deadSopenharmony_ci      |  |   ____/ \__|__      |   |   ____/ \__|__
2275bd8deadSopenharmony_ci      |  |  /	      |  \     |   |  /		|  \
2285bd8deadSopenharmony_ci      |\_|__|_____    |  |     |\__|__|_____	|  |
2295bd8deadSopenharmony_ci      |  |  |	  \   |  |     |   |  |     \	|  |
2305bd8deadSopenharmony_ci      V  V  V	  V   V  V     V   V  V     V	V  V
2315bd8deadSopenharmony_ci    <Cb0,Y0,Cr0> <Cb0,Y1,Cr0> <Cb2,Y2,Cr2> <Cb2,Y3,Cr2>
2325bd8deadSopenharmony_ci    < R0,G0,B1 > < R0,G1,B1 > < R2,G2,B3 > < R2,G3,B3 >
2335bd8deadSopenharmony_ci
2345bd8deadSopenharmony_ci    FORMAT_SUBSAMPLE_244_244_OML:
2355bd8deadSopenharmony_ci    <Cb0,Y0,A0>     <Cr0,Y1,A1>     <Cb2,Y2,A2>     <Cr2,Y3,A3>
2365bd8deadSopenharmony_ci      |  |   \	     |	 |   \	     |	 |   \	     |	 |   \
2375bd8deadSopenharmony_ci      |  |   _\_____/ \__|__  \      |	 |   _\_____/ \__|__  \
2385bd8deadSopenharmony_ci      |  |  /  \	 |  \  \     |	 |  /  \	 |  \  \
2395bd8deadSopenharmony_ci      |\_|__|___\____	 |  |	\    |\__|__|___\____	 |  |	\
2405bd8deadSopenharmony_ci      |  |  |	|    \	 |  |	|    |	 |  |	|    \	 |  |	|
2415bd8deadSopenharmony_ci      V  V  V	V    V	 V  V	V    V	 V  V	V    V	 V  V	V
2425bd8deadSopenharmony_ci    <Cb0,Y0,Cr0,A0> <Cb0,Y1,Cr0,A1> <Cb2,Y2,Cr2,A2> <Cb2,Y3,Cr2,A3>
2435bd8deadSopenharmony_ci    < R0,G0,B1,A0 > < R0,G1,B1,A1 > < R2,G2,B3,A2 > < R2,G3,B3,A3 >
2445bd8deadSopenharmony_ci
2455bd8deadSopenharmony_ci    Figure 3.9: Upsampling with component replication of subsampled data
2465bd8deadSopenharmony_ci    from client memory to form RGB or RGBA pixels.
2475bd8deadSopenharmony_ci
2485bd8deadSopenharmony_ci
2495bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 1.2.1 Specification (Per-Fragment
2505bd8deadSopenharmony_ciOperations and the Frame Buffer)
2515bd8deadSopenharmony_ci
2525bd8deadSopenharmony_ci    4.3.2 Reading Pixels
2535bd8deadSopenharmony_ci
2545bd8deadSopenharmony_ci  - Add new subsection before "Final Conversion" on page 160:
2555bd8deadSopenharmony_ci
2565bd8deadSopenharmony_ci    Conversion to Subsampled Form
2575bd8deadSopenharmony_ci
2585bd8deadSopenharmony_ci    This step is applied only if <format> is FORMAT_SUBSAMPLE_24_24_OML
2595bd8deadSopenharmony_ci    or FORMAT_SUBSAMPLE_244_244_OML.
2605bd8deadSopenharmony_ci
2615bd8deadSopenharmony_ci    In the remainder of this section, the j'th component of the i'th
2625bd8deadSopenharmony_ci    pixel in a row is denoted by S_i,j (for source pixels in the color
2635bd8deadSopenharmony_ci    buffer) and D_i,j (for destination pixels in client memory).
2645bd8deadSopenharmony_ci
2655bd8deadSopenharmony_ci    If <format> is FORMAT_SUBSAMPLE_24_24_OML, then the resulting pixels
2665bd8deadSopenharmony_ci    have 2 components; if <format> is FORMAT_SUBSAMPLE_244_244_OML, then
2675bd8deadSopenharmony_ci    the resulting pixels have 3 components (see figure 4.3). Destination
2685bd8deadSopenharmony_ci    component values are defined as:
2695bd8deadSopenharmony_ci
2705bd8deadSopenharmony_ci    For even pixels ((i mod 2) == 0):
2715bd8deadSopenharmony_ci
2725bd8deadSopenharmony_ci	D_i,0 = S_i,0
2735bd8deadSopenharmony_ci	D_i,1 = S_i,1
2745bd8deadSopenharmony_ci	D_i,2 = S_i,3	(only for FORMAT_SUBSAMPLE_244_244_OML)
2755bd8deadSopenharmony_ci
2765bd8deadSopenharmony_ci    For odd pixels ((i mod 2) == 1):
2775bd8deadSopenharmony_ci
2785bd8deadSopenharmony_ci	D_i,0 = S_i-1,2
2795bd8deadSopenharmony_ci	D_i,1 = S_i,1
2805bd8deadSopenharmony_ci	D_i,2 = S_i,3	(only for FORMAT_SUBSAMPLE_244_244_OML)
2815bd8deadSopenharmony_ci
2825bd8deadSopenharmony_ci  - Add new figure 4.3 (renumber following figures):
2835bd8deadSopenharmony_ci
2845bd8deadSopenharmony_ci    FORMAT_SUBSAMPLE_24_24_OML:
2855bd8deadSopenharmony_ci    <R0,G0,B0,A0> <R1,G1,B1,A1> <R2,G2,B2,A2> <R3,G3,B3,A3>
2865bd8deadSopenharmony_ci      |  | |   |   |  |  |  |	 |  |  |  |    |  |  |	|
2875bd8deadSopenharmony_ci      |  |  \  *   *  |  *  *	 |  |	\ *    *  |  *	*
2885bd8deadSopenharmony_ci      |  |   |	      |		 |  |	 |	  |
2895bd8deadSopenharmony_ci      V  V   V	      V		 V  V	 V	  V
2905bd8deadSopenharmony_ci    <Cb0,Y0><Cr0,     Y1>	<Cb2,Y2><Cr2,	  Y3>
2915bd8deadSopenharmony_ci    <--- pixel pair ---->	<--- pixel pair ---->
2925bd8deadSopenharmony_ci
2935bd8deadSopenharmony_ci    FORMAT_SUBSAMPLE_244_244_OML:
2945bd8deadSopenharmony_ci    <R0,G0,B0,A0> <R1,G1,B1,A1> <R2,G2,B2,A2> <R3,G3,B3,A3>
2955bd8deadSopenharmony_ci      |  |  |  |   |   |  |  |	  |  |	|  |   |   |  |  |
2965bd8deadSopenharmony_ci      |  |  \__|__ *   |  *  |	  |  |	\__|__ *   |  *  |
2975bd8deadSopenharmony_ci      |  |     |  \    |     |	  |  |	   |  \    |	 |
2985bd8deadSopenharmony_ci      |  |    /    |   |    /	  |  |	  /    |   |	/
2995bd8deadSopenharmony_ci      V  V   V	   V   V   V	  V  V	 V     V   V   V
3005bd8deadSopenharmony_ci    <Cb0,Y0,A0>   <Cr0,Y1,A1>	<Cb2,Y2,A2>   <Cr2,Y3,A3>
3015bd8deadSopenharmony_ci    <--- pixel pair ---->	<--- pixel pair ---->
3025bd8deadSopenharmony_ci
3035bd8deadSopenharmony_ci    Figure 4.3: Downsampling of RGB or RGBA pixels to form subsampled
3045bd8deadSopenharmony_ci    data in host memory.
3055bd8deadSopenharmony_ci
3065bd8deadSopenharmony_ci
3075bd8deadSopenharmony_ci  - Add prior to the last sentence of subsection "Placement in Client
3085bd8deadSopenharmony_ci    Memory" on page 162:
3095bd8deadSopenharmony_ci
3105bd8deadSopenharmony_ci    If <format> is FORMAT_SUBSAMPLE_24_24_OML, then only the
3115bd8deadSopenharmony_ci    corresponding two elements (first two components of each group) are
3125bd8deadSopenharmony_ci    written. If <format> is FORMAT_SUBSAMPLE_244_244_OML, then only the
3135bd8deadSopenharmony_ci    corresponding three elements (first three components of each group)
3145bd8deadSopenharmony_ci    are written.
3155bd8deadSopenharmony_ci
3165bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions)
3175bd8deadSopenharmony_ci
3185bd8deadSopenharmony_ci    None.
3195bd8deadSopenharmony_ci
3205bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 1.2.1 Specification (State and State Requests)
3215bd8deadSopenharmony_ci
3225bd8deadSopenharmony_ci    None.
3235bd8deadSopenharmony_ci
3245bd8deadSopenharmony_ciAdditions to the GLX 1.3 Specification
3255bd8deadSopenharmony_ci
3265bd8deadSopenharmony_ci    TBD. Discussion of image formats in the GLX Protocol Specification
3275bd8deadSopenharmony_ci    may need to be expanded.
3285bd8deadSopenharmony_ci
3295bd8deadSopenharmony_ciErrors
3305bd8deadSopenharmony_ci
3315bd8deadSopenharmony_ci    See above.
3325bd8deadSopenharmony_ci
3335bd8deadSopenharmony_ciNew State
3345bd8deadSopenharmony_ci
3355bd8deadSopenharmony_ci    None.
3365bd8deadSopenharmony_ci
3375bd8deadSopenharmony_ciNew Implementation Dependent State
3385bd8deadSopenharmony_ci
3395bd8deadSopenharmony_ci    None.
3405bd8deadSopenharmony_ci
3415bd8deadSopenharmony_ciRevision History
3425bd8deadSopenharmony_ci
3435bd8deadSopenharmony_ci  * Revision 10, 07/24/2001 - Finalized Status for OpenML 1.0.
3445bd8deadSopenharmony_ci  * Revision 9, 07/16/2001 - Fix label in 24_24 packed pixel diagram.
3455bd8deadSopenharmony_ci  * Revisions 7-8, 07/11/2001 - Assign enum values and extension number
3465bd8deadSopenharmony_ci    for the registry.
3475bd8deadSopenharmony_ci  * Revision 6 - Correct errors in the equations describing subsampling.
3485bd8deadSopenharmony_ci  * Revision 5 - formatting changes for OpenML Specification
3495bd8deadSopenharmony_ci  * Revision 4 - Rewrite to use the <format> parameter, rather than a
3505bd8deadSopenharmony_ci    pixel storage mode, to specify subsampled data. Specify which
3515bd8deadSopenharmony_ci    format/type combinations are allowed for subsampled data, and define
3525bd8deadSopenharmony_ci    the representation of 10-bit component subsampled packed pixel data.
3535bd8deadSopenharmony_ci  * Revision 3 - Removed support for YC component orders. Renamed CY and
3545bd8deadSopenharmony_ci    CYA enumerants more sensibly. Changed text descriptions of sampling
3555bd8deadSopenharmony_ci    to equations. Made enum values undefined until we've determined if
3565bd8deadSopenharmony_ci    this extension is backwards compatible with SGIX_subsample.
3575bd8deadSopenharmony_ci  * Revision 2 - corrected 4224 upsampling and downsampling figures.
3585bd8deadSopenharmony_ci    Moved discussion of errors for non-even image widths from the
3595bd8deadSopenharmony_ci    OML_resample specification.
3605bd8deadSopenharmony_ci  * Revision 1 - derived from SGIX_subsample.
361