15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    EXT_422_pixels
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_EXT_422_pixels
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciVersion
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Date: 3/22/1998    Version 1.2
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciNumber
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    178
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ciDependencies
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ci    None
205bd8deadSopenharmony_ci
215bd8deadSopenharmony_ciOverview
225bd8deadSopenharmony_ci
235bd8deadSopenharmony_ci    This extension provides support for converting 422 pixels in host
245bd8deadSopenharmony_ci    memory to 444 pixels as part of the pixel storage operation.
255bd8deadSopenharmony_ci
265bd8deadSopenharmony_ci    The pixel unpack storage operation treats a 422 pixel as a 2 element
275bd8deadSopenharmony_ci    format where the first element is C (chrominance) and the second
285bd8deadSopenharmony_ci    element is L (luminance). Luminance is present on all pixels; a full
295bd8deadSopenharmony_ci    chrominance value requires two pixels.
305bd8deadSopenharmony_ci
315bd8deadSopenharmony_ci    The pixel pack storage operation converts RGB to a 422 pixel defined as
325bd8deadSopenharmony_ci    a 2 element format where the first element stored is C (chrominance)
335bd8deadSopenharmony_ci    and the second element stored is L (luminance).  Luminance is present
345bd8deadSopenharmony_ci    on all pixels; a full chrominance value requires two pixels.
355bd8deadSopenharmony_ci
365bd8deadSopenharmony_ci    Both averaging and non-averaging is supported for green and blue
375bd8deadSopenharmony_ci    assignments for pack and unpack operations.
385bd8deadSopenharmony_ci
395bd8deadSopenharmony_ciNew Procedures and Functions
405bd8deadSopenharmony_ci
415bd8deadSopenharmony_ci    None
425bd8deadSopenharmony_ci
435bd8deadSopenharmony_ciNew Tokens
445bd8deadSopenharmony_ci
455bd8deadSopenharmony_ci    Accepted by the <format> parameter of DrawPixels, ReadPixels,
465bd8deadSopenharmony_ci    TexImage1D, TexImage2D, GetTexImage, TexImage3D, TexSubImage1D,
475bd8deadSopenharmony_ci    TexSubImage2D, TexSubImage3D, GetHistogram, GetMinmax,
485bd8deadSopenharmony_ci    ConvolutionFilter1D, ConvolutionFilter2D, ConvolutionFilter3D,
495bd8deadSopenharmony_ci    GetConvolutionFilter, SeparableFilter2D, SeparableFilter3D,
505bd8deadSopenharmony_ci    GetSeparableFilter, ColorTable, and GetColorTable.
515bd8deadSopenharmony_ci
525bd8deadSopenharmony_ci        422_EXT                            0x80CC
535bd8deadSopenharmony_ci        422_REV_EXT                        0x80CD
545bd8deadSopenharmony_ci        422_AVERAGE_EXT                    0x80CE
555bd8deadSopenharmony_ci        422_REV_AVERAGE_EXT                0x80CF
565bd8deadSopenharmony_ci
575bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.2 Specification (OpenGL Operation)
585bd8deadSopenharmony_ci
595bd8deadSopenharmony_ci    None
605bd8deadSopenharmony_ci
615bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.2 Specification (Rasterization)
625bd8deadSopenharmony_ci
635bd8deadSopenharmony_ci    The four tokens defined by this extension are added to Table 3.6:
645bd8deadSopenharmony_ci
655bd8deadSopenharmony_ci      Format Name           Element Meaning and Order   Target Buffer
665bd8deadSopenharmony_ci      -------------------   -------------------------   --------------
675bd8deadSopenharmony_ci      422_EXT                       C, L, C, L              Color
685bd8deadSopenharmony_ci      422_REV_EXT                   L, C, L, C              Color
695bd8deadSopenharmony_ci      422_AVERAGE_EXT               C, L, C, L              Color
705bd8deadSopenharmony_ci      422_REV_AVERAGE_EXT           L, C, L, C              Color
715bd8deadSopenharmony_ci
725bd8deadSopenharmony_ci      Table 3.6: DrawPixels and ReadPixels formats.  The second column
735bd8deadSopenharmony_ci      gives a description of and the number and order of elements in a
745bd8deadSopenharmony_ci      group.  Unless specified as an index, formats yield components.
755bd8deadSopenharmony_ci
765bd8deadSopenharmony_ci    3.6.4 Rasterization of Pixel Rectangles
775bd8deadSopenharmony_ci
785bd8deadSopenharmony_ci    [The new formats are added to the discussion of "Conversion to RGB"]
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ci    This step is applied only if <format> is 422_EXT, 422_REV_EXT,
815bd8deadSopenharmony_ci    422_AVERAGE_EXT, or 422_AVERAGE_REV_EXT.  For 422_EXT and
825bd8deadSopenharmony_ci    422_REV_EXT, the assignment of the elements in a group to
835bd8deadSopenharmony_ci    R, G, and B are defined in the following equations:
845bd8deadSopenharmony_ci
855bd8deadSopenharmony_ci          Even Pixel           Odd Pixel
865bd8deadSopenharmony_ci        -------------        -------------
875bd8deadSopenharmony_ci         R = L[n*2]           R = L[n*2+1]
885bd8deadSopenharmony_ci         G = C[n*2]           G = C[n*2]
895bd8deadSopenharmony_ci         B = C[n*2+1]         B = C[n*2+1]
905bd8deadSopenharmony_ci
915bd8deadSopenharmony_ci    where 0 < n < width/2. If the <width> of the image is odd, then
925bd8deadSopenharmony_ci    the last column of pixels will have an undefined color value.
935bd8deadSopenharmony_ci
945bd8deadSopenharmony_ci    For 422_AVERAGE_EXT and 422_AVERAGE_REV_EXT, the assignment of the
955bd8deadSopenharmony_ci    elements in a group to R, G, and B are defined in the following
965bd8deadSopenharmony_ci    equations:
975bd8deadSopenharmony_ci
985bd8deadSopenharmony_ci          Even Pixel             Odd Pixel (Averaged)
995bd8deadSopenharmony_ci        -------------        ------------------------------
1005bd8deadSopenharmony_ci         R = L[n*2]           R = L[n*2+1]
1015bd8deadSopenharmony_ci         G = C[n*2]           G = (C[n*2] + C[n*2+2]) / 2
1025bd8deadSopenharmony_ci         B = C[n*2+1]         B = (C[n*2+1] + C[n*2+3]) / 2
1035bd8deadSopenharmony_ci
1045bd8deadSopenharmony_ci    where 0 < n < width/2. If the <width> of the image is odd, then the
1055bd8deadSopenharmony_ci    last column of pixels will have an undefined color value.  If the
1065bd8deadSopenharmony_ci    pixels at [n*2+2] or [n*2+3] are not present, then the non-averaging
1075bd8deadSopenharmony_ci    odd pixel equations are used for that pixel.
1085bd8deadSopenharmony_ci
1095bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.2 Specification (Per-Fragment Operations
1105bd8deadSopenharmony_ciand the Framebuffer)
1115bd8deadSopenharmony_ci
1125bd8deadSopenharmony_ci    [The new formats are added to the discussion of "Obtaining Pixels
1135bd8deadSopenharmony_ci    from the Framebuffer."]
1145bd8deadSopenharmony_ci
1155bd8deadSopenharmony_ci    [A new section, "Conversion to 422," is added after the section
1165bd8deadSopenharmony_ci    "Conversion to L."]
1175bd8deadSopenharmony_ci
1185bd8deadSopenharmony_ci    This step applies only to RGBA component groups, and only if the
1195bd8deadSopenharmony_ci    <format> is 422_EXT, 422_REV_EXT, 422_AVERAGE_EXT, or
1205bd8deadSopenharmony_ci    422_AVERAGE_REV_EXT.  For 422_EXT, RGB is converted to a 422 pixel
1215bd8deadSopenharmony_ci    defined as a 2 element format where the first element stored is
1225bd8deadSopenharmony_ci    C (chrominance) and the second element stored is L (luminance).
1235bd8deadSopenharmony_ci    For 422_REV_EXT, the first element stored is luminance and the
1245bd8deadSopenharmony_ci    second element stored is chrominance.
1255bd8deadSopenharmony_ci
1265bd8deadSopenharmony_ci    Luminance is present on all pixels; only one chrominance value is
1275bd8deadSopenharmony_ci    present on each pixel.  The conversion is performed according to the
1285bd8deadSopenharmony_ci    following equations.
1295bd8deadSopenharmony_ci
1305bd8deadSopenharmony_ci          Even Pixel           Odd Pixel
1315bd8deadSopenharmony_ci        -------------        -------------
1325bd8deadSopenharmony_ci         L = R[n*2]           L = R[n*2+1]
1335bd8deadSopenharmony_ci         C = G[n*2]           C = B[n*2]
1345bd8deadSopenharmony_ci
1355bd8deadSopenharmony_ci    where 0 < n < width/2.
1365bd8deadSopenharmony_ci
1375bd8deadSopenharmony_ci    For 422_AVERAGE_EXT and 422_AVERAGE_REV_EXT, the calculation of
1385bd8deadSopenharmony_ci    the chrominance is performed by averaging adjacent pixel components
1395bd8deadSopenharmony_ci    according to the following equations:
1405bd8deadSopenharmony_ci
1415bd8deadSopenharmony_ci             Even Pixel (Averaged)              Odd Pixel (Averaged)
1425bd8deadSopenharmony_ci        ------------------------------      -----------------------------
1435bd8deadSopenharmony_ci         L = R[n*2]                          L = R[n*2+1]
1445bd8deadSopenharmony_ci         C = (G[n*2] + G[n*2+1]) / 2         C = (B[n*2] + B[n*2+1]) / 2
1455bd8deadSopenharmony_ci
1465bd8deadSopenharmony_ci    where 0 < n < width/2.  If the pixel at [n*2+1] is not present, then
1475bd8deadSopenharmony_ci    the non-averaging pixel equations are used for that pixel.
1485bd8deadSopenharmony_ci
1495bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.2 Specification (Special Functions)
1505bd8deadSopenharmony_ci
1515bd8deadSopenharmony_ci    None
1525bd8deadSopenharmony_ci
1535bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.2 Specification (State and State Requests)
1545bd8deadSopenharmony_ci
1555bd8deadSopenharmony_ci    None
1565bd8deadSopenharmony_ci
1575bd8deadSopenharmony_ciAdditions to the GLX Specification
1585bd8deadSopenharmony_ci
1595bd8deadSopenharmony_ci    None
1605bd8deadSopenharmony_ci
1615bd8deadSopenharmony_ciGLX Protocol
1625bd8deadSopenharmony_ci
1635bd8deadSopenharmony_ci    None
1645bd8deadSopenharmony_ci
1655bd8deadSopenharmony_ciErrors
1665bd8deadSopenharmony_ci
1675bd8deadSopenharmony_ci    None
1685bd8deadSopenharmony_ci
1695bd8deadSopenharmony_ciNew State
1705bd8deadSopenharmony_ci
1715bd8deadSopenharmony_ci    None
1725bd8deadSopenharmony_ci
1735bd8deadSopenharmony_ciNew Implementation Dependent State
1745bd8deadSopenharmony_ci
1755bd8deadSopenharmony_ci    None
176