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