15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    ARB_depth_texture
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_ARB_depth_texture
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Brian Paul (brian_e_paul 'at' yahoo.com)
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciNotice
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    Copyright (c) 2002-2013 The Khronos Group Inc. Copyright terms at
165bd8deadSopenharmony_ci        http://www.khronos.org/registry/speccopyright.html
175bd8deadSopenharmony_ci
185bd8deadSopenharmony_ciSpecification Update Policy
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ci    Khronos-approved extension specifications are updated in response to
215bd8deadSopenharmony_ci    issues and bugs prioritized by the Khronos OpenGL Working Group. For
225bd8deadSopenharmony_ci    extensions which have been promoted to a core Specification, fixes will
235bd8deadSopenharmony_ci    first appear in the latest version of that core Specification, and will
245bd8deadSopenharmony_ci    eventually be backported to the extension document. This policy is
255bd8deadSopenharmony_ci    described in more detail at
265bd8deadSopenharmony_ci        https://www.khronos.org/registry/OpenGL/docs/update_policy.php
275bd8deadSopenharmony_ci
285bd8deadSopenharmony_ciStatus
295bd8deadSopenharmony_ci
305bd8deadSopenharmony_ci    Complete.
315bd8deadSopenharmony_ci    Approved by the ARB on February 14, 2002.
325bd8deadSopenharmony_ci    Updated version (June 1, 2004) approved by the ARB on June 8, 2004.
335bd8deadSopenharmony_ci
345bd8deadSopenharmony_ciVersion
355bd8deadSopenharmony_ci
365bd8deadSopenharmony_ci    Last Modified Date: November 29, 2004
375bd8deadSopenharmony_ci
385bd8deadSopenharmony_ciNumber
395bd8deadSopenharmony_ci
405bd8deadSopenharmony_ci    ARB Extension #22
415bd8deadSopenharmony_ci
425bd8deadSopenharmony_ciDependencies
435bd8deadSopenharmony_ci
445bd8deadSopenharmony_ci    OpenGL 1.1 is required.
455bd8deadSopenharmony_ci    This extension is written against the OpenGL 1.3 Specification.
465bd8deadSopenharmony_ci
475bd8deadSopenharmony_ciOverview
485bd8deadSopenharmony_ci
495bd8deadSopenharmony_ci    This is a clarification of the GL_SGIX_depth_texture extension.  The
505bd8deadSopenharmony_ci    original overview follows:
515bd8deadSopenharmony_ci
525bd8deadSopenharmony_ci    This extension defines a new depth texture format.  An important
535bd8deadSopenharmony_ci    application of depth texture images is shadow casting, but separating
545bd8deadSopenharmony_ci    this from the shadow extension allows for the potential use of depth
555bd8deadSopenharmony_ci    textures in other applications such as image-based rendering or
565bd8deadSopenharmony_ci    displacement mapping.  This extension does not define new depth-texture
575bd8deadSopenharmony_ci    environment functions, such as filtering or applying the depth values
585bd8deadSopenharmony_ci    computed from a texture but leaves this to other extensions, such as
595bd8deadSopenharmony_ci    the shadow extension.
605bd8deadSopenharmony_ci
615bd8deadSopenharmony_ciIP Status
625bd8deadSopenharmony_ci
635bd8deadSopenharmony_ci    None.
645bd8deadSopenharmony_ci
655bd8deadSopenharmony_ciIssues
665bd8deadSopenharmony_ci
675bd8deadSopenharmony_ci    (1) How is this extension different from GL_SGIX_depth_texture?
685bd8deadSopenharmony_ci
695bd8deadSopenharmony_ci      This extension defines support for texture border values, querying
705bd8deadSopenharmony_ci      depth texel resolution, and behavior when a depth texture is bound
715bd8deadSopenharmony_ci      to a texture unit that's expecting RGBA texels.
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ci    (2) What about texture borders and the border value?
745bd8deadSopenharmony_ci
755bd8deadSopenharmony_ci      Texture borders are supported.  The texture border value used for
765bd8deadSopenharmony_ci      depth textures is the first component of TEXTURE_BORDER_COLOR.
775bd8deadSopenharmony_ci
785bd8deadSopenharmony_ci    (3) What happens when a depth texture is currently bound but RGBA
795bd8deadSopenharmony_ci      texels are expected by the texture unit?
805bd8deadSopenharmony_ci
815bd8deadSopenharmony_ci      The depth texture is treated as if it were a LUMINANCE texture.
825bd8deadSopenharmony_ci      It's sometimes useful to render a depth component texture as a
835bd8deadSopenharmony_ci      grayscale texture.
845bd8deadSopenharmony_ci
855bd8deadSopenharmony_ci    (4) What happens when an RGBA texture is currently bound but depth
865bd8deadSopenharmony_ci      texels are expected by the texture unit?
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ci      We do texturing in the normal way for an RGBA texture.
895bd8deadSopenharmony_ci
905bd8deadSopenharmony_ci    (5) What about 1D, 3D and cube maps textures?  Should depth textures
915bd8deadSopenharmony_ci      be supported?
925bd8deadSopenharmony_ci
935bd8deadSopenharmony_ci      RESOLVED:  For 1D textures, yes, for orthogonality.  For 3D and cube map
945bd8deadSopenharmony_ci      textures, no.  In both cases, the R coordinate that would be ordinarily
955bd8deadSopenharmony_ci      be used for a shadow comparison is needed for texture lookup and won't
965bd8deadSopenharmony_ci      contain a useful value.  In theory, the shadow functionality could be
975bd8deadSopenharmony_ci      extended to provide useful behavior for such targets, but this
985bd8deadSopenharmony_ci      enhancement is left to a future extension.
995bd8deadSopenharmony_ci
1005bd8deadSopenharmony_ci    (6) Why "depth" textures instead of a generic, extended-precision,
1015bd8deadSopenharmony_ci      single-channel texture format?
1025bd8deadSopenharmony_ci
1035bd8deadSopenharmony_ci      RESOLVED: We need a depth format so that glCopyTex[Sub]Image()
1045bd8deadSopenharmony_ci      can copy data from the depth buffer to the texture memory.
1055bd8deadSopenharmony_ci
1065bd8deadSopenharmony_ci    (7) Is there any particular reason that depth textures should only be
1075bd8deadSopenharmony_ci        used as LUMINANCE textures?
1085bd8deadSopenharmony_ci
1095bd8deadSopenharmony_ci      RESOLVED: Add DEPTH_TEXTURE_MODE to allow depth textures to be used
1105bd8deadSopenharmony_ci      as LUMINANCE, INTENSITY or ALPHA textures.
1115bd8deadSopenharmony_ci
1125bd8deadSopenharmony_ci    (8) It is very unlikely that depth textures when used as LUMINANCE,
1135bd8deadSopenharmony_ci      INTENSITY or ALPHA textures are used at their full storage precision.
1145bd8deadSopenharmony_ci      Should there be a query for the actual number of bits used for
1155bd8deadSopenharmony_ci      depth textures?
1165bd8deadSopenharmony_ci
1175bd8deadSopenharmony_ci      RESOLVED: No. OpenGL does not have queries for internal precision.
1185bd8deadSopenharmony_ci      Instead of adding it randomly for one feature, it should be looked
1195bd8deadSopenharmony_ci      in the broader context of providing it for more features.
1205bd8deadSopenharmony_ci
1215bd8deadSopenharmony_ci     (9) How should GetTexImage work for depth textures?
1225bd8deadSopenharmony_ci
1235bd8deadSopenharmony_ci      RESOLVED: Since GetTexImage is modeled on ReadPixels, reading depth
1245bd8deadSopenharmony_ci      components should require the DEPTH_COMPONENT format.  Specifying a
1255bd8deadSopenharmony_ci      color format when querying a texture image with a DEPTH_COMPONENT
1265bd8deadSopenharmony_ci      base internal format should be an invalid operation.  Likewise,
1275bd8deadSopenharmony_ci      specifying a DEPTH_COMPONENT format when querying a texture image
1285bd8deadSopenharmony_ci      with a color internal format should be an invalid operation.
1295bd8deadSopenharmony_ci      This is not only consistent with ReadPixels but how the
1305bd8deadSopenharmony_ci      EXT_paletted_texture and NV_texture_shader extensions amend
1315bd8deadSopenharmony_ci      GetTexImage to return non-color texture image data.
1325bd8deadSopenharmony_ci
1335bd8deadSopenharmony_ciNew Procedures and Functions
1345bd8deadSopenharmony_ci
1355bd8deadSopenharmony_ci    None
1365bd8deadSopenharmony_ci
1375bd8deadSopenharmony_ciNew Tokens
1385bd8deadSopenharmony_ci
1395bd8deadSopenharmony_ci    Accepted by the <internalFormat> parameter of TexImage1D, TexImage2D,
1405bd8deadSopenharmony_ci    CopyTexImage1D and CopyTexImage2D:
1415bd8deadSopenharmony_ci
1425bd8deadSopenharmony_ci    DEPTH_COMPONENT
1435bd8deadSopenharmony_ci    DEPTH_COMPONENT16_ARB       0x81A5  (same as DEPTH_COMPONENT16_SGIX)
1445bd8deadSopenharmony_ci    DEPTH_COMPONENT24_ARB       0x81A6  (same as DEPTH_COMPONENT24_SGIX)
1455bd8deadSopenharmony_ci    DEPTH_COMPONENT32_ARB       0x81A7  (same as DEPTH_COMPONENT32_SGIX)
1465bd8deadSopenharmony_ci
1475bd8deadSopenharmony_ci    Accepted by the <format> parameter of GetTexImage, TexImage1D,
1485bd8deadSopenharmony_ci    TexImage2D, TexSubImage1D, and TexSubImage2D:
1495bd8deadSopenharmony_ci
1505bd8deadSopenharmony_ci    DEPTH_COMPONENT
1515bd8deadSopenharmony_ci
1525bd8deadSopenharmony_ci    Accepted by the <pname> parameter of GetTexLevelParameterfv and
1535bd8deadSopenharmony_ci    GetTexLevelParameteriv:
1545bd8deadSopenharmony_ci
1555bd8deadSopenharmony_ci    TEXTURE_DEPTH_SIZE_ARB      0x884A
1565bd8deadSopenharmony_ci
1575bd8deadSopenharmony_ci    Accepted by the <pname> parameter of TexParameterf, TexParameteri,
1585bd8deadSopenharmony_ci    TexParameterfv, TexParameteriv, GetTexParameterfv, and GetTexParameteriv:
1595bd8deadSopenharmony_ci
1605bd8deadSopenharmony_ci    DEPTH_TEXTURE_MODE_ARB      0x884B
1615bd8deadSopenharmony_ci
1625bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.3 Specification (OpenGL Operation)
1635bd8deadSopenharmony_ci
1645bd8deadSopenharmony_ci    None
1655bd8deadSopenharmony_ci
1665bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.3 Specification (Rasterization)
1675bd8deadSopenharmony_ci
1685bd8deadSopenharmony_ci    Section 3.8.1, Texture Image Specification, p. 116, change last
1695bd8deadSopenharmony_ci    sentence of first paragraph to:
1705bd8deadSopenharmony_ci
1715bd8deadSopenharmony_ci        "The format STENCIL_INDEX is not allowed."
1725bd8deadSopenharmony_ci
1735bd8deadSopenharmony_ci    Section 3.8.1, Texture Image Specification, p. 116, change final
1745bd8deadSopenharmony_ci    paragraph to read:
1755bd8deadSopenharmony_ci
1765bd8deadSopenharmony_ci        "The selected groups are processed exactly as for DrawPixels, stopping
1775bd8deadSopenharmony_ci        just before final conversion.  Each R, G, B, A or depth component (D)
1785bd8deadSopenharmony_ci        value so generated is clamped to [0,1]."
1795bd8deadSopenharmony_ci
1805bd8deadSopenharmony_ci    Section 3.8.1, Texture Image Specification, p. 117, modify beginning of
1815bd8deadSopenharmony_ci    the first paragraph:
1825bd8deadSopenharmony_ci
1835bd8deadSopenharmony_ci        "Components are then selected from the resulting R, G, B, A, or D
1845bd8deadSopenharmony_ci        values to obtain a texture with the base internal format specified
1855bd8deadSopenharmony_ci        by..."
1865bd8deadSopenharmony_ci
1875bd8deadSopenharmony_ci    Section 3.8.1, Texture Image Specification, p. 117, add two new paragraphs
1885bd8deadSopenharmony_ci    after the beginning of the first paragraph:
1895bd8deadSopenharmony_ci
1905bd8deadSopenharmony_ci        "Textures with a base internal format of DEPTH_COMPONENT are supported
1915bd8deadSopenharmony_ci        by texture image specification commands only if <target> is TEXTURE_1D,
1925bd8deadSopenharmony_ci        TEXTURE_2D, PROXY_TEXTURE_1D or PROXY_TEXTURE_2D.  Using this format in
1935bd8deadSopenharmony_ci        conjunction with any other <target> will result in an INVALID_OPERATION
1945bd8deadSopenharmony_ci        error."
1955bd8deadSopenharmony_ci
1965bd8deadSopenharmony_ci        "Textures with a base internal format of DEPTH_COMPONENT require depth
1975bd8deadSopenharmony_ci        component data; textures with other base internal formats require RGBA
1985bd8deadSopenharmony_ci        component data.  The error INVALID_OPERATION is generated if the base
1995bd8deadSopenharmony_ci        internal format is DEPTH_COMPONENT and format is not DEPTH_COMPONENT,
2005bd8deadSopenharmony_ci        or if the base internal format is not DEPTH_COMPONENT and format is
2015bd8deadSopenharmony_ci        DEPTH_COMPONENT."
2025bd8deadSopenharmony_ci
2035bd8deadSopenharmony_ci    Section 3.8.1, Texture Image Specification, p. 117, modify the last
2045bd8deadSopenharmony_ci    paragraph, which flows to p. 118:
2055bd8deadSopenharmony_ci
2065bd8deadSopenharmony_ci        "... If a sized internal format is specified, the mapping of the R, G,
2075bd8deadSopenharmony_ci        B, A, and D values to texture components is equivalent to ..."
2085bd8deadSopenharmony_ci
2095bd8deadSopenharmony_ci        (on p. 118) "... If a compressed internal format is specified, the
2105bd8deadSopenharmony_ci        mapping of the R, G, B, A, and D values to texture components is
2115bd8deadSopenharmony_ci        equivalent to..."
2125bd8deadSopenharmony_ci
2135bd8deadSopenharmony_ci    Section 3.8.1, Texture Image Specification, p. 118, add a new row to Table
2145bd8deadSopenharmony_ci    3.15.
2155bd8deadSopenharmony_ci
2165bd8deadSopenharmony_ci        Base Internal Format    RGBA Values     Internal Components
2175bd8deadSopenharmony_ci        --------------------    -----------     -------------------
2185bd8deadSopenharmony_ci        DEPTH_COMPONENT         D               D
2195bd8deadSopenharmony_ci
2205bd8deadSopenharmony_ci    Section 3.8.1, Texture Image Specification, p. 118, add three new rows and
2215bd8deadSopenharmony_ci    one new column to Table 3.16.
2225bd8deadSopenharmony_ci
2235bd8deadSopenharmony_ci        Sized Internal Format   Base Int. Format  ...   D bits
2245bd8deadSopenharmony_ci        ---------------------   ----------------        ------
2255bd8deadSopenharmony_ci        DEPTH_COMPONENT16_ARB   DEPTH_COMPONENT           16
2265bd8deadSopenharmony_ci        DEPTH_COMPONENT24_ARB   DEPTH_COMPONENT           24
2275bd8deadSopenharmony_ci        DEPTH_COMPONENT32_ARB   DEPTH_COMPONENT           32
2285bd8deadSopenharmony_ci
2295bd8deadSopenharmony_ci    Section 3.8.2, Alternate Texture Image Specification Commands, p. 125,
2305bd8deadSopenharmony_ci    modify first paragraph to read:
2315bd8deadSopenharmony_ci
2325bd8deadSopenharmony_ci        ... "The image is taken from the framebuffer exactly as if these
2335bd8deadSopenharmony_ci        arguments were passed to CopyPixels, with argument <type> set to
2345bd8deadSopenharmony_ci        COLOR or DEPTH_COMPONENT, depending on <internalformat>, stopping
2355bd8deadSopenharmony_ci        after pixel transfer processing is complete.  RGBA data is taken
2365bd8deadSopenharmony_ci        from the current color buffer while depth component data is taken
2375bd8deadSopenharmony_ci        from the depth buffer.  If no depth buffer is present, the error
2385bd8deadSopenharmony_ci        INVALID_OPERATION is generated.  Subsequent processing is identical
2395bd8deadSopenharmony_ci        to that described for TexImage2D, beginning with clamping of the R,
2405bd8deadSopenharmony_ci        G, B, A, or depth values from the resulting pixel groups." ...
2415bd8deadSopenharmony_ci
2425bd8deadSopenharmony_ci    Section 3.8.4, Texture Parameters, p. 133, append table 3.19 with the
2435bd8deadSopenharmony_ci    following:
2445bd8deadSopenharmony_ci
2455bd8deadSopenharmony_ci        Name                        Type  Legal Values
2465bd8deadSopenharmony_ci        --------------------------  ----  -------------------------------
2475bd8deadSopenharmony_ci        DEPTH_TEXTURE_MODE_ARB      enum  LUMINANCE, INTENSITY, ALPHA
2485bd8deadSopenharmony_ci
2495bd8deadSopenharmony_ci    Before current section 3.8.5, Texture Wrap Modes, p. 134, insert the
2505bd8deadSopenharmony_ci    following new section.  Renumber subsections of 3.8 appropriately.
2515bd8deadSopenharmony_ci
2525bd8deadSopenharmony_ci        "3.8.5 Depth Component Textures
2535bd8deadSopenharmony_ci
2545bd8deadSopenharmony_ci        Depth textures can be treated as LUMINANCE, INTENSITY or ALPHA
2555bd8deadSopenharmony_ci        textures during texture filtering and application. Initially,
2565bd8deadSopenharmony_ci        depth textures are interpreted as LUMINANCE."
2575bd8deadSopenharmony_ci
2585bd8deadSopenharmony_ci    Modify section 3.8.7, Texture Minification, p. 139.  Modify the last
2595bd8deadSopenharmony_ci    paragraph before the "Mipmapping" section to read:
2605bd8deadSopenharmony_ci
2615bd8deadSopenharmony_ci        "If any of the selected tauijk, tauij, or taui in the above
2625bd8deadSopenharmony_ci        equations refer to a border texel with i < -bs, j < bs, k < -bs,
2635bd8deadSopenharmony_ci         i >= ws-bs, j >= hs-bs, or k >= ds-bs, then the border values
2645bd8deadSopenharmony_ci        given by the current setting of TEXTURE_BORDER_COLOR is used
2655bd8deadSopenharmony_ci        instead of the unspecified value or values.  If the texture
2665bd8deadSopenharmony_ci        contains color components, the components of the
2675bd8deadSopenharmony_ci        TEXTURE_BORDER_COLOR vector are interpreted as an RGBA color
2685bd8deadSopenharmony_ci        to match the texture's internal format in a manner consistent
2695bd8deadSopenharmony_ci        with table 3.15.  If the texture contains depth components,
2705bd8deadSopenharmony_ci        the R component of the TEXTURE_BORDER_COLOR vector is
2715bd8deadSopenharmony_ci        interpreted as the depth component value."
2725bd8deadSopenharmony_ci
2735bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.3 Specification (Per-Fragment Operations
2745bd8deadSopenharmony_ciand the Frame Buffer)
2755bd8deadSopenharmony_ci
2765bd8deadSopenharmony_ci    None
2775bd8deadSopenharmony_ci
2785bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.3 Specification (Special Functions)
2795bd8deadSopenharmony_ci
2805bd8deadSopenharmony_ci    None
2815bd8deadSopenharmony_ci
2825bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.3 Specification (State and State Requests)
2835bd8deadSopenharmony_ci
2845bd8deadSopenharmony_ci    Section 6.1.3, Enumerated Queries, p. 200, edit paragraph two as follows:
2855bd8deadSopenharmony_ci
2865bd8deadSopenharmony_ci        ..."Queries of TEXTURE_RED_SIZE, TEXTURE_GREEN_SIZE,
2875bd8deadSopenharmony_ci        TEXTURE_BLUE_SIZE, TEXTURE_ALPHA_SIZE, TEXTURE_LUMINANCE_SIZE,
2885bd8deadSopenharmony_ci        TEXTURE_INTENSITY_SIZE, and TEXTURE_DEPTH_SIZE_ARB return the
2895bd8deadSopenharmony_ci        actual resolutions of the stored image array components, not
2905bd8deadSopenharmony_ci        the resolutions specified when the image array was defined.
2915bd8deadSopenharmony_ci
2925bd8deadSopenharmony_ci    Section 6.1.4, Texture Queries, p. 201, replace the sentence two of
2935bd8deadSopenharmony_ci    paragraph two as follows:
2945bd8deadSopenharmony_ci
2955bd8deadSopenharmony_ci        "Calling GetTexImage with a color format when the internal
2965bd8deadSopenharmony_ci        format of the texture image is not a color format causes the error
2975bd8deadSopenharmony_ci        INVALID_OPERATION.  Likewise, calling GetTexImage with a format
2985bd8deadSopenharmony_ci        of DEPTH_COMPONENT when the internal format of the texture
2995bd8deadSopenharmony_ci        image is not a depth format cause the error INVALID_OPERATION.
3005bd8deadSopenharmony_ci        If the internal format of the texture image level is a color
3015bd8deadSopenharmony_ci        format (one of RED, GREEN, BLUE, ALPHA, RGB, BGR, RGBA, BGRA,
3025bd8deadSopenharmony_ci        LUMINANCE, or LUMINANCE_ALPHA), then the components are assigned
3035bd8deadSopenharmony_ci        among R, G, B, and A according to Table 6.1, starting with the
3045bd8deadSopenharmony_ci        first group in the first row, and continuing by obtaining groups
3055bd8deadSopenharmony_ci        in order from each row and proceeding from the first row to the
3065bd8deadSopenharmony_ci        last, and from the first image to the last for three-dimensional
3075bd8deadSopenharmony_ci        textures. If the internal format of the texture image level is a
3085bd8deadSopenharmony_ci        depth format (DEPTH_COMPONENT), then each depth component is
3095bd8deadSopenharmony_ci        assigned with the same ordering of rows and images."
3105bd8deadSopenharmony_ci
3115bd8deadSopenharmony_ci    Replace the last sentence of paragraph four with:
3125bd8deadSopenharmony_ci
3135bd8deadSopenharmony_ci        "Calling GetTexImage with format of COLOR_INDEX or STENCIL_INDEX
3145bd8deadSopenharmony_ci        causes the error INVALID_ENUM."
3155bd8deadSopenharmony_ci
3165bd8deadSopenharmony_ci    Section 1.6.7, Color Table Query, p.203, replace sentence two of
3175bd8deadSopenharmony_ci    paragraph one with:
3185bd8deadSopenharmony_ci
3195bd8deadSopenharmony_ci        "format and type accept the same values as do the corresponding
3205bd8deadSopenharmony_ci        parameters of GetTexImage except that a format of DEPTH_COMPONENT
3215bd8deadSopenharmony_ci        causes the error INVALID_ENUM."
3225bd8deadSopenharmony_ci
3235bd8deadSopenharmony_ci    Section 1.6.8, Convolution Query, p.204, replace sentence two of
3245bd8deadSopenharmony_ci    paragraph one with:
3255bd8deadSopenharmony_ci
3265bd8deadSopenharmony_ci        "format and type accept the same values as do the corresponding
3275bd8deadSopenharmony_ci        parameters of GetTexImage except that a format of DEPTH_COMPONENT
3285bd8deadSopenharmony_ci        causes the error INVALID_ENUM."
3295bd8deadSopenharmony_ci
3305bd8deadSopenharmony_ci    Replace sentence two of paragraph two (specifying GetSeparableFilter)
3315bd8deadSopenharmony_ci    with:
3325bd8deadSopenharmony_ci
3335bd8deadSopenharmony_ci        "format and type accept the same values as do the corresponding
3345bd8deadSopenharmony_ci        parameters of GetTexImage except that a format of DEPTH_COMPONENT
3355bd8deadSopenharmony_ci        causes the error INVALID_ENUM."
3365bd8deadSopenharmony_ci
3375bd8deadSopenharmony_ci    Section 1.6.9, Histogram Query, p.205, replace sentence two of
3385bd8deadSopenharmony_ci    paragraph one with:
3395bd8deadSopenharmony_ci
3405bd8deadSopenharmony_ci        "format and type accept the same values as do the corresponding
3415bd8deadSopenharmony_ci        parameters of GetTexImage except that a format of DEPTH_COMPONENT
3425bd8deadSopenharmony_ci        causes the error INVALID_ENUM."
3435bd8deadSopenharmony_ci
3445bd8deadSopenharmony_ci    Section 1.6.10, Minmax Query, p.205, replace sentence two of
3455bd8deadSopenharmony_ci    paragraph one with:
3465bd8deadSopenharmony_ci
3475bd8deadSopenharmony_ci        "format and type accept the same values as do the corresponding
3485bd8deadSopenharmony_ci        parameters of GetTexImage except that a format of DEPTH_COMPONENT
3495bd8deadSopenharmony_ci        causes the error INVALID_ENUM."
3505bd8deadSopenharmony_ci
3515bd8deadSopenharmony_ciAdditions to the GLX Specification
3525bd8deadSopenharmony_ci
3535bd8deadSopenharmony_ci    None
3545bd8deadSopenharmony_ci
3555bd8deadSopenharmony_ciErrors
3565bd8deadSopenharmony_ci
3575bd8deadSopenharmony_ci    INVALID_OPERATION is generated by TexImage2D or CopyTexImage2D if
3585bd8deadSopenharmony_ci    <target> is not TEXTURE_2D or PROXY_TEXTURE_2D and <internalFormat>
3595bd8deadSopenharmony_ci    is DEPTH_COMPONENT, DEPTH_COMPONENT16_ARB, DEPTH_COMPONENT24_ARB, or
3605bd8deadSopenharmony_ci    DEPTH_COMPONENT32_ARB.
3615bd8deadSopenharmony_ci
3625bd8deadSopenharmony_ci    INVALID_OPERATION is generated by TexImage1D or CopyTexImage1D if
3635bd8deadSopenharmony_ci    <target> is not TEXTURE_1D or PROXY_TEXTURE_1D and <internalFormat>
3645bd8deadSopenharmony_ci    is DEPTH_COMPONENT, DEPTH_COMPONENT16_ARB, DEPTH_COMPONENT24_ARB, or
3655bd8deadSopenharmony_ci    DEPTH_COMPONENT32_ARB.
3665bd8deadSopenharmony_ci
3675bd8deadSopenharmony_ci    INVALID_OPERATION is generated by TexImage1D or TexImage2D if <format>
3685bd8deadSopenharmony_ci    is DEPTH_COMPONENT and <internalFormat> is not DEPTH_COMPONENT,
3695bd8deadSopenharmony_ci    DEPTH_COMPONENT16_ARB, DEPTH_COMPONENT24_ARB, or DEPTH_COMPONENT32_ARB.
3705bd8deadSopenharmony_ci
3715bd8deadSopenharmony_ci    INVALID_OPERATION is generated by TexImage1D or TexImage2D if
3725bd8deadSopenharmony_ci    <internalFormat> is DEPTH_COMPONENT, DEPTH_COMPONENT16_ARB,
3735bd8deadSopenharmony_ci    DEPTH_COMPONENT24_ARB, or DEPTH_COMPONENT32_ARB, and <format> is not
3745bd8deadSopenharmony_ci    DEPTH_COMPONENT.
3755bd8deadSopenharmony_ci
3765bd8deadSopenharmony_ci    INVALID_OPERATION is generated by TexSubImage1D or TexSubImage2D if
3775bd8deadSopenharmony_ci    <format> is DEPTH_COMPONENT and the base internal format of the
3785bd8deadSopenharmony_ci    texture is not DEPTH_COMPONENT, DEPTH_COMPONENT16_ARB,
3795bd8deadSopenharmony_ci    DEPTH_COMPONENT24_ARB, or DEPTH_COMPONENT32_ARB.
3805bd8deadSopenharmony_ci
3815bd8deadSopenharmony_ci    INVALID_OPERATION is generated by TexSubImage1D or TexSubImage2D if
3825bd8deadSopenharmony_ci    <format> is not DEPTH_COMPONENT and the base internal format of
3835bd8deadSopenharmony_ci    the texture is DEPTH_COMPONENT, DEPTH_COMPONENT16_ARB,
3845bd8deadSopenharmony_ci    DEPTH_COMPONENT24_ARB, or DEPTH_COMPONENT32_ARB.
3855bd8deadSopenharmony_ci
3865bd8deadSopenharmony_ci    INVALID_OPERATION is generated by TexImage3D if <internalFormat>
3875bd8deadSopenharmony_ci    is DEPTH_COMPONENT, DEPTH_COMPONENT16_ARB, DEPTH_COMPONENT24_ARB,
3885bd8deadSopenharmony_ci    or DEPTH_COMPONENT32_ARB.
3895bd8deadSopenharmony_ci
3905bd8deadSopenharmony_ci    INVALID_OPERATION is generated by CopyTexImage1D or CopyTexImage2D if
3915bd8deadSopenharmony_ci    <internalFormat> is DEPTH_COMPONENT, DEPTH_COMPONENT16_ARB,
3925bd8deadSopenharmony_ci    DEPTH_COMPONENT24_ARB, or DEPTH_COMPONENT32_ARB, and there is no depth
3935bd8deadSopenharmony_ci    buffer.
3945bd8deadSopenharmony_ci
3955bd8deadSopenharmony_ci    INVALID_OPERATION is generated by CopyTexSubImage1D or CopyTexSubImage2D
3965bd8deadSopenharmony_ci    if the base internal format of the texture is DEPTH_COMPONENT and there
3975bd8deadSopenharmony_ci    is no depth buffer.
3985bd8deadSopenharmony_ci
3995bd8deadSopenharmony_ci    INVALID_ENUM is generated if TexParameter[if] parameter <pname>
4005bd8deadSopenharmony_ci    is DEPTH_TEXTURE_MODE_ARB and parameter <param> is not ALPHA,
4015bd8deadSopenharmony_ci    LUMINANCE, or INTENSITY.
4025bd8deadSopenharmony_ci
4035bd8deadSopenharmony_ci    INVALID_OPERATION is generated if GetTexImage parameter <format>
4045bd8deadSopenharmony_ci    is one of RED, GREEN, BLUE, ALPHA, RGB, RGBA, BGR, BGRA, LUMINANCE,
4055bd8deadSopenharmony_ci    or LUMINANCE_ALPHA but the internal format of the texture level
4065bd8deadSopenharmony_ci    image is not a color format.
4075bd8deadSopenharmony_ci
4085bd8deadSopenharmony_ci    INVALID_OPERATION is generated if GetTexImage parameter <format>
4095bd8deadSopenharmony_ci    is DEPTH_COMPONENT but the internal format of the texture level
4105bd8deadSopenharmony_ci    image is not a depth format.
4115bd8deadSopenharmony_ci
4125bd8deadSopenharmony_ci    Eliminate the INVALID_ENUM generated if GetTexImage parameter
4135bd8deadSopenharmony_ci    <format> is DEPTH_COMPONENT.  (but this should still be an error for
4145bd8deadSopenharmony_ci    GetColorTable, GetConvolutionFilter, GetSeparableFilter, GetHistogram,
4155bd8deadSopenharmony_ci    and GetMinmax).
4165bd8deadSopenharmony_ci
4175bd8deadSopenharmony_ciNew State
4185bd8deadSopenharmony_ci
4195bd8deadSopenharmony_ci    In table 6.12, Texture Objects, p. 202, add the following:
4205bd8deadSopenharmony_ci
4215bd8deadSopenharmony_ci                                                 Initial
4225bd8deadSopenharmony_ci    Get Value          Type Get Command           Value  Description                           Sec. Attribute
4235bd8deadSopenharmony_ci    ------------------ ---- -------------------- ------- ------------------------------------- ---- ---------
4245bd8deadSopenharmony_ci    TEXTURE_DEPTH_SIZE  Z+  GetTexLevelParameter    0    xD texture image i's depth resolution  3.8     -
4255bd8deadSopenharmony_ci
4265bd8deadSopenharmony_ci    In table 6.16, Texture Objects, p. 224, add the following:
4275bd8deadSopenharmony_ci
4285bd8deadSopenharmony_ci    Get Value                   Type  Get Command           Initial Value  Description         Sec.   Attribute
4295bd8deadSopenharmony_ci    --------------------------  ----  --------------------  -------------  --------------      -----  ---------
4305bd8deadSopenharmony_ci    DEPTH_TEXTURE_MODE_ARB      Z_3   GetTexParameter[if]v  LUMINANCE      depth texture mode  3.8.13 texture
4315bd8deadSopenharmony_ci
4325bd8deadSopenharmony_ci
4335bd8deadSopenharmony_ci
4345bd8deadSopenharmony_ciNew Implementation Dependent State
4355bd8deadSopenharmony_ci
4365bd8deadSopenharmony_ci    None
4375bd8deadSopenharmony_ci
4385bd8deadSopenharmony_ciRevision History
4395bd8deadSopenharmony_ci
4405bd8deadSopenharmony_ci    19 March 2001
4415bd8deadSopenharmony_ci        - initial version
4425bd8deadSopenharmony_ci    22 June 2001
4435bd8deadSopenharmony_ci        - added 1D textures to issue 4
4445bd8deadSopenharmony_ci    16 November 2001
4455bd8deadSopenharmony_ci        - removed TEXTURE_BORDER_DEPTH.  use the first component of
4465bd8deadSopenharmony_ci          TEXTURE_BORDER_COLOR to specify the depth border value.
4475bd8deadSopenharmony_ci        - Added new language in section 3.8.5 to describe how
4485bd8deadSopenharmony_ci          TEXTURE_BORDER_COLOR is used with depth textures.
4495bd8deadSopenharmony_ci        - Inserted new issue item #4.
4505bd8deadSopenharmony_ci    17 November 2001
4515bd8deadSopenharmony_ci        - Changed issue 4 resolution.
4525bd8deadSopenharmony_ci        - Rewrote section 3.8.4
4535bd8deadSopenharmony_ci    12 December 2001 (Pat Brown)
4545bd8deadSopenharmony_ci        - Retargeted against the OpenGL 1.3 specification.
4555bd8deadSopenharmony_ci        - Depth textures are allowed only on 1D and 2D targets.  Shadowing is
4565bd8deadSopenharmony_ci          problematic for 3D and cube map textures.
4575bd8deadSopenharmony_ci        - Updated base and sized internal format tables.
4585bd8deadSopenharmony_ci        - Documented a couple missing error conditions for TexImage and
4595bd8deadSopenharmony_ci          TexSubImage calls where <format> and the texture internal format are
4605bd8deadSopenharmony_ci          incompatible.
4615bd8deadSopenharmony_ci        - Minor cleanups to provide for depth components in wording that
4625bd8deadSopenharmony_ci          formerly assumed RGBA components only.
4635bd8deadSopenharmony_ci    13 December 2001
4645bd8deadSopenharmony_ci        - Removed a few lingering references to glTexImage3D.
4655bd8deadSopenharmony_ci        - Rewrite the first and last error conditions to be clearer.
4665bd8deadSopenharmony_ci        - replace "1.2" with "1.3" in a few places.
4675bd8deadSopenharmony_ci    - fixed a few more error conditions (Pat Brown)
4685bd8deadSopenharmony_ci    11 January 2002
4695bd8deadSopenharmony_ci        - fixed "intented" typo
4705bd8deadSopenharmony_ci        - added sentence saying that TEXTURE_LUMINANCE_SIZE may be used
4715bd8deadSopenharmony_ci          to query the effective resolution of a depth textures when it's
4725bd8deadSopenharmony_ci          interpreted as a luminance texture.
4735bd8deadSopenharmony_ci    18 January 2002
4745bd8deadSopenharmony_ci        - Allow depth textures to be used as LUMINANCE, INTENSITY or ALPHA
4755bd8deadSopenharmony_ci          textures (Bimal Poddar)
4765bd8deadSopenharmony_ci    21 January 2002
4775bd8deadSopenharmony_ci        - Added issue #8 to deal with actual depth texture precision.
4785bd8deadSopenharmony_ci          Fixed error to be INVALID_ENUM instead of INVALID_OPERATION.
4795bd8deadSopenharmony_ci    13 May 2004 (mjk)
4805bd8deadSopenharmony_ci        - Document GetTexImage behavior when depth texture formats are
4815bd8deadSopenharmony_ci          supported.
4825bd8deadSopenharmony_ci        - Document that GetColorTable, GetConvolutionFilter, GetHistogram,
4835bd8deadSopenharmony_ci          and GetMinmax now differ from GetTexImage in that
4845bd8deadSopenharmony_ci          DEPTH_COMPONENT is (still) not a legal format for these
4855bd8deadSopenharmony_ci          queries.
4865bd8deadSopenharmony_ci        - Document in "New Tokens" that DEPTH_COMPONENT is a newly accepted
4875bd8deadSopenharmony_ci          token for the <internalFormat> parameter of TexImage1D,
4885bd8deadSopenharmony_ci          TexImage2D, CopyTexImage1D and CopyTexImage2D; and the <format>
4895bd8deadSopenharmony_ci          parameter of GetTexImage, TexImage1D, TexImage2D, TexSubImage1D,
4905bd8deadSopenharmony_ci          and TexSubImage2D.
4915bd8deadSopenharmony_ci        - Fix mangled sentence in 3.8.5
4925bd8deadSopenharmony_ci    1 June 2004 (John Rosasco)
4935bd8deadSopenharmony_ci        - Added BGR and BGRA to the list of color internal formats in
4945bd8deadSopenharmony_ci          section 6.1.4.
4955bd8deadSopenharmony_ci    29 November 2004 (mjk)
4965bd8deadSopenharmony_ci        - Document that GetSeparableFilter now differ from GetTexImage
4975bd8deadSopenharmony_ci          in that DEPTH_COMPONENT is (still) not a legal format for
4985bd8deadSopenharmony_ci          these queries.
499