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