15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci EXT_subtexture 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_EXT_subtexture 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciVersion 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci $Date: 1995/10/03 05:39:55 $ $Revision: 1.17 $ 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ciNumber 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ci 9 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ciDependencies 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ci EXT_abgr affects the definition of this extension 205bd8deadSopenharmony_ci EXT_texture is required 215bd8deadSopenharmony_ci EXT_texture3D affects the definition of this extension 225bd8deadSopenharmony_ci 235bd8deadSopenharmony_ciOverview 245bd8deadSopenharmony_ci 255bd8deadSopenharmony_ci This extension allows a contiguous portion of an already-existing 265bd8deadSopenharmony_ci texture image to be redefined, without affecting the remaining portion 275bd8deadSopenharmony_ci of the image, or any of the other state that describe the texture. No 285bd8deadSopenharmony_ci provision is made to query a subregion of a texture. 295bd8deadSopenharmony_ci 305bd8deadSopenharmony_ci Semantics for null image pointers are defined for TexImage1D, 315bd8deadSopenharmony_ci TexImage2D, and TexImage3DEXT. Null image pointers can be used by 325bd8deadSopenharmony_ci applications to effectively support texture arrays whose dimensions 335bd8deadSopenharmony_ci are not a power of 2. 345bd8deadSopenharmony_ci 355bd8deadSopenharmony_ciNew Procedures and Functions 365bd8deadSopenharmony_ci 375bd8deadSopenharmony_ci void TexSubImage1DEXT(enum target, 385bd8deadSopenharmony_ci int level, 395bd8deadSopenharmony_ci int xoffset, 405bd8deadSopenharmony_ci sizei width, 415bd8deadSopenharmony_ci enum format, 425bd8deadSopenharmony_ci enum type, 435bd8deadSopenharmony_ci const void* pixels); 445bd8deadSopenharmony_ci 455bd8deadSopenharmony_ci void TexSubImage2DEXT(enum target, 465bd8deadSopenharmony_ci int level, 475bd8deadSopenharmony_ci int xoffset, 485bd8deadSopenharmony_ci int yoffset, 495bd8deadSopenharmony_ci sizei width, 505bd8deadSopenharmony_ci sizei height, 515bd8deadSopenharmony_ci enum format, 525bd8deadSopenharmony_ci enum type, 535bd8deadSopenharmony_ci const void* pixels); 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ci void TexSubImage3DEXT(enum target, 565bd8deadSopenharmony_ci int level, 575bd8deadSopenharmony_ci int xoffset, 585bd8deadSopenharmony_ci int yoffset, 595bd8deadSopenharmony_ci int zoffset, 605bd8deadSopenharmony_ci sizei width, 615bd8deadSopenharmony_ci sizei height, 625bd8deadSopenharmony_ci sizei depth, 635bd8deadSopenharmony_ci enum format, 645bd8deadSopenharmony_ci enum type, 655bd8deadSopenharmony_ci const void* pixels); 665bd8deadSopenharmony_ci 675bd8deadSopenharmony_ciNew Tokens 685bd8deadSopenharmony_ci 695bd8deadSopenharmony_ci None 705bd8deadSopenharmony_ci 715bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.0 Specification (OpenGL Operation) 725bd8deadSopenharmony_ci 735bd8deadSopenharmony_ci None 745bd8deadSopenharmony_ci 755bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.0 Specification (Rasterization) 765bd8deadSopenharmony_ci 775bd8deadSopenharmony_ci This extension makes no changes or additions to the texture operations 785bd8deadSopenharmony_ci defined in the GL Specification. Its sole purpose is to extend the 795bd8deadSopenharmony_ci semantics of texture specification. 805bd8deadSopenharmony_ci 815bd8deadSopenharmony_ci TexSubImage1DEXT, TexSubImage2DEXT, and TexSubImage3DEXT redefine a 825bd8deadSopenharmony_ci contiguous subregion of an existing texture image. Their <target> 835bd8deadSopenharmony_ci parameters must be TEXTURE_1D, TEXTURE_2D, and TEXTURE_3D_EXT 845bd8deadSopenharmony_ci respectively. (The proxy targets defined by EXT_texture are not 855bd8deadSopenharmony_ci accepted by the subtexture commands.) <level>, <width>, <height>, 865bd8deadSopenharmony_ci <depth>, <format>, <type>, and <pixels> correspond precisely to the 875bd8deadSopenharmony_ci corresponding arguments of TexImage1D, TexImage2D, and TexImage3DEXT. 885bd8deadSopenharmony_ci <xoffset>, <yoffset>, and <zoffset> specify texel offsets in the x, y, 895bd8deadSopenharmony_ci and z directions within the texture array being modified. The new 905bd8deadSopenharmony_ci image replaces the portion of the texture array indexed with 915bd8deadSopenharmony_ci 925bd8deadSopenharmony_ci xoffset <= i < (xoffset + width), 935bd8deadSopenharmony_ci yoffset <= j < (yoffset + height), 945bd8deadSopenharmony_ci zoffset <= k < (zoffset + depth), 955bd8deadSopenharmony_ci 965bd8deadSopenharmony_ci where i, j, and k are indexes as described in Figure 3.10 of the GL 975bd8deadSopenharmony_ci Specification. It is an error for this region to include any texels 985bd8deadSopenharmony_ci outside the range of the texture array as it was originally specified. 995bd8deadSopenharmony_ci Specifically, the error INVALID_VALUE results if any of the following 1005bd8deadSopenharmony_ci conditions are met: 1015bd8deadSopenharmony_ci 1025bd8deadSopenharmony_ci xoffset < -TEXTURE_BORDER 1035bd8deadSopenharmony_ci (xoffset + width) > (TEXTURE_WIDTH - TEXTURE_BORDER) 1045bd8deadSopenharmony_ci yoffset < -TEXTURE_BORDER 1055bd8deadSopenharmony_ci (yoffset + height) > (TEXTURE_HEIGHT - TEXTURE_BORDER) 1065bd8deadSopenharmony_ci zoffset < -TEXTURE_BORDER 1075bd8deadSopenharmony_ci (zoffset + depth) > (TEXTURE_DEPTH_EXT - TEXTURE_BORDER) 1085bd8deadSopenharmony_ci 1095bd8deadSopenharmony_ci and TEXTURE_WIDTH, TEXTURE_HEIGHT, TEXTURE_DEPTH_EXT, and TEXTURE_BORDER 1105bd8deadSopenharmony_ci are the state values of the texture array that is being modified. Note 1115bd8deadSopenharmony_ci that TEXTURE_WIDTH, TEXTURE_HEIGHT, and TEXTURE_DEPTH_EXT include twice 1125bd8deadSopenharmony_ci the border width. 1135bd8deadSopenharmony_ci 1145bd8deadSopenharmony_ci It is not an error to specify a subtexture with zero width, height, or 1155bd8deadSopenharmony_ci depth. Such a specification has no effect, however. 1165bd8deadSopenharmony_ci 1175bd8deadSopenharmony_ci Counting from zero, each Nth pixel is assigned internal integer 1185bd8deadSopenharmony_ci coordinates [i,j,k], where 1195bd8deadSopenharmony_ci 1205bd8deadSopenharmony_ci i = xoffset + (N mod width), 1D, 2D, and 3D textures 1215bd8deadSopenharmony_ci 1225bd8deadSopenharmony_ci j = yoffset + ((N div width) mod height), 2D and 3D textures only 1235bd8deadSopenharmony_ci 1245bd8deadSopenharmony_ci k = zoffset + ((N div (width * height)) mod depth), 3D textures only 1255bd8deadSopenharmony_ci 1265bd8deadSopenharmony_ci and the div operator performs integer division with truncation. 1275bd8deadSopenharmony_ci 1285bd8deadSopenharmony_ci Null images 1295bd8deadSopenharmony_ci ----------- 1305bd8deadSopenharmony_ci 1315bd8deadSopenharmony_ci It is sometimes useful to define the parameters of a texture image 1325bd8deadSopenharmony_ci without actually initializing the contents of that image. In 1335bd8deadSopenharmony_ci particular, this capability is expected to be used in conjunction with 1345bd8deadSopenharmony_ci the TexSubImage commands that are defined in this extension. If 1355bd8deadSopenharmony_ci EXT_subtexture is implemented, and TexImage1D, TexImage2D, or 1365bd8deadSopenharmony_ci TexImage3DEXT is called with <pixels> equal to the null pointer 1375bd8deadSopenharmony_ci (a pointer to location zero in the C language), then the specified 1385bd8deadSopenharmony_ci texture is created as it would otherwise be, but no pixels are 1395bd8deadSopenharmony_ci processed, so the contents of the resulting texture image are undefined. 1405bd8deadSopenharmony_ci It is permissible to use such an uninitialized texture image, the 1415bd8deadSopenharmony_ci resulting color buffer contents being undefined only due to the random 1425bd8deadSopenharmony_ci color values of the texture image. 1435bd8deadSopenharmony_ci 1445bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations 1455bd8deadSopenharmony_ciand the Framebuffer) 1465bd8deadSopenharmony_ci 1475bd8deadSopenharmony_ci None 1485bd8deadSopenharmony_ci 1495bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.0 Specification (Special Functions) 1505bd8deadSopenharmony_ci 1515bd8deadSopenharmony_ci None 1525bd8deadSopenharmony_ci 1535bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.0 Specification (State and State Requests) 1545bd8deadSopenharmony_ci 1555bd8deadSopenharmony_ci None. No provision is made to query a subregion of a texture image. 1565bd8deadSopenharmony_ci 1575bd8deadSopenharmony_ciAdditions to the GLX Specification 1585bd8deadSopenharmony_ci 1595bd8deadSopenharmony_ci None 1605bd8deadSopenharmony_ci 1615bd8deadSopenharmony_ciGLX Protocol 1625bd8deadSopenharmony_ci 1635bd8deadSopenharmony_ci Several new GL rendering commands are added. All of these commands have pixel 1645bd8deadSopenharmony_ci data; thus they are sent to the server either as part of a glXRender request or 1655bd8deadSopenharmony_ci a glXRenderLarge request: 1665bd8deadSopenharmony_ci 1675bd8deadSopenharmony_ci TexSubImage1DEXT 1685bd8deadSopenharmony_ci 2 60+n+p rendering command length 1695bd8deadSopenharmony_ci 2 4099 1705bd8deadSopenharmony_ci 1 BOOL swap_bytes 1715bd8deadSopenharmony_ci 1 BOOL lsb_first 1725bd8deadSopenharmony_ci 2 unused 1735bd8deadSopenharmony_ci 4 CARD32 row_length 1745bd8deadSopenharmony_ci 4 CARD32 skip_rows 1755bd8deadSopenharmony_ci 4 CARD32 skip_pixels 1765bd8deadSopenharmony_ci 4 CARD32 alignment 1775bd8deadSopenharmony_ci 4 ENUM target 1785bd8deadSopenharmony_ci 4 INT32 level 1795bd8deadSopenharmony_ci 4 INT32 xoffset 1805bd8deadSopenharmony_ci 4 INT32 yoffset 1815bd8deadSopenharmony_ci 4 INT32 width 1825bd8deadSopenharmony_ci 4 INT32 height 1835bd8deadSopenharmony_ci 4 ENUM format 1845bd8deadSopenharmony_ci 4 ENUM type 1855bd8deadSopenharmony_ci 4 CARD32 unused 1865bd8deadSopenharmony_ci n LISTofBYTE image 1875bd8deadSopenharmony_ci p unused, p=pad(n) 1885bd8deadSopenharmony_ci 1895bd8deadSopenharmony_ci If the command is encoded in a glXRenderLarge request, the command 1905bd8deadSopenharmony_ci opcode and command length fields above are expanded to 4 bytes each: 1915bd8deadSopenharmony_ci 1925bd8deadSopenharmony_ci 4 64+n+p rendering command length 1935bd8deadSopenharmony_ci 4 4099 rendering command opcode 1945bd8deadSopenharmony_ci 1955bd8deadSopenharmony_ci If <width> < 0, <format> is invalid or <type> is invalid, then the command is 1965bd8deadSopenharmony_ci erroneous and n=0. The <yoffset> and <height> parameters in this request are 1975bd8deadSopenharmony_ci ignored. 1985bd8deadSopenharmony_ci 1995bd8deadSopenharmony_ci The structure of <pixels> is described in Appendix A of the GLX Protocol 2005bd8deadSopenharmony_ci Specification, "Pixel Data", using the parameters <swap_bytes>, <lsb_first>, 2015bd8deadSopenharmony_ci <row_length>, <skip_rows>, <skip_pixels>, <alignment>, <width>, <format>, and 2025bd8deadSopenharmony_ci <type> as given in the request and height = 1. 2035bd8deadSopenharmony_ci 2045bd8deadSopenharmony_ci 2055bd8deadSopenharmony_ci TexSubImage2DEXT 2065bd8deadSopenharmony_ci 2 60+n+p rendering command length 2075bd8deadSopenharmony_ci 2 4100 rendering command opcode 2085bd8deadSopenharmony_ci 1 BOOL swap_bytes 2095bd8deadSopenharmony_ci 1 BOOL lsb_first 2105bd8deadSopenharmony_ci 2 unused 2115bd8deadSopenharmony_ci 4 CARD32 row_length 2125bd8deadSopenharmony_ci 4 CARD32 skip_rows 2135bd8deadSopenharmony_ci 4 CARD32 skip_pixels 2145bd8deadSopenharmony_ci 4 CARD32 alignment 2155bd8deadSopenharmony_ci 4 ENUM target 2165bd8deadSopenharmony_ci 4 INT32 level 2175bd8deadSopenharmony_ci 4 INT32 xoffset 2185bd8deadSopenharmony_ci 4 INT32 yoffset 2195bd8deadSopenharmony_ci 4 INT32 width 2205bd8deadSopenharmony_ci 4 INT32 height 2215bd8deadSopenharmony_ci 4 ENUM format 2225bd8deadSopenharmony_ci 4 ENUM type 2235bd8deadSopenharmony_ci 4 CARD32 unused 2245bd8deadSopenharmony_ci n LISTofBYTE image 2255bd8deadSopenharmony_ci p unused, p=pad(n) 2265bd8deadSopenharmony_ci 2275bd8deadSopenharmony_ci If the command is encoded in a glXRenderLarge request, the command 2285bd8deadSopenharmony_ci opcode and command length fields above are expanded to 4 bytes each: 2295bd8deadSopenharmony_ci 2305bd8deadSopenharmony_ci 4 64+n+p rendering command length 2315bd8deadSopenharmony_ci 4 4100 rendering command opcode 2325bd8deadSopenharmony_ci 2335bd8deadSopenharmony_ci If <width> < 0, <height> < 0, <format> is invalid or <type> is invalid, then 2345bd8deadSopenharmony_ci the command is erroneous and n=0. 2355bd8deadSopenharmony_ci 2365bd8deadSopenharmony_ci The structure of <pixels> is described in Appendix A of the GLX Protocol 2375bd8deadSopenharmony_ci Specification, "Pixel Data", using the parameters <swap_bytes>, <lsb_first>, 2385bd8deadSopenharmony_ci <row_length>, <skip_rows>, <skip_pixels>, <alignment>, <width>, <height>, 2395bd8deadSopenharmony_ci <format>, and <type> as given in the request. 2405bd8deadSopenharmony_ci 2415bd8deadSopenharmony_ci 2425bd8deadSopenharmony_ci TexSubImage3DEXT 2435bd8deadSopenharmony_ci 2 88+n+p rendering command length 2445bd8deadSopenharmony_ci 2 4115 rendering command opcode 2455bd8deadSopenharmony_ci 1 BOOL swap_bytes 2465bd8deadSopenharmony_ci 1 BOOL lsb_first 2475bd8deadSopenharmony_ci 2 unused 2485bd8deadSopenharmony_ci 4 CARD32 row_length 2495bd8deadSopenharmony_ci 4 CARD32 image_height 2505bd8deadSopenharmony_ci 4 CARD32 image_depth 2515bd8deadSopenharmony_ci 4 CARD32 skip_rows 2525bd8deadSopenharmony_ci 4 CARD32 skip_images 2535bd8deadSopenharmony_ci 4 CARD32 skip_volumes 2545bd8deadSopenharmony_ci 4 CARD32 skip_pixels 2555bd8deadSopenharmony_ci 4 CARD32 alignment 2565bd8deadSopenharmony_ci 4 ENUM target 2575bd8deadSopenharmony_ci 4 INT32 level 2585bd8deadSopenharmony_ci 4 INT32 xoffset 2595bd8deadSopenharmony_ci 4 INT32 yoffset 2605bd8deadSopenharmony_ci 4 INT32 zoffset 2615bd8deadSopenharmony_ci 4 INT32 woffset 2625bd8deadSopenharmony_ci 4 INT32 width 2635bd8deadSopenharmony_ci 4 INT32 height 2645bd8deadSopenharmony_ci 4 INT32 depth 2655bd8deadSopenharmony_ci 4 INT32 size4d 2665bd8deadSopenharmony_ci 4 ENUM format 2675bd8deadSopenharmony_ci 4 ENUM type 2685bd8deadSopenharmony_ci 4 CARD32 unused 2695bd8deadSopenharmony_ci n LISTofBYTE image 2705bd8deadSopenharmony_ci p unused, p=pad(n) 2715bd8deadSopenharmony_ci 2725bd8deadSopenharmony_ci If the command is encoded in a glXRenderLarge request, the command 2735bd8deadSopenharmony_ci opcode and command length fields above are expanded to 4 bytes each: 2745bd8deadSopenharmony_ci 2755bd8deadSopenharmony_ci 4 92+n+p rendering command length 2765bd8deadSopenharmony_ci 4 4115 rendering command opcode 2775bd8deadSopenharmony_ci 2785bd8deadSopenharmony_ci If <width> < 0, <height> < 0, <depth> < 0, <format> is invalid or <type> is 2795bd8deadSopenharmony_ci invalid, then the command is erroneous and n=0. The <woffset>, <size4d>, 2805bd8deadSopenharmony_ci <image_depth>, and <skip_volumes> parameters in this request are ignored. 2815bd8deadSopenharmony_ci 2825bd8deadSopenharmony_ci <pixels> is arranged as a sequence of adjacent rectangles. Each rectangle is a 2835bd8deadSopenharmony_ci 2-dimensional image, whose structure is determined by the image height and the 2845bd8deadSopenharmony_ci parameters <swap_bytes>, <lsb_first>, <row_length>, <skip_rows>, <skip_pixels>, 2855bd8deadSopenharmony_ci <alignment>, <width>, <format>, and <type> given in the request. If <image_height> 2865bd8deadSopenharmony_ci is not positive then the number of rows (i.e., the image height) is <height>; 2875bd8deadSopenharmony_ci otherwise the number of rows is <image_height>. 2885bd8deadSopenharmony_ci 2895bd8deadSopenharmony_ci <skip_images> allows a sub-volume of the 3-dimensional image to be selected. 2905bd8deadSopenharmony_ci If <skip_images> is positive, then the pointer is advanced by <skip_images> 2915bd8deadSopenharmony_ci times the number of elements in one 2-dimensional image. Then <depth> 2925bd8deadSopenharmony_ci 2-dimensional images are read, each having a subimage extracted in the 2935bd8deadSopenharmony_ci manner described in Appendix A of the GLX Protocol Specification. 2945bd8deadSopenharmony_ci 2955bd8deadSopenharmony_ciDependencies on EXT_abgr 2965bd8deadSopenharmony_ci 2975bd8deadSopenharmony_ci If EXT_abgr is supported, the <format> parameters of TexSubImage1DEXT, 2985bd8deadSopenharmony_ci TexSubImage2DEXT, and TexSubImage3DEXT accept ABGR_EXT. Otherwise they 2995bd8deadSopenharmony_ci do not. 3005bd8deadSopenharmony_ci 3015bd8deadSopenharmony_ciDependencies on EXT_texture 3025bd8deadSopenharmony_ci 3035bd8deadSopenharmony_ci EXT_texture is required. This extension builds on the notion of 3045bd8deadSopenharmony_ci internal image format, which is defined by EXT_texture. 3055bd8deadSopenharmony_ci 3065bd8deadSopenharmony_ciDependencies on EXT_texture3D 3075bd8deadSopenharmony_ci 3085bd8deadSopenharmony_ci If EXT_texture3D is not supported, then TexSubImage3DEXT is not defined 3095bd8deadSopenharmony_ci by this extension. In this case, none of the description of 3105bd8deadSopenharmony_ci 3-dimensional texture mapping in this extension document is valid. The 3115bd8deadSopenharmony_ci descriptions of TexSubImage1DEXT and TexSubImage2DEXT remain valid, 3125bd8deadSopenharmony_ci however. 3135bd8deadSopenharmony_ci 3145bd8deadSopenharmony_ciErrors 3155bd8deadSopenharmony_ci 3165bd8deadSopenharmony_ci INVALID_ENUM is generated by TexSubImage1DEXT if its <target> parameter 3175bd8deadSopenharmony_ci is not TEXTURE_1D. 3185bd8deadSopenharmony_ci 3195bd8deadSopenharmony_ci INVALID_ENUM is generated by TexSubImage2DEXT if its <target> parameter 3205bd8deadSopenharmony_ci is not TEXTURE_2D. 3215bd8deadSopenharmony_ci 3225bd8deadSopenharmony_ci INVALID_ENUM is generated by TexSubImage3DEXT if its <target> parameter 3235bd8deadSopenharmony_ci is not TEXTURE_3D_EXT. 3245bd8deadSopenharmony_ci 3255bd8deadSopenharmony_ci INVALID_OPERATION is generated by TexSubImage1DEXT if the specified 3265bd8deadSopenharmony_ci texture array has not been defined by a previous TexImage1D operation. 3275bd8deadSopenharmony_ci 3285bd8deadSopenharmony_ci INVALID_OPERATION is generated by TexSubImage2DEXT if the specified 3295bd8deadSopenharmony_ci texture array has not been defined by a previous TexImage2D operation. 3305bd8deadSopenharmony_ci 3315bd8deadSopenharmony_ci INVALID_OPERATION is generated by TexSubImage3DEXT if the specified 3325bd8deadSopenharmony_ci texture array has not been defined by a previous TexImage3DEXT 3335bd8deadSopenharmony_ci operation. 3345bd8deadSopenharmony_ci 3355bd8deadSopenharmony_ci INVALID_VALUE is generated if <level> is less than zero 3365bd8deadSopenharmony_ci 3375bd8deadSopenharmony_ci INVALID_VALUE is generated if <width>, <height>, or <depth> is negative. 3385bd8deadSopenharmony_ci 3395bd8deadSopenharmony_ci INVALID_VALUE is generated if <xoffset>, <yoffset>, or <zoffset> is 3405bd8deadSopenharmony_ci less than -TEXTURE_BORDER. 3415bd8deadSopenharmony_ci 3425bd8deadSopenharmony_ci INVALID_VALUE is generated if 3435bd8deadSopenharmony_ci (xoffset + width) > (TEXTURE_WIDTH - TEXTURE_BORDER), or if 3445bd8deadSopenharmony_ci (yoffset + height) > (TEXTURE_HEIGHT - TEXTURE_BORDER), or if 3455bd8deadSopenharmony_ci (zoffset + depth) > (TEXTURE_DEPTH_EXT - TEXTURE_BORDER). 3465bd8deadSopenharmony_ci 3475bd8deadSopenharmony_ci INVALID_ENUM is generated if <format> is not COLOR_INDEX, RED, GREEN, 3485bd8deadSopenharmony_ci BLUE, ALPHA, RGB, RGBA, LUMINANCE, or LUMINANCE_ALPHA (or ABGR_EXT if 3495bd8deadSopenharmony_ci EXT_abgr is supported). 3505bd8deadSopenharmony_ci 3515bd8deadSopenharmony_ci INVALID_ENUM is generated if <type> is not UNSIGNED_BYTE, BYTE, 3525bd8deadSopenharmony_ci UNSIGNED_SHORT, SHORT, UNSIGNED_INT, INT, or FLOAT. 3535bd8deadSopenharmony_ci 3545bd8deadSopenharmony_ci INVALID_OPERATION is generated if TexSubImage1DEXT, TexSubImage2DEXT, 3555bd8deadSopenharmony_ci or TexSubImage3DEXT is called between execution of Begin and the 3565bd8deadSopenharmony_ci corresponding execution of End. 3575bd8deadSopenharmony_ci 3585bd8deadSopenharmony_ciNew State 3595bd8deadSopenharmony_ci 3605bd8deadSopenharmony_ci None 3615bd8deadSopenharmony_ci 3625bd8deadSopenharmony_ciNew Implementation Dependent State 3635bd8deadSopenharmony_ci 3645bd8deadSopenharmony_ci None 365