15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    EXT_vertex_array_bgra
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_EXT_vertex_array_bgra
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContributors
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Jason Green, TransGaming
125bd8deadSopenharmony_ci    Gavriel State, TransGaming
135bd8deadSopenharmony_ci    Rob Barris, Blizzard
145bd8deadSopenharmony_ci    Mark Krenek, Aspyr
155bd8deadSopenharmony_ci    Ryan Gordon, Destineer
165bd8deadSopenharmony_ci    Nicholas Vining, Destineer
175bd8deadSopenharmony_ci
185bd8deadSopenharmony_ciContact
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ci    Mark Kilgard, NVIDIA (mjk 'at' nvidia.com)
215bd8deadSopenharmony_ci
225bd8deadSopenharmony_ciStatus
235bd8deadSopenharmony_ci
245bd8deadSopenharmony_ci    Implemented by NVIDIA, October 2008
255bd8deadSopenharmony_ci
265bd8deadSopenharmony_ciVersion
275bd8deadSopenharmony_ci
285bd8deadSopenharmony_ci    Last Modified Date:  October 28, 2008
295bd8deadSopenharmony_ci    Version:             5
305bd8deadSopenharmony_ci
315bd8deadSopenharmony_ciNumber
325bd8deadSopenharmony_ci
335bd8deadSopenharmony_ci    354
345bd8deadSopenharmony_ci
355bd8deadSopenharmony_ciDependencies
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ci    This extension is written against the OpenGL 2.1 Specification but
385bd8deadSopenharmony_ci    can apply to OpenGL 1.1 and up.
395bd8deadSopenharmony_ci
405bd8deadSopenharmony_ci    This extension interacts with EXT_vertex_array.
415bd8deadSopenharmony_ci
425bd8deadSopenharmony_ci    This extension interacts with EXT_secondary_color.
435bd8deadSopenharmony_ci
445bd8deadSopenharmony_ci    This extension interacts with NV_vertex_program.
455bd8deadSopenharmony_ci
465bd8deadSopenharmony_ci    This extension interacts with ARB_vertex_program.
475bd8deadSopenharmony_ci
485bd8deadSopenharmony_ci    This extension interacts with ARB_vertex_shader.
495bd8deadSopenharmony_ci
505bd8deadSopenharmony_ciOverview
515bd8deadSopenharmony_ci
525bd8deadSopenharmony_ci    This extension provides a single new component format for vertex
535bd8deadSopenharmony_ci    arrays to read 4-component unsigned byte vertex attributes with a
545bd8deadSopenharmony_ci    BGRA component ordering.
555bd8deadSopenharmony_ci
565bd8deadSopenharmony_ci    OpenGL expects vertex arrays containing 4 unsigned bytes per
575bd8deadSopenharmony_ci    element to be in the RGBA, STRQ, or XYZW order (reading components
585bd8deadSopenharmony_ci    left-to-right in their lower address to higher address order).
595bd8deadSopenharmony_ci    Essentially the order the components appear in memory is the order
605bd8deadSopenharmony_ci    the components appear in the resulting vertex attribute vector.
615bd8deadSopenharmony_ci
625bd8deadSopenharmony_ci    However Direct3D has color (diffuse and specular) vertex arrays
635bd8deadSopenharmony_ci    containing 4 unsigned bytes per element that are in a BGRA order
645bd8deadSopenharmony_ci    (again reading components left-to-right in their lower address
655bd8deadSopenharmony_ci    to higher address order).  Direct3D calls this "ARGB" reading the
665bd8deadSopenharmony_ci    components in the opposite order (reading components left-to-right
675bd8deadSopenharmony_ci    in their higher address to lower address order).  This ordering is
685bd8deadSopenharmony_ci    generalized in the DirectX 10 by the DXGI_FORMAT_B8G8R8A8_UNORM
695bd8deadSopenharmony_ci    format.
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ci    For an OpenGL application to source color data from a vertex
725bd8deadSopenharmony_ci    buffer formatted for Direct3D's color array format conventions,
735bd8deadSopenharmony_ci    the application is forced to either:
745bd8deadSopenharmony_ci
755bd8deadSopenharmony_ci    1.  Rely on a vertex program or shader to swizzle the color components
765bd8deadSopenharmony_ci        from the BGRA to conventional RGBA order.
775bd8deadSopenharmony_ci
785bd8deadSopenharmony_ci    2.  Re-order the color data components in the vertex buffer from
795bd8deadSopenharmony_ci        Direct3D's native BGRA order to OpenGL's native RGBA order.
805bd8deadSopenharmony_ci
815bd8deadSopenharmony_ci    Neither option is entirely satisfactory.
825bd8deadSopenharmony_ci
835bd8deadSopenharmony_ci    Option 1 means vertex shaders have to be re-written to source colors
845bd8deadSopenharmony_ci    differently.  If the same vertex shader is used with vertex arrays
855bd8deadSopenharmony_ci    configured to source the color as 4 floating-point color components,
865bd8deadSopenharmony_ci    the swizzle for BGRA colors stored as 4 unsigned bytes is no longer
875bd8deadSopenharmony_ci    appropriate.  The shader's swizzling of colors becomes dependent on
885bd8deadSopenharmony_ci    the type and number of color components.  Ideally the vertex shader
895bd8deadSopenharmony_ci    should be independent from the format and component ordering of the
905bd8deadSopenharmony_ci    data it sources.
915bd8deadSopenharmony_ci
925bd8deadSopenharmony_ci    Option 2 is expensive because vertex buffers may have to be
935bd8deadSopenharmony_ci    reformatted prior to use.  OpenGL treats the memory for vertex arrays
945bd8deadSopenharmony_ci    (whether client-side memory or buffer objects) as essentially untyped
955bd8deadSopenharmony_ci    memory and vertex arrays can be stored separately, interleaved,
965bd8deadSopenharmony_ci    or even interwoven (where multiple arrays overlap with differing
975bd8deadSopenharmony_ci    strides and formats).
985bd8deadSopenharmony_ci
995bd8deadSopenharmony_ci    Rather than force a re-ordering of either vertex array components
1005bd8deadSopenharmony_ci    in memory or a vertex array format-dependent re-ordering of vertex
1015bd8deadSopenharmony_ci    shader inputs, OpenGL can simply provide a vertex array format that
1025bd8deadSopenharmony_ci    matches the Direct3D color component ordering.
1035bd8deadSopenharmony_ci
1045bd8deadSopenharmony_ci    This approach mimics that of the EXT_bgra extension for pixel and
1055bd8deadSopenharmony_ci    texel formats except for vertex instead of image data.
1065bd8deadSopenharmony_ci
1075bd8deadSopenharmony_ciNew Procedures and Functions
1085bd8deadSopenharmony_ci
1095bd8deadSopenharmony_ci    None
1105bd8deadSopenharmony_ci
1115bd8deadSopenharmony_ciNew Tokens
1125bd8deadSopenharmony_ci
1135bd8deadSopenharmony_ci    Accepted by the <size> parameter of ColorPointer,
1145bd8deadSopenharmony_ci    SecondaryColorPointer, and VertexAttribPointer:
1155bd8deadSopenharmony_ci
1165bd8deadSopenharmony_ci        BGRA                           0x80E1
1175bd8deadSopenharmony_ci
1185bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 2.1 Specification (OpenGL Operation)
1195bd8deadSopenharmony_ci
1205bd8deadSopenharmony_ci -- Section 2.8 "Vertex Arrays" (page 24)
1215bd8deadSopenharmony_ci
1225bd8deadSopenharmony_ci    Replace the sentence beginning "size, when present, ..." with:
1235bd8deadSopenharmony_ci
1245bd8deadSopenharmony_ci    "size, when present, indicates the number of values per vertex that
1255bd8deadSopenharmony_ci    are stored in the array as well as their component ordering."
1265bd8deadSopenharmony_ci
1275bd8deadSopenharmony_ci    Add these final sentences to the end of the same paragraph:
1285bd8deadSopenharmony_ci
1295bd8deadSopenharmony_ci    "The error INVALID_VALUE is generated if size is BGRA and type is
1305bd8deadSopenharmony_ci    not UNSIGNED_BYTE.  The error INVALID_VALUE is generated by
1315bd8deadSopenharmony_ci    VertexAttribPointer if size is BGRA and normalized is FALSE."
1325bd8deadSopenharmony_ci
1335bd8deadSopenharmony_ci    Edit Table 2.4 "Vertex array sizes (values per vertex) and data types"
1345bd8deadSopenharmony_ci    as follows:
1355bd8deadSopenharmony_ci
1365bd8deadSopenharmony_ci    *  Rename the "Sizes" column to "Sizes and component ordering".
1375bd8deadSopenharmony_ci
1385bd8deadSopenharmony_ci    *  Add "BGRA" to the "Sizes and component order" column of the
1395bd8deadSopenharmony_ci       following rows:  ColorPointer, SecondaryColorPointer, and
1405bd8deadSopenharmony_ci       VertexAttribPointer.
1415bd8deadSopenharmony_ci
1425bd8deadSopenharmony_ci       These are the commands capable of accepting normalized
1435bd8deadSopenharmony_ci       coordinates and accepting 4 for "size" plus the special case of
1445bd8deadSopenharmony_ci       SecondaryColorPointer command.
1455bd8deadSopenharmony_ci
1465bd8deadSopenharmony_ci    *  Add the following sentence to the end of the table caption:
1475bd8deadSopenharmony_ci       "If the size parameter is BGRA, the vertex array values are always
1485bd8deadSopenharmony_ci       normalized irrespective of the Normalized column."
1495bd8deadSopenharmony_ci
1505bd8deadSopenharmony_ci    "The one, two, three, or four values in an array that correspond to
1515bd8deadSopenharmony_ci    a single vertex comprise an array element.  When the BGRA token is
1525bd8deadSopenharmony_ci    specified for size, it indicates four values.  The values within
1535bd8deadSopenharmony_ci    each array element are stored sequentially in memory.  However if
1545bd8deadSopenharmony_ci    the size is specified with BGRA, the first, second, third, and fourth
1555bd8deadSopenharmony_ci    values of each array element are read from the third, second, first,
1565bd8deadSopenharmony_ci    and fourth values in memory respectively."
1575bd8deadSopenharmony_ci
1585bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 2.1 Specification (Rasterization)
1595bd8deadSopenharmony_ci
1605bd8deadSopenharmony_ci    None
1615bd8deadSopenharmony_ci
1625bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 2.1 Specification (Per-Fragment
1635bd8deadSopenharmony_ciOperations and the Frame Buffer)
1645bd8deadSopenharmony_ci
1655bd8deadSopenharmony_ci    None
1665bd8deadSopenharmony_ci
1675bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 2.1 Specification (Special
1685bd8deadSopenharmony_ciFunctions)
1695bd8deadSopenharmony_ci
1705bd8deadSopenharmony_ci    None
1715bd8deadSopenharmony_ci
1725bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 2.1 Specification (State and
1735bd8deadSopenharmony_ciState Requests)
1745bd8deadSopenharmony_ci
1755bd8deadSopenharmony_ci    None
1765bd8deadSopenharmony_ci
1775bd8deadSopenharmony_ciAdditions to the AGL/GLX/WGL Specifications
1785bd8deadSopenharmony_ci
1795bd8deadSopenharmony_ci    None
1805bd8deadSopenharmony_ci
1815bd8deadSopenharmony_ciAdditions to the OpenGL Shading Language
1825bd8deadSopenharmony_ci
1835bd8deadSopenharmony_ci    None
1845bd8deadSopenharmony_ci
1855bd8deadSopenharmony_ciGLX Protocol
1865bd8deadSopenharmony_ci
1875bd8deadSopenharmony_ci    None
1885bd8deadSopenharmony_ci
1895bd8deadSopenharmony_ciErrors
1905bd8deadSopenharmony_ci
1915bd8deadSopenharmony_ci    The error INVALID_VALUE is generated when ColorPointer,
1925bd8deadSopenharmony_ci    SecondaryColorPointer, or VertexAttribPointer is
1935bd8deadSopenharmony_ci    called with size set to BGRA and type is not UNSIGNED_BYTE.
1945bd8deadSopenharmony_ci
1955bd8deadSopenharmony_ci    The error INVALID_VALUE is generated when VertexAttribPointer is
1965bd8deadSopenharmony_ci    called with size set to BGRA and normalized is FALSE.
1975bd8deadSopenharmony_ci
1985bd8deadSopenharmony_ciDependencies on EXT_vertex_array
1995bd8deadSopenharmony_ci
2005bd8deadSopenharmony_ci    This extension's additional behavior for ColorPointer apply to
2015bd8deadSopenharmony_ci    ColorPointerEXT too.
2025bd8deadSopenharmony_ci
2035bd8deadSopenharmony_ciDependencies on EXT_secondary_color
2045bd8deadSopenharmony_ci
2055bd8deadSopenharmony_ci    This extension's additional behavior for SecondaryColorPointer
2065bd8deadSopenharmony_ci    applies to SecondaryColorPointerEXT too.
2075bd8deadSopenharmony_ci
2085bd8deadSopenharmony_ciDependencies on NV_vertex_program
2095bd8deadSopenharmony_ci
2105bd8deadSopenharmony_ci    This extension's additional behavior for VertexAttribPointer applies
2115bd8deadSopenharmony_ci    to VertexAttribPointerNV too.
2125bd8deadSopenharmony_ci
2135bd8deadSopenharmony_ciDependencies on ARB_vertex_program and ARB_vertex_shader
2145bd8deadSopenharmony_ci
2155bd8deadSopenharmony_ci    This extension's additional behavior for VertexAttribPointer applies
2165bd8deadSopenharmony_ci    to VertexAttribPointerARB too.
2175bd8deadSopenharmony_ci
2185bd8deadSopenharmony_ciNew State
2195bd8deadSopenharmony_ci
2205bd8deadSopenharmony_ci    Change tables 6.6 and 6.7 to fix Type column by making the type
2215bd8deadSopenharmony_ci    a k-valued integer where k is 3, 2, and 5 for color, secondary,
2225bd8deadSopenharmony_ci    and vertex attrib arrays respectively.
2235bd8deadSopenharmony_ci
2245bd8deadSopenharmony_ci(table 6.6, "Vertex Array Data", p. 271)
2255bd8deadSopenharmony_ci    Get Value                   Type  Get Command  Initial Value  Description            Sec Attribute
2265bd8deadSopenharmony_ci    ---------                   ----  -----------  -------------  ---------------------  --- ---------
2275bd8deadSopenharmony_ci    COLOR_ARRAY_SIZE            Z3    GetIntegerv  4              Color components       2.8 vertex-array
2285bd8deadSopenharmony_ci                                                                  per vertex
2295bd8deadSopenharmony_ci    SECONDARY_COLOR_ARRAY_SIZE  Z2    GetIntegerv  3              Secondary color        2.8 vertex-array
2305bd8deadSopenharmony_ci                                                                  components per vertex
2315bd8deadSopenharmony_ci
2325bd8deadSopenharmony_ci(table 6.7, "Vertex Array Data (cont.)", p. 272)
2335bd8deadSopenharmony_ci    Get Value                   Type  Get Command  Initial Value  Description            Sec Attribute
2345bd8deadSopenharmony_ci    ---------                   ----  -----------  -------------  ---------------------  --- ---------
2355bd8deadSopenharmony_ci    VERTEX_ATTRIB_ARRAY_SIZE    Z5    GetIntegerv  16+ x Z5       Vertex attrib array    2.8 vertex-array
2365bd8deadSopenharmony_ci                                                                  size
2375bd8deadSopenharmony_ci
2385bd8deadSopenharmony_ciNew Implementation Dependent State
2395bd8deadSopenharmony_ci
2405bd8deadSopenharmony_ci    None
2415bd8deadSopenharmony_ci
2425bd8deadSopenharmony_ciIssues
2435bd8deadSopenharmony_ci
2445bd8deadSopenharmony_ci    1.  What should this extension be called?
2455bd8deadSopenharmony_ci
2465bd8deadSopenharmony_ci        RESOLVED:  EXT_vertex_array_bgra
2475bd8deadSopenharmony_ci
2485bd8deadSopenharmony_ci        Because the extension adds a new "vertex array" format with the
2495bd8deadSopenharmony_ci        "bgra" component ordering and assuming a normalized representation
2505bd8deadSopenharmony_ci        as BGRA with UNSIGNED_BYTE would provide for image data.
2515bd8deadSopenharmony_ci
2525bd8deadSopenharmony_ci    2.  How should the vertex array API be changed?
2535bd8deadSopenharmony_ci
2545bd8deadSopenharmony_ci        RESOLVED:  Allow BGRA as a valid token for the size field of
2555bd8deadSopenharmony_ci        vertex array specification commands.  While the size parameter
2565bd8deadSopenharmony_ci        is of type GLint, the valid sizes are in the 1 to 4 range so
2575bd8deadSopenharmony_ci        the GL_BGRA token is easily distinguished from the existing
2585bd8deadSopenharmony_ci        small integer values.
2595bd8deadSopenharmony_ci
2605bd8deadSopenharmony_ci        This mimics the way OpenGL 1.1 changed the "components" field
2615bd8deadSopenharmony_ci        of glTexImage1D and glTexImage2D to specify an internalformat
2625bd8deadSopenharmony_ci        rather than simply a number of components from 1 to 4.
2635bd8deadSopenharmony_ci
2645bd8deadSopenharmony_ci        This approach has the advantage of not adding any new commands
2655bd8deadSopenharmony_ci        or tokens since the GL_BGRA token already exists.
2665bd8deadSopenharmony_ci
2675bd8deadSopenharmony_ci    3.  What vertex array specification commands should accept the new
2685bd8deadSopenharmony_ci        BGRA vertex array format for their size parameter?
2695bd8deadSopenharmony_ci
2705bd8deadSopenharmony_ci        RESOLVED:  All vertex array specification commands which accept 4
2715bd8deadSopenharmony_ci        as a valid size plus the glSecondaryColorPointer command because
2725bd8deadSopenharmony_ci        Direct3D allows a BGRA-ordered secondary color (its specular
2735bd8deadSopenharmony_ci        vertex attribute) to be specified.
2745bd8deadSopenharmony_ci
2755bd8deadSopenharmony_ci        Because DirectX 10 makes its formats highly orthogonal and it
2765bd8deadSopenharmony_ci        allows a corresponding format (DXGI_FORMAT_B8G8R8A8_UNORM),
2775bd8deadSopenharmony_ci        the BGRA vertex array format should be similarly general.
2785bd8deadSopenharmony_ci
2795bd8deadSopenharmony_ci    4.  Should a 4-component BGRA secondary color be allowed?
2805bd8deadSopenharmony_ci
2815bd8deadSopenharmony_ci        RESOLVED:  Yes.
2825bd8deadSopenharmony_ci
2835bd8deadSopenharmony_ci        DirectX 9 supports a 4-component secondary color.  All four
2845bd8deadSopenharmony_ci        components should be available to a vertex shader or vertex
2855bd8deadSopenharmony_ci        program.  Fixed-function operation without lighting enabled
2865bd8deadSopenharmony_ci        should pass through the secondary color alpha component.  However
2875bd8deadSopenharmony_ci        fixed-function lighting specifies its output secondary color alpha
2885bd8deadSopenharmony_ci        is always output as 1 and ignores the input secondary color alpha.
2895bd8deadSopenharmony_ci
2905bd8deadSopenharmony_ci    5.  So should 4 be allowed as a valid size parameter for
2915bd8deadSopenharmony_ci        glSecondaryColorPointer?
2925bd8deadSopenharmony_ci
2935bd8deadSopenharmony_ci        RESOLVED:  Not for this extension.  We leave it to another
2945bd8deadSopenharmony_ci        extension or core revision could extend the secondary color to
2955bd8deadSopenharmony_ci        4 components.
2965bd8deadSopenharmony_ci
2975bd8deadSopenharmony_ci    6.  Should the BGRA vertex array format only work with the
2985bd8deadSopenharmony_ci        GL_UNSIGNED_BYTE type?
2995bd8deadSopenharmony_ci
3005bd8deadSopenharmony_ci        RESOLVED:  Yes.
3015bd8deadSopenharmony_ci
3025bd8deadSopenharmony_ci        This is consistent with Direct3D's use of the D3DCOLOR type which
3035bd8deadSopenharmony_ci        is defined with a BGRA ordering and 8-bit normalized components.
3045bd8deadSopenharmony_ci
3055bd8deadSopenharmony_ci    7.  How should the BGRA vertex array format's normalized behavior
3065bd8deadSopenharmony_ci        interact with the "normalized" parameter of glVertexAttribPointer?
3075bd8deadSopenharmony_ci
3085bd8deadSopenharmony_ci        RESOLVED:  Since BGRA implies normalization, it should be an
3095bd8deadSopenharmony_ci        error to request BGRA with the normalized parameter set to false.
3105bd8deadSopenharmony_ci
3115bd8deadSopenharmony_ci        This ensures the following statement in the caption of table 2.4
3125bd8deadSopenharmony_ci        remains true:  "For generic vertex attributes, fixed-point data
3135bd8deadSopenharmony_ci        are normalized if and only if the VertexAttribPointer normalized
3145bd8deadSopenharmony_ci        flag is set."
3155bd8deadSopenharmony_ci
3165bd8deadSopenharmony_ci    8.  Should the glVertexAttribIPointerEXT command accept GL_BGRA for
3175bd8deadSopenharmony_ci        its size parameter?
3185bd8deadSopenharmony_ci
3195bd8deadSopenharmony_ci        RESOLVED:  No.  Because the BGRA vertex array format implies
3205bd8deadSopenharmony_ci        normalized component values, that is inconsistent with providing
3215bd8deadSopenharmony_ci        integer vertex attributes.
3225bd8deadSopenharmony_ci
3235bd8deadSopenharmony_ci    9.  Should this apply to glVertexPointer?
3245bd8deadSopenharmony_ci
3255bd8deadSopenharmony_ci        RESOLVED:  No.  glVertexPointer doesn't support GL_UNSIGNED_BYTE
3265bd8deadSopenharmony_ci        as a type so GL_BGRA doesn't make sense.
3275bd8deadSopenharmony_ci
3285bd8deadSopenharmony_ci    10. To what vertex arrays should this extension apply?
3295bd8deadSopenharmony_ci
3305bd8deadSopenharmony_ci        RESOLVED:  Just primary color (glColorPointer), secondary
3315bd8deadSopenharmony_ci        color (glSecondaryColorPointer), and generic vertex attribs
3325bd8deadSopenharmony_ci        (glVertexAttribPointer).
3335bd8deadSopenharmony_ci
3345bd8deadSopenharmony_ci        The rationale is these are the formats that take 4 component
3355bd8deadSopenharmony_ci        attributes that can be normalized (making a special exception to
3365bd8deadSopenharmony_ci        treat the secondary color array as having 4 components for the
3375bd8deadSopenharmony_ci        purpose of BGRA support to match Direct3D).  Texture coordinate
3385bd8deadSopenharmony_ci        sets and vertex positions are not normalized.  Normals are
3395bd8deadSopenharmony_ci        normalized but only 4 coordinates.
3405bd8deadSopenharmony_ci
3415bd8deadSopenharmony_ci    11. What Direct3D 9 functionality provides BGRA vertex arrays?
3425bd8deadSopenharmony_ci
3435bd8deadSopenharmony_ci        You can specify BGRA vertex arrays with either Flexible Vertex
3445bd8deadSopenharmony_ci        Formats (FVFs) or a Direct3D 9 Vertex Declaration.
3455bd8deadSopenharmony_ci
3465bd8deadSopenharmony_ci        The FVF formats are D3DFVF_DIFFUSE and D3DFVF_SPECULAR.
3475bd8deadSopenharmony_ci
3485bd8deadSopenharmony_ci        The Vertex Declaration declaration data type is
3495bd8deadSopenharmony_ci        D3DDECLTYPE_D3DCOLOR.
3505bd8deadSopenharmony_ci
3515bd8deadSopenharmony_ciRevision History
3525bd8deadSopenharmony_ci
3535bd8deadSopenharmony_ci    Rev.    Date    Author     Changes
3545bd8deadSopenharmony_ci    ----  -------- ---------  ----------------------------------------
3555bd8deadSopenharmony_ci      1   1/11/07  mjk        Initial version
3565bd8deadSopenharmony_ci      2   1/31/07  mjk        review comments; issue 9
3575bd8deadSopenharmony_ci      3   7/16/08  mjk        Removed TexCoordPointer behavior
3585bd8deadSopenharmony_ci                              Added issues 10 and 11
3595bd8deadSopenharmony_ci      4   10/7/08  mjk        Implemented now
3605bd8deadSopenharmony_ci      5   10/28/08 mjk        Provide state tabe updates
361