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