15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    OES_texture_view
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_OES_texture_view
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Jon Leech (oddhack 'at' sonic.net)
125bd8deadSopenharmony_ci    Daniel Koch, NVIDIA (dkoch 'at' nvidia.com)
135bd8deadSopenharmony_ci
145bd8deadSopenharmony_ciContributors
155bd8deadSopenharmony_ci
165bd8deadSopenharmony_ci    Jeff Bolz, NVIDIA Corporation (jbolz 'at' nvidia.com)
175bd8deadSopenharmony_ci    Pat Brown, NVIDIA
185bd8deadSopenharmony_ci    Slawomir Grajewski, Intel
195bd8deadSopenharmony_ci    Jon Leech
205bd8deadSopenharmony_ci
215bd8deadSopenharmony_ciNotice
225bd8deadSopenharmony_ci
235bd8deadSopenharmony_ci    Copyright (c) 2012-2013 The Khronos Group Inc. Copyright terms at
245bd8deadSopenharmony_ci        http://www.khronos.org/registry/speccopyright.html
255bd8deadSopenharmony_ci
265bd8deadSopenharmony_ciSpecification Update Policy
275bd8deadSopenharmony_ci
285bd8deadSopenharmony_ci    Khronos-approved extension specifications are updated in response to
295bd8deadSopenharmony_ci    issues and bugs prioritized by the Khronos OpenGL ES Working Group. For
305bd8deadSopenharmony_ci    extensions which have been promoted to a core Specification, fixes will
315bd8deadSopenharmony_ci    first appear in the latest version of that core Specification, and will
325bd8deadSopenharmony_ci    eventually be backported to the extension document. This policy is
335bd8deadSopenharmony_ci    described in more detail at
345bd8deadSopenharmony_ci        https://www.khronos.org/registry/OpenGL/docs/update_policy.php
355bd8deadSopenharmony_ci
365bd8deadSopenharmony_ci    Portions Copyright (c) 2013-2014 NVIDIA Corporation.
375bd8deadSopenharmony_ci
385bd8deadSopenharmony_ciStatus
395bd8deadSopenharmony_ci
405bd8deadSopenharmony_ci    Approved by the OpenGL ES Working Group
415bd8deadSopenharmony_ci    Ratified by the Khronos Board of Promoters on November 7, 2014
425bd8deadSopenharmony_ci
435bd8deadSopenharmony_ciVersion
445bd8deadSopenharmony_ci
455bd8deadSopenharmony_ci    Last Modified Date: June 18, 2014
465bd8deadSopenharmony_ci    Revision: 1
475bd8deadSopenharmony_ci
485bd8deadSopenharmony_ciNumber
495bd8deadSopenharmony_ci
505bd8deadSopenharmony_ci    OpenGL ES Extension #218
515bd8deadSopenharmony_ci
525bd8deadSopenharmony_ciDependencies
535bd8deadSopenharmony_ci
545bd8deadSopenharmony_ci    OpenGL ES 3.1 and OpenGL ES Shading Language 3.10 are required.
555bd8deadSopenharmony_ci
565bd8deadSopenharmony_ci    This specification is written against the OpenGL ES 3.1 (March 17,
575bd8deadSopenharmony_ci    2014) and OpenGL ES 3.10 Shading Language (March 17, 2014)
585bd8deadSopenharmony_ci    Specifications.
595bd8deadSopenharmony_ci
605bd8deadSopenharmony_ci    OES_texture_buffer and EXT_texture_buffer affect the definition of this
615bd8deadSopenharmony_ci    extension.
625bd8deadSopenharmony_ci
635bd8deadSopenharmony_ci    OES_texture_cube_map_array and EXT_texture_cube_map_array affects the
645bd8deadSopenharmony_ci    definition of this extension.
655bd8deadSopenharmony_ci
665bd8deadSopenharmony_ci    OES_texture_storage_multisample_2d_array interacts with this extension.
675bd8deadSopenharmony_ci
685bd8deadSopenharmony_ci    EXT_texture_compression_s3tc interacts with this extension.
695bd8deadSopenharmony_ci
705bd8deadSopenharmony_ci    EXT_texture_compression_rgtc interacts with this extension.
715bd8deadSopenharmony_ci
725bd8deadSopenharmony_ci    EXT_texture_compression_bptc interacts with this extension.
735bd8deadSopenharmony_ci
745bd8deadSopenharmony_ci    KHR_texture_compression_astc_ldr interacts with this extension.
755bd8deadSopenharmony_ci
765bd8deadSopenharmony_ci    KHR_texture_compression_astc_hdr interacts with this extension.
775bd8deadSopenharmony_ci
785bd8deadSopenharmony_ci    OES_texture_compression_astc interacts with this extension.
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ciOverview
815bd8deadSopenharmony_ci
825bd8deadSopenharmony_ci    This extension allows a texture's data store to be "viewed" in multiple
835bd8deadSopenharmony_ci    ways, either reinterpreting the data format/type as a different format/
845bd8deadSopenharmony_ci    type with the same element size, or by clamping the mipmap level range
855bd8deadSopenharmony_ci    or array slice range.
865bd8deadSopenharmony_ci
875bd8deadSopenharmony_ci    The goals of this extension are to avoid having these alternate views
885bd8deadSopenharmony_ci    become shared mutable containers of shared mutable objects, and to add
895bd8deadSopenharmony_ci    the views to the API in a minimally invasive way.
905bd8deadSopenharmony_ci
915bd8deadSopenharmony_ci    No new object types are added. Conceptually, a texture object is split
925bd8deadSopenharmony_ci    into the following parts:
935bd8deadSopenharmony_ci
945bd8deadSopenharmony_ci        - A data store holding texel data.
955bd8deadSopenharmony_ci        - State describing which portions of the data store to use, and how
965bd8deadSopenharmony_ci          to interpret the data elements.
975bd8deadSopenharmony_ci        - An embedded sampler object.
985bd8deadSopenharmony_ci        - Various other texture parameters.
995bd8deadSopenharmony_ci
1005bd8deadSopenharmony_ci    With this extension, multiple textures can share a data store and have
1015bd8deadSopenharmony_ci    different state describing which portions of the data store to use and
1025bd8deadSopenharmony_ci    how to interpret the data elements. The data store is refcounted and not
1035bd8deadSopenharmony_ci    destroyed until the last texture sharing it is deleted.
1045bd8deadSopenharmony_ci
1055bd8deadSopenharmony_ci    This extension leverages the concept of an "immutable texture".
1065bd8deadSopenharmony_ci    Views can only be created of textures created with TexStorage*.
1075bd8deadSopenharmony_ci
1085bd8deadSopenharmony_ci
1095bd8deadSopenharmony_ciNew Procedures and Functions
1105bd8deadSopenharmony_ci
1115bd8deadSopenharmony_ci    void TextureViewOES(uint texture, enum target, uint origtexture,
1125bd8deadSopenharmony_ci                        enum internalformat,
1135bd8deadSopenharmony_ci                        uint minlevel, uint numlevels,
1145bd8deadSopenharmony_ci                        uint minlayer, uint numlayers);
1155bd8deadSopenharmony_ci
1165bd8deadSopenharmony_ciNew Tokens
1175bd8deadSopenharmony_ci
1185bd8deadSopenharmony_ci    Accepted by the <pname> parameters of GetTexParameterfv and
1195bd8deadSopenharmony_ci    GetTexParameteriv:
1205bd8deadSopenharmony_ci
1215bd8deadSopenharmony_ci        TEXTURE_VIEW_MIN_LEVEL_OES                      0x82DB
1225bd8deadSopenharmony_ci        TEXTURE_VIEW_NUM_LEVELS_OES                     0x82DC
1235bd8deadSopenharmony_ci        TEXTURE_VIEW_MIN_LAYER_OES                      0x82DD
1245bd8deadSopenharmony_ci        TEXTURE_VIEW_NUM_LAYERS_OES                     0x82DE
1255bd8deadSopenharmony_ci        TEXTURE_IMMUTABLE_LEVELS                        0x82DF
1265bd8deadSopenharmony_ci
1275bd8deadSopenharmony_ci    Used as compatibility class names in table 8.X.2:
1285bd8deadSopenharmony_ci
1295bd8deadSopenharmony_ci        VIEW_CLASS_128_BITS
1305bd8deadSopenharmony_ci        VIEW_CLASS_96_BITS
1315bd8deadSopenharmony_ci        VIEW_CLASS_64_BITS
1325bd8deadSopenharmony_ci        VIEW_CLASS_48_BITS
1335bd8deadSopenharmony_ci        VIEW_CLASS_32_BITS
1345bd8deadSopenharmony_ci        VIEW_CLASS_24_BITS
1355bd8deadSopenharmony_ci        VIEW_CLASS_16_BITS
1365bd8deadSopenharmony_ci        VIEW_CLASS_8_BITS
1375bd8deadSopenharmony_ci        VIEW_CLASS_RGTC1_RED
1385bd8deadSopenharmony_ci        VIEW_CLASS_RGTC2_RG
1395bd8deadSopenharmony_ci        VIEW_CLASS_BPTC_UNORM
1405bd8deadSopenharmony_ci        VIEW_CLASS_BPTC_FLOAT
1415bd8deadSopenharmony_ci        VIEW_CLASS_S3TC_DXT1_RGB
1425bd8deadSopenharmony_ci        VIEW_CLASS_S3TC_DXT1_RGBA
1435bd8deadSopenharmony_ci        VIEW_CLASS_S3TC_DXT3_RGBA
1445bd8deadSopenharmony_ci        VIEW_CLASS_S3TC_DXT5_RGBA
1455bd8deadSopenharmony_ci        VIEW_CLASS_EAC_R11
1465bd8deadSopenharmony_ci        VIEW_CLASS_EAC_RG11
1475bd8deadSopenharmony_ci        VIEW_CLASS_ETC2_RGB
1485bd8deadSopenharmony_ci        VIEW_CLASS_ETC2_RGBA
1495bd8deadSopenharmony_ci        VIEW_CLASS_ETC2_EAC_RGBA
1505bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_4x4_RGBA
1515bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_5x4_RGBA
1525bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_5x5_RGBA
1535bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_6x5_RGBA
1545bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_6x6_RGBA
1555bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_8x5_RGBA
1565bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_8x6_RGBA
1575bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_8x8_RGBA
1585bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_10x5_RGBA
1595bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_10x6_RGBA
1605bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_10x8_RGBA
1615bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_10x10_RGBA
1625bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_12x10_RGBA
1635bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_12x12_RGBA
1645bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_3x3x3_RGBA
1655bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_4x3x3_RGBA
1665bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_4x4x3_RGBA
1675bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_4x4x4_RGBA
1685bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_5x4x4_RGBA
1695bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_5x5x4_RGBA
1705bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_5x5x5_RGBA
1715bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_6x5x5_RGBA
1725bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_6x6x5_RGBA
1735bd8deadSopenharmony_ci        VIEW_CLASS_ASTC_6x6x6_RGBA
1745bd8deadSopenharmony_ci    (The VIEW_CLASS_* tokens used as compatibility class names in table
1755bd8deadSopenharmony_ci    8.X.2 are the same tokens returned by the VIEW_COMPATIBILITY_CLASS query
1765bd8deadSopenharmony_ci    in ARB_internalformat_query2. In this extension they are simply a
1775bd8deadSopenharmony_ci    labelling mechanism and serve no functional purpose in the API, so their
1785bd8deadSopenharmony_ci    numeric values are not specified.)
1795bd8deadSopenharmony_ci
1805bd8deadSopenharmony_ciAdditions to the OpenGL ES 3.1 Specification
1815bd8deadSopenharmony_ci
1825bd8deadSopenharmony_ci    Modify section 5.3, "Propagating Changes to Objects"
1835bd8deadSopenharmony_ci
1845bd8deadSopenharmony_ci    Add to the paragraph starting "When <T> is a texture, the contents ..."
1855bd8deadSopenharmony_ci    on p. 44:
1865bd8deadSopenharmony_ci
1875bd8deadSopenharmony_ci    When <T> is a texture, the contents of <T> are construed to include the
1885bd8deadSopenharmony_ci    contents of the data store of <T>, even if <T>'s data store was modified
1895bd8deadSopenharmony_ci    via a different view of the data store.
1905bd8deadSopenharmony_ci
1915bd8deadSopenharmony_ci
1925bd8deadSopenharmony_ci    Modify subsection 8.9, "Texture Parameters"
1935bd8deadSopenharmony_ci
1945bd8deadSopenharmony_ci    Add the following to the end of the paragraph on p. 171 starting
1955bd8deadSopenharmony_ci    "In the remainder of chapter 8, denote by lod_min...":
1965bd8deadSopenharmony_ci
1975bd8deadSopenharmony_ci    If the texture was created with TextureViewOES, then the
1985bd8deadSopenharmony_ci    TEXTURE_BASE_LEVEL and TEXTURE_MAX_LEVEL parameters are interpreted
1995bd8deadSopenharmony_ci    relative to the view and not relative to the original data store.
2005bd8deadSopenharmony_ci
2015bd8deadSopenharmony_ci
2025bd8deadSopenharmony_ci    Modify section 8.10.2, "Texture Parameter Queries"
2035bd8deadSopenharmony_ci
2045bd8deadSopenharmony_ci    Add to the list of legal <pname>s in the description of GetTexParameter
2055bd8deadSopenharmony_ci    on p. 172:
2065bd8deadSopenharmony_ci
2075bd8deadSopenharmony_ci    ... <pname> must be IMAGE_FORMAT_COMPATIBILITY_TYPE,
2085bd8deadSopenharmony_ci    TEXTURE_IMMUTABLE_FORMAT, TEXTURE_IMMUTABLE_LEVELS,
2095bd8deadSopenharmony_ci    TEXTURE_VIEW_MIN_LEVEL_OES, TEXTURE_VIEW_NUM_LEVELS_OES,
2105bd8deadSopenharmony_ci    TEXTURE_VIEW_MIN_LAYER_OES, TEXTURE_VIEW_NUM_LAYERS_OES, or one of the
2115bd8deadSopenharmony_ci    symbolic values in table 8.20.
2125bd8deadSopenharmony_ci
2135bd8deadSopenharmony_ci
2145bd8deadSopenharmony_ci    Add a new subsection 8.16view following section 8.16, "Texture Completeness"
2155bd8deadSopenharmony_ci
2165bd8deadSopenharmony_ci    8.16view Texture Views
2175bd8deadSopenharmony_ci
2185bd8deadSopenharmony_ci    A texture can be created which references the data store of another
2195bd8deadSopenharmony_ci    texture and interprets the data with a different format, and/or selects
2205bd8deadSopenharmony_ci    a subset of the levels and/or layers of the other texture. The data
2215bd8deadSopenharmony_ci    store for such a texture is shared with the data store of the original
2225bd8deadSopenharmony_ci    texture. Updating the shared data store using the original texture
2235bd8deadSopenharmony_ci    affects texture values read using the new texture, and vice versa. A
2245bd8deadSopenharmony_ci    texture data store remains in existence until all textures that
2255bd8deadSopenharmony_ci    reference it are deleted.
2265bd8deadSopenharmony_ci
2275bd8deadSopenharmony_ci    The command:
2285bd8deadSopenharmony_ci
2295bd8deadSopenharmony_ci        void TextureViewOES(uint texture, enum target, uint origtexture,
2305bd8deadSopenharmony_ci                         enum internalformat,
2315bd8deadSopenharmony_ci                         uint minlevel, uint numlevels,
2325bd8deadSopenharmony_ci                         uint minlayer, uint numlayers);
2335bd8deadSopenharmony_ci
2345bd8deadSopenharmony_ci    initializes the texture named <texture> to the target specified by
2355bd8deadSopenharmony_ci    <target>. <texture>'s data store is inherited from the texture named
2365bd8deadSopenharmony_ci    <origtexture>, but elements of the data store are interpreted according
2375bd8deadSopenharmony_ci    to the internal format specified by <internalformat>. Additionally, if the
2385bd8deadSopenharmony_ci    original texture is an array or has multiple mipmap levels, the parameters
2395bd8deadSopenharmony_ci    <minlayer>, <numlayers>, <minlevel>, and <numlevels> control which of those
2405bd8deadSopenharmony_ci    slices and levels are considered part of the texture.
2415bd8deadSopenharmony_ci
2425bd8deadSopenharmony_ci    The <minlevel> and <minlayer> parameters are relative to the view of the
2435bd8deadSopenharmony_ci    original texture. If <numlayers> or <numlevels> extend beyond the
2445bd8deadSopenharmony_ci    original texture, they are clamped to the max extent of the original
2455bd8deadSopenharmony_ci    texture.
2465bd8deadSopenharmony_ci
2475bd8deadSopenharmony_ci    If the command is successful, the texture parameters in <texture> are
2485bd8deadSopenharmony_ci    updated as follows:
2495bd8deadSopenharmony_ci
2505bd8deadSopenharmony_ci     - TEXTURE_IMMUTABLE_FORMAT is set to TRUE.
2515bd8deadSopenharmony_ci
2525bd8deadSopenharmony_ci     - TEXTURE_IMMUTABLE_LEVELS is set to the value of
2535bd8deadSopenharmony_ci       TEXTURE_IMMUTABLE_LEVELS for <origtexture>.
2545bd8deadSopenharmony_ci
2555bd8deadSopenharmony_ci     - TEXTURE_VIEW_MIN_LEVEL_OES is set to <minlevel> plus the value of
2565bd8deadSopenharmony_ci       TEXTURE_VIEW_MIN_LEVEL_OES for <origtexture>.
2575bd8deadSopenharmony_ci
2585bd8deadSopenharmony_ci     - TEXTURE_VIEW_MIN_LAYER_OES is set to <minlayer> plus the value of
2595bd8deadSopenharmony_ci       TEXTURE_VIEW_MIN_LAYER_OES for <origtexture>.
2605bd8deadSopenharmony_ci
2615bd8deadSopenharmony_ci     - TEXTURE_VIEW_NUM_LEVELS_OES is set to the lesser of <numlevels> and
2625bd8deadSopenharmony_ci       the value of TEXTURE_VIEW_NUM_LEVELS_OES for <origtexture> minus
2635bd8deadSopenharmony_ci       <minlevels>.
2645bd8deadSopenharmony_ci
2655bd8deadSopenharmony_ci     - TEXTURE_VIEW_NUM_LAYERS_OES is set to the lesser of <numlayers> and
2665bd8deadSopenharmony_ci       the value of TEXTURE_VIEW_NUM_LAYERS_OES for <origtexture> minus
2675bd8deadSopenharmony_ci       <minlayer>.
2685bd8deadSopenharmony_ci
2695bd8deadSopenharmony_ci    The new texture's target must be <compatible> with the target of
2705bd8deadSopenharmony_ci    <origtexture>, as defined by table 8.X.1.
2715bd8deadSopenharmony_ci
2725bd8deadSopenharmony_ci    Numerous constraints on <numlayers> and the texture dimensions depend on
2735bd8deadSopenharmony_ci    <target> and the target of <origtexture>. These constraints are
2745bd8deadSopenharmony_ci    summarized below in the errors section.
2755bd8deadSopenharmony_ci
2765bd8deadSopenharmony_ci        --------------------------------------------------------------------------------------------
2775bd8deadSopenharmony_ci        | Original target             |  Valid new targets                                         |
2785bd8deadSopenharmony_ci        |------------------------------------------------------------------------------------------|
2795bd8deadSopenharmony_ci        | TEXTURE_2D                  |  TEXTURE_2D, TEXTURE_2D_ARRAY                              |
2805bd8deadSopenharmony_ci        |------------------------------------------------------------------------------------------|
2815bd8deadSopenharmony_ci        | TEXTURE_3D                  |  TEXTURE_3D                                                |
2825bd8deadSopenharmony_ci        |------------------------------------------------------------------------------------------|
2835bd8deadSopenharmony_ci        | TEXTURE_CUBE_MAP            |  TEXTURE_CUBE_MAP, TEXTURE_2D, TEXTURE_2D_ARRAY,           |
2845bd8deadSopenharmony_ci        |                             |  TEXTURE_CUBE_MAP_ARRAY_OES                                |
2855bd8deadSopenharmony_ci        |------------------------------------------------------------------------------------------|
2865bd8deadSopenharmony_ci        | TEXTURE_BUFFER_OES          |  <none>                                                    |
2875bd8deadSopenharmony_ci        |------------------------------------------------------------------------------------------|
2885bd8deadSopenharmony_ci        | TEXTURE_2D_ARRAY            |  TEXTURE_2D_ARRAY, TEXTURE_2D, TEXTURE_CUBE_MAP,           |
2895bd8deadSopenharmony_ci        |                             |  TEXTURE_CUBE_MAP_ARRAY_OES                                |
2905bd8deadSopenharmony_ci        |------------------------------------------------------------------------------------------|
2915bd8deadSopenharmony_ci        | TEXTURE_CUBE_MAP_ARRAY      |  TEXTURE_CUBE_MAP_ARRAY_OES, TEXTURE_2D_ARRAY, TEXTURE_2D, |
2925bd8deadSopenharmony_ci        |                             |  TEXTURE_CUBE_MAP                                          |
2935bd8deadSopenharmony_ci        |------------------------------------------------------------------------------------------|
2945bd8deadSopenharmony_ci        | TEXTURE_2D_MULTISAMPLE      |  TEXTURE_2D_MULTISAMPLE, TEXTURE_2D_MULTISAMPLE_ARRAY_OES  |
2955bd8deadSopenharmony_ci        |------------------------------------------------------------------------------------------|
2965bd8deadSopenharmony_ci        | TEXTURE_2D_MULTISAMPLE_ARRAY_OES|TEXTURE_2D_MULTISAMPLE, TEXTURE_2D_MULTISAMPLE_ARRAY_OES|
2975bd8deadSopenharmony_ci        --------------------------------------------------------------------------------------------
2985bd8deadSopenharmony_ci
2995bd8deadSopenharmony_ci        Table 8.X.1: Legal texture targets for TextureViewOES.
3005bd8deadSopenharmony_ci
3015bd8deadSopenharmony_ci    When <origtexture>'s target is TEXTURE_CUBE_MAP, the layer parameters
3025bd8deadSopenharmony_ci    are interpreted in the same order as if it were a
3035bd8deadSopenharmony_ci    TEXTURE_CUBE_MAP_ARRAY_OES with 6 layer-faces.
3045bd8deadSopenharmony_ci
3055bd8deadSopenharmony_ci    The two textures' internal formats must be compatible according to Table
3065bd8deadSopenharmony_ci    8.X.2 (Compatible internal formats for TextureViewOES) if the internal
3075bd8deadSopenharmony_ci    format exists in that table. The internal formats must be identical if
3085bd8deadSopenharmony_ci    not in that table.
3095bd8deadSopenharmony_ci
3105bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3115bd8deadSopenharmony_ci    | Class                      | Internal formats                          |
3125bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3135bd8deadSopenharmony_ci    | VIEW_CLASS_128_BITS        | RGBA32F, RGBA32UI, RGBA32I                |
3145bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3155bd8deadSopenharmony_ci    | VIEW_CLASS_96_BITS         | RGB32F, RGB32UI, RGB32I                   |
3165bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3175bd8deadSopenharmony_ci    | VIEW_CLASS_64_BITS         | RGBA16F, RG32F, RGBA16UI, RG32UI,         |
3185bd8deadSopenharmony_ci    |                            | RGBA16I, RG32I                            |
3195bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3205bd8deadSopenharmony_ci    | VIEW_CLASS_48_BITS         | RGB16F, RGB16UI, RGB16I                   |
3215bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3225bd8deadSopenharmony_ci    | VIEW_CLASS_32_BITS         | RG16F, R11F_G11F_B10F, R32F,              |
3235bd8deadSopenharmony_ci    |                            | RGB10_A2UI, RGBA8UI, RG16UI, R32UI,       |
3245bd8deadSopenharmony_ci    |                            | RGBA8I, RG16I, R32I, RGB10_A2, RGBA8,     |
3255bd8deadSopenharmony_ci    |                            | RGBA8_SNORM, SRGB8_ALPHA8, RGB9_E5        |
3265bd8deadSopenharmony_ci    -------------------------------------------------------------------------
3275bd8deadSopenharmony_ci    | VIEW_CLASS_24_BITS         | RGB8, RGB8_SNORM, SRGB8, RGB8UI, RGB8I    |
3285bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3295bd8deadSopenharmony_ci    | VIEW_CLASS_16_BITS         | R16F, RG8UI, R16UI, RG8I, R16I, RG8,      |
3305bd8deadSopenharmony_ci    |                            | RG8_SNORM                                 |
3315bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3325bd8deadSopenharmony_ci    | VIEW_CLASS_8_BITS          | R8UI, R8I, R8, R8_SNORM                   |
3335bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3345bd8deadSopenharmony_ci    | VIEW_CLASS_RGTC1_RED       | COMPRESSED_RED_RGTC1_EXT,                 |
3355bd8deadSopenharmony_ci    |                            | COMPRESSED_SIGNED_RED_RGTC1_EXT           |
3365bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3375bd8deadSopenharmony_ci    | VIEW_CLASS_RGTC2_RG        | COMPRESSED_RG_RGTC2_EXT,                  |
3385bd8deadSopenharmony_ci    |                            | COMPRESSED_SIGNED_RG_RGTC2_EXT            |
3395bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3405bd8deadSopenharmony_ci    | VIEW_CLASS_BPTC_UNORM      | COMPRESSED_RGBA_BPTC_UNORM_EXT,           |
3415bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT      |
3425bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3435bd8deadSopenharmony_ci    | VIEW_CLASS_BPTC_FLOAT      | COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,     |
3445bd8deadSopenharmony_ci    |                            | COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT    |
3455bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3465bd8deadSopenharmony_ci    | VIEW_CLASS_S3TC_DXT1_RGB   | COMPRESSED_RGB_S3TC_DXT1_EXT,             |
3475bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB_S3TC_DXT1_EXT             |
3485bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3495bd8deadSopenharmony_ci    | VIEW_CLASS_S3TC_DXT1_RGBA  | COMPRESSED_RGBA_S3TC_DXT1_EXT,            |
3505bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT       |
3515bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3525bd8deadSopenharmony_ci    | VIEW_CLASS_S3TC_DXT3_RGBA  | COMPRESSED_RGBA_S3TC_DXT3_EXT,            |
3535bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT       |
3545bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3555bd8deadSopenharmony_ci    | VIEW_CLASS_S3TC_DXT5_RGBA  | COMPRESSED_RGBA_S3TC_DXT5_EXT,            |
3565bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT       |
3575bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3585bd8deadSopenharmony_ci    | VIEW_CLASS_EAC_R11         | COMPRESSED_R11_EAC,                       |
3595bd8deadSopenharmony_ci    |                            | COMPRESSED_SIGNED_R11_EAC                 |
3605bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3615bd8deadSopenharmony_ci    | VIEW_CLASS_EAC_RG11        | COMPRESSED_RG11_EAC,                      |
3625bd8deadSopenharmony_ci    |                            | COMPRESSED_SIGNED_RG11_EAC                |
3635bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3645bd8deadSopenharmony_ci    | VIEW_CLASS_ETC2_RGB        | COMPRESSED_RGB8_ETC2,                     |
3655bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ETC2                     |
3665bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3675bd8deadSopenharmony_ci    | VIEW_CLASS_ETC2_RGBA       | COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, |
3685bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
3695bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3705bd8deadSopenharmony_ci    | VIEW_CLASS_ETC2_EAC_RGBA   | COMPRESSED_RGBA8_ETC2_EAC,                |
3715bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ETC2_EAC          |
3725bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3735bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_4x4_RGBA   | COMPRESSED_RGBA_ASTC_4x4_KHR,             |
3745bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR      |
3755bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3765bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_5x4_RGBA   | COMPRESSED_RGBA_ASTC_5x4_KHR,             |
3775bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR      |
3785bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3795bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_5x5_RGBA   | COMPRESSED_RGBA_ASTC_5x5_KHR,             |
3805bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR      |
3815bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3825bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_6x5_RGBA   | COMPRESSED_RGBA_ASTC_6x5_KHR,             |
3835bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR      |
3845bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3855bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_6x6_RGBA   | COMPRESSED_RGBA_ASTC_6x6_KHR,             |
3865bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR      |
3875bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3885bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_8x5_RGBA   | COMPRESSED_RGBA_ASTC_8x5_KHR,             |
3895bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR      |
3905bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3915bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_8x6_RGBA   | COMPRESSED_RGBA_ASTC_8x6_KHR,             |
3925bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR      |
3935bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3945bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_8x8_RGBA   | COMPRESSED_RGBA_ASTC_8x8_KHR,             |
3955bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR      |
3965bd8deadSopenharmony_ci    --------------------------------------------------------------------------
3975bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_10x5_RGBA  | COMPRESSED_RGBA_ASTC_10x5_KHR,            |
3985bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR     |
3995bd8deadSopenharmony_ci    --------------------------------------------------------------------------
4005bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_10x6_RGBA  | COMPRESSED_RGBA_ASTC_10x6_KHR,            |
4015bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR     |
4025bd8deadSopenharmony_ci    --------------------------------------------------------------------------
4035bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_10x8_RGBA  | COMPRESSED_RGBA_ASTC_10x8_KHR,            |
4045bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR     |
4055bd8deadSopenharmony_ci    --------------------------------------------------------------------------
4065bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_10x10_RGBA | COMPRESSED_RGBA_ASTC_10x10_KHR,           |
4075bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR    |
4085bd8deadSopenharmony_ci    --------------------------------------------------------------------------
4095bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_12x10_RGBA | COMPRESSED_RGBA_ASTC_12x10_KHR,           |
4105bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR    |
4115bd8deadSopenharmony_ci    --------------------------------------------------------------------------
4125bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_12x12_RGBA | COMPRESSED_RGBA_ASTC_12x12_KHR,           |
4135bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR    |
4145bd8deadSopenharmony_ci    --------------------------------------------------------------------------
4155bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_3x3x3_RGBA | COMPRESSED_RGBA_ASTC_3x3x3_OES,           |
4165bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES    |
4175bd8deadSopenharmony_ci    --------------------------------------------------------------------------
4185bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_4x3x3_RGBA | COMPRESSED_RGBA_ASTC_4x3x3_OES,           |
4195bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES    |
4205bd8deadSopenharmony_ci    --------------------------------------------------------------------------
4215bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_4x4x3_RGBA | COMPRESSED_RGBA_ASTC_4x4x3_OES,           |
4225bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES    |
4235bd8deadSopenharmony_ci    --------------------------------------------------------------------------
4245bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_4x4x4_RGBA | COMPRESSED_RGBA_ASTC_4x4x4_OES,           |
4255bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES    |
4265bd8deadSopenharmony_ci    --------------------------------------------------------------------------
4275bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_5x4x4_RGBA | COMPRESSED_RGBA_ASTC_5x4x4_OES,           |
4285bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES    |
4295bd8deadSopenharmony_ci    --------------------------------------------------------------------------
4305bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_5x5x4_RGBA | COMPRESSED_RGBA_ASTC_5x5x4_OES,           |
4315bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES    |
4325bd8deadSopenharmony_ci    --------------------------------------------------------------------------
4335bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_5x5x5_RGBA | COMPRESSED_RGBA_ASTC_5x5x5_OES,           |
4345bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES    |
4355bd8deadSopenharmony_ci    --------------------------------------------------------------------------
4365bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_6x5x5_RGBA | COMPRESSED_RGBA_ASTC_6x5x5_OES,           |
4375bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES    |
4385bd8deadSopenharmony_ci    --------------------------------------------------------------------------
4395bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_6x6x5_RGBA | COMPRESSED_RGBA_ASTC_6x6x5_OES,           |
4405bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES    |
4415bd8deadSopenharmony_ci    --------------------------------------------------------------------------
4425bd8deadSopenharmony_ci    | VIEW_CLASS_ASTC_6x6x6_RGBA | COMPRESSED_RGBA_ASTC_6x6x6_OES,           |
4435bd8deadSopenharmony_ci    |                            | COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES    |
4445bd8deadSopenharmony_ci    --------------------------------------------------------------------------
4455bd8deadSopenharmony_ci
4465bd8deadSopenharmony_ci        Table 8.X.2: Compatible internal formats for TextureViewOES. Formats
4475bd8deadSopenharmony_ci        in the same entry may be cast to each other.
4485bd8deadSopenharmony_ci
4495bd8deadSopenharmony_ci    If the internal format does not exactly match the internal format of the
4505bd8deadSopenharmony_ci    original texture, the contents of the memory are reinterpreted in the
4515bd8deadSopenharmony_ci    same manner as for image bindings described in section 8.22.
4525bd8deadSopenharmony_ci
4535bd8deadSopenharmony_ci    Texture commands that take a <level> or <layer> parameter, such as
4545bd8deadSopenharmony_ci    TexSubImage2D, interpret that parameter to be relative to the view of
4555bd8deadSopenharmony_ci    the texture. i.e. the mipmap level of the data store that would be
4565bd8deadSopenharmony_ci    updated via TexSubImage2D would be the sum of <level> and the value of
4575bd8deadSopenharmony_ci    TEXTURE_VIEW_MIN_LEVEL_OES.
4585bd8deadSopenharmony_ci
4595bd8deadSopenharmony_ci
4605bd8deadSopenharmony_ci    Errors
4615bd8deadSopenharmony_ci
4625bd8deadSopenharmony_ci    An INVALID_VALUE error is generated if <texture> is zero.
4635bd8deadSopenharmony_ci
4645bd8deadSopenharmony_ci    An INVALID_OPERATION error is generated by TextureViewOES if <texture>
4655bd8deadSopenharmony_ci    is not a valid name returned by GenTextures, or if <texture> has already
4665bd8deadSopenharmony_ci    been bound and given a target.
4675bd8deadSopenharmony_ci
4685bd8deadSopenharmony_ci    An INVALID_VALUE error is generated if <origtexture> is not the name of
4695bd8deadSopenharmony_ci    a texture.
4705bd8deadSopenharmony_ci
4715bd8deadSopenharmony_ci    An INVALID_OPERATION error is generated if the value of
4725bd8deadSopenharmony_ci    TEXTURE_IMMUTABLE_FORMAT for <origtexture> is not TRUE.
4735bd8deadSopenharmony_ci
4745bd8deadSopenharmony_ci    An INVALID_OPERATION error is generated if <target> is not compatible
4755bd8deadSopenharmony_ci    with the target of <origtexture>, as defined by table 8.X.1.
4765bd8deadSopenharmony_ci
4775bd8deadSopenharmony_ci    An INVALID_OPERATION error is generated if the internal format of
4785bd8deadSopenharmony_ci    <origtexture> exists in table 8.X.2 and is not compatible with
4795bd8deadSopenharmony_ci    <internalformat>, as described in that table.
4805bd8deadSopenharmony_ci
4815bd8deadSopenharmony_ci    An INVALID_OPERATION error is generated if the internal format of
4825bd8deadSopenharmony_ci    <origtexture> does not exist in table 8.X.2, and is not identical to
4835bd8deadSopenharmony_ci    <internalformat>.
4845bd8deadSopenharmony_ci
4855bd8deadSopenharmony_ci    An INVALID_VALUE error is generated if <minlevel> or <minlayer> are
4865bd8deadSopenharmony_ci    larger than the greatest level or layer, respectively, of <origtexture>.
4875bd8deadSopenharmony_ci
4885bd8deadSopenharmony_ci    An INVALID_VALUE error is generated if <target> is TEXTURE_CUBE_MAP and
4895bd8deadSopenharmony_ci    the clamped <numlayers> is not 6.
4905bd8deadSopenharmony_ci
4915bd8deadSopenharmony_ci    An INVALID_VALUE error is generated if <target> is
4925bd8deadSopenharmony_ci    TEXTURE_CUBE_MAP_ARRAY_OES and the clamped <numlayers> is not a multiple
4935bd8deadSopenharmony_ci    of 6. In this case <numlayers> counts layer-faces rather than layers.
4945bd8deadSopenharmony_ci
4955bd8deadSopenharmony_ci    An INVALID_VALUE error is generated if <target> is TEXTURE_2D,
4965bd8deadSopenharmony_ci    TEXTURE_3D, or TEXTURE_2D_MULTISAMPLE and <numlayers> does not equal 1.
4975bd8deadSopenharmony_ci
4985bd8deadSopenharmony_ci    An INVALID_OPERATION error is generated if <target> is
4995bd8deadSopenharmony_ci    TEXTURE_CUBE_MAP or TEXTURE_CUBE_MAP_ARRAY_OES, and the width and height
5005bd8deadSopenharmony_ci    of <origtexture>'s levels are not equal.
5015bd8deadSopenharmony_ci
5025bd8deadSopenharmony_ci    An INVALID_OPERATION error is generated if any dimension of
5035bd8deadSopenharmony_ci    <origtexture> is larger than the maximum supported corresponding
5045bd8deadSopenharmony_ci    dimension of the new target. For example, if <origtexture> has a
5055bd8deadSopenharmony_ci    TEXTURE_2D_ARRAY target and <target> is TEXTURE_CUBE_MAP, its width must
5065bd8deadSopenharmony_ci    be no greater than the value of MAX_CUBE_MAP_TEXTURE_SIZE.
5075bd8deadSopenharmony_ci
5085bd8deadSopenharmony_ci
5095bd8deadSopenharmony_ci    Modify section 8.17, "Immutable-Format Texture Images"
5105bd8deadSopenharmony_ci
5115bd8deadSopenharmony_ci    Modify the third bullet on p. 188, starting "If the command is
5125bd8deadSopenharmony_ci    successful, TEXTURE_IMMUTABLE_FORMAT...":
5135bd8deadSopenharmony_ci
5145bd8deadSopenharmony_ci    If the command is successful, TEXTURE_IMMUTABLE_FORMAT becomes TRUE,
5155bd8deadSopenharmony_ci    TEXTURE_IMMUTABLE_LEVELS and TEXTURE_VIEW_NUM_LEVELS_OES become
5165bd8deadSopenharmony_ci    <levels>. If the texture target is TEXTURE_2D_ARRAY,
5175bd8deadSopenharmony_ci    TEXTURE_CUBE_MAP_ARRAY, or TEXTURE_2D_MULTISAMPLE_ARRAY_OES then
5185bd8deadSopenharmony_ci    TEXTURE_VIEW_NUM_LAYERS_OES becomes <depth>. If the texture target is
5195bd8deadSopenharmony_ci    TEXTURE_CUBE_MAP, then TEXTURE_VIEW_NUM_LAYERS_OES becomes 6. For any
5205bd8deadSopenharmony_ci    other texture target, TEXTURE_VIEW_NUM_LAYERS_OES becomes 1.
5215bd8deadSopenharmony_ci
5225bd8deadSopenharmony_ci
5235bd8deadSopenharmony_ci    Modify section 8.18, "Texture State"
5245bd8deadSopenharmony_ci
5255bd8deadSopenharmony_ci    Add to the fourth paragraph on the section on p. 191, starting "Next,
5265bd8deadSopenharmony_ci    there are the":
5275bd8deadSopenharmony_ci
5285bd8deadSopenharmony_ci    "... swizzle modes (see section 14.2.1), and four integers describing
5295bd8deadSopenharmony_ci    the texture view base level, number of levels, minimum array layer, and
5305bd8deadSopenharmony_ci    number of layers."
5315bd8deadSopenharmony_ci
5325bd8deadSopenharmony_ci    Add to the following paragraph starting "In the initial state":
5335bd8deadSopenharmony_ci
5345bd8deadSopenharmony_ci    "... and ALPHA, respectively. The values of TEXTURE_VIEW_MIN_LEVEL_OES,
5355bd8deadSopenharmony_ci    TEXTURE_VIEW_NUM_LEVELS_OES, TEXTURE_VIEW_MIN_LAYER_OES,
5365bd8deadSopenharmony_ci    TEXTURE_VIEW_NUM_LAYERS_OES are each zero."
5375bd8deadSopenharmony_ci
5385bd8deadSopenharmony_ci
5395bd8deadSopenharmony_ciDependencies on OES_texture_buffer or EXT_texture_buffer
5405bd8deadSopenharmony_ci
5415bd8deadSopenharmony_ci    If OES_texture_buffer or EXT_texture_buffer is not supported, remove
5425bd8deadSopenharmony_ci    TEXTURE_BUFFER_OES from the list of targets in table 8.X.1.
5435bd8deadSopenharmony_ci
5445bd8deadSopenharmony_ciDependencies on OES_texture_cube_map_array or EXT_texture_cube_map_array
5455bd8deadSopenharmony_ci
5465bd8deadSopenharmony_ci    If OES_texture_cube_map_array or EXT_texture_cube_map_array is not
5475bd8deadSopenharmony_ci    supported, remove all references to TEXTURE_CUBE_MAP_ARRAY_OES.
5485bd8deadSopenharmony_ci
5495bd8deadSopenharmony_ciDependencies on OES_texture_storage_multisample_2d_array
5505bd8deadSopenharmony_ci
5515bd8deadSopenharmony_ci    If OES_texture_storage_multisample_2d_array is not supported, remove all
5525bd8deadSopenharmony_ci    references to TEXTURE_2D_MULTISAMPLE_ARRAY_OES
5535bd8deadSopenharmony_ci
5545bd8deadSopenharmony_ciDependencies on EXT_texture_compression_s3tc
5555bd8deadSopenharmony_ci
5565bd8deadSopenharmony_ci    If EXT_texture_compression_s3tc is not supported, remove any
5575bd8deadSopenharmony_ci    references to S3TC compressed texture formats.
5585bd8deadSopenharmony_ci
5595bd8deadSopenharmony_ciDependencies on EXT_texture_compression_rgtc
5605bd8deadSopenharmony_ci
5615bd8deadSopenharmony_ci    If EXT_texture_compression_rgtc is not supported, remove any
5625bd8deadSopenharmony_ci    references to the RGTC compressed texture formats.
5635bd8deadSopenharmony_ci
5645bd8deadSopenharmony_ciDependencies on EXT_texture_compression_bptc
5655bd8deadSopenharmony_ci
5665bd8deadSopenharmony_ci    If EXT_texture_compression_bptc is not supported, remove any
5675bd8deadSopenharmony_ci    references to the BPTC compressed texture formats.
5685bd8deadSopenharmony_ci
5695bd8deadSopenharmony_ciDependencies on KHR_texture_compression_astc_ldr
5705bd8deadSopenharmony_ci
5715bd8deadSopenharmony_ci    If KHR_texture_compression_astc_ldr is not supported, remove any
5725bd8deadSopenharmony_ci    references to the ASTC LDR compressed texture formats.
5735bd8deadSopenharmony_ci
5745bd8deadSopenharmony_ciDependencies on KHR_texture_compression_astc_hdr
5755bd8deadSopenharmony_ci
5765bd8deadSopenharmony_ci    If KHR_texture_compression_astc_hdr is not supported, remove any
5775bd8deadSopenharmony_ci    references to the ASTC HDR compressed texture formats.
5785bd8deadSopenharmony_ci
5795bd8deadSopenharmony_ciDependencies on OES_texture_compression_astc
5805bd8deadSopenharmony_ci
5815bd8deadSopenharmony_ci    If OES_texture_compression_astc is not supported, remove any
5825bd8deadSopenharmony_ci    references to the ASTC 3D compressed texture formats.
5835bd8deadSopenharmony_ci
5845bd8deadSopenharmony_ciNew State
5855bd8deadSopenharmony_ci
5865bd8deadSopenharmony_ci    Add to table 20.9, Textures (state per texture object)
5875bd8deadSopenharmony_ci
5885bd8deadSopenharmony_ci                                                         Initial
5895bd8deadSopenharmony_ci    Get Value                    Type   Get Command      Value    Description                   Sec.
5905bd8deadSopenharmony_ci    ---------------------------  ----   -----------      -------  ----------------------------- ------
5915bd8deadSopenharmony_ci    TEXTURE_VIEW_MIN_LEVEL_OES    Z+    GetTexParameter  0        view base texture level       8.16view
5925bd8deadSopenharmony_ci    TEXTURE_VIEW_NUM_LEVELS_OES   Z+    GetTexParameter  0        view number of texture levels 8.16view
5935bd8deadSopenharmony_ci    TEXTURE_VIEW_MIN_LAYER_OES    Z+    GetTexParameter  0        view min array layer          8.16view
5945bd8deadSopenharmony_ci    TEXTURE_VIEW_NUM_LAYERS_OES   Z+    GetTexParameter  0        view number of array layers   8.16view
5955bd8deadSopenharmony_ci
5965bd8deadSopenharmony_ciNew Implementation Dependent State
5975bd8deadSopenharmony_ci
5985bd8deadSopenharmony_ci    None.
5995bd8deadSopenharmony_ci
6005bd8deadSopenharmony_ciExamples
6015bd8deadSopenharmony_ci
6025bd8deadSopenharmony_ci    TODO
6035bd8deadSopenharmony_ci
6045bd8deadSopenharmony_ciIssues
6055bd8deadSopenharmony_ci
6065bd8deadSopenharmony_ci    Note: These issues apply specifically to the definition of the
6075bd8deadSopenharmony_ci    OES_texture_view specification, which is based on the OpenGL
6085bd8deadSopenharmony_ci    extension ARB_texture_view. Resolved issues from ARB_texture_view
6095bd8deadSopenharmony_ci    have been removed, but remain largely applicable to this extension.
6105bd8deadSopenharmony_ci    ARB_texture_view can be found in the OpenGL Registry.
6115bd8deadSopenharmony_ci
6125bd8deadSopenharmony_ci    (1) What functionality was removed from ARB_texture_view?
6135bd8deadSopenharmony_ci
6145bd8deadSopenharmony_ci      - Texture targets TEXTURE_1D_ARRAY and TEXTURE_RECTANGLE.
6155bd8deadSopenharmony_ci      - View classes VIEW_CLASS_RGTC1_RED, VIEW_CLASS_RGTC2_RG,
6165bd8deadSopenharmony_ci        VIEW_CLASS_BPTC_UNORM, and VIEW_CLASS_BPTC_FLOAT, corresponding
6175bd8deadSopenharmony_ci        to GL-only RGTC and BPTC compressed texture formats.
6185bd8deadSopenharmony_ci      - Base and internal formats R16, R16_SNORM, RG16, RG16_SNORM, RGB16,
6195bd8deadSopenharmony_ci        RGB16_SNORM, RGBA16, and RGBA16_SNORM (see bug 11366).
6205bd8deadSopenharmony_ci
6215bd8deadSopenharmony_ci    (2) Should there be ETC2/EAC view classes added corresponding to
6225bd8deadSopenharmony_ci    those texture formats?
6235bd8deadSopenharmony_ci
6245bd8deadSopenharmony_ci    RESOLVED. Yes. These view classes don't exist in OpenGL 4.4 or any GL
6255bd8deadSopenharmony_ci    extension, even though ETC2/EAC compressed formats are part of 4.4.
6265bd8deadSopenharmony_ci    However as these formats are likely to be more important in an
6275bd8deadSopenharmony_ci    OpenGL ES environment and thus support is added.  Support is also
6285bd8deadSopenharmony_ci    included for ASTC and RGTC and BPTC in case those texture formats
6295bd8deadSopenharmony_ci    are also supported.
6305bd8deadSopenharmony_ci
6315bd8deadSopenharmony_ciRevision History
6325bd8deadSopenharmony_ci
6335bd8deadSopenharmony_ci    Rev.    Date    Author    Changes
6345bd8deadSopenharmony_ci    ----  --------  --------- -------------------------------------------------
6355bd8deadSopenharmony_ci     1    06/18/2014   dkoch     Initial OES version based on EXT.
6365bd8deadSopenharmony_ci                                 No functional changes.
637