15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    ARB_texture_gather
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_ARB_texture_gather
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Pat Brown, NVIDIA Corporation (pbrown 'at' nvidia.com)
125bd8deadSopenharmony_ci    Bill Licea-Kane, AMD ( Bill.Licea-Kane 'at' amd.com )
135bd8deadSopenharmony_ci    Eric Werness, NVIDIA Corporation (ewerness 'at' nvidia.com)
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ciContributors
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ci    Pierre Boudier, AMD
185bd8deadSopenharmony_ci    Eric Boumaour, AMD
195bd8deadSopenharmony_ci    Pat Brown, NVIDIA
205bd8deadSopenharmony_ci    Alex Chalfin, AMD
215bd8deadSopenharmony_ci    Nick Haemel, AMD
225bd8deadSopenharmony_ci    Evan Hart, AMD
235bd8deadSopenharmony_ci    Bill Licea-Kane, AMD
245bd8deadSopenharmony_ci    Benj Lipchak, AMD
255bd8deadSopenharmony_ci    Lijun Qu, AMD
265bd8deadSopenharmony_ci    Greg Roth, NVIDIA
275bd8deadSopenharmony_ci    Eric Werness, NVIDIA
285bd8deadSopenharmony_ci
295bd8deadSopenharmony_ciNotice
305bd8deadSopenharmony_ci
315bd8deadSopenharmony_ci    Copyright (c) 2009-2014 The Khronos Group Inc. Copyright terms at
325bd8deadSopenharmony_ci        http://www.khronos.org/registry/speccopyright.html
335bd8deadSopenharmony_ci
345bd8deadSopenharmony_ciSpecification Update Policy
355bd8deadSopenharmony_ci
365bd8deadSopenharmony_ci    Khronos-approved extension specifications are updated in response to
375bd8deadSopenharmony_ci    issues and bugs prioritized by the Khronos OpenGL Working Group. For
385bd8deadSopenharmony_ci    extensions which have been promoted to a core Specification, fixes will
395bd8deadSopenharmony_ci    first appear in the latest version of that core Specification, and will
405bd8deadSopenharmony_ci    eventually be backported to the extension document. This policy is
415bd8deadSopenharmony_ci    described in more detail at
425bd8deadSopenharmony_ci        https://www.khronos.org/registry/OpenGL/docs/update_policy.php
435bd8deadSopenharmony_ci
445bd8deadSopenharmony_ciStatus
455bd8deadSopenharmony_ci
465bd8deadSopenharmony_ci    Complete. Approved by the ARB on July 3, 2009.
475bd8deadSopenharmony_ci
485bd8deadSopenharmony_ciVersion
495bd8deadSopenharmony_ci
505bd8deadSopenharmony_ci    Last Modified Date:         02/26/2014
515bd8deadSopenharmony_ci    Revision:                   8
525bd8deadSopenharmony_ci
535bd8deadSopenharmony_ciNumber
545bd8deadSopenharmony_ci
555bd8deadSopenharmony_ci    ARB Extension #72
565bd8deadSopenharmony_ci
575bd8deadSopenharmony_ciDependencies
585bd8deadSopenharmony_ci
595bd8deadSopenharmony_ci    OpenGL 1.1 is required.
605bd8deadSopenharmony_ci
615bd8deadSopenharmony_ci    OpenGL Shading Language version 1.30 is required.
625bd8deadSopenharmony_ci
635bd8deadSopenharmony_ci    This extension is written against the OpenGL 3.0 Specification
645bd8deadSopenharmony_ci    (Compatibility Profile) and Version 1.30 of the OpenGL Shading Language
655bd8deadSopenharmony_ci    Specification.
665bd8deadSopenharmony_ci
675bd8deadSopenharmony_ci    This extension interacts with the EXT_texture_swizzle and
685bd8deadSopenharmony_ci    ARB_texture_swizzle extensions.
695bd8deadSopenharmony_ci
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ciOverview
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ci    This extension provides a new set of texture functions
745bd8deadSopenharmony_ci    (textureGather) to the shading language that determine 2x2 footprint
755bd8deadSopenharmony_ci    that are used for linear filtering in a texture lookup, and return a
765bd8deadSopenharmony_ci    vector consisting of the first component from each of the four
775bd8deadSopenharmony_ci    texels in the footprint.
785bd8deadSopenharmony_ci
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ciNew Procedures and Functions
815bd8deadSopenharmony_ci
825bd8deadSopenharmony_ci    None.
835bd8deadSopenharmony_ci
845bd8deadSopenharmony_ciNew Tokens
855bd8deadSopenharmony_ci
865bd8deadSopenharmony_ci    Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
875bd8deadSopenharmony_ci    GetFloatv, and GetDoublev:
885bd8deadSopenharmony_ci
895bd8deadSopenharmony_ci        MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB            0x8E5E
905bd8deadSopenharmony_ci        MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB            0x8E5F
915bd8deadSopenharmony_ci        MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB        0x8F9F
925bd8deadSopenharmony_ci
935bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 2.0 Specification (OpenGL Operation)
945bd8deadSopenharmony_ci    None.
955bd8deadSopenharmony_ci
965bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 2.0 Specification (Rasterization)
975bd8deadSopenharmony_ci
985bd8deadSopenharmony_ci    Changes to section 3.8.8
995bd8deadSopenharmony_ci
1005bd8deadSopenharmony_ci    In subsection Scale Factor and Level of Detail replace the sentence
1015bd8deadSopenharmony_ci    beginning "If any of the offset values are outside the range of..."
1025bd8deadSopenharmony_ci    (P. 204) with
1035bd8deadSopenharmony_ci
1045bd8deadSopenharmony_ci     If the value of any non-ignored component of the offset vector
1055bd8deadSopenharmony_ci     operand is outside implementation-dependent limits, the results of
1065bd8deadSopenharmony_ci     the texture lookup are undefined. For all instructions except
1075bd8deadSopenharmony_ci     textureGather, the limits are MIN_PROGRAM_TEXEL_OFFSET_ARB and
1085bd8deadSopenharmony_ci     MAX_PROGRAM_TEXEL_OFFSET_ARB. For the textureGather instruction,
1095bd8deadSopenharmony_ci     the limits are MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB and
1105bd8deadSopenharmony_ci     MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB.
1115bd8deadSopenharmony_ci
1125bd8deadSopenharmony_ci    Add to subsection Coordinate Wrapping and Texel Selection
1135bd8deadSopenharmony_ci    (P. 208, Prior to "And for a one-dimensional texture"):
1145bd8deadSopenharmony_ci
1155bd8deadSopenharmony_ci     The textureGather and textureGatherOffset built-in shader functions
1165bd8deadSopenharmony_ci     return a vector derived from sampling a 2x2 block of texels in the image
1175bd8deadSopenharmony_ci     array of level <level_base>.  The rules for the LINEAR minification
1185bd8deadSopenharmony_ci     filter are applied to identify the four selected texels.  Each texel is
1195bd8deadSopenharmony_ci     then converted to a texture source color (Rs,Gs,Bs,As) according to table
1205bd8deadSopenharmony_ci     3.21 and then swizzled as described in the ARB_texture_swizzle extension.
1215bd8deadSopenharmony_ci     A four-component vector is then assembled by taking the Rs component from
1225bd8deadSopenharmony_ci     the swizzled texture source colors of the four texels, in the order
1235bd8deadSopenharmony_ci     T_i0_j1, T_i1_j1, T_i1_j0, and T_i0_j0.  Incomplete textures (section
1245bd8deadSopenharmony_ci     3.8.10) are considered to return a texture source color of (0,0,0,1) for
1255bd8deadSopenharmony_ci     all four source texels.
1265bd8deadSopenharmony_ci
1275bd8deadSopenharmony_ci     ___________________________________________________________________
1285bd8deadSopenharmony_ci     |                                                                 |
1295bd8deadSopenharmony_ci     |   1.0  +---+---+---+---+---+---+---+---+                        |
1305bd8deadSopenharmony_ci     |       7|   |   |   |   |   |   |   |   |                        |
1315bd8deadSopenharmony_ci     |        +---+---+---+---+---+---+---+---+                        |
1325bd8deadSopenharmony_ci     |       6|   |   |   |   |   | X | Y |   |                        |
1335bd8deadSopenharmony_ci     |        +---+---+---+---+---+---+---+---+                        |
1345bd8deadSopenharmony_ci     |       5|   |   |   |   |   | W | Z |   |                        |
1355bd8deadSopenharmony_ci     |        +---+---+---+---+---+---+---+---+                        |
1365bd8deadSopenharmony_ci     |       4|   |   |   |   |   |   |   |   |                        |
1375bd8deadSopenharmony_ci     |        +---+---+---+---+---+---+---+---+                        |
1385bd8deadSopenharmony_ci     |       3|   |   |   |   |   |   |   |   |                        |
1395bd8deadSopenharmony_ci     |        +---+---+---+---+---+---+---+---+                        |
1405bd8deadSopenharmony_ci     |       2|   |   |   |   |   |   |   |   |                        |
1415bd8deadSopenharmony_ci     |        +---+---+---+---+---+---+---+---+                        |
1425bd8deadSopenharmony_ci     |       1|   |   |   |   |   |   |   |   |                        |
1435bd8deadSopenharmony_ci     |        +---+---+---+---+---+---+---+---+                        |
1445bd8deadSopenharmony_ci     |       0|   |   |   |   |   |   |   |   |                        |
1455bd8deadSopenharmony_ci     |   0.0  +---+---+---+---+---+---+---+---+                        |
1465bd8deadSopenharmony_ci     |          0   1   2   3   4   5   6   7                          |
1475bd8deadSopenharmony_ci     |       0.0                             1.0                       |
1485bd8deadSopenharmony_ci     |                                                                 |
1495bd8deadSopenharmony_ci     |  Figure 3.10a.  An example of an 8x8 texture image and the      |
1505bd8deadSopenharmony_ci     |  components returned for textureGather.  The vector (X,Y,Z,W)   |
1515bd8deadSopenharmony_ci     |  is returned, where each component is taken from the post-      |
1525bd8deadSopenharmony_ci     |  swizzle R component of the corresponding texel.                |
1535bd8deadSopenharmony_ci     |_________________________________________________________________|
1545bd8deadSopenharmony_ci
1555bd8deadSopenharmony_ci
1565bd8deadSopenharmony_ci    Add to Section 3.12.2, Shader Execution, Texture Access
1575bd8deadSopenharmony_ci
1585bd8deadSopenharmony_ci    (p. 233) Prior to paragraph beginning "If a fragment shader uses a
1595bd8deadSopenharmony_ci    sampler..."
1605bd8deadSopenharmony_ci
1615bd8deadSopenharmony_ci     Texture lookups using textureGather must only be performed on
1625bd8deadSopenharmony_ci     textures with supported formats.
1635bd8deadSopenharmony_ci     MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB determines what formats
1645bd8deadSopenharmony_ci     are supported. If the value is one, only RED, ALPHA, LUMINANCE,
1655bd8deadSopenharmony_ci     INTENSITY, DEPTH, and DEPTH_STENCIL are supported. If the value is
1665bd8deadSopenharmony_ci     four, all internal formats are supported. When textureGather is
1675bd8deadSopenharmony_ci     used to sample a texture with an unsupported format, the results
1685bd8deadSopenharmony_ci     are undefined.
1695bd8deadSopenharmony_ci
1705bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 2.0 Specification (Per-Fragment
1715bd8deadSopenharmony_ciOperations and the Frame Buffer)
1725bd8deadSopenharmony_ci
1735bd8deadSopenharmony_ci    None.
1745bd8deadSopenharmony_ci
1755bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 2.0 Specification (Special Functions)
1765bd8deadSopenharmony_ci
1775bd8deadSopenharmony_ci    None.
1785bd8deadSopenharmony_ci
1795bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 2.0 Specification (State and
1805bd8deadSopenharmony_ciState Requests)
1815bd8deadSopenharmony_ci
1825bd8deadSopenharmony_ci    None.
1835bd8deadSopenharmony_ci
1845bd8deadSopenharmony_ciAdditions to the AGL/GLX/WGL Specifications
1855bd8deadSopenharmony_ci
1865bd8deadSopenharmony_ci    None
1875bd8deadSopenharmony_ci
1885bd8deadSopenharmony_ciGLX Protocol
1895bd8deadSopenharmony_ci
1905bd8deadSopenharmony_ci    TBD
1915bd8deadSopenharmony_ci
1925bd8deadSopenharmony_ciErrors
1935bd8deadSopenharmony_ci
1945bd8deadSopenharmony_ci    None.
1955bd8deadSopenharmony_ci
1965bd8deadSopenharmony_ciNew State
1975bd8deadSopenharmony_ci
1985bd8deadSopenharmony_ci    None.
1995bd8deadSopenharmony_ci
2005bd8deadSopenharmony_ciNew Implementation Dependent State
2015bd8deadSopenharmony_ci                                                                     Minimum
2025bd8deadSopenharmony_ci    Get Value                                 Type  Get Command       Value   Description            Sec.   Attrib
2035bd8deadSopenharmony_ci    --------------------------------          ----  ---------------  -------  ---------------------  ------ ------
2045bd8deadSopenharmony_ci    MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB      Z    GetIntegerv        --     Min. texel offset      3.8.8  -
2055bd8deadSopenharmony_ci                                                                              for textureGather
2065bd8deadSopenharmony_ci    MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB      Z+   GetIntegerv        --     Max. texel offset      3.8.8  -
2075bd8deadSopenharmony_ci                                                                              for textureGather
2085bd8deadSopenharmony_ci    MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB  Z+   GetIntegerv        --     Max. format components 3.8.8  -
2095bd8deadSopenharmony_ci                                                                              for textureGather
2105bd8deadSopenharmony_ci
2115bd8deadSopenharmony_ci
2125bd8deadSopenharmony_ciModifications to The OpenGL Shading Language Specification, Version 1.10.59
2135bd8deadSopenharmony_ci
2145bd8deadSopenharmony_ci    Including the following line in a shader can be used to control the
2155bd8deadSopenharmony_ci    language features described in this extension:
2165bd8deadSopenharmony_ci
2175bd8deadSopenharmony_ci      #extension GL_ARB_texture_gather
2185bd8deadSopenharmony_ci
2195bd8deadSopenharmony_ci    A new preprocessor #define is added to the OpenGL Shading Language:
2205bd8deadSopenharmony_ci
2215bd8deadSopenharmony_ci      #define GL_ARB_texture_gather 1
2225bd8deadSopenharmony_ci
2235bd8deadSopenharmony_ci    Change section 4.3.6 "Varying"
2245bd8deadSopenharmony_ci
2255bd8deadSopenharmony_ci    Add to section 8.7 "Texture Lookup Functions"
2265bd8deadSopenharmony_ci
2275bd8deadSopenharmony_ci    Syntax:
2285bd8deadSopenharmony_ci
2295bd8deadSopenharmony_ci      gvec4 textureGather(gsampler2D sampler, vec2 coord)
2305bd8deadSopenharmony_ci      gvec4 textureGather(gsampler2DArray sampler, vec3 coord)
2315bd8deadSopenharmony_ci      gvec4 textureGather(gsamplerCube sampler, vec3 coord)
2325bd8deadSopenharmony_ci      gvec4 textureGather(gsamplerCubeArray sampler, vec4 coord)
2335bd8deadSopenharmony_ci
2345bd8deadSopenharmony_ci    Description:
2355bd8deadSopenharmony_ci
2365bd8deadSopenharmony_ci      The textureGather functions use the texture coordinates given by
2375bd8deadSopenharmony_ci      <coord> to determine a set of four texels to sample from the texture
2385bd8deadSopenharmony_ci      identified by <sampler>.  These functions return a four-component
2395bd8deadSopenharmony_ci      vector consisting of one component from each texel.  As described in
2405bd8deadSopenharmony_ci      the OpenGL Specification, the vector selects the post-swizzle R
2415bd8deadSopenharmony_ci      component from each of the four texels, returning:
2425bd8deadSopenharmony_ci
2435bd8deadSopenharmony_ci        vec4(T_i0_j1(coord, base).r,
2445bd8deadSopenharmony_ci             T_i1_j1(coord, base).r,
2455bd8deadSopenharmony_ci             T_i1_j0(coord, base).r,
2465bd8deadSopenharmony_ci             T_i0_j0(coord, base).r)
2475bd8deadSopenharmony_ci
2485bd8deadSopenharmony_ci    Syntax:
2495bd8deadSopenharmony_ci
2505bd8deadSopenharmony_ci      gvec4 textureGatherOffset(gsampler2D sampler, vec2 coord, ivec2 offset)
2515bd8deadSopenharmony_ci      gvec4 textureGatherOffset(gsampler2DArray sampler, vec3 coord,
2525bd8deadSopenharmony_ci                                ivec2 offset)
2535bd8deadSopenharmony_ci
2545bd8deadSopenharmony_ci    Description:
2555bd8deadSopenharmony_ci
2565bd8deadSopenharmony_ci      Perform a texture gather operation as in textureGather offset by
2575bd8deadSopenharmony_ci      <offset> as described in textureOffset except that the
2585bd8deadSopenharmony_ci      implementation-dependent minimum and maximum offset values are
2595bd8deadSopenharmony_ci      given by MIN_PROGRAM_TEXTURE_GATHER_OFFSET and
2605bd8deadSopenharmony_ci      MAX_PROGRAM_TEXTURE_GATHER_OFFSET respectively.
2615bd8deadSopenharmony_ci
2625bd8deadSopenharmony_ciDependencies on ARB_texture_swizzle and EXT_texture_swizzle
2635bd8deadSopenharmony_ci
2645bd8deadSopenharmony_ci    If neither ARB_texture_swizzle nor EXT_texture_swizzle is supported,
2655bd8deadSopenharmony_ci    remove the swizzling step from the description of the textureGather
2665bd8deadSopenharmony_ci    functions in the OpenGL specification.
2675bd8deadSopenharmony_ci
2685bd8deadSopenharmony_ciIssues
2695bd8deadSopenharmony_ci
2705bd8deadSopenharmony_ci    (1) What about the use of this extension with fixed function?
2715bd8deadSopenharmony_ci
2725bd8deadSopenharmony_ci       RESOLVED: The built-in functions are added to the shading
2735bd8deadSopenharmony_ci       language only.  There is no ability to fetch four texels in
2745bd8deadSopenharmony_ci       fixed function.
2755bd8deadSopenharmony_ci
2765bd8deadSopenharmony_ci    (2) What naming convention do we use for the new texture built-in
2775bd8deadSopenharmony_ci        functions?
2785bd8deadSopenharmony_ci
2795bd8deadSopenharmony_ci       RESOLVED: Even though this extension is written against OpenGL
2805bd8deadSopenharmony_ci       Shading Language 1.20, we use the new texture function naming
2815bd8deadSopenharmony_ci       convention from OpenGL Shading Language 1.30.
2825bd8deadSopenharmony_ci
2835bd8deadSopenharmony_ci    (3)  Should we add built-in texture functions for:
2845bd8deadSopenharmony_ci      * Fetch4 with Absolute LOD?
2855bd8deadSopenharmony_ci      * Fetch4 with Relative LOD?
2865bd8deadSopenharmony_ci      * Fetch4 with coordinate offsets?
2875bd8deadSopenharmony_ci      * Fetch4 with compare?
2885bd8deadSopenharmony_ci
2895bd8deadSopenharmony_ci       RESOLVED: No.
2905bd8deadSopenharmony_ci
2915bd8deadSopenharmony_ci    (4) If the texture wrap modes are not clamp_to_edge or repeat, is
2925bd8deadSopenharmony_ci        the texture treated as incomplete, or are the values returned by
2935bd8deadSopenharmony_ci        the textureGather built-in undefined?
2945bd8deadSopenharmony_ci
2955bd8deadSopenharmony_ci       RESOLVED: All wrap modes will be supported and textureGather will
2965bd8deadSopenharmony_ci       return correct results.
2975bd8deadSopenharmony_ci
2985bd8deadSopenharmony_ci    (5) Can both texture *AND* textureGather built-in functions
2995bd8deadSopenharmony_ci        sample from the same sampler in a shader?
3005bd8deadSopenharmony_ci
3015bd8deadSopenharmony_ci       RESOLVED: Yes.
3025bd8deadSopenharmony_ci
3035bd8deadSopenharmony_ci    (6) How do the textureGather functions work with sRGB textures?
3045bd8deadSopenharmony_ci
3055bd8deadSopenharmony_ci       RESOLVED. Gamma-correction is applied to the texture source color
3065bd8deadSopenharmony_ci       before "gathering".  For each of the four texels sampled, the R, G,
3075bd8deadSopenharmony_ci       and B components will be gamma-corrected.  With a default texture
3085bd8deadSopenharmony_ci       swizzle, textureGather will always pick the red component from each
3095bd8deadSopenharmony_ci       of the four texels, so will return a vector with four
3105bd8deadSopenharmony_ci       gamma-corrected values.  If the R texture swizzle is set to ALPHA,
3115bd8deadSopenharmony_ci       four alpha values will be selected and those values will have no
3125bd8deadSopenharmony_ci       gamma-correction appplied.
3135bd8deadSopenharmony_ci
3145bd8deadSopenharmony_ci    (7) Should textureGather lookups from multiple component formats be
3155bd8deadSopenharmony_ci        allowed?
3165bd8deadSopenharmony_ci
3175bd8deadSopenharmony_ci       RESOLVED:  This extension was derived from NV_gpu_shader4_1 (which
3185bd8deadSopenharmony_ci       supported selecting the R component of multi-component textures)
3195bd8deadSopenharmony_ci       and AMD_texture_texture4 (which didn't).  To accommodate all
3205bd8deadSopenharmony_ci       implementations, an implementation-dependent query is provided to
3215bd8deadSopenharmony_ci       indicating the allowed number of components in a gathered texture
3225bd8deadSopenharmony_ci       is used.
3235bd8deadSopenharmony_ci
3245bd8deadSopenharmony_ci    (8) How does texture gather interact with incomplete textures?
3255bd8deadSopenharmony_ci
3265bd8deadSopenharmony_ci       RESOLVED:  For regular texture lookups, incomplete textures are
3275bd8deadSopenharmony_ci       considered to return a texel value with RGBA components of (0,0,0,1).
3285bd8deadSopenharmony_ci       For texture gather operations, each texel in the sampled footprint is
3295bd8deadSopenharmony_ci       considered to have RGBA components of (0,0,0,1).  Since this extension
3305bd8deadSopenharmony_ci       selects the R texture component of each texel in a four-texel
3315bd8deadSopenharmony_ci       footprint, a textureGather() function accessing an incomplete texture
3325bd8deadSopenharmony_ci       will return (0,0,0,0).
3335bd8deadSopenharmony_ci
3345bd8deadSopenharmony_ciRevision History
3355bd8deadSopenharmony_ci
3365bd8deadSopenharmony_ci    Rev.    Date      Author    Changes
3375bd8deadSopenharmony_ci    ----  --------    --------  --------------------------------------------
3385bd8deadSopenharmony_ci    8     02/26/14    Jon Leech Change MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB
3395bd8deadSopenharmony_ci                                type from Z+ to Z (Bug 11730).       
3405bd8deadSopenharmony_ci
3415bd8deadSopenharmony_ci    7     01/27/11    pbrown    Add further clarification on the interaction
3425bd8deadSopenharmony_ci                                of texture gather and incomplete textures 
3435bd8deadSopenharmony_ci                                bug 7289).
3445bd8deadSopenharmony_ci
3455bd8deadSopenharmony_ci    6     09/23/10    pbrown    Clarify the interaction of texture gather
3465bd8deadSopenharmony_ci                                with swizzle (bug 5910), fixing conflicts
3475bd8deadSopenharmony_ci                                between API and GLSL spec language.
3485bd8deadSopenharmony_ci                                Consolidate into one copy in the API 
3495bd8deadSopenharmony_ci                                spec.  Fix incorrect resolution on issue
3505bd8deadSopenharmony_ci                                (5).  Minor wording updates to issues.
3515bd8deadSopenharmony_ci
3525bd8deadSopenharmony_ci    5     08/02/09    Jon Leech Reformat to 80 columns and assign ARB
3535bd8deadSopenharmony_ci                                extension number.
3545bd8deadSopenharmony_ci
3555bd8deadSopenharmony_ci    4     07/20/09    Jon Leech Assign missing enumerant value
3565bd8deadSopenharmony_ci
3575bd8deadSopenharmony_ci    3     05/25/09     groth    Remove *offset accesses to cubemap textures
3585bd8deadSopenharmony_ci
3595bd8deadSopenharmony_ci    2     05/29/09     groth    Add query for max gatherable components
3605bd8deadSopenharmony_ci                                remove undefined behavior for wrap modes
3615bd8deadSopenharmony_ci
3625bd8deadSopenharmony_ci    1     05/14/09     groth    Initial revision
363