15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci ARB_internalformat_query2 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_ARB_internalformat_query2 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciContact 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci Daniel Koch (dkoch 'at' nvidia 'dot' com) 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ciContributors 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ci Christophe Riccio, AMD 165bd8deadSopenharmony_ci Bruce Merry 175bd8deadSopenharmony_ci Yuan Wang, IMG 185bd8deadSopenharmony_ci Pat Brown, NVIDIA 195bd8deadSopenharmony_ci Piers Daniel, NVIDIA 205bd8deadSopenharmony_ci Daniel Koch, TransGaming 215bd8deadSopenharmony_ci Jon Leech, Khronos 225bd8deadSopenharmony_ci Members of the ARB Working group. 235bd8deadSopenharmony_ci 245bd8deadSopenharmony_ciNotice 255bd8deadSopenharmony_ci 265bd8deadSopenharmony_ci Copyright (c) 2012-2013 The Khronos Group Inc. Copyright terms at 275bd8deadSopenharmony_ci http://www.khronos.org/registry/speccopyright.html 285bd8deadSopenharmony_ci 295bd8deadSopenharmony_ciSpecification Update Policy 305bd8deadSopenharmony_ci 315bd8deadSopenharmony_ci Khronos-approved extension specifications are updated in response to 325bd8deadSopenharmony_ci issues and bugs prioritized by the Khronos OpenGL Working Group. For 335bd8deadSopenharmony_ci extensions which have been promoted to a core Specification, fixes will 345bd8deadSopenharmony_ci first appear in the latest version of that core Specification, and will 355bd8deadSopenharmony_ci eventually be backported to the extension document. This policy is 365bd8deadSopenharmony_ci described in more detail at 375bd8deadSopenharmony_ci https://www.khronos.org/registry/OpenGL/docs/update_policy.php 385bd8deadSopenharmony_ci 395bd8deadSopenharmony_ciStatus 405bd8deadSopenharmony_ci 415bd8deadSopenharmony_ci Complete. 425bd8deadSopenharmony_ci Approved by the ARB on 2012/06/12. 435bd8deadSopenharmony_ci 445bd8deadSopenharmony_ciVersion 455bd8deadSopenharmony_ci 465bd8deadSopenharmony_ci Last Modified Date: October 12, 2018 475bd8deadSopenharmony_ci Revision: 20 485bd8deadSopenharmony_ci 495bd8deadSopenharmony_ciNumber 505bd8deadSopenharmony_ci 515bd8deadSopenharmony_ci ARB Extension #131 525bd8deadSopenharmony_ci 535bd8deadSopenharmony_ciDependencies 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ci OpenGL 2.0 is required. 565bd8deadSopenharmony_ci 575bd8deadSopenharmony_ci ARB_internalformat_query is required. 585bd8deadSopenharmony_ci 595bd8deadSopenharmony_ci This extension is written against the OpenGL 4.2 (Core Profile) 605bd8deadSopenharmony_ci Specification. 615bd8deadSopenharmony_ci 625bd8deadSopenharmony_ci OES_texture_3D, ARB_framebuffer_object, EXT_texture_sRGB, 635bd8deadSopenharmony_ci ARB_framebuffer_sRGB, ARB_texture_sRGB_decode, 645bd8deadSopenharmony_ci EXT_texture_sRGB_decode, ARB_tessellation_shader, 655bd8deadSopenharmony_ci ARB_geometry_shader4, ARB_compute_shader, EXT_texture_array, 665bd8deadSopenharmony_ci ARB_texture_cube_map_array, ARB_texture_multisample, 675bd8deadSopenharmony_ci ARB_texture_rectangle, ARB_texture_buffer_object, 685bd8deadSopenharmony_ci ARB_texture_gather, ARB_debug_output, KHR_debug, 695bd8deadSopenharmony_ci ARB_clear_buffer_object, ARB_texture_compression_bptc, 705bd8deadSopenharmony_ci ARB_texture_compression_rgtc, ARB_stencil_texturing, 715bd8deadSopenharmony_ci ARB_depth_texture, OES_depth_texture, ARB_texture_view, 725bd8deadSopenharmony_ci ARB_texture_storage, ARB_texture_storage_multisample, 735bd8deadSopenharmony_ci ARB_shader_image_load_store, EXT_direct_state_access, 745bd8deadSopenharmony_ci EXT_texture_compression_s3tc, ARB_ES3_compatibility, 755bd8deadSopenharmony_ci KHR_texture_compression_astc_ldr, and core specifications 765bd8deadSopenharmony_ci that incorporate these extensions affect the definition 775bd8deadSopenharmony_ci of this extension. 785bd8deadSopenharmony_ci 795bd8deadSopenharmony_ciOverview 805bd8deadSopenharmony_ci 815bd8deadSopenharmony_ci This extension extends the GetInternalformativ query that was added in 825bd8deadSopenharmony_ci the ARB_internalformat_query extension to provide applications with more 835bd8deadSopenharmony_ci granular per-format capability information. 845bd8deadSopenharmony_ci 855bd8deadSopenharmony_ci This extension allows the remainder of the texture-style targets to 865bd8deadSopenharmony_ci be specified along with any possible internal format. 875bd8deadSopenharmony_ci We add queries for additional properties supported for an internal 885bd8deadSopenharmony_ci format in addition to the multisample-related information that was 895bd8deadSopenharmony_ci added in ARB_internalformat_query. 905bd8deadSopenharmony_ci 915bd8deadSopenharmony_ci The goals of this extension are to: 925bd8deadSopenharmony_ci 935bd8deadSopenharmony_ci a) provide a mechanism for implementations to declare support *above* the 945bd8deadSopenharmony_ci minimum required by the specification 955bd8deadSopenharmony_ci 965bd8deadSopenharmony_ci b) provide API to allow universally constant information to be queried 975bd8deadSopenharmony_ci 985bd8deadSopenharmony_ci c) provide a user-friendly way of finding out about version- or 995bd8deadSopenharmony_ci implementation-specific limitations. 1005bd8deadSopenharmony_ci 1015bd8deadSopenharmony_ci While much of this information can be determined for a single GL version 1025bd8deadSopenharmony_ci by careful examination of the specification, support for many of these 1035bd8deadSopenharmony_ci properties has been gradually introduced over a number of API 1045bd8deadSopenharmony_ci revisions. This can observed when considering the range in functionality 1055bd8deadSopenharmony_ci between the various versions of GL 2, 3, and 4, as well as GL ES 2 and 3. 1065bd8deadSopenharmony_ci 1075bd8deadSopenharmony_ci In the case of an application which wishes to be scalable and able to run 1085bd8deadSopenharmony_ci on a variety of possible GL or GL ES versions without being specifically 1095bd8deadSopenharmony_ci tailored for each version, it must either have knowledge of the 1105bd8deadSopenharmony_ci specifications built up into either the code or tables, or it must do 1115bd8deadSopenharmony_ci a number of tests on startup to determine which capabilities are present. 1125bd8deadSopenharmony_ci 1135bd8deadSopenharmony_ci In OpenGL, other than the course-grained extension mechanism, many 1145bd8deadSopenharmony_ci limitations of, or limited support for, an internalformat can only 1155bd8deadSopenharmony_ci be signaled by failing an operation or by operating at reduced 1165bd8deadSopenharmony_ci performance. Thus, such tests often involve attempts to create resources, 1175bd8deadSopenharmony_ci using them in specific ways and benchmarking the operations to 1185bd8deadSopenharmony_ci find out if it is supported in the desired form, and at a required 1195bd8deadSopenharmony_ci performance level. The extension provides a way for these properties 1205bd8deadSopenharmony_ci and caveats to be directly queried from the implementation. 1215bd8deadSopenharmony_ci 1225bd8deadSopenharmony_ci This extension is NOT intended to allow implementations to only support 1235bd8deadSopenharmony_ci a subset of features that are required by a specific GL version, nor is 1245bd8deadSopenharmony_ci it intended to replace the proper use of extension checks for optional 1255bd8deadSopenharmony_ci functionality. 1265bd8deadSopenharmony_ci 1275bd8deadSopenharmony_ciIP Status 1285bd8deadSopenharmony_ci 1295bd8deadSopenharmony_ci No known IP claims. 1305bd8deadSopenharmony_ci 1315bd8deadSopenharmony_ciNew Procedures and Functions 1325bd8deadSopenharmony_ci 1335bd8deadSopenharmony_ci void GetInternalformati64v(enum target, enum internalformat, 1345bd8deadSopenharmony_ci enum pname, sizei bufSize, int64 *params); 1355bd8deadSopenharmony_ci 1365bd8deadSopenharmony_ciNew Types 1375bd8deadSopenharmony_ci 1385bd8deadSopenharmony_ci None. 1395bd8deadSopenharmony_ci 1405bd8deadSopenharmony_ciNew Tokens 1415bd8deadSopenharmony_ci 1425bd8deadSopenharmony_ci Accepted by the <target> parameter of GetInternalformativ 1435bd8deadSopenharmony_ci and GetInternalformati64v: 1445bd8deadSopenharmony_ci 1455bd8deadSopenharmony_ci TEXTURE_1D 0x0DE0 1465bd8deadSopenharmony_ci TEXTURE_1D_ARRAY 0x8C18 1475bd8deadSopenharmony_ci TEXTURE_2D 0x0DE1 1485bd8deadSopenharmony_ci TEXTURE_2D_ARRAY 0x8C1A 1495bd8deadSopenharmony_ci TEXTURE_3D 0x806F 1505bd8deadSopenharmony_ci TEXTURE_CUBE_MAP 0x8513 1515bd8deadSopenharmony_ci TEXTURE_CUBE_MAP_ARRAY 0x9009 1525bd8deadSopenharmony_ci TEXTURE_RECTANGLE 0x84F5 1535bd8deadSopenharmony_ci TEXTURE_BUFFER 0x8C2A 1545bd8deadSopenharmony_ci RENDERBUFFER 0x8D41 1555bd8deadSopenharmony_ci TEXTURE_2D_MULTISAMPLE 0x9100 1565bd8deadSopenharmony_ci TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 1575bd8deadSopenharmony_ci 1585bd8deadSopenharmony_ci Accepted by the <pname> parameter of GetInternalformativ 1595bd8deadSopenharmony_ci and GetInternalformati64v: 1605bd8deadSopenharmony_ci 1615bd8deadSopenharmony_ci SAMPLES 0x80A9 1625bd8deadSopenharmony_ci NUM_SAMPLE_COUNTS 0x9380 1635bd8deadSopenharmony_ci INTERNALFORMAT_SUPPORTED 0x826F 1645bd8deadSopenharmony_ci INTERNALFORMAT_PREFERRED 0x8270 1655bd8deadSopenharmony_ci INTERNALFORMAT_RED_SIZE 0x8271 1665bd8deadSopenharmony_ci INTERNALFORMAT_GREEN_SIZE 0x8272 1675bd8deadSopenharmony_ci INTERNALFORMAT_BLUE_SIZE 0x8273 1685bd8deadSopenharmony_ci INTERNALFORMAT_ALPHA_SIZE 0x8274 1695bd8deadSopenharmony_ci INTERNALFORMAT_DEPTH_SIZE 0x8275 1705bd8deadSopenharmony_ci INTERNALFORMAT_STENCIL_SIZE 0x8276 1715bd8deadSopenharmony_ci INTERNALFORMAT_SHARED_SIZE 0x8277 1725bd8deadSopenharmony_ci INTERNALFORMAT_RED_TYPE 0x8278 1735bd8deadSopenharmony_ci INTERNALFORMAT_GREEN_TYPE 0x8279 1745bd8deadSopenharmony_ci INTERNALFORMAT_BLUE_TYPE 0x827A 1755bd8deadSopenharmony_ci INTERNALFORMAT_ALPHA_TYPE 0x827B 1765bd8deadSopenharmony_ci INTERNALFORMAT_DEPTH_TYPE 0x827C 1775bd8deadSopenharmony_ci INTERNALFORMAT_STENCIL_TYPE 0x827D 1785bd8deadSopenharmony_ci MAX_WIDTH 0x827E 1795bd8deadSopenharmony_ci MAX_HEIGHT 0x827F 1805bd8deadSopenharmony_ci MAX_DEPTH 0x8280 1815bd8deadSopenharmony_ci MAX_LAYERS 0x8281 1825bd8deadSopenharmony_ci MAX_COMBINED_DIMENSIONS 0x8282 1835bd8deadSopenharmony_ci COLOR_COMPONENTS 0x8283 1845bd8deadSopenharmony_ci DEPTH_COMPONENTS 0x8284 1855bd8deadSopenharmony_ci STENCIL_COMPONENTS 0x8285 1865bd8deadSopenharmony_ci COLOR_RENDERABLE 0x8286 1875bd8deadSopenharmony_ci DEPTH_RENDERABLE 0x8287 1885bd8deadSopenharmony_ci STENCIL_RENDERABLE 0x8288 1895bd8deadSopenharmony_ci FRAMEBUFFER_RENDERABLE 0x8289 1905bd8deadSopenharmony_ci FRAMEBUFFER_RENDERABLE_LAYERED 0x828A 1915bd8deadSopenharmony_ci FRAMEBUFFER_BLEND 0x828B 1925bd8deadSopenharmony_ci READ_PIXELS 0x828C 1935bd8deadSopenharmony_ci READ_PIXELS_FORMAT 0x828D 1945bd8deadSopenharmony_ci READ_PIXELS_TYPE 0x828E 1955bd8deadSopenharmony_ci TEXTURE_IMAGE_FORMAT 0x828F 1965bd8deadSopenharmony_ci TEXTURE_IMAGE_TYPE 0x8290 1975bd8deadSopenharmony_ci GET_TEXTURE_IMAGE_FORMAT 0x8291 1985bd8deadSopenharmony_ci GET_TEXTURE_IMAGE_TYPE 0x8292 1995bd8deadSopenharmony_ci MIPMAP 0x8293 2005bd8deadSopenharmony_ci MANUAL_GENERATE_MIPMAP 0x8294 2015bd8deadSopenharmony_ci AUTO_GENERATE_MIPMAP 0x8295 2025bd8deadSopenharmony_ci COLOR_ENCODING 0x8296 2035bd8deadSopenharmony_ci SRGB_READ 0x8297 2045bd8deadSopenharmony_ci SRGB_WRITE 0x8298 2055bd8deadSopenharmony_ci SRGB_DECODE_ARB 0x8299 2065bd8deadSopenharmony_ci FILTER 0x829A 2075bd8deadSopenharmony_ci VERTEX_TEXTURE 0x829B 2085bd8deadSopenharmony_ci TESS_CONTROL_TEXTURE 0x829C 2095bd8deadSopenharmony_ci TESS_EVALUATION_TEXTURE 0x829D 2105bd8deadSopenharmony_ci GEOMETRY_TEXTURE 0x829E 2115bd8deadSopenharmony_ci FRAGMENT_TEXTURE 0x829F 2125bd8deadSopenharmony_ci COMPUTE_TEXTURE 0x82A0 2135bd8deadSopenharmony_ci TEXTURE_SHADOW 0x82A1 2145bd8deadSopenharmony_ci TEXTURE_GATHER 0x82A2 2155bd8deadSopenharmony_ci TEXTURE_GATHER_SHADOW 0x82A3 2165bd8deadSopenharmony_ci SHADER_IMAGE_LOAD 0x82A4 2175bd8deadSopenharmony_ci SHADER_IMAGE_STORE 0x82A5 2185bd8deadSopenharmony_ci SHADER_IMAGE_ATOMIC 0x82A6 2195bd8deadSopenharmony_ci IMAGE_TEXEL_SIZE 0x82A7 2205bd8deadSopenharmony_ci IMAGE_COMPATIBILITY_CLASS 0x82A8 2215bd8deadSopenharmony_ci IMAGE_PIXEL_FORMAT 0x82A9 2225bd8deadSopenharmony_ci IMAGE_PIXEL_TYPE 0x82AA 2235bd8deadSopenharmony_ci IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7 2245bd8deadSopenharmony_ci SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC 2255bd8deadSopenharmony_ci SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD 2265bd8deadSopenharmony_ci SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE 2275bd8deadSopenharmony_ci SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF 2285bd8deadSopenharmony_ci TEXTURE_COMPRESSED 0x86A1 2295bd8deadSopenharmony_ci TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1 2305bd8deadSopenharmony_ci TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2 2315bd8deadSopenharmony_ci TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3 2325bd8deadSopenharmony_ci CLEAR_BUFFER 0x82B4 2335bd8deadSopenharmony_ci TEXTURE_VIEW 0x82B5 2345bd8deadSopenharmony_ci VIEW_COMPATIBILITY_CLASS 0x82B6 2355bd8deadSopenharmony_ci 2365bd8deadSopenharmony_ci Returned as possible responses for various <pname> queries 2375bd8deadSopenharmony_ci to GetInternalformativ and GetInternalformati64v 2385bd8deadSopenharmony_ci FULL_SUPPORT 0x82B7 2395bd8deadSopenharmony_ci CAVEAT_SUPPORT 0x82B8 2405bd8deadSopenharmony_ci IMAGE_CLASS_4_X_32 0x82B9 2415bd8deadSopenharmony_ci IMAGE_CLASS_2_X_32 0x82BA 2425bd8deadSopenharmony_ci IMAGE_CLASS_1_X_32 0x82BB 2435bd8deadSopenharmony_ci IMAGE_CLASS_4_X_16 0x82BC 2445bd8deadSopenharmony_ci IMAGE_CLASS_2_X_16 0x82BD 2455bd8deadSopenharmony_ci IMAGE_CLASS_1_X_16 0x82BE 2465bd8deadSopenharmony_ci IMAGE_CLASS_4_X_8 0x82BF 2475bd8deadSopenharmony_ci IMAGE_CLASS_2_X_8 0x82C0 2485bd8deadSopenharmony_ci IMAGE_CLASS_1_X_8 0x82C1 2495bd8deadSopenharmony_ci IMAGE_CLASS_11_11_10 0x82C2 2505bd8deadSopenharmony_ci IMAGE_CLASS_10_10_10_2 0x82C3 2515bd8deadSopenharmony_ci VIEW_CLASS_128_BITS 0x82C4 2525bd8deadSopenharmony_ci VIEW_CLASS_96_BITS 0x82C5 2535bd8deadSopenharmony_ci VIEW_CLASS_64_BITS 0x82C6 2545bd8deadSopenharmony_ci VIEW_CLASS_48_BITS 0x82C7 2555bd8deadSopenharmony_ci VIEW_CLASS_32_BITS 0x82C8 2565bd8deadSopenharmony_ci VIEW_CLASS_24_BITS 0x82C9 2575bd8deadSopenharmony_ci VIEW_CLASS_16_BITS 0x82CA 2585bd8deadSopenharmony_ci VIEW_CLASS_8_BITS 0x82CB 2595bd8deadSopenharmony_ci VIEW_CLASS_S3TC_DXT1_RGB 0x82CC 2605bd8deadSopenharmony_ci VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD 2615bd8deadSopenharmony_ci VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE 2625bd8deadSopenharmony_ci VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF 2635bd8deadSopenharmony_ci VIEW_CLASS_RGTC1_RED 0x82D0 2645bd8deadSopenharmony_ci VIEW_CLASS_RGTC2_RG 0x82D1 2655bd8deadSopenharmony_ci VIEW_CLASS_BPTC_UNORM 0x82D2 2665bd8deadSopenharmony_ci VIEW_CLASS_BPTC_FLOAT 0x82D3 2675bd8deadSopenharmony_ci [interactions with ARB_ES3_compatibility] 2685bd8deadSopenharmony_ci VIEW_CLASS_EAC_R11 0x9383 2695bd8deadSopenharmony_ci VIEW_CLASS_EAC_RG11 0x9384 2705bd8deadSopenharmony_ci VIEW_CLASS_ETC2_RGB 0x9385 2715bd8deadSopenharmony_ci VIEW_CLASS_ETC2_RGBA 0x9386 2725bd8deadSopenharmony_ci VIEW_CLASS_ETC2_EAC_RGBA 0x9387 2735bd8deadSopenharmony_ci [interactions with KHR_texture_compression_astc_ldr] 2745bd8deadSopenharmony_ci VIEW_CLASS_ASTC_4x4_RGBA 0x9388 2755bd8deadSopenharmony_ci VIEW_CLASS_ASTC_5x4_RGBA 0x9389 2765bd8deadSopenharmony_ci VIEW_CLASS_ASTC_5x5_RGBA 0x938A 2775bd8deadSopenharmony_ci VIEW_CLASS_ASTC_6x5_RGBA 0x938B 2785bd8deadSopenharmony_ci VIEW_CLASS_ASTC_6x6_RGBA 0x938C 2795bd8deadSopenharmony_ci VIEW_CLASS_ASTC_8x5_RGBA 0x938D 2805bd8deadSopenharmony_ci VIEW_CLASS_ASTC_8x6_RGBA 0x938E 2815bd8deadSopenharmony_ci VIEW_CLASS_ASTC_8x8_RGBA 0x938F 2825bd8deadSopenharmony_ci VIEW_CLASS_ASTC_10x5_RGBA 0x9390 2835bd8deadSopenharmony_ci VIEW_CLASS_ASTC_10x6_RGBA 0x9391 2845bd8deadSopenharmony_ci VIEW_CLASS_ASTC_10x8_RGBA 0x9392 2855bd8deadSopenharmony_ci VIEW_CLASS_ASTC_10x10_RGBA 0x9393 2865bd8deadSopenharmony_ci VIEW_CLASS_ASTC_12x10_RGBA 0x9394 2875bd8deadSopenharmony_ci VIEW_CLASS_ASTC_12x12_RGBA 0x9395 2885bd8deadSopenharmony_ci 2895bd8deadSopenharmony_ci 2905bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 4.2 (Core Profile) Specification 2915bd8deadSopenharmony_ci(OpenGL Operation) 2925bd8deadSopenharmony_ci 2935bd8deadSopenharmony_ci None. 2945bd8deadSopenharmony_ci 2955bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 4.2 (Core Profile) Specification 2965bd8deadSopenharmony_ci(Rasterization) 2975bd8deadSopenharmony_ci 2985bd8deadSopenharmony_ci None. 2995bd8deadSopenharmony_ci 3005bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 4.2 (Core Profile) Specification 3015bd8deadSopenharmony_ci(Per-Fragment Operations and the Frame Buffer) 3025bd8deadSopenharmony_ci 3035bd8deadSopenharmony_ci None. 3045bd8deadSopenharmony_ci 3055bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 4.2 (Compatibility Profile) 3065bd8deadSopenharmony_ciSpecification (Special Functions) 3075bd8deadSopenharmony_ci 3085bd8deadSopenharmony_ci None. 3095bd8deadSopenharmony_ci 3105bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 4.2 (Core Profile) Specification 3115bd8deadSopenharmony_ci(State and State Requests) 3125bd8deadSopenharmony_ci 3135bd8deadSopenharmony_ci Replace Section 6.1.15 "Internal Format Queries" with the following: 3145bd8deadSopenharmony_ci 3155bd8deadSopenharmony_ci "Information about implementation-dependent support for internal formats 3165bd8deadSopenharmony_ci can be queried with the commands 3175bd8deadSopenharmony_ci 3185bd8deadSopenharmony_ci void GetInternalformativ(enum target, enum internalformat, 3195bd8deadSopenharmony_ci enum pname, sizei bufSize, int *params); 3205bd8deadSopenharmony_ci void GetInternalformati64v(enum target, enum internalformat, 3215bd8deadSopenharmony_ci enum pname, sizei bufSize, int64 *params); 3225bd8deadSopenharmony_ci 3235bd8deadSopenharmony_ci <internalformat> can be any value. The INTERNALFORMAT_SUPPORTED <pname> 3245bd8deadSopenharmony_ci can be used to determine if the internal format is supported, and the 3255bd8deadSopenharmony_ci other <pnames> are defined in terms of whether or not the format is 3265bd8deadSopenharmony_ci supported. 3275bd8deadSopenharmony_ci 3285bd8deadSopenharmony_ci <target> indicates the usage of the <internalformat>, and must be one of 3295bd8deadSopenharmony_ci the targets listed in Table 6.xx, otherwise the INVALID_ENUM error is 3305bd8deadSopenharmony_ci generated. 3315bd8deadSopenharmony_ci 3325bd8deadSopenharmony_ci Target Usage 3335bd8deadSopenharmony_ci ----------------- ------ 3345bd8deadSopenharmony_ci TEXTURE_1D 1D texture 3355bd8deadSopenharmony_ci TEXTURE_1D_ARRAY 1D array texture 3365bd8deadSopenharmony_ci TEXTURE_2D 2D texture 3375bd8deadSopenharmony_ci TEXTURE_2D_ARRAY 2D array texture 3385bd8deadSopenharmony_ci TEXTURE_2D_MULTISAMPLE 2D multisample texture 3395bd8deadSopenharmony_ci TEXTURE_2D_MULTISAMPLE_ARRAY 2D multisample array texture 3405bd8deadSopenharmony_ci TEXTURE_3D 3D texture 3415bd8deadSopenharmony_ci TEXTURE_BUFFER buffer texture 3425bd8deadSopenharmony_ci TEXTURE_CUBE_MAP cube map texture 3435bd8deadSopenharmony_ci TEXTURE_CUBE_MAP_ARRAY cube map array texture 3445bd8deadSopenharmony_ci TEXTURE_RECTANGLE rectangle texture 3455bd8deadSopenharmony_ci RENDERBUFFER renderbuffer 3465bd8deadSopenharmony_ci 3475bd8deadSopenharmony_ci Table 6.xx: Possible targets that <internalformat> can be used with 3485bd8deadSopenharmony_ci and the corresponding usage meaning. 3495bd8deadSopenharmony_ci 3505bd8deadSopenharmony_ci No more than <bufSize> integers will be written into <params>. If 3515bd8deadSopenharmony_ci more data are available, they will be ignored and no error will be 3525bd8deadSopenharmony_ci generated. 3535bd8deadSopenharmony_ci 3545bd8deadSopenharmony_ci <pname> indicates the information to query. The following list provides 3555bd8deadSopenharmony_ci the valid values for <pname>, defines the meaning and the possible 3565bd8deadSopenharmony_ci responses. In the following descriptions, the term /resource/ is used 3575bd8deadSopenharmony_ci to generically refer to an object of the appropriate type that has 3585bd8deadSopenharmony_ci been created with <internalformat> and <target>. If the particualar 3595bd8deadSopenharmony_ci <target> and <internalformat> combination do not make sense, or if 3605bd8deadSopenharmony_ci a particular type of <target> is not supported by the implementation 3615bd8deadSopenharmony_ci the "unsupported" answer should be given. This is not an error. 3625bd8deadSopenharmony_ci 3635bd8deadSopenharmony_ci All properties can be queried via either GetInternalformat* command. 3645bd8deadSopenharmony_ci Data conversions are done as defined in section 6.1.2. 3655bd8deadSopenharmony_ci 3665bd8deadSopenharmony_ci For <pname> queries that return information about supported type of 3675bd8deadSopenharmony_ci operation in <params>, they have the following meanings: 3685bd8deadSopenharmony_ci 3695bd8deadSopenharmony_ci - NONE: the requested capability is not supported at all by the 3705bd8deadSopenharmony_ci implementation. 3715bd8deadSopenharmony_ci 3725bd8deadSopenharmony_ci - CAVEAT_SUPPORT: the requested capability is supported by the 3735bd8deadSopenharmony_ci implementation, but there may be some implementation-specific 3745bd8deadSopenharmony_ci caveats that make support less than optimal. For example using 3755bd8deadSopenharmony_ci the feature may result in reduced performance (relative to other 3765bd8deadSopenharmony_ci formats or features), such as software rendering or other mechanisms 3775bd8deadSopenharmony_ci of emulating the desired feature. 3785bd8deadSopenharmony_ci 3795bd8deadSopenharmony_ci If a query reports that there is a caveat and the debug output 3805bd8deadSopenharmony_ci functionality is enabled (see section 5.5 or ARB_debug_output), 3815bd8deadSopenharmony_ci the GL will generate a debug output message describing the caveat. 3825bd8deadSopenharmony_ci The message has the source DEBUG_SOURCE_API, the type 3835bd8deadSopenharmony_ci DEBUG_TYPE_PERFORMANCE, and an implementation-dependent ID. 3845bd8deadSopenharmony_ci 3855bd8deadSopenharmony_ci - FULL_SUPPORT: the requested capability is fully supported by the 3865bd8deadSopenharmony_ci implementation. 3875bd8deadSopenharmony_ci 3885bd8deadSopenharmony_ci The following are the supported values for <pname>: 3895bd8deadSopenharmony_ci 3905bd8deadSopenharmony_ci - INTERNALFORMAT_SUPPORTED: If <internalformat> is an internal format 3915bd8deadSopenharmony_ci that is supported by the implementation in at least some subset of 3925bd8deadSopenharmony_ci possible operations, TRUE is written to <params>. If <internalformat> 3935bd8deadSopenharmony_ci if not a valid token for any internal format usage, FALSE is returned. 3945bd8deadSopenharmony_ci 3955bd8deadSopenharmony_ci <internalformats> that must be supported (in GL 4.2 or later) include 3965bd8deadSopenharmony_ci the following: 3975bd8deadSopenharmony_ci - "sized internal formats" from Table 3.12, 3.13, and 3.15, 3985bd8deadSopenharmony_ci - any specific "compressed internal format" from Table 3.14, 3995bd8deadSopenharmony_ci - any "image unit format" from Table 3.21. 4005bd8deadSopenharmony_ci - any generic "compressed internal format" from Table 3.14, if the 4015bd8deadSopenharmony_ci implementation accepts it for any texture specification commands, and 4025bd8deadSopenharmony_ci - unsized or base internal format, if the implementation accepts 4035bd8deadSopenharmony_ci it for texture or image specification. 4045bd8deadSopenharmony_ci 4055bd8deadSopenharmony_ci In other words, any <internalformat> accepted by any of the commands: 4065bd8deadSopenharmony_ci ClearBufferData, ClearBufferSubData, 4075bd8deadSopenharmony_ci CompressedTexImage1D, CompressedTexImage2D, CompressedTexImage3D, 4085bd8deadSopenharmony_ci CopyTexImage1D, CopyTexImage2D, 4095bd8deadSopenharmony_ci RenderbufferStorage, RenderbufferStorageMultisample, 4105bd8deadSopenharmony_ci TexBuffer, 4115bd8deadSopenharmony_ci TexImage1D, TexImage2D, TexImage3D, 4125bd8deadSopenharmony_ci TexImage2DMultisample, TexImage3DMultisample, 4135bd8deadSopenharmony_ci TexStorage1D, TexStorage2D, TexStorage3D, 4145bd8deadSopenharmony_ci TexStorage2DMultisample, TexStorage3DMultisample 4155bd8deadSopenharmony_ci TextureView, 4165bd8deadSopenharmony_ci ClearNamedBufferDataEXT, ClearNamedBufferSubDataEXT, 4175bd8deadSopenharmony_ci TextureImage1DEXT, TextureImage2DEXT, TextureImage3DEXT 4185bd8deadSopenharmony_ci CopyTextureImage1DEXT, CopyTextureImage2DEXT, 4195bd8deadSopenharmony_ci MultiTexImage1DEXT, MultiTexImage2DEXT, MultiTexImage3DEXT 4205bd8deadSopenharmony_ci CompressedTextureImage3DEXT, CompressedTextureImage2DEXT, CompressedTextureImage1DEXT, 4215bd8deadSopenharmony_ci CompressedMultiTexImage3DEXT, CompressedMultiTexImage2DEXT, CompressedMultiTexImage1DEXT 4225bd8deadSopenharmony_ci TextureBufferEXT, MultiTexBufferEXT, 4235bd8deadSopenharmony_ci NamedRenderbufferStorageEXT, NamedRenderbufferStorageMultisampleEXT, 4245bd8deadSopenharmony_ci NamedRenderbufferStorageMultisampleCoverageEXT, 4255bd8deadSopenharmony_ci CopyMultiTexImage1DEXT, CopyMultiTexImage2DEXT, 4265bd8deadSopenharmony_ci TextureStorage1DEXT, TextureStorage2DEXT, TextureStorage3DEXT, 4275bd8deadSopenharmony_ci TextureStorage2DMultisampleEXT, TextureStorage3DMultisampleEXT, and 4285bd8deadSopenharmony_ci any valid <format> accepted by BindImageTexture, must be supported. 4295bd8deadSopenharmony_ci 4305bd8deadSopenharmony_ci - NUM_SAMPLE_COUNTS: The number of sample counts that would be 4315bd8deadSopenharmony_ci returned by querying SAMPLES is returned in <params>. 4325bd8deadSopenharmony_ci * If <internalformat> is not color-renderable, depth-renderable, or 4335bd8deadSopenharmony_ci stencil-renderable (as defined in section 4.4.4), or if <target> 4345bd8deadSopenharmony_ci does not support multiple samples (ie other than TEXTURE_2D_MULTISAMPLE, 4355bd8deadSopenharmony_ci TEXTURE_2D_MULTISAMPLE_ARRAY, or RENDERBUFFER), 0 is returned. 4365bd8deadSopenharmony_ci 4375bd8deadSopenharmony_ci - SAMPLES: The sample counts supported for this <internalformat> and 4385bd8deadSopenharmony_ci <target> are written into <params>, in descending order. Only 4395bd8deadSopenharmony_ci positive values are returned. 4405bd8deadSopenharmony_ci * Note that querying SAMPLES with a <bufSize> of 1 will return just 4415bd8deadSopenharmony_ci the maximum supported number of samples for this format. 4425bd8deadSopenharmony_ci * The maximum value in SAMPLES is guaranteed to be at least the lowest 4435bd8deadSopenharmony_ci of the following: 4445bd8deadSopenharmony_ci - The value of GetIntegerv(MAX_INTEGER_SAMPLES), if <internalformat> 4455bd8deadSopenharmony_ci is a signed or unsigned integer format. 4465bd8deadSopenharmony_ci - The value of GetIntegerv(MAX_DEPTH_TEXTURE_SAMPLES), if 4475bd8deadSopenharmony_ci <internalformat> is a depth/stencil-renderable format and <target> 4485bd8deadSopenharmony_ci is TEXTURE_2D_MULTISAMPLE or TEXTURE_2D_MULTISAMPLE_ARRAY. 4495bd8deadSopenharmony_ci - The value of GetIntegerv(MAX_COLOR_TEXTURE_SAMPLES), if 4505bd8deadSopenharmony_ci <internalformat> is a color-renderable format and <target> is 4515bd8deadSopenharmony_ci TEXTURE_2D_MULTISAMPLE or TEXTURE_2D_MULTISAMPLE_ARRAY. 4525bd8deadSopenharmony_ci - The value of GetIntegerv(MAX_SAMPLES). 4535bd8deadSopenharmony_ci * If <internalformat> is not color-renderable, depth-renderable, or 4545bd8deadSopenharmony_ci stencil-renderable (as defined in section 4.4.4), or if <target> 4555bd8deadSopenharmony_ci does not support multiple samples (ie other than TEXTURE_2D_MULTISAMPLE, 4565bd8deadSopenharmony_ci TEXTURE_2D_MULTISAMPLE_ARRAY, or RENDERBUFFER), <params> is not 4575bd8deadSopenharmony_ci modified. 4585bd8deadSopenharmony_ci 4595bd8deadSopenharmony_ci - INTERNALFORMAT_PREFERRED: The implementation-preferred internal format 4605bd8deadSopenharmony_ci for representing resources of the specified <internalformat> is returned 4615bd8deadSopenharmony_ci in <params>. The preferred internal format should have no less precision 4625bd8deadSopenharmony_ci than the requested one. If the specified <internalformat> is already 4635bd8deadSopenharmony_ci a preferred format, or is there is no better format that is compatible, 4645bd8deadSopenharmony_ci the queried <internalformat> value is written to <params>. If the 4655bd8deadSopenharmony_ci <internalformat> is not supported, NONE is returned. 4665bd8deadSopenharmony_ci 4675bd8deadSopenharmony_ci - INTERNALFORMAT_RED_SIZE 4685bd8deadSopenharmony_ci - INTERNALFORMAT_GREEN_SIZE 4695bd8deadSopenharmony_ci - INTERNALFORMAT_BLUE_SIZE 4705bd8deadSopenharmony_ci - INTERNALFORMAT_ALPHA_SIZE 4715bd8deadSopenharmony_ci - INTERNALFORMAT_DEPTH_SIZE 4725bd8deadSopenharmony_ci - INTERNALFORMAT_STENCIL_SIZE 4735bd8deadSopenharmony_ci - INTERNALFORMAT_SHARED_SIZE 4745bd8deadSopenharmony_ci For uncompressed internal formats, queries of these values return the 4755bd8deadSopenharmony_ci actual resolutions that would be used for storing image array components 4765bd8deadSopenharmony_ci for the resource. 4775bd8deadSopenharmony_ci For compressed internal formats, the resolutions returned specify the 4785bd8deadSopenharmony_ci component resolution of an uncompressed internal format that produces 4795bd8deadSopenharmony_ci an image of roughly the same quality as the compressed algorithm. 4805bd8deadSopenharmony_ci For textures this query will return the same information as querying 4815bd8deadSopenharmony_ci GetTexLevelParameter{if}v for TEXTURE_*_SIZE would return (except in 4825bd8deadSopenharmony_ci such cases where GetTexLevelParameter{if}v doesn't support such a query). 4835bd8deadSopenharmony_ci If the internal format is unsupported, or if a particular component is 4845bd8deadSopenharmony_ci not present in the format, 0 is written to <params>. 4855bd8deadSopenharmony_ci 4865bd8deadSopenharmony_ci - INTERNALFORMAT_RED_TYPE 4875bd8deadSopenharmony_ci - INTERNALFORMAT_GREEN_TYPE 4885bd8deadSopenharmony_ci - INTERNALFORMAT_BLUE_TYPE 4895bd8deadSopenharmony_ci - INTERNALFORMAT_ALPHA_TYPE 4905bd8deadSopenharmony_ci - INTERNALFORMAT_DEPTH_TYPE 4915bd8deadSopenharmony_ci - INTERNALFORMAT_STENCIL_TYPE 4925bd8deadSopenharmony_ci For uncompressed internal formats, queries for these values return the 4935bd8deadSopenharmony_ci data type used to store the component. 4945bd8deadSopenharmony_ci For compressed internal formats the types returned specify how components 4955bd8deadSopenharmony_ci are interpreted after decompression. 4965bd8deadSopenharmony_ci For textures this query returns the same information as querying 4975bd8deadSopenharmony_ci GetTexLevelParameter{if}v for TEXTURE_*_TYPE would return (except in 4985bd8deadSopenharmony_ci such cases where GetTexLevelParameter{if}v doesn't support such a 4995bd8deadSopenharmony_ci query). Possible values return include, NONE, SIGNED_NORMALIZED, 5005bd8deadSopenharmony_ci UNSIGNED_NORMALIZED, FLOAT, INT, UNSIGNED_INT, representing missing, 5015bd8deadSopenharmony_ci signed normalized fixed point, unsigned normalized fixed point, 5025bd8deadSopenharmony_ci floating-point, signed unnormalized integer and unsigned unnormalized 5035bd8deadSopenharmony_ci integer components. NONE is returned for all component types if the 5045bd8deadSopenharmony_ci format is unsupported. 5055bd8deadSopenharmony_ci 5065bd8deadSopenharmony_ci - MAX_WIDTH: The maximum supported width for the resource is returned in 5075bd8deadSopenharmony_ci <params>. For resources with only one-dimension, this one dimension is 5085bd8deadSopenharmony_ci considered the width. If the resource is unsupported, zero is returned. 5095bd8deadSopenharmony_ci 5105bd8deadSopenharmony_ci - MAX_HEIGHT: The maximum supported height for the resource is returned in 5115bd8deadSopenharmony_ci <params>. For resources with two or more dimensions, the second dimension 5125bd8deadSopenharmony_ci is considered the height. If the resource does not have at least two 5135bd8deadSopenharmony_ci dimensions, or if the resource is unsupported, zero is returned. 5145bd8deadSopenharmony_ci 5155bd8deadSopenharmony_ci - MAX_DEPTH: The maximum supported depth for the resource is returned in 5165bd8deadSopenharmony_ci <params>. For resources with three or more dimensions, the third 5175bd8deadSopenharmony_ci dimension is considered the depth. If the resource does not have at least 5185bd8deadSopenharmony_ci three dimensions, or if the resource is unsupported, zero is returned. 5195bd8deadSopenharmony_ci 5205bd8deadSopenharmony_ci - MAX_LAYERS: The maximum supported number of layers for the resource is 5215bd8deadSopenharmony_ci returned in <params>. For 1D array targets, the value returned is the 5225bd8deadSopenharmony_ci same as the MAX_HEIGHT. For 2D and cube array targets, the value returned 5235bd8deadSopenharmony_ci is the same as the MAX_DEPTH. If the resource does not support layers, 5245bd8deadSopenharmony_ci or if the resource is unsupported, zero is returned. 5255bd8deadSopenharmony_ci 5265bd8deadSopenharmony_ci - MAX_COMBINED_DIMENSIONS: The maximum combined dimensions for the resource 5275bd8deadSopenharmony_ci is returned in <params>. The combined dimensions is the product of the 5285bd8deadSopenharmony_ci individual dimensions of the resource. For multisampled surfaces the 5295bd8deadSopenharmony_ci number of samples is considered an additional dimension. Note that the 5305bd8deadSopenharmony_ci value returned can be >= 2^32 and should be queried with the 64-bit query. 5315bd8deadSopenharmony_ci This value should be considered a recommendations for applications. There 5325bd8deadSopenharmony_ci may be system-dependant reasons why allocations larger than this size may 5335bd8deadSopenharmony_ci fail, even if there might appear to be sufficient memory available when 5345bd8deadSopenharmony_ci queried via some other means. This also does not provide a guarantee that 5355bd8deadSopenharmony_ci allocations smaller than this will succeed because this value is not 5365bd8deadSopenharmony_ci affected by existing resource allocations. 5375bd8deadSopenharmony_ci For 1D targets this is the maximum single dimension. 5385bd8deadSopenharmony_ci For 1D array targets this is the maximum combined width and layers. 5395bd8deadSopenharmony_ci For 2D targets this is the maximum combined width and height. 5405bd8deadSopenharmony_ci For 2D multisample targets this is the combined width, height and samples. 5415bd8deadSopenharmony_ci For 2D array targets this is the max combined width, height and layers. 5425bd8deadSopenharmony_ci For 2D multisample array targets, this is the max combined width, height, 5435bd8deadSopenharmony_ci layers and samples. 5445bd8deadSopenharmony_ci For 3D targets this is the maximum combined width, height and depth. 5455bd8deadSopenharmony_ci For cube map targets this is the maximum combined width, height and 5465bd8deadSopenharmony_ci faces. 5475bd8deadSopenharmony_ci For cube map array targets this is the maximum width, height and 5485bd8deadSopenharmony_ci layer-faces. 5495bd8deadSopenharmony_ci If the resource is unsupported, zero is returned. 5505bd8deadSopenharmony_ci 5515bd8deadSopenharmony_ci - COLOR_COMPONENTS: If the internal format contains any color components 5525bd8deadSopenharmony_ci (R, G, B, or A), TRUE is returned in <params>. If the internal format is 5535bd8deadSopenharmony_ci unsupported or contains no color components, FALSE is returned. 5545bd8deadSopenharmony_ci 5555bd8deadSopenharmony_ci - DEPTH_COMPONENTS: If the internal format contains a depth component (D), 5565bd8deadSopenharmony_ci TRUE is returned in <params>. If the internal format is unsupported or 5575bd8deadSopenharmony_ci contains no depth component, FALSE is returned. 5585bd8deadSopenharmony_ci 5595bd8deadSopenharmony_ci - STENCIL_COMPONENTS: If the internal format contains a stencil component 5605bd8deadSopenharmony_ci (S), TRUE is returned in <params>. If the internal format is unsupported 5615bd8deadSopenharmony_ci or contains no stencil component, FALSE is returned. 5625bd8deadSopenharmony_ci 5635bd8deadSopenharmony_ci - COLOR_RENDERABLE: If <internalformat> is color-renderable (as defined in 5645bd8deadSopenharmony_ci section 4.4.4), TRUE is returned in <params>. If the internal format is 5655bd8deadSopenharmony_ci unsupported, or the internal format is not color-renderable, FALSE 5665bd8deadSopenharmony_ci is returned. 5675bd8deadSopenharmony_ci 5685bd8deadSopenharmony_ci - DEPTH_RENDERABLE: If <internalformat> is depth-renderable (as defined in 5695bd8deadSopenharmony_ci section 4.4.4), TRUE is returned in <params>. If the internal format is 5705bd8deadSopenharmony_ci unsupported, or if the internal format is not depth-renderable, FALSE 5715bd8deadSopenharmony_ci is returned. 5725bd8deadSopenharmony_ci 5735bd8deadSopenharmony_ci - STENCIL_RENDERABLE: If <internalformat> is stencil-renderable (as 5745bd8deadSopenharmony_ci defined in section 4.4.4), TRUE is returned in <params>. If the internal 5755bd8deadSopenharmony_ci format is unsupported, or if the internal format is not stencil- 5765bd8deadSopenharmony_ci renderable, FALSE is returned. 5775bd8deadSopenharmony_ci 5785bd8deadSopenharmony_ci - FRAMEBUFFER_RENDERABLE: The support for rendering to the resource via 5795bd8deadSopenharmony_ci framebuffer attachment is returned in <params>. 5805bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 5815bd8deadSopenharmony_ci If the resource is unsupported, NONE is returned. 5825bd8deadSopenharmony_ci 5835bd8deadSopenharmony_ci - FRAMEBUFFER_RENDERABLE_LAYERED: The support for layered rendering to 5845bd8deadSopenharmony_ci the resource via framebuffer attachment is returned in <params>. 5855bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 5865bd8deadSopenharmony_ci If the resource is unsupported, NONE is returned. 5875bd8deadSopenharmony_ci 5885bd8deadSopenharmony_ci - FRAMEBUFFER_BLEND: The support for rendering to the resource 5895bd8deadSopenharmony_ci via framebuffer attachment when blending is enabled is returned in 5905bd8deadSopenharmony_ci <params>. 5915bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 5925bd8deadSopenharmony_ci If the resource is unsupported, NONE is returned. 5935bd8deadSopenharmony_ci 5945bd8deadSopenharmony_ci - READ_PIXELS: The support for reading pixels from the resource when it is 5955bd8deadSopenharmony_ci attached to a framebuffer is returned in <params>. 5965bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 5975bd8deadSopenharmony_ci If the resource is unsupported, NONE is returned. 5985bd8deadSopenharmony_ci 5995bd8deadSopenharmony_ci - READ_PIXELS_FORMAT: The <format> to pass to ReadPixels to obtain the best 6005bd8deadSopenharmony_ci performance and image quality when reading from framebuffers with 6015bd8deadSopenharmony_ci <internalformat> is returned in <params>. 6025bd8deadSopenharmony_ci Possible values include any value that is legal to pass for the <format> 6035bd8deadSopenharmony_ci parameter to ReadPixels, or NONE if <internalformat> is not supported 6045bd8deadSopenharmony_ci or can never be a valid source for ReadPixels. 6055bd8deadSopenharmony_ci 6065bd8deadSopenharmony_ci - READ_PIXELS_TYPE: The <type> to pass to ReadPixels to obtain the best 6075bd8deadSopenharmony_ci performance and image quality when reading from framebuffers with 6085bd8deadSopenharmony_ci <internalformat> is returned in <params>. 6095bd8deadSopenharmony_ci Possible values include any value that is legal to pass for the <type> 6105bd8deadSopenharmony_ci parameter to ReadPixels, or NONE if the internal format is not supported 6115bd8deadSopenharmony_ci or can never be a source for ReadPixels. 6125bd8deadSopenharmony_ci 6135bd8deadSopenharmony_ci - TEXTURE_IMAGE_FORMAT: The implementation-preferred <format> to pass to 6145bd8deadSopenharmony_ci TexImage*D or TexSubImage*D when specifying texture image data for 6155bd8deadSopenharmony_ci this resource is returned in <params>. 6165bd8deadSopenharmony_ci Possible values include any value that is legal to pass for the <format> 6175bd8deadSopenharmony_ci parameter to the Tex*Image*D commands, or NONE if the resource is 6185bd8deadSopenharmony_ci not supported for this operation. 6195bd8deadSopenharmony_ci 6205bd8deadSopenharmony_ci - TEXTURE_IMAGE_TYPE: The implementation-preferred <type> to pass to 6215bd8deadSopenharmony_ci TexImage*D or TexSubImage*D when specifying texture image data for 6225bd8deadSopenharmony_ci this resource is returned in <params>. 6235bd8deadSopenharmony_ci Possible values include any value that is legal to pass for the <type> 6245bd8deadSopenharmony_ci parameter to the Tex*Image*D commands, or NONE if the resource is 6255bd8deadSopenharmony_ci not supported for this operation. 6265bd8deadSopenharmony_ci 6275bd8deadSopenharmony_ci - GET_TEXTURE_IMAGE_FORMAT: The implementation-preferred <format> to pass to 6285bd8deadSopenharmony_ci GetTexImage when querying texture image data from this resource. 6295bd8deadSopenharmony_ci Possible values include any value that is legal to pass for the <format> 6305bd8deadSopenharmony_ci parameter to GetTexImage, or NONE if the resource does not support 6315bd8deadSopenharmony_ci this operation, or if GetTexImage is not supported. 6325bd8deadSopenharmony_ci 6335bd8deadSopenharmony_ci - GET_TEXTURE_IMAGE_TYPE: The implementation-preferred <type> to pass to 6345bd8deadSopenharmony_ci GetTexImage when querying texture image data from this resource. 6355bd8deadSopenharmony_ci Possible values include any value that is legal to pass for the <type> 6365bd8deadSopenharmony_ci parameter to GetTexImage, or NONE if the resource does not support 6375bd8deadSopenharmony_ci this operation, or if GetTexImage is not supported. 6385bd8deadSopenharmony_ci 6395bd8deadSopenharmony_ci - MIPMAP: If the resource supports mipmaps, TRUE is returned in <params>. 6405bd8deadSopenharmony_ci If the resource is not supported, or if mipmaps are not supported for 6415bd8deadSopenharmony_ci this type of resource, FALSE is returned. 6425bd8deadSopenharmony_ci 6435bd8deadSopenharmony_ci - MANUAL_GENERATE_MIPMAP: The support for manually generating mipmaps for 6445bd8deadSopenharmony_ci the resource is returned in <params>. 6455bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 6465bd8deadSopenharmony_ci If the resource is not supported, or if the operation is not supported, 6475bd8deadSopenharmony_ci NONE is returned. 6485bd8deadSopenharmony_ci 6495bd8deadSopenharmony_ci - AUTO_GENERATE_MIPMAP: The support for automatic generation of mipmaps 6505bd8deadSopenharmony_ci for the resource is returned in <params>. 6515bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 6525bd8deadSopenharmony_ci If the resource is not supported, or if the operation is not supported, 6535bd8deadSopenharmony_ci NONE is returned. 6545bd8deadSopenharmony_ci 6555bd8deadSopenharmony_ci - COLOR_ENCODING: The color encoding for the resource is returned in 6565bd8deadSopenharmony_ci <params>. Possible values for color buffers are LINEAR or SRGB, 6575bd8deadSopenharmony_ci for linear or sRGB-encoded color components, respectively. For non-color 6585bd8deadSopenharmony_ci formats (such as depth or stencil), or for unsupported resources, 6595bd8deadSopenharmony_ci the value NONE is returned. 6605bd8deadSopenharmony_ci 6615bd8deadSopenharmony_ci - SRGB_READ: The support for converting from sRGB colorspace on read 6625bd8deadSopenharmony_ci operations (see section 3.9.18) from the resource is returned in 6635bd8deadSopenharmony_ci <params>. 6645bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 6655bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 6665bd8deadSopenharmony_ci 6675bd8deadSopenharmony_ci - SRGB_WRITE: The support for converting to sRGB colorspace on write 6685bd8deadSopenharmony_ci operations to the resource is returned in <params>. 6695bd8deadSopenharmony_ci This indicates that writing to framebuffers with this internalformat 6705bd8deadSopenharmony_ci will encode to sRGB color spaces when FRAMEBUFFER_SRGB is enabled (see 6715bd8deadSopenharmony_ci section 4.1.8). 6725bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 6735bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 6745bd8deadSopenharmony_ci 6755bd8deadSopenharmony_ci - SRGB_DECODE_ARB: The support for toggling whether sRGB decode happens at 6765bd8deadSopenharmony_ci sampling time (see EXT/ARB_texture_sRGB_decode) for the resource is 6775bd8deadSopenharmony_ci returned in <params>. 6785bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 6795bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 6805bd8deadSopenharmony_ci 6815bd8deadSopenharmony_ci - FILTER: The support for filter types other than NEAREST or 6825bd8deadSopenharmony_ci NEAREST_MIPMAP_NEAREST for the resource is written to <params>. 6835bd8deadSopenharmony_ci This indicates if sampling from such resources supports setting the 6845bd8deadSopenharmony_ci MIN/MAG filters to LINEAR values. 6855bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 6865bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 6875bd8deadSopenharmony_ci 6885bd8deadSopenharmony_ci - VERTEX_TEXTURE: The support for using the resource as a source for 6895bd8deadSopenharmony_ci texture sampling in a vertex shader is written to <params>. 6905bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 6915bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 6925bd8deadSopenharmony_ci 6935bd8deadSopenharmony_ci - TESS_CONTROL_TEXTURE: The support for using the resource as a source for 6945bd8deadSopenharmony_ci texture sampling in a tessellation control shader is written to <params>. 6955bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 6965bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 6975bd8deadSopenharmony_ci 6985bd8deadSopenharmony_ci - TESS_EVALUATION_TEXTURE: The support for using the resource as a source 6995bd8deadSopenharmony_ci for texture sampling in a tessellation evaluation shader is written to 7005bd8deadSopenharmony_ci <params>. 7015bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 7025bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 7035bd8deadSopenharmony_ci 7045bd8deadSopenharmony_ci - GEOMETRY_TEXTURE: The support for using the resource as a source for 7055bd8deadSopenharmony_ci texture sampling in a geometry shader is written to <params>. 7065bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 7075bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 7085bd8deadSopenharmony_ci 7095bd8deadSopenharmony_ci - FRAGMENT_TEXTURE: The support for using the resource as a source for 7105bd8deadSopenharmony_ci texture sampling in a fragment shader is written to <params>. 7115bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 7125bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 7135bd8deadSopenharmony_ci 7145bd8deadSopenharmony_ci - COMPUTE_TEXTURE: The support for using the resource as a source for 7155bd8deadSopenharmony_ci texture sampling in a compute shader is written to <params>. 7165bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 7175bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 7185bd8deadSopenharmony_ci 7195bd8deadSopenharmony_ci - TEXTURE_SHADOW: The support for using the resource with shadow samplers 7205bd8deadSopenharmony_ci is written to <params>. 7215bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 7225bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 7235bd8deadSopenharmony_ci 7245bd8deadSopenharmony_ci - TEXTURE_GATHER: The support for using the resource with texture gather 7255bd8deadSopenharmony_ci operations is written to <params>. 7265bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 7275bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 7285bd8deadSopenharmony_ci 7295bd8deadSopenharmony_ci - TEXTURE_GATHER_SHADOW: The support for using resource with texture gather 7305bd8deadSopenharmony_ci operations with shadow samplers is written to <params>. 7315bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 7325bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 7335bd8deadSopenharmony_ci 7345bd8deadSopenharmony_ci - SHADER_IMAGE_LOAD: The support for using the resource with image load 7355bd8deadSopenharmony_ci operations in shaders is written to <params>. 7365bd8deadSopenharmony_ci In this case the <internalformat> is the value of the <format> parameter 7375bd8deadSopenharmony_ci that would be passed to BindImageTexture. 7385bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 7395bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 7405bd8deadSopenharmony_ci 7415bd8deadSopenharmony_ci - SHADER_IMAGE_STORE: The support for using the resource with image store 7425bd8deadSopenharmony_ci operations in shaders is written to <params>. 7435bd8deadSopenharmony_ci In this case the <internalformat> is the value of the <format> parameter 7445bd8deadSopenharmony_ci that is passed to BindImageTexture. 7455bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 7465bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 7475bd8deadSopenharmony_ci 7485bd8deadSopenharmony_ci - SHADER_IMAGE_ATOMIC: The support for using the resource with atomic 7495bd8deadSopenharmony_ci memory operations from shaders is written to <params>. 7505bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 7515bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 7525bd8deadSopenharmony_ci 7535bd8deadSopenharmony_ci - IMAGE_TEXEL_SIZE: The size of a texel when the resource when used as 7545bd8deadSopenharmony_ci an image texture is returned in <params>. This is the value from the 7555bd8deadSopenharmony_ci /Size/ column in Table 3.22. If the resource is not supported for image 7565bd8deadSopenharmony_ci textures, or if image textures are not supported, zero is returned. 7575bd8deadSopenharmony_ci 7585bd8deadSopenharmony_ci - IMAGE_COMPATIBILITY_CLASS: The compatibility class of the resource when 7595bd8deadSopenharmony_ci used as an image texture is returned in <params>. This corresponds to 7605bd8deadSopenharmony_ci the value from the /Class/ column in Table 3.22. The possible values 7615bd8deadSopenharmony_ci returned are IMAGE_CLASS_4_X_32, IMAGE_CLASS_2_X_32, IMAGE_CLASS_1_X_32, 7625bd8deadSopenharmony_ci IMAGE_CLASS_4_X_16, IMAGE_CLASS_2_X_16, IMAGE_CLASS_1_X_16, 7635bd8deadSopenharmony_ci IMAGE_CLASS_4_X_8, IMAGE_CLASS_2_X_8, IMAGE_CLASS_1_X_8, 7645bd8deadSopenharmony_ci IMAGE_CLASS_11_11_10, and IMAGE_CLASS_10_10_10_2, which correspond to 7655bd8deadSopenharmony_ci the 4x32, 2x32, 1x32, 4x16, 2x16, 1x16, 4x8, 2x8, 1x8, the class 7665bd8deadSopenharmony_ci (a) 11/11/10 packed floating-point format, and the class (b) 7675bd8deadSopenharmony_ci 10/10/10/2 packed formats, respectively. 7685bd8deadSopenharmony_ci If the resource is not supported for image textures, or if image 7695bd8deadSopenharmony_ci textures are not supported, NONE is returned. 7705bd8deadSopenharmony_ci 7715bd8deadSopenharmony_ci - IMAGE_PIXEL_FORMAT: The pixel format of the resource when used as an 7725bd8deadSopenharmony_ci image texture is returned in <params>. This is the value 7735bd8deadSopenharmony_ci from the /Pixel format/ column in Table 3.22. If the resource is not 7745bd8deadSopenharmony_ci supported for image textures, or if image textures are not supported, 7755bd8deadSopenharmony_ci NONE is returned. 7765bd8deadSopenharmony_ci 7775bd8deadSopenharmony_ci - IMAGE_PIXEL_TYPE: The pixel type of the resource when used as an 7785bd8deadSopenharmony_ci image texture is returned in <params>. This is the value from 7795bd8deadSopenharmony_ci the /Pixel type/ column in Table 3.22. If the resource is not supported 7805bd8deadSopenharmony_ci for image textures, or if image textures are not supported, NONE is 7815bd8deadSopenharmony_ci returned. 7825bd8deadSopenharmony_ci 7835bd8deadSopenharmony_ci - IMAGE_FORMAT_COMPATIBILITY_TYPE: The matching criteria use for the 7845bd8deadSopenharmony_ci resource when used as an image textures is returned in <params>. This 7855bd8deadSopenharmony_ci is equivalent to calling GetTexParameter with <value> set to 7865bd8deadSopenharmony_ci IMAGE_FORMAT_COMPATIBILITY_TYPE. Possible values are 7875bd8deadSopenharmony_ci IMAGE_FORMAT_COMPATIBILITY_BY_SIZE or IMAGE_FORMAT_COMPATIBILITY_BY_CLASS. 7885bd8deadSopenharmony_ci If the resource is not supported for image textures, or if image textures 7895bd8deadSopenharmony_ci are not supported, NONE is returned. 7905bd8deadSopenharmony_ci 7915bd8deadSopenharmony_ci - SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST: The support for using the resource 7925bd8deadSopenharmony_ci both as a source for texture sampling while it is bound as a buffer for 7935bd8deadSopenharmony_ci depth test is written to <params>. For example, a depth (or stencil) 7945bd8deadSopenharmony_ci texture could be bound simultaneously for texturing while it is bound as 7955bd8deadSopenharmony_ci a depth (and/or stencil) buffer without causing a feedback loop, provided 7965bd8deadSopenharmony_ci that depth writes are disabled. 7975bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 7985bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 7995bd8deadSopenharmony_ci 8005bd8deadSopenharmony_ci - SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST: The support for using the resource 8015bd8deadSopenharmony_ci both as a source for texture sampling while it is bound as a buffer for 8025bd8deadSopenharmony_ci stencil test is written to <params>. For example, a depth (or stencil) 8035bd8deadSopenharmony_ci texture could be bound simultaneously for texturing while it is bound as 8045bd8deadSopenharmony_ci a depth (and/or stencil) buffer without causing a feedback loop, 8055bd8deadSopenharmony_ci provided that stencil writes are disabled. 8065bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 8075bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 8085bd8deadSopenharmony_ci 8095bd8deadSopenharmony_ci - SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE: The support for using the resource 8105bd8deadSopenharmony_ci both as a source for texture sampling while performing depth writes to 8115bd8deadSopenharmony_ci the resources is written to <params>. For example, a depth-stencil 8125bd8deadSopenharmony_ci texture could be bound simultaneously for stencil texturing while it 8135bd8deadSopenharmony_ci is bound as a depth buffer. Feedback loops cannot occur because sampling 8145bd8deadSopenharmony_ci a stencil texture only returns the stencil portion, and thus writes to 8155bd8deadSopenharmony_ci the depth buffer do not modify the stencil portions. 8165bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 8175bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 8185bd8deadSopenharmony_ci 8195bd8deadSopenharmony_ci - SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE: The support for using the resource 8205bd8deadSopenharmony_ci both as a source for texture sampling while performing stencil writes to 8215bd8deadSopenharmony_ci the resources is written to <params>. For example, a depth-stencil 8225bd8deadSopenharmony_ci texture could be bound simultaneously for depth-texturing while it is 8235bd8deadSopenharmony_ci bound as a stencil buffer. Feedback loops cannot occur because sampling 8245bd8deadSopenharmony_ci a depth texture only returns the depth portion, and thus writes to 8255bd8deadSopenharmony_ci the stencil buffer could not modify the depth portions. 8265bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 8275bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 8285bd8deadSopenharmony_ci 8295bd8deadSopenharmony_ci - TEXTURE_COMPRESSED: If <internalformat> is a compressed format 8305bd8deadSopenharmony_ci that is supported for this type of resource, TRUE is returned in 8315bd8deadSopenharmony_ci <params>. If the internal format is not compressed, or the type of 8325bd8deadSopenharmony_ci resource is not supported, FALSE is returned. 8335bd8deadSopenharmony_ci 8345bd8deadSopenharmony_ci - TEXTURE_COMPRESSED_BLOCK_WIDTH: If the resource contains a compressed 8355bd8deadSopenharmony_ci format, the width of a compressed block (in bytes) is returned in 8365bd8deadSopenharmony_ci <params>. If the internal format is not compressed, or the resource 8375bd8deadSopenharmony_ci is not supported, 0 is returned. 8385bd8deadSopenharmony_ci 8395bd8deadSopenharmony_ci - TEXTURE_COMPRESSED_BLOCK_HEIGHT: If the resource contains a compressed 8405bd8deadSopenharmony_ci format, the height of a compressed block (in bytes) is returned in 8415bd8deadSopenharmony_ci <params>. If the internal format is not compressed, or the resource 8425bd8deadSopenharmony_ci is not supported, 0 is returned. 8435bd8deadSopenharmony_ci 8445bd8deadSopenharmony_ci - TEXTURE_COMPRESSED_BLOCK_SIZE: If the resource contains a compressed 8455bd8deadSopenharmony_ci format the number of bytes per block is returned in <params>. If the 8465bd8deadSopenharmony_ci internal format is not compressed, or the resource is not supported, 8475bd8deadSopenharmony_ci 0 is returned. 8485bd8deadSopenharmony_ci (combined with the above, allows the bitrate to be computed, and may be 8495bd8deadSopenharmony_ci useful in conjunction with ARB_compressed_texture_pixel_storage). 8505bd8deadSopenharmony_ci 8515bd8deadSopenharmony_ci - CLEAR_BUFFER: The support for using the resource with ClearBuffer*Data 8525bd8deadSopenharmony_ci commands is returned in <params>. 8535bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 8545bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 8555bd8deadSopenharmony_ci 8565bd8deadSopenharmony_ci - TEXTURE_VIEW: The support for using the resource with the TextureView 8575bd8deadSopenharmony_ci command is returned in <params>. 8585bd8deadSopenharmony_ci Possible values returned are FULL_SUPPORT, CAVEAT_SUPPORT, or NONE. 8595bd8deadSopenharmony_ci If the resource or operation is not supported, NONE is returned. 8605bd8deadSopenharmony_ci 8615bd8deadSopenharmony_ci - VIEW_COMPATIBILITY_CLASS: The compatibility class of the resource when 8625bd8deadSopenharmony_ci used as a texture view is returned in <params>. The compatibility 8635bd8deadSopenharmony_ci class is one of the values from the /Class/ column of Table 3.X.2 8645bd8deadSopenharmony_ci (added by the ARB_texture_view extension). If 8655bd8deadSopenharmony_ci the resource has no other formats that are compatible, the resource 8665bd8deadSopenharmony_ci does not support views, or if texture views are not supported, NONE is 8675bd8deadSopenharmony_ci returned. 8685bd8deadSopenharmony_ci 8695bd8deadSopenharmony_ci If <pname> is not one of the preceeding names, the error INVALID_ENUM 8705bd8deadSopenharmony_ci is generated." 8715bd8deadSopenharmony_ci 8725bd8deadSopenharmony_ciAdditions to Appendix A of the OpenGL 4.2 (Core Profile) Specification 8735bd8deadSopenharmony_ci(Invariance) 8745bd8deadSopenharmony_ci 8755bd8deadSopenharmony_ci None. 8765bd8deadSopenharmony_ci 8775bd8deadSopenharmony_ciAdditions to Appendix D of the OpenGL 4.2 (Core Profile) Specification 8785bd8deadSopenharmony_ci(Shared Objects and Multiple Contexts) 8795bd8deadSopenharmony_ci 8805bd8deadSopenharmony_ci None. 8815bd8deadSopenharmony_ci 8825bd8deadSopenharmony_ciGLX Protocol 8835bd8deadSopenharmony_ci 8845bd8deadSopenharmony_ci XXX - TODO. 8855bd8deadSopenharmony_ci 8865bd8deadSopenharmony_ciDependencies on OpenGL ES 2.0 8875bd8deadSopenharmony_ci Queries involving any of the following enums for <target>: 8885bd8deadSopenharmony_ci - TEXTURE_1D 8895bd8deadSopenharmony_ci - TEXTURE_3D 8905bd8deadSopenharmony_ci - TEXTURE_1D_ARRAY, TEXTURE_2D_ARRAY, TEXTURE_CUBE_MAP_ARRAY 8915bd8deadSopenharmony_ci - TEXTURE_2D_MULTISAMPLE, TEXTURE_2D_MULTISAMPLE_ARRAY 8925bd8deadSopenharmony_ci - TEXTURE_RECTANGLE 8935bd8deadSopenharmony_ci - TEXTURE_BUFFER 8945bd8deadSopenharmony_ci or any of the following <pnames>: 8955bd8deadSopenharmony_ci - GET_TEXTURE_IMAGE_FORMAT, GET_TEXTURE_IMAGE_TYPE 8965bd8deadSopenharmony_ci - MAX_LAYERS 8975bd8deadSopenharmony_ci - FRAMEBUFFER_RENDERABLE_LAYERED 8985bd8deadSopenharmony_ci - AUTO_GENERATE_MIPMAP 8995bd8deadSopenharmony_ci - SRGB_READ, SRGB_WRITE 9005bd8deadSopenharmony_ci - TESS_CONTROL_TEXTURE, TESS_EVALUATION_TEXTURE 9015bd8deadSopenharmony_ci - GEOMETRY_TEXTURE 9025bd8deadSopenharmony_ci - COMPUTE_TEXTURE 9035bd8deadSopenharmony_ci - TEXTURE_SHADOW, TEXTURE_GATHER, TEXTURE_GATHER_SHADOW 9045bd8deadSopenharmony_ci - SHADER_IMAGE_LOAD, SHADER_IMAGE_STORE, SHADER_IMAGE_ATOMIC 9055bd8deadSopenharmony_ci - IMAGE_TEXEL_SIZE, IMAGE_PIXEL_FORMAT, IMAGE_PIXEL_TYPE 9065bd8deadSopenharmony_ci - IMAGE_COMPATIBILITY_CLASS, IMAGE_FORMAT_COMPATIBILITY_TYPE 9075bd8deadSopenharmony_ci - CLEAR_BUFFER 9085bd8deadSopenharmony_ci - TEXTURE_VIEW, VIEW_COMPATIBILITY_CLASS 9095bd8deadSopenharmony_ci return the appropriate "unsupported" response. 9105bd8deadSopenharmony_ci Queries for unsupported features/targets do NOT set errors. 9115bd8deadSopenharmony_ci 9125bd8deadSopenharmony_ciDependencies on OES_texture_3D 9135bd8deadSopenharmony_ci - adds support for TEXTURE_3D targets in OpenGL ES 2.0 implementations. 9145bd8deadSopenharmony_ci 9155bd8deadSopenharmony_ciDependencies on OpenGL ES 3.0 9165bd8deadSopenharmony_ci Queries involving any of the following enums for <target>: 9175bd8deadSopenharmony_ci - TEXTURE_1D 9185bd8deadSopenharmony_ci - TEXTURE_1D_ARRAY, TEXTURE_CUBE_MAP_ARRAY 9195bd8deadSopenharmony_ci - TEXTURE_2D_MULTISAMPLE, TEXTURE_2D_MULTISAMPLE_ARRAY 9205bd8deadSopenharmony_ci - TEXTURE_RECTANGLE 9215bd8deadSopenharmony_ci - TEXTURE_BUFFER 9225bd8deadSopenharmony_ci or any of the following <pnames>: 9235bd8deadSopenharmony_ci - GET_TEXTURE_IMAGE_FORMAT, GET_TEXTURE_IMAGE_TYPE 9245bd8deadSopenharmony_ci - AUTO_GENERATE_MIPMAP 9255bd8deadSopenharmony_ci - TESS_CONTROL_TEXTURE, TESS_EVALUATION_TEXTURE 9265bd8deadSopenharmony_ci - GEOMETRY_TEXTURE 9275bd8deadSopenharmony_ci - COMPUTE_TEXTURE 9285bd8deadSopenharmony_ci - TEXTURE_GATHER, TEXTURE_GATHER_SHADOW 9295bd8deadSopenharmony_ci - SHADER_IMAGE_LOAD, SHADER_IMAGE_STORE, SHADER_IMAGE_ATOMIC 9305bd8deadSopenharmony_ci - IMAGE_TEXEL_SIZE, IMAGE_PIXEL_FORMAT, IMAGE_PIXEL_TYPE 9315bd8deadSopenharmony_ci - IMAGE_COMPATIBILITY_CLASS, IMAGE_FORMAT_COMPATIBILITY_TYPE 9325bd8deadSopenharmony_ci - CLEAR_BUFFER 9335bd8deadSopenharmony_ci - TEXTURE_VIEW, VIEW_COMPATIBILITY_CLASS 9345bd8deadSopenharmony_ci return the appropriate "unsupported" response. 9355bd8deadSopenharmony_ci Queries for unsupported features/targets do NOT set errors. 9365bd8deadSopenharmony_ci 9375bd8deadSopenharmony_ci If the <pname> is SRGB_WRITE, ignore references to FRAMEBUFFER_SRGB. 9385bd8deadSopenharmony_ci 9395bd8deadSopenharmony_ciDependencies on OpenGL 2.0 9405bd8deadSopenharmony_ci Queries involving any of the following enums for <target>: 9415bd8deadSopenharmony_ci - TEXTURE_1D_ARRAY, TEXTURE_2D_ARRAY, TEXTURE_CUBE_MAP_ARRAY 9425bd8deadSopenharmony_ci - TEXTURE_2D_MULTISAMPLE, TEXTURE_2D_MULTISAMPLE_ARRAY 9435bd8deadSopenharmony_ci - TEXTURE_RECTANGLE 9445bd8deadSopenharmony_ci - TEXTURE_BUFFER 9455bd8deadSopenharmony_ci - RENDERBUFFER 9465bd8deadSopenharmony_ci or any of the following <pnames>: 9475bd8deadSopenharmony_ci - MAX_LAYERS 9485bd8deadSopenharmony_ci - FRAMEBUFFER_RENDERABLE 9495bd8deadSopenharmony_ci - FRAMEBUFFER_RENDERABLE_LAYERED 9505bd8deadSopenharmony_ci - FRAMEBUFFER_BLEND 9515bd8deadSopenharmony_ci - MANUAL_GENERATE_MIPMAP 9525bd8deadSopenharmony_ci - SRGB_READ, SRGB_WRITE 9535bd8deadSopenharmony_ci - TESS_CONTROL_TEXTURE, TESS_EVALUATION_TEXTURE 9545bd8deadSopenharmony_ci - GEOMETRY_TEXTURE 9555bd8deadSopenharmony_ci - COMPUTE_TEXTURE 9565bd8deadSopenharmony_ci - TEXTURE_SHADOW, TEXTURE_GATHER, TEXTURE_GATHER_SHADOW 9575bd8deadSopenharmony_ci - SHADER_IMAGE_LOAD, SHADER_IMAGE_STORE, SHADER_IMAGE_ATOMIC 9585bd8deadSopenharmony_ci - IMAGE_TEXEL_SIZE, IMAGE_PIXEL_FORMAT, IMAGE_PIXEL_TYPE 9595bd8deadSopenharmony_ci - IMAGE_COMPATIBILITY_CLASS, IMAGE_FORMAT_COMPATIBILITY_TYPE 9605bd8deadSopenharmony_ci - CLEAR_BUFFER 9615bd8deadSopenharmony_ci - TEXTURE_VIEW, VIEW_COMPATIBILITY_CLASS 9625bd8deadSopenharmony_ci return the appropriate "unsupported" response. 9635bd8deadSopenharmony_ci Queries for unsupported features/targets do NOT set errors. 9645bd8deadSopenharmony_ci 9655bd8deadSopenharmony_ciDependencies on OpenGL 3.0 9665bd8deadSopenharmony_ci Queries involving any of the following enums for <target>: 9675bd8deadSopenharmony_ci - TEXTURE_CUBE_MAP_ARRAY 9685bd8deadSopenharmony_ci - TEXTURE_2D_MULTISAMPLE, TEXTURE_2D_MULTISAMPLE_ARRAY 9695bd8deadSopenharmony_ci - TEXTURE_RECTANGLE 9705bd8deadSopenharmony_ci - TEXTURE_BUFFER 9715bd8deadSopenharmony_ci or any of the following <pnames>: 9725bd8deadSopenharmony_ci - TESS_CONTROL_TEXTURE, TESS_EVALUATION_TEXTURE 9735bd8deadSopenharmony_ci - GEOMETRY_TEXTURE 9745bd8deadSopenharmony_ci - COMPUTE_TEXTURE 9755bd8deadSopenharmony_ci - TEXTURE_SHADOW, TEXTURE_GATHER, TEXTURE_GATHER_SHADOW 9765bd8deadSopenharmony_ci - SHADER_IMAGE_LOAD, SHADER_IMAGE_STORE, SHADER_IMAGE_ATOMIC 9775bd8deadSopenharmony_ci - IMAGE_TEXEL_SIZE, IMAGE_PIXEL_FORMAT, IMAGE_PIXEL_TYPE 9785bd8deadSopenharmony_ci - IMAGE_COMPATIBILITY_CLASS, IMAGE_FORMAT_COMPATIBILITY_TYPE 9795bd8deadSopenharmony_ci - CLEAR_BUFFER 9805bd8deadSopenharmony_ci - TEXTURE_VIEW, VIEW_COMPATIBILITY_CLASS 9815bd8deadSopenharmony_ci return the appropriate "unsupported" response. 9825bd8deadSopenharmony_ci Queries for unsupported features/targets do NOT set errors. 9835bd8deadSopenharmony_ci 9845bd8deadSopenharmony_ciDependencies on OpenGL 3.2 (Core Profile) 9855bd8deadSopenharmony_ci In core profiles for OpenGL 3.2 and later versions, queries 9865bd8deadSopenharmony_ci for the AUTO_GENERATE_MIPMAP <pname> return the appropriate 9875bd8deadSopenharmony_ci unsupported response. 9885bd8deadSopenharmony_ci 9895bd8deadSopenharmony_ciDependencies on OpenGL 4.0 9905bd8deadSopenharmony_ci Queries involving any of the following <pnames>: 9915bd8deadSopenharmony_ci - COMPUTE_TEXTURE 9925bd8deadSopenharmony_ci - SHADER_IMAGE_LOAD, SHADER_IMAGE_STORE, SHADER_IMAGE_ATOMIC 9935bd8deadSopenharmony_ci - IMAGE_TEXEL_SIZE, IMAGE_PIXEL_FORMAT, IMAGE_PIXEL_TYPE 9945bd8deadSopenharmony_ci - IMAGE_COMPATIBILITY_CLASS, IMAGE_FORMAT_COMPATIBILITY_TYPE 9955bd8deadSopenharmony_ci - CLEAR_BUFFER 9965bd8deadSopenharmony_ci - TEXTURE_VIEW, VIEW_COMPATIBILITY_CLASS 9975bd8deadSopenharmony_ci return the appropriate "unsupported" response. 9985bd8deadSopenharmony_ci Queries for unsupported features/targets do NOT set errors. 9995bd8deadSopenharmony_ci 10005bd8deadSopenharmony_ciDependencies on ARB_framebuffer_object 10015bd8deadSopenharmony_ci If ARB_framebuffer_object, EXT_framebuffer_object or equivalent 10025bd8deadSopenharmony_ci functionality is not supported, queries involving the RENDERBUFFER 10035bd8deadSopenharmony_ci <target> or the following <pnames>: 10045bd8deadSopenharmony_ci - FRAMEBUFFER_RENDERABLE 10055bd8deadSopenharmony_ci - FRAMEBUFFER_RENDERABLE_LAYERED 10065bd8deadSopenharmony_ci - FRAMEBUFFER_BLEND 10075bd8deadSopenharmony_ci - MANUAL_GENERATE_MIPMAP 10085bd8deadSopenharmony_ci return the appropriate "unsupported" response. 10095bd8deadSopenharmony_ci 10105bd8deadSopenharmony_ciDependencies on EXT_texture_sRGB 10115bd8deadSopenharmony_ci If EXT_texture_sRGB or equivalent functionality is not supported, 10125bd8deadSopenharmony_ci queries for the SRGB_READ <pname> and for sRGB internalformats 10135bd8deadSopenharmony_ci return the appropriate "unsupported" response. 10145bd8deadSopenharmony_ci 10155bd8deadSopenharmony_ciDependencies on ARB_framebuffer_sRGB 10165bd8deadSopenharmony_ci If ARB_framebuffer_sRGB or equivalent functionality is not supported, 10175bd8deadSopenharmony_ci queries for the SRGB_WRITE <pname> return the appropriate "unsupported" 10185bd8deadSopenharmony_ci response. 10195bd8deadSopenharmony_ci 10205bd8deadSopenharmony_ciDependencies on ARB/EXT_texture_sRGB_decode 10215bd8deadSopenharmony_ci If ARB_texture_sRGB_decode or EXT_texture_sRGB_decode or equivalent 10225bd8deadSopenharmony_ci functionality is not supported, queries for the SRGB_DECODE_ARB <pname> 10235bd8deadSopenharmony_ci set the INVALID_ENUM error. (N.B. this is different from all other 10245bd8deadSopenharmony_ci extension interactions because this functionality is not present 10255bd8deadSopenharmony_ci in any core specification, and thus it behaves as an unrecognized 10265bd8deadSopenharmony_ci token rather than as an unsupported feature.) 10275bd8deadSopenharmony_ci 10285bd8deadSopenharmony_ciDependencies on ARB_tessellation_shader 10295bd8deadSopenharmony_ci If ARB_tessellation_shader or equivalent functionality is not supported, 10305bd8deadSopenharmony_ci queries for the TESS_CONTROL_TEXTURE and TESS_EVALUATION_TEXTURE <pnames>, 10315bd8deadSopenharmony_ci return the appropriate "unsupported" response. 10325bd8deadSopenharmony_ci 10335bd8deadSopenharmony_ciDependencies on ARB_geometry_shader4 10345bd8deadSopenharmony_ci If ARB_geometry_shader4 or equivalent functionality is not supported, 10355bd8deadSopenharmony_ci queries for the GEOMETRY_TEXTURE <pname> will return the appropriate 10365bd8deadSopenharmony_ci "unsupported" response. 10375bd8deadSopenharmony_ci 10385bd8deadSopenharmony_ciDependencies on ARB_compute_shader 10395bd8deadSopenharmony_ci If ARB_compute_shader or equivalent functionality is not supported, 10405bd8deadSopenharmony_ci queries for the COMPUTE_TEXTURE <pname> will return the appropriate 10415bd8deadSopenharmony_ci "unsupported" response. 10425bd8deadSopenharmony_ci 10435bd8deadSopenharmony_ciDependencies on EXT_texture_array 10445bd8deadSopenharmony_ci If EXT_texture_array or equivalent functionality is not supported, 10455bd8deadSopenharmony_ci queries for the TEXTURE_1D_ARRAY and TEXTURE_2D_ARRAY <targets> and 10465bd8deadSopenharmony_ci for the FRAMEBUFFER_RENDERABLE_LAYERED <pname> return the appropriate 10475bd8deadSopenharmony_ci "unsupported" response. In addition, the MAX_LAYERS query will return 10485bd8deadSopenharmony_ci zero. 10495bd8deadSopenharmony_ci 10505bd8deadSopenharmony_ciDependencies on ARB_texture_cube_map_array 10515bd8deadSopenharmony_ci If ARB_texture_cube_map_array or equivalent functionality is not supported, 10525bd8deadSopenharmony_ci queries for the TEXTURE_CUBE_MAP_ARRAY <target> will return the 10535bd8deadSopenharmony_ci appropriate "unsupported" response. 10545bd8deadSopenharmony_ci 10555bd8deadSopenharmony_ciDependencies on ARB_texture_multisample 10565bd8deadSopenharmony_ci If ARB_texture_multisample or equivalent functionality is not supported, 10575bd8deadSopenharmony_ci queries for the TEXTURE_2D_MULTISAMPLE or TEXTURE_2D_MULTISAMPLE_ARRAY 10585bd8deadSopenharmony_ci <target> parameter will return the appropriate unsupported response. 10595bd8deadSopenharmony_ci 10605bd8deadSopenharmony_ciDependencies on ARB_texture_rectangle 10615bd8deadSopenharmony_ci If ARB_texture_rectange or equivalent functionality is not supported, 10625bd8deadSopenharmony_ci queries for the TEXTURE_RECTANGLE <target> parameter will return the 10635bd8deadSopenharmony_ci appropriate unsupported response. 10645bd8deadSopenharmony_ci 10655bd8deadSopenharmony_ciDependencies on ARB_texture_buffer_object 10665bd8deadSopenharmony_ci If ARB_texture_buffer_object or equivalent functionality is not supported, 10675bd8deadSopenharmony_ci queries for the TEXTURE_BUFFER <target> parameter will return the 10685bd8deadSopenharmony_ci appropriate unsupported response. Ignore all references to TexBuffer. 10695bd8deadSopenharmony_ci 10705bd8deadSopenharmony_ciDependencies on ARB_texture_gather 10715bd8deadSopenharmony_ci If ARB_texture_gather or equivalent functionality is not supported, 10725bd8deadSopenharmony_ci queries for the TEXTURE_GATHER <pname> return the appropriate 10735bd8deadSopenharmony_ci unsupported response. 10745bd8deadSopenharmony_ci 10755bd8deadSopenharmony_ciDependecies on ARB_debug_output 10765bd8deadSopenharmony_ci If ARB_debug_output, KHR_debug or equivalent functionality is not 10775bd8deadSopenharmony_ci supported, ignore all references to debug output messages. 10785bd8deadSopenharmony_ci 10795bd8deadSopenharmony_ciDependencies on ARB_clear_buffer_object 10805bd8deadSopenharmony_ci If ARB_clear_buffer_object or equivalent functionality is not supported, 10815bd8deadSopenharmony_ci queries for the CLEAR_BUFFER <pname> return the appropriate 10825bd8deadSopenharmony_ci unsupported response. Ignore all references to ClearBufferData and 10835bd8deadSopenharmony_ci ClearBufferSubData, ClearNamedBufferDataEXT, and ClearNamedBufferSubDataEXT. 10845bd8deadSopenharmony_ci 10855bd8deadSopenharmony_ciDependencies on ARB_texture_compression_bptc 10865bd8deadSopenharmony_ci If ARB_texture_compression_bptc or equivalent functionality is not 10875bd8deadSopenharmony_ci supported, ignore all references to VIEW_CLASS_BPTC_UNORM and 10885bd8deadSopenharmony_ci VIEW_CLASS_BPTC_FLOAT. 10895bd8deadSopenharmony_ci 10905bd8deadSopenharmony_ciDependencies on ARB_texture_compression_rgtc 10915bd8deadSopenharmony_ci If ARB_texture_compression_rgtc or equivalent functionality is not 10925bd8deadSopenharmony_ci supported, ignore all references to VIEW_CLASS_RGTC1_RED and 10935bd8deadSopenharmony_ci VIEW_CLASS_RGTC2_RG. 10945bd8deadSopenharmony_ci 10955bd8deadSopenharmony_ciDependencies on ARB_ES3_compatibility 10965bd8deadSopenharmony_ci If ARB_ES3_compatibility or equivalent functionality is not supported, 10975bd8deadSopenharmony_ci ingore all references to VIEW_CLASS_EAC_R11, VIEW_CLASS_EAC_RG11, 10985bd8deadSopenharmony_ci VIEW_CLASS_ETC2_RGB, VIEW_CLASS_ETC2_RGBA, and VIEW_CLASS_ETC2_EAC_RGBA. 10995bd8deadSopenharmony_ci 11005bd8deadSopenharmony_ciDependencies on KHR_texture_compression_astc_ldr 11015bd8deadSopenharmony_ci If KHR_texture_compression_astc_ldr or equivalent functionality is not 11025bd8deadSopenharmony_ci supported, ignore all references to VIEW_CLASS_ASTC_4x4_RGBA, 11035bd8deadSopenharmony_ci VIEW_CLASS_ASTC_5x4_RGBA, VIEW_CLASS_ASTC_5x5_RGBA, 11045bd8deadSopenharmony_ci VIEW_CLASS_ASTC_6x5_RGBA, VIEW_CLASS_ASTC_6x6_RGBA, 11055bd8deadSopenharmony_ci VIEW_CLASS_ASTC_8x5_RGBA, VIEW_CLASS_ASTC_8x6_RGBA, VIEW_CLASS_ASTC_8x8_RGBA, 11065bd8deadSopenharmony_ci VIEW_CLASS_ASTC_10x5_RGBA, VIEW_CLASS_ASTC_10x6_RGBA, 11075bd8deadSopenharmony_ci VIEW_CLASS_ASTC_10x8_RGBA, VIEW_CLASS_ASTC_10x10_RGBA, 11085bd8deadSopenharmony_ci VIEW_CLASS_ASTC_12x10_RGBA, and VIEW_CLASS_ASTC_12x12_RGBA. 11095bd8deadSopenharmony_ci 11105bd8deadSopenharmony_ciDependencies on ARB_stencil_texturing 11115bd8deadSopenharmony_ci If ARB_stencil_texturing or equivalent functionality is not supported, 11125bd8deadSopenharmony_ci ignore all references to stencil texturing. 11135bd8deadSopenharmony_ci 11145bd8deadSopenharmony_ciDependencies on ARB_depth_texture and OES_depth_texture 11155bd8deadSopenharmony_ci If ARB_depth_texture, OES_depth_texture or equivalent functionality is 11165bd8deadSopenharmony_ci no supported, ignore all references to depth texturing. 11175bd8deadSopenharmony_ci 11185bd8deadSopenharmony_ciDependencies on ARB_texture_view 11195bd8deadSopenharmony_ci If ARB_texture_view or equivalent functionality is not supported, 11205bd8deadSopenharmony_ci queries for the TEXTURE_VIEW and VIEW_COMPATIBILITY_CLASS <pname> values 11215bd8deadSopenharmony_ci return the appropriate unsupported response. Ignore all references 11225bd8deadSopenharmony_ci to TextureView. 11235bd8deadSopenharmony_ci 11245bd8deadSopenharmony_ciDependencies on ARB_texture_storage 11255bd8deadSopenharmony_ci If ARB_texture_storage, EXT_texture_storage or equivalent functionality 11265bd8deadSopenharmony_ci is not supported, ignore all references to TexStorage1D, TexStorage2D, 11275bd8deadSopenharmony_ci TexStorage3D, TextureStorage1DEXT, TextureStorage2DEXT, and 11285bd8deadSopenharmony_ci TextureStorage3DEXT. 11295bd8deadSopenharmony_ci 11305bd8deadSopenharmony_ciDependencies on ARB_texture_storage_multisample 11315bd8deadSopenharmony_ci If ARB_texture_storage_multisample or equivalent functionality is not 11325bd8deadSopenharmony_ci supported, ignore all references to TexStorage2DMultisample, 11335bd8deadSopenharmony_ci TexImage3DMultisample, TextureStorage2DMultisampleEXT, and 11345bd8deadSopenharmony_ci TextureStorage3DMultisampleEXT. 11355bd8deadSopenharmony_ci 11365bd8deadSopenharmony_ciDependencies on ARB_shader_image_load_store 11375bd8deadSopenharmony_ci If ARB_shader_image_load_store or equivalent functionality is not 11385bd8deadSopenharmony_ci supported, queries for the following <pname> values: 11395bd8deadSopenharmony_ci - SHADER_IMAGE_LOAD 11405bd8deadSopenharmony_ci - SHADER_IMAGE_STORE 11415bd8deadSopenharmony_ci - SHADER_IMAGE_ATOMIC 11425bd8deadSopenharmony_ci - IMAGE_TEXEL_SIZE 11435bd8deadSopenharmony_ci - IMAGE_COMPATIBILITY_CLASS 11445bd8deadSopenharmony_ci - IMAGE_PIXEL_FORMAT 11455bd8deadSopenharmony_ci - IMAGE_PIXEL_TYPE 11465bd8deadSopenharmony_ci - IMAGE_FORMAT_COMPATIBILITY_TYPE 11475bd8deadSopenharmony_ci return the appropriate unsupported response. 11485bd8deadSopenharmony_ci Ignore all references to BindImageTexture. 11495bd8deadSopenharmony_ci 11505bd8deadSopenharmony_ciDependencies on EXT_direct_state_access 11515bd8deadSopenharmony_ci If EXT_direct_state_access or equivalent functionality is not supported, 11525bd8deadSopenharmony_ci ignore all references to: 11535bd8deadSopenharmony_ci ClearNamedBufferDataEXT, ClearNamedBufferSubDataEXT, 11545bd8deadSopenharmony_ci TextureImage1DEXT, TextureImage2DEXT, TextureImage3DEXT, 11555bd8deadSopenharmony_ci CopyTextureImage1DEXT, CopyTextureImage2DEXT, 11565bd8deadSopenharmony_ci MultiTexImage1DEXT, MultiTexImage2DEXT, MultiTexImage3DEXT, 11575bd8deadSopenharmony_ci CompressedTextureImage3DEXT, CompressedTextureImage2DEXT, 11585bd8deadSopenharmony_ci CompressedTextureImage1DEXT, CompressedMultiTexImage3DEXT, 11595bd8deadSopenharmony_ci CompressedMultiTexImage2DEXT, CompressedMultiTexImage1DEXT 11605bd8deadSopenharmony_ci TextureBufferEXT, MultiTexBufferEXT, 11615bd8deadSopenharmony_ci NamedRenderbufferStorageEXT, NamedRenderbufferStorageMultisampleEXT, 11625bd8deadSopenharmony_ci NamedRenderbufferStorageMultisampleCoverageEXT, 11635bd8deadSopenharmony_ci CopyMultiTexImage1DEXT, CopyMultiTexImage2DEXT, 11645bd8deadSopenharmony_ci TextureStorage1DEXT, TextureStorage2DEXT, TextureStorage3DEXT, 11655bd8deadSopenharmony_ci TextureStorage2DMultisampleEXT, and TextureStorage3DMultisampleEXT. 11665bd8deadSopenharmony_ci 11675bd8deadSopenharmony_ciDependencies on EXT_texture_compression_s3tc 11685bd8deadSopenharmony_ci If EXT_texture_compression_s3tc or equivalent functionality is not 11695bd8deadSopenharmony_ci supported, ignore all references to VIEW_CLASS_S3TC_DXT1_RGBA, 11705bd8deadSopenharmony_ci VIEW_CLASS_S3TC_DXT1_RGB, VIEW_CLASS_S3TC_DXT3_RGBA, and 11715bd8deadSopenharmony_ci VIEW_CLASS_S3TC_DXT5_RGBA. 11725bd8deadSopenharmony_ci 11735bd8deadSopenharmony_ciErrors 11745bd8deadSopenharmony_ci 11755bd8deadSopenharmony_ci The INVALID_ENUM error is generated if the <target> parameter to 11765bd8deadSopenharmony_ci GetInternalformati*v is not one of the targets listed in Table 6.xx. 11775bd8deadSopenharmony_ci 11785bd8deadSopenharmony_ci The INVALID_ENUM error is generated if the <pname> parameter is 11795bd8deadSopenharmony_ci not one of the listed possibilities. 11805bd8deadSopenharmony_ci 11815bd8deadSopenharmony_ciNew State 11825bd8deadSopenharmony_ci 11835bd8deadSopenharmony_ci None. 11845bd8deadSopenharmony_ci 11855bd8deadSopenharmony_ciNew Implementation Dependent State 11865bd8deadSopenharmony_ci 11875bd8deadSopenharmony_ci None. 11885bd8deadSopenharmony_ci 11895bd8deadSopenharmony_ciSample Code 11905bd8deadSopenharmony_ci 11915bd8deadSopenharmony_ci TBD 11925bd8deadSopenharmony_ci 11935bd8deadSopenharmony_ciConformance Tests 11945bd8deadSopenharmony_ci 11955bd8deadSopenharmony_ci TBD 11965bd8deadSopenharmony_ci 11975bd8deadSopenharmony_ciIssues 11985bd8deadSopenharmony_ci 11995bd8deadSopenharmony_ci 1) What should this extension be called? 12005bd8deadSopenharmony_ci 12015bd8deadSopenharmony_ci DISCUSSION: Some options that come to mind: 12025bd8deadSopenharmony_ci ARB_internalformat_query2 12035bd8deadSopenharmony_ci ARB_internalformat_query_extended 12045bd8deadSopenharmony_ci RESOLVED: use ARB_internalformat_query2. 12055bd8deadSopenharmony_ci 12065bd8deadSopenharmony_ci 2) Should the <internalformat> parameter take "base internal formats" from 12075bd8deadSopenharmony_ci Table 3.11, any of the "generic" compressed formats, or any other unsized 12085bd8deadSopenharmony_ci tokens? What about allowing *any* possible value for <internalformat> so 12095bd8deadSopenharmony_ci that list of formats queryable is not tied to any particular GL version? 12105bd8deadSopenharmony_ci 12115bd8deadSopenharmony_ci DISCUSSION: Tying the internalformats accepted to various tables in one 12125bd8deadSopenharmony_ci specific version of the spec makes it difficult to determine what should 12135bd8deadSopenharmony_ci be supported when this is implemented against other versions of the specs 12145bd8deadSopenharmony_ci and even worse when you consider extensions which add new formats but 12155bd8deadSopenharmony_ci which may not have updated the tables. 12165bd8deadSopenharmony_ci 12175bd8deadSopenharmony_ci RESOLVED: It will be simpler and more useful to allow the query to take 12185bd8deadSopenharmony_ci any enum value for the INTERNALFORMAT_SUPPORTED <pname> and then define 12195bd8deadSopenharmony_ci the behaviour of all the other queries in terms of "supported internal 12205bd8deadSopenharmony_ci formats". 12215bd8deadSopenharmony_ci 12225bd8deadSopenharmony_ci "base internal" formats, "generic compressed" formats and unsized 12235bd8deadSopenharmony_ci formats (such as RGBA or RGB_COMPRESSED) are all possible, provided the 12245bd8deadSopenharmony_ci implementation supports them for texture or image specification, and will 12255bd8deadSopenharmony_ci return appropriate information based on the internal format that the 12265bd8deadSopenharmony_ci particular implementation would map them to internally if used as such. 12275bd8deadSopenharmony_ci 12285bd8deadSopenharmony_ci 3 a) What if the combination of <target> and <pname> is invalid/nonsense 12295bd8deadSopenharmony_ci (e.g. any texture related query on RENDERBUFFER)? 12305bd8deadSopenharmony_ci b) What if the <target>/<pname> make sense, but the <internalformat> 12315bd8deadSopenharmony_ci does not for that <pname> (e.g. COLOR_ENCODING for non-color internal 12325bd8deadSopenharmony_ci format)? 12335bd8deadSopenharmony_ci 12345bd8deadSopenharmony_ci RESOLVED. If the combinations of parameters does not make sense the 12355bd8deadSopenharmony_ci reponse best representing "not supported" or "not applicable" is returned 12365bd8deadSopenharmony_ci as defined for each <pname>. 12375bd8deadSopenharmony_ci In general: 12385bd8deadSopenharmony_ci - size- or count-based queries will return zero, 12395bd8deadSopenharmony_ci - support-, format- or type-based queries will return NONE, 12405bd8deadSopenharmony_ci - boolean-based queries will return FALSE, and 12415bd8deadSopenharmony_ci - list-based queries return no entries. 12425bd8deadSopenharmony_ci 12435bd8deadSopenharmony_ci 4) Should we expose a way for an implementation to describe what the 12445bd8deadSopenharmony_ci caveats might be on a particular operation? 12455bd8deadSopenharmony_ci 12465bd8deadSopenharmony_ci RESOLVED. If ARB_debug_output or equivalent functionality is present 12475bd8deadSopenharmony_ci and enabled, the caveat will be written to the debug output log. 12485bd8deadSopenharmony_ci The message has the source DEBUG_SOURCE_API, the type 12495bd8deadSopenharmony_ci DEBUG_TYPE_PERFORMANCE, and an implementation-dependent ID. 12505bd8deadSopenharmony_ci 12515bd8deadSopenharmony_ci 5) Do layers generalize in the MAX_COMBINED_DIMENSIONS? How do cube map 12525bd8deadSopenharmony_ci faces and multisample resources work? 12535bd8deadSopenharmony_ci 12545bd8deadSopenharmony_ci RESOLVED. Yes layers generalize in the MAX_COMBINED_DIMENSIONS, as do 12555bd8deadSopenharmony_ci cube map faces and multiple samples. 12565bd8deadSopenharmony_ci The calculation for cube maps is: width x height x 6. 12575bd8deadSopenharmony_ci The calculation for cube map arrays is: width x height x layers x 6. 12585bd8deadSopenharmony_ci The calculation for 2D multisample arrays is: width x height x layers x samples. 12595bd8deadSopenharmony_ci 12605bd8deadSopenharmony_ci 6) Is the READ_PIXELS query useful, should we replace it with 12615bd8deadSopenharmony_ci READ_PIXELS_FORMAT and READ_PIXELS_TYPE, or have all three of them? 12625bd8deadSopenharmony_ci 12635bd8deadSopenharmony_ci RESOLVED. The READ_PIXELS_FORMAT and READ_PIXELS_TYPE queries have been 12645bd8deadSopenharmony_ci added. READ_PIXELS still has value because an implementation may want 12655bd8deadSopenharmony_ci to be able to report a caveat on the performance or lack of support. 12665bd8deadSopenharmony_ci 12675bd8deadSopenharmony_ci 7) There some <pnames> which it makes no sense to be qualified by 12685bd8deadSopenharmony_ci a per-format/target scope, how should we handle them? 12695bd8deadSopenharmony_ci e.g. MAX_WIDTH and MAX_HEIGHT might be the same for all formats. 12705bd8deadSopenharmony_ci e.g. properties like AUTO_GENERATE_MIPMAP and MANUAL_GENERATE_MIPMAP might 12715bd8deadSopenharmony_ci depend only on the GL version. 12725bd8deadSopenharmony_ci 12735bd8deadSopenharmony_ci DISCUSSION: 12745bd8deadSopenharmony_ci A) Just use this entry point as is, if there are no per-format or 12755bd8deadSopenharmony_ci target differences, it is perfectly acceptable to have the implementation 12765bd8deadSopenharmony_ci return the same information for all valid parameters. This does 12775bd8deadSopenharmony_ci allow implementations to report caveats that may exist for some 12785bd8deadSopenharmony_ci formats but not others, even though all formats/targets may be supported. 12795bd8deadSopenharmony_ci B) Introduce new entry point(s) which can report on some general 12805bd8deadSopenharmony_ci properties. 12815bd8deadSopenharmony_ci 12825bd8deadSopenharmony_ci RESOLVED: Option A, just the one entry point. It doesn't hurt to 12835bd8deadSopenharmony_ci give the implementation the ability to report more information. 12845bd8deadSopenharmony_ci 12855bd8deadSopenharmony_ci 8) In GL 4.2 MAX_TEXTURE_3D_SIZE is 2048 (2^11) so the 12865bd8deadSopenharmony_ci MAX_COMBINED_DIMENSIONS could be as high as 2^11*2^11*2^11 = 2^33. 12875bd8deadSopenharmony_ci The MAX_TEXTURE_SIZE is 16384 (2^14) and MAX_ARRAY_TEXTURE_LAYERS is 12885bd8deadSopenharmony_ci 2048 (2^11) so the MAX_COMBINED_DIMENSIONS could be 2^14*2^14*2^11 12895bd8deadSopenharmony_ci = 2^39. Thus it is possible for the combined dimensions to exceed 12905bd8deadSopenharmony_ci 32-bits. What should be reported in cases like this? 12915bd8deadSopenharmony_ci 12925bd8deadSopenharmony_ci DISCUSSION: If the max combined size is great than 2^32, the resource 12935bd8deadSopenharmony_ci could take at least 2^32 bytes or 4GB of memory. While it is currently 12945bd8deadSopenharmony_ci unlikely that implementation would actually support resources of this 12955bd8deadSopenharmony_ci size, it is plausible that within a few years it would be possible to 12965bd8deadSopenharmony_ci exceed this with a single allocation. Possible alternatives: 12975bd8deadSopenharmony_ci A) Saturate the reported value at a max of 2^31 (since <pname> is GLint). 12985bd8deadSopenharmony_ci B) Add a 64-bit version of the query. 12995bd8deadSopenharmony_ci C) Add a HI and LO query to allow generatation of a 64-bit value. 13005bd8deadSopenharmony_ci D) Remove this query. 13015bd8deadSopenharmony_ci E) use other units? (MB) 13025bd8deadSopenharmony_ci 13035bd8deadSopenharmony_ci Some other APIs have a maximum allocation size which may be 128 MB or 13045bd8deadSopenharmony_ci 1/4 or the dedicated VRAM. Option A is not very appealing since it 13055bd8deadSopenharmony_ci limits the usefulness of the query when it is most needed. No interest 13065bd8deadSopenharmony_ci in Option C. Option E is undesireable since it is too granular for 13075bd8deadSopenharmony_ci lower-dimensioned resources. General consensus was either option B or D. 13085bd8deadSopenharmony_ci 13095bd8deadSopenharmony_ci RESOLVED: Option B is specified as it is expected that is query will 13105bd8deadSopenharmony_ci be useful. 13115bd8deadSopenharmony_ci 13125bd8deadSopenharmony_ci 9) Is a MULTISAMPLE query useful? 13135bd8deadSopenharmony_ci 13145bd8deadSopenharmony_ci RESOLVED: No. The same information can be obtained by querying if 13155bd8deadSopenharmony_ci NUM_SAMPLE_COUNTS and checking if it is greater than zero. 13165bd8deadSopenharmony_ci 13175bd8deadSopenharmony_ci 10) Is TEXTURE_SHADOW useful? 13185bd8deadSopenharmony_ci 13195bd8deadSopenharmony_ci RESOLVED: Yes. While DEPTH_COMPONENTS tells you if the texture has depth 13205bd8deadSopenharmony_ci in it, some implementations may have caveats to report for shadow lookups. 13215bd8deadSopenharmony_ci For example there may be caveats that depend on the depth size, or some 13225bd8deadSopenharmony_ci hardware may not be able to do non-shadowed look ups and must emulate it 13235bd8deadSopenharmony_ci in the shader. Additionally some versions of the API do not support 13245bd8deadSopenharmony_ci shadow samplers. 13255bd8deadSopenharmony_ci 13265bd8deadSopenharmony_ci 11) Do we need a list of interactions with all extensions? 13275bd8deadSopenharmony_ci 13285bd8deadSopenharmony_ci DISCUSSION: All pnames will always be supported, but return false/not- 13295bd8deadSopenharmony_ci supported. Interactions with specific extensions and pnames will be 13305bd8deadSopenharmony_ci noted in the interactions section. 13315bd8deadSopenharmony_ci 13325bd8deadSopenharmony_ci 12) We have a way to query the component sizes and types, should we have 13335bd8deadSopenharmony_ci a way to query the component orderings? 13345bd8deadSopenharmony_ci 13355bd8deadSopenharmony_ci RESOLVED. No. It is unclear what value this would add, and an 13365bd8deadSopenharmony_ci implementation could already choose to expose this via the 13375bd8deadSopenharmony_ci TEXTURE_IMAGE_FORMAT and TEXTURE_IMAGE_TYPE queries. 13385bd8deadSopenharmony_ci 13395bd8deadSopenharmony_ci 13) What does the value returned for the MAX_COMBINED_DIMENSIONS 13405bd8deadSopenharmony_ci actually mean? Does this mean that if you try to create a texture 13415bd8deadSopenharmony_ci with more samples or texels than this it is guaranteed to fail 13425bd8deadSopenharmony_ci (possibly with OUT_OF_MEMORY)? Or is it just a recommendation that 13435bd8deadSopenharmony_ci says it might fail? 13445bd8deadSopenharmony_ci 13455bd8deadSopenharmony_ci RESOLVED. This is a recommendation for applications. There are 13465bd8deadSopenharmony_ci system-dependant reasons why allocations larger than this size may 13475bd8deadSopenharmony_ci result in failures even if there might appear to be sufficient memory 13485bd8deadSopenharmony_ci available when queried via some other means. At the same time, some 13495bd8deadSopenharmony_ci systems may not have a single hard-limit on the allocation size and 13505bd8deadSopenharmony_ci it may be a combination of hardware and/or software limitations. 13515bd8deadSopenharmony_ci This value also does not a guarantee that allocations smaller than 13525bd8deadSopenharmony_ci this will succeed because it does not factor in the current available 13535bd8deadSopenharmony_ci memory. Applications should be able to reliably allocate resources 13545bd8deadSopenharmony_ci that fall under this limit, providing there is sufficient memory 13555bd8deadSopenharmony_ci available at the time of the allocation. 13565bd8deadSopenharmony_ci 13575bd8deadSopenharmony_ci 14) Can we add some queries for various forms of buffer support, for 13585bd8deadSopenharmony_ci example vertex attributes, element arrays or transform feedback? 13595bd8deadSopenharmony_ci Some implementations may have caveats they could report for some 13605bd8deadSopenharmony_ci formats. 13615bd8deadSopenharmony_ci 13625bd8deadSopenharmony_ci RESOLVED: Deferred. While this is interesting, it is too late for 13635bd8deadSopenharmony_ci this version. It is also unclear if we could use the current 13645bd8deadSopenharmony_ci entry points which are more targetted at textures and renderbuffers 13655bd8deadSopenharmony_ci and keyed off an <internalformat>. We don't typically use an 13665bd8deadSopenharmony_ci internalformat for buffers. 13675bd8deadSopenharmony_ci 13685bd8deadSopenharmony_ci 15) Should we have separate values for FILTER, such as TEXTURE_MAG_FILTER 13695bd8deadSopenharmony_ci and TEXTURE_MIN_FILTER? 13705bd8deadSopenharmony_ci 13715bd8deadSopenharmony_ci RESOLVED: No. The FITLER query is more about whether or not multi-texel 13725bd8deadSopenharmony_ci filtering is directly supported. We don't expect implmentations to 13735bd8deadSopenharmony_ci be able to support it for MIN filters but not for MAG, or vice versa. 13745bd8deadSopenharmony_ci 13755bd8deadSopenharmony_ci 16) What should we do in cases where a command is defined in terms of 13765bd8deadSopenharmony_ci GetTexLevelParameter, but GetTexLevelParameter doesn't support the target 13775bd8deadSopenharmony_ci (eg TEXTURE_BUFFER in versions of GL prior to 3.1) or there is no 13785bd8deadSopenharmony_ci corresponding pname (such as TEXTURE_STENCIL_TYPE)? 13795bd8deadSopenharmony_ci 13805bd8deadSopenharmony_ci RESOLVED: GetInternalFormat* should return the correct information for the 13815bd8deadSopenharmony_ci specific query, it shouldn't be limited by the set of tokens that happen to 13825bd8deadSopenharmony_ci be legal for GetTexLevelParameter. This was just used a method of 13835bd8deadSopenharmony_ci reducing specification language duplication, and noting that the queries 13845bd8deadSopenharmony_ci are effectively the same. 13855bd8deadSopenharmony_ci 13865bd8deadSopenharmony_ciRevision History 13875bd8deadSopenharmony_ci 13885bd8deadSopenharmony_ci Rev. Date Author Changes 13895bd8deadSopenharmony_ci ---- ---------- -------- -------------------------------------------- 13905bd8deadSopenharmony_ci 20 10/12/2018 dgkoch Add tokens for ETC2/EAC and ASTC VIEW_CLASSES 13915bd8deadSopenharmony_ci as interactions with ARB_ES3_compatibility 13925bd8deadSopenharmony_ci and KHR_texture_compression_astc_ldr. 13935bd8deadSopenharmony_ci 19 02/14/2018 dgkoch Add issue 16, clarify references to 13945bd8deadSopenharmony_ci GetTexLevelParameter (gitlab/opengl/api/65) 13955bd8deadSopenharmony_ci 18 07/15/2013 Jon Leech Remove redundant list of VIEW_CLASS_* tokens 13965bd8deadSopenharmony_ci (Bug 10518). 13975bd8deadSopenharmony_ci 17 07/11/2013 Jon Leech Clarify relationship between VIEW_CLASS_* 13985bd8deadSopenharmony_ci tokens and ARB_texture_view (Bug 10518). 13995bd8deadSopenharmony_ci 16 07/26/2012 dgkoch rename GENERATE_MIPMAP to MANUAL_GENERATE_MIPMAP 14005bd8deadSopenharmony_ci for clarity and restore previous token (9330) 14015bd8deadSopenharmony_ci 15 07/24/2012 dgkoch Fix several token values (bug 9325) 14025bd8deadSopenharmony_ci 14 07/20/2012 dgkoch Add _ARB suffix to SRGB_DECODE 14035bd8deadSopenharmony_ci 13 07/17/2012 dgkoch Finish adding extension/version interactions. 14045bd8deadSopenharmony_ci SRGB_DECODE is only valid if extension supported (bug 9293). 14055bd8deadSopenharmony_ci 12 07/10/2012 Jon Leech Change _BIT token names to _BITS (bug 9266). 14065bd8deadSopenharmony_ci 11 06/15/2012 dgkoch Grammar fixes noticed in review (bug 9158). 14075bd8deadSopenharmony_ci 10 06/11/2012 dgkoch Resolved Issue 13 and updated relevant spec language 14085bd8deadSopenharmony_ci Added Issue 14 and 15 and renamed some tokens (bug 9138) 14095bd8deadSopenharmony_ci 9 06/06/2012 dgkoch renamed 64-bit query for consistency 14105bd8deadSopenharmony_ci Resolved Issue 8, and added a bit of related language. 14115bd8deadSopenharmony_ci Added Issue 13. 14125bd8deadSopenharmony_ci 8 05/07/2012 dgkoch minor token renaming, misc wording improvements 14135bd8deadSopenharmony_ci started added extension interactions 14145bd8deadSopenharmony_ci 7 05/05/2012 dgkoch added 64-bit entry point 14155bd8deadSopenharmony_ci allow any enum for internalformat 14165bd8deadSopenharmony_ci specify 'unsupported' responses for all queries 14175bd8deadSopenharmony_ci add errors 14185bd8deadSopenharmony_ci resolved issues as per Apr-12 F2F 14195bd8deadSopenharmony_ci added clear buffer, image and view related queries 14205bd8deadSopenharmony_ci 6 04/25/2012 dgkoch remove MULTISAMPLE (redundant with NUM_SAMPLES > 0) 14215bd8deadSopenharmony_ci remove meta queries 14225bd8deadSopenharmony_ci add issues 9-11 14235bd8deadSopenharmony_ci added READ_PIXELS_FORMAT, READ_PIXELS_TYPE 14245bd8deadSopenharmony_ci added TEXTURE_IMAGE_FORMAT, TEXTURE_IMAGE_TYPE 14255bd8deadSopenharmony_ci added GET_TEXTURE_IMAGE_FORMAT, GET_TEXTURE_IMAGE_TYPE 14265bd8deadSopenharmony_ci changed ACTUAL_INTERNALFORMAT to PREFERRED_INTERNALFORMAT 14275bd8deadSopenharmony_ci added INTERNALFORMAT_x_SIZE/TYPE for 14285bd8deadSopenharmony_ci RED/GREEN/BLUE/ALPHA/DEPTH/STENCIL/SHARED 14295bd8deadSopenharmony_ci 5 04/05/2012 dgkoch Update overview, issue 7. 14305bd8deadSopenharmony_ci 4 04/04/2012 dgkoch Incorporate feedback from bmerry (Bug 8595) 14315bd8deadSopenharmony_ci 3 01/23/2012 dgkoch Continue adding more details 14325bd8deadSopenharmony_ci 2 01/23/2012 dgkoch Add more details 14335bd8deadSopenharmony_ci 1 10/13/2011 dgkoch Initial draft 14345bd8deadSopenharmony_ci 1435