summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian <brian@yutani.localnet.net>2007-05-17 08:54:08 -0600
committerBrian <brian@yutani.localnet.net>2007-05-17 08:54:08 -0600
commit6ee6b2dcd96fafae8d924d617e54e32a2aa8c5ea (patch)
treed86c7fb972f381e9b3263b14c1bf5136289f0a0a
parent347bb541f5a89f59e502888a5ae486bc52abfb66 (diff)
parent67f82731fcb87f789135e07f691d41ebd12f0015 (diff)
Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa
-rw-r--r--docs/MESA_texture_array.spec805
-rw-r--r--include/GL/gl.h28
-rw-r--r--progs/tests/Makefile7
-rw-r--r--progs/tests/arraytexture.c337
-rw-r--r--src/mesa/drivers/dri/common/extension_helper.h14
-rw-r--r--src/mesa/drivers/dri/r300/r300_context.h23
-rw-r--r--src/mesa/drivers/dri/r300/r300_emit.c151
-rw-r--r--src/mesa/drivers/dri/r300/r300_render.c72
-rw-r--r--src/mesa/glapi/EXT_framebuffer_object.xml42
-rw-r--r--src/mesa/glapi/dispatch.h17
-rw-r--r--src/mesa/glapi/glapioffsets.h12
-rw-r--r--src/mesa/glapi/glapitable.h9
-rw-r--r--src/mesa/glapi/glapitemp.h24
-rw-r--r--src/mesa/glapi/glprocs.h552
-rw-r--r--src/mesa/main/attrib.c12
-rw-r--r--src/mesa/main/config.h3
-rw-r--r--src/mesa/main/context.c11
-rw-r--r--src/mesa/main/enable.c16
-rw-r--r--src/mesa/main/enums.c5319
-rw-r--r--src/mesa/main/extensions.c2
-rw-r--r--src/mesa/main/fbobject.c151
-rw-r--r--src/mesa/main/fbobject.h4
-rw-r--r--src/mesa/main/get_gen.py6
-rw-r--r--src/mesa/main/mipmap.c148
-rw-r--r--src/mesa/main/mtypes.h35
-rw-r--r--src/mesa/main/state.c5
-rw-r--r--src/mesa/main/teximage.c152
-rw-r--r--src/mesa/main/texobj.c50
-rw-r--r--src/mesa/main/texrender.c45
-rw-r--r--src/mesa/main/texstate.c46
-rw-r--r--src/mesa/shader/arbprogparse.c22
-rw-r--r--src/mesa/shader/arbprogram.syn21
-rw-r--r--src/mesa/shader/arbprogram_syn.h15
-rw-r--r--src/mesa/sparc/glapi_sparc.S6
-rw-r--r--src/mesa/swrast/s_texfilter.c811
-rw-r--r--src/mesa/x86-64/glapi_x86-64.S63
-rw-r--r--src/mesa/x86/glapi_x86.S13
37 files changed, 5721 insertions, 3328 deletions
diff --git a/docs/MESA_texture_array.spec b/docs/MESA_texture_array.spec
new file mode 100644
index 0000000000..d3b7752115
--- /dev/null
+++ b/docs/MESA_texture_array.spec
@@ -0,0 +1,805 @@
+Name
+
+ MESA_texture_array
+
+Name Strings
+
+ GL_MESA_texture_array
+
+Contact
+
+ Ian Romanick, IBM (idr 'at' us.ibm.com)
+
+IP Status
+
+ No known IP issues.
+
+Status
+
+ Shipping in Mesa 7.1
+
+Version
+
+ $Date: 2007/05/16$ $Revision: 0.4$
+
+Number
+
+ TBD
+
+Dependencies
+
+ OpenGL 1.2 or GL_EXT_texture3D is required.
+
+ Support for ARB_fragment_program is assumed, but not required.
+
+ Support for ARB_fragment_program_shadow is assumed, but not required.
+
+ Support for EXT_framebuffer_object is assumed, but not required.
+
+ Written based on the wording of the OpenGL 2.0 specification and
+ ARB_fragment_program_shadow but not dependent on them.
+
+Overview
+
+ There are a number of circumstances where an application may wish to
+ blend two textures out of a larger set of textures. Moreover, in some
+ cases the selected textures may vary on a per-fragment basis within
+ a polygon. Several examples include:
+
+ 1. High dynamic range textures. The application stores several
+ different "exposures" of an image as different textures. On a
+ per-fragment basis, the application selects which exposures are
+ used.
+
+ 2. A terrain engine where the altitude of a point determines the
+ texture applied to it. If the transition is from beach sand to
+ grass to rocks to snow, the application will store each texture
+ in a different texture map, and dynamically select which two
+ textures to blend at run-time.
+
+ 3. Storing short video clips in textures. Each depth slice is a
+ single frame of video.
+
+ Several solutions to this problem have been proposed, but they either
+ involve using a separate texture unit for each texture map or using 3D
+ textures without mipmaps. Both of these options have major drawbacks.
+
+ This extension provides a third alternative that eliminates the major
+ drawbacks of both previous methods. A new texture target,
+ TEXTURE_2D_ARRAY, is added that functions identically to TEXTURE_3D in
+ all aspects except the sizes of the non-base level images. In
+ traditional 3D texturing, the size of the N+1 LOD is half the size
+ of the N LOD in all three dimensions. For the TEXTURE_2D_ARRAY target,
+ the height and width of the N+1 LOD is halved, but the depth is the
+ same for all levels of detail. The texture then becomes an array of
+ 2D textures. The per-fragment texel is selected by the R texture
+ coordinate.
+
+ References:
+
+ http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=011557
+ http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=000516
+ http://www.opengl.org/discussion_boards/cgi_directory/ultimatebb.cgi?ubb=get_topic;f=3;t=011903
+ http://www.delphi3d.net/articles/viewarticle.php?article=terraintex.htm
+
+New Procedures and Functions
+
+ All functions come directly from EXT_texture_array.
+
+ void FramebufferTextureLayerEXT(enum target, enum attachment,
+ uint texture, int level, int layer);
+
+New Tokens
+
+ All token names and values come directly from EXT_texture_array.
+
+ Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, by
+ the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, and
+ GetDoublev, and by the <target> parameter of TexImage3D, GetTexImage,
+ GetTexLevelParameteriv, GetTexLevelParameterfv, GetTexParameteriv, and
+ GetTexParameterfv:
+
+ TEXTURE_1D_ARRAY_EXT 0x8C18
+ TEXTURE_2D_ARRAY_EXT 0x8C1A
+
+ Accepted by the <target> parameter of TexImage2D, TexSubImage2D,
+ CopyTexImage2D, CopyTexSubImage2D, CompressedTexImage2D,
+ CompressedTexSubImage2D, GetTexLevelParameteriv, and
+ GetTexLevelParameterfv:
+
+ TEXTURE_1D_ARRAY_EXT
+ PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
+
+ Accepted by the <target> parameter of TexImage3D, TexSubImage3D,
+ CopyTexSubImage3D, CompressedTexImage3D, CompressedTexSubImage3D,
+ GetTexLevelParameteriv, and GetTexLevelParameterfv:
+
+ TEXTURE_2D_ARRAY_EXT
+ PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
+
+ Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
+ GetFloatv, and GetDoublev
+
+ TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
+ TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
+ MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
+
+ Accepted by the <param> parameter of TexParameterf, TexParameteri,
+ TexParameterfv, and TexParameteriv when the <pname> parameter is
+ TEXTURE_COMPARE_MODE_ARB:
+
+ COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E
+
+ (Note: COMPARE_REF_DEPTH_TO_TEXTURE_EXT is simply an alias for the
+ existing COMPARE_R_TO_TEXTURE token in OpenGL 2.0; the alternate name
+ reflects the fact that the R coordinate is not always used.)
+
+ Accepted by the <internalformat> parameter of TexImage3D and
+ CompressedTexImage3D, and by the <format> parameter of
+ CompressedTexSubImage3D:
+
+ COMPRESSED_RGB_S3TC_DXT1_EXT
+ COMPRESSED_RGBA_S3TC_DXT1_EXT
+ COMPRESSED_RGBA_S3TC_DXT3_EXT
+ COMPRESSED_RGBA_S3TC_DXT5_EXT
+
+ Accepted by the <pname> parameter of
+ GetFramebufferAttachmentParameterivEXT:
+
+ FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
+
+ (Note: FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER is simply an alias for the
+ FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT token provided in
+ EXT_framebuffer_object. This extension generalizes the notion of
+ "<zoffset>" to include layers of an array texture.)
+
+Additions to Chapter 2 of the OpenGL 2.0 Specification (OpenGL Operation)
+
+ None
+
+Additions to Chapter 3 of the OpenGL 2.0 Specification (Rasterization)
+
+ -- Section 3.8.1 "Texture Image Specification"
+
+ Change the first paragraph (page 150) to say (spec changes identical to
+ EXT_texture_array):
+
+ "The command
+
+ void TexImage3D(enum target, int level, int internalformat,
+ sizei width, sizei height, sizei depth, int border,
+ enum format, enum type, void *data);
+
+ is used to specify a three-dimensional texture image. target must be one
+ one of TEXTURE_3D for a three-dimensional texture or
+ TEXTURE_2D_ARRAY_EXT for an two-dimensional array texture.
+ Additionally, target may be either PROXY_TEXTURE_3D for a
+ three-dimensional proxy texture, or PROXY_TEXTURE_2D_ARRAY_EXT for a
+ two-dimensional proxy array texture."
+
+ Change the fourth paragraph on page 151 to say (spec changes identical
+ to EXT_texture_array):
+
+ "Textures with a base internal format of DEPTH_COMPONENT are supported
+ by texture image specification commands only if target is TEXTURE_1D,
+ TEXTURE_2D, TEXTURE_1D_ARRAY_EXT, TEXTURE_2D_ARRAY_EXT,
+ PROXY_TEXTURE_1D, PROXY_TEXTURE_2D, PROXY_TEXTURE_1D_ARRAY_EXT, or
+ PROXY_TEXTURE_2D_ARRAY_EXT. Using this format in conjunction with any
+ other target will result in an INVALID_OPERATION error."
+
+
+ Change the fourth paragraph on page 156 to say (spec changes identical
+ to EXT_texture_array):
+
+ "The command
+
+ void TexImage2D(enum target, int level,
+ int internalformat, sizei width, sizei height,
+ int border, enum format, enum type, void *data);
+
+ is used to specify a two-dimensional texture image. target must be one
+ of TEXTURE_2D for a two-dimensional texture, TEXTURE_1D_ARRAY_EXT for a
+ one-dimensional array texture, or one of TEXTURE_CUBE_MAP_POSITIVE_X,
+ TEXTURE_CUBE_MAP_NEGATIVE_X, TEXTURE_CUBE_MAP_POSITIVE_Y,
+ TEXTURE_CUBE_MAP_NEGATIVE_Y, TEXTURE_CUBE_MAP_POSITIVE_Z, or
+ TEXTURE_CUBE_MAP_NEGATIVE_Z for a cube map texture. Additionally,
+ target may be either PROXY_TEXTURE_2D for a two-dimensional proxy
+ texture, PROXY_TEXTURE_1D_ARRAY_EXT for a one-dimensional proxy array
+ texture, or PROXY TEXTURE_CUBE_MAP for a cube map proxy texture in the
+ special case discussed in section 3.8.11. The other parameters match
+ the corresponding parameters of TexImage3D.
+
+ For the purposes of decoding the texture image, TexImage2D is
+ equivalent to calling TexImage3D with corresponding arguments and depth
+ of 1, except that
+
+ * The border depth, d_b, is zero, and the depth of the image is
+ always 1 regardless of the value of border.
+
+ * The border height, h_b, is zero if <target> is
+ TEXTURE_1D_ARRAY_EXT, and <border> otherwise.
+
+ * Convolution will be performed on the image (possibly changing its
+ width and height) if SEPARABLE 2D or CONVOLUTION 2D is enabled.
+
+ * UNPACK SKIP IMAGES is ignored."
+
+ -- Section 3.8.2 "Alternate Texture Image Specification Commands"
+
+ Change the second paragraph (page 159) (spec changes identical
+ to EXT_texture_array):
+
+ "The command
+
+ void CopyTexImage2D(enum target, int level,
+ enum internalformat, int x, int y, sizei width,
+ sizei height, int border);
+
+ defines a two-dimensional texture image in exactly the manner of
+ TexImage2D, except that the image data are taken from the framebuffer
+ rather than from client memory. Currently, target must be one of
+ TEXTURE_2D, TEXTURE_1D_ARRAY_EXT, TEXTURE_CUBE_MAP_POSITIVE_X,
+ TEXTURE_CUBE_MAP_NEGATIVE_X, TEXTURE_CUBE MAP_POSITIVE_Y,
+ TEXTURE_CUBE_MAP_NEGATIVE_Y, TEXTURE_CUBE_MAP_POSITIVE_Z, or
+ TEXTURE_CUBE_MAP_NEGATIVE_Z.
+
+
+ Change the last paragraph on page 160 to say (spec changes identical
+ to EXT_texture_array):
+
+ "Currently the target arguments of TexSubImage1D and CopyTexSubImage1D
+ must be TEXTURE_1D, the target arguments of TexSubImage2D and
+ CopyTexSubImage2D must be one of TEXTURE_2D, TEXTURE_1D_ARRAY_EXT,
+ TEXTURE_CUBE_MAP_POSITIVE_X, TEXTURE_CUBE_MAP_NEGATIVE_X,
+ TEXTURE_CUBE_MAP_POSITIVE_Y, TEXTURE_CUBE_MAP_NEGATIVE_Y,
+ TEXTURE_CUBE_MAP_POSITIVE_Z, or TEXTURE_CUBE_MAP_NEGATIVE_Z, and the
+ target arguments of TexSubImage3D and CopyTexSubImage3D must be
+ TEXTURE_3D or TEXTURE_2D_ARRAY_EXT. ..."
+
+
+ -- Section 3.8.4 "Texture Parameters"
+
+ Change the first paragraph (page 166) to say:
+
+ "Various parameters control how the texel array is treated when
+ specified or changed, and when applied to a fragment. Each parameter is
+ set by calling
+
+ void TexParameter{if}(enum target, enum pname, T param);
+ void TexParameter{if}v(enum target, enum pname, T params);
+
+ target is the target, either TEXTURE_1D, TEXTURE_2D, TEXTURE_3D,
+ TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT."
+
+
+ -- Section 3.8.8 "Texture Minification" in the section "Scale Factor and Level of Detail"
+
+ Change the first paragraph (page 172) to say:
+
+ "Let s(x,y) be the function that associates an s texture coordinate
+ with each set of window coordinates (x,y) that lie within a primitive;
+ define t(x,y) and r(x,y) analogously. Let u(x,y) = w_t * s(x,y),
+ v(x,y) = h_t * t(x,y), and w(x,y) = d_t * r(x,y), where w_t, h_t,
+ and d_t are as defined by equations 3.15, 3.16, and 3.17 with
+ w_s, h_s, and d_s equal to the width, height, and depth of the
+ image array whose level is level_base. For a one-dimensional
+ texture or a one-dimensional array texture, define v(x,y) = 0 and
+ w(x,y) = 0; for a two-dimensional texture or a two-dimensional array
+ texture, define w(x,y) = 0..."
+
+ -- Section 3.8.8 "Texture Minification" in the section "Mipmapping"
+
+ Change the third paragraph (page 174) to say:
+
+ "For a two-dimensional texture, two-dimensional array texture, or
+ cube map texture,"
+
+ Change the fourth paragraph (page 174) to say:
+
+ "And for a one-dimensional texture or a one-dimensional array texture,"
+
+ After the first paragraph (page 175) add:
+
+ "For one-dimensional array textures, h_b and d_b are treated as 1,
+ regardless of the actual values, when performing mipmap calculations.
+ For two-dimensional array textures, d_b is always treated as one,
+ regardless of the actual value, when performing mipmap calculations."
+
+ -- Section 3.8.8 "Automatic Mipmap Generation" in the section "Mipmapping"
+
+ Change the third paragraph (page 176) to say (spec changes identical
+ to EXT_texture_array):
+
+ "The contents of the derived arrays are computed by repeated, filtered
+ reduction of the level_base array. For one- and two-dimensional array
+ textures, each layer is filtered independently. ..."
+
+ -- Section 3.8.8 "Manual Mipmap Generation" in the section "Mipmapping"
+
+ Change first paragraph to say (spec changes identical to
+ EXT_texture_array):
+
+ "Mipmaps can be generated manually with the command
+
+ void GenerateMipmapEXT(enum target);
+
+ where <target> is one of TEXTURE_1D, TEXTURE_2D, TEXTURE_CUBE_MAP,
+ TEXTURE_3D, TEXTURE_1D_ARRAY, or TEXTURE_2D_ARRAY. Mipmap generation
+ affects the texture image attached to <target>. ..."
+
+ -- Section 3.8.10 "Texture Completeness"
+
+ Change the second paragaph (page 177) to say (spec changes identical
+ to EXT_texture_array):
+
+ "For one-, two-, or three-dimensional textures and one- or
+ two-dimensional array textures, a texture is complete if the following
+ conditions all hold true:"
+
+ -- Section 3.8.11 "Texture State and Proxy State"
+
+ Change the second and third paragraphs (page 179) to say (spec changes
+ identical to EXT_texture_array):
+
+ "In addition to image arrays for one-, two-, and three-dimensional
+ textures, one- and two-dimensional array textures, and the six image
+ arrays for the cube map texture, partially instantiated image arrays
+ are maintained for one-, two-, and three-dimensional textures and one-
+ and two-dimensional array textures. Additionally, a single proxy image
+ array is maintained for the cube map texture. Each proxy image array
+ includes width, height, depth, border width, and internal format state
+ values, as well as state for the red, green, blue, alpha, luminance,
+ and intensity component resolutions. Proxy image arrays do not include
+ image data, nor do they include texture properties. When TexImage3D is
+ executed with target specified as PROXY_TEXTURE_3D, the
+ three-dimensional proxy state values of the specified level-of-detail
+ are recomputed and updated. If the image array would not be supported
+ by TexImage3D called with target set to TEXTURE 3D, no error is
+ generated, but the proxy width, height, depth, border width, and
+ component resolutions are set to zero. If the image array would be
+ supported by such a call to TexImage3D, the proxy state values are set
+ exactly as though the actual image array were being specified. No pixel
+ data are transferred or processed in either case.
+
+ Proxy arrays for one- and two-dimensional textures and one- and
+ two-dimensional array textures are operated on in the same way when
+ TexImage1D is executed with target specified as PROXY_TEXTURE_1D,
+ TexImage2D is executed with target specified as PROXY_TEXTURE_2D or
+ PROXY_TEXTURE_1D_ARRAY_EXT, or TexImage3D is executed with target
+ specified as PROXY_TETXURE_2D_ARRAY_EXT."
+
+ -- Section 3.8.12 "Texture Objects"
+
+ Change section (page 180) to say (spec changes identical to
+ EXT_texture_array):
+
+ "In addition to the default textures TEXTURE_1D, TEXTURE_2D,
+ TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and TEXTURE_2D_EXT,
+ named one-, two-, and three-dimensional, cube map, and one- and
+ two-dimensional array texture objects can be created and operated upon.
+ The name space for texture objects is the unsigned integers, with zero
+ reserved by the GL.
+
+ A texture object is created by binding an unused name to TEXTURE_1D,
+ TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or
+ TEXTURE_2D_ARRAY_EXT. The binding is effected by calling
+
+ void BindTexture(enum target, uint texture);
+
+ with <target> set to the desired texture target and <texture> set to
+ the unused name. The resulting texture object is a new state vector,
+ comprising all the state values listed in section 3.8.11, set to the
+ same initial values. If the new texture object is bound to TEXTURE_1D,
+ TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or
+ TEXTURE_2D_ARRAY_EXT, it is and remains a one-, two-,
+ three-dimensional, cube map, one- or two-dimensional array texture
+ respectively until it is deleted.
+
+ BindTexture may also be used to bind an existing texture object to
+ either TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP,
+ TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT. The error
+ INVALID_OPERATION is generated if an attempt is made to bind a texture
+ object of different dimensionality than the specified target. If the
+ bind is successful no change is made to the state of the bound texture
+ object, and any previous binding to target is broken.
+
+ While a texture object is bound, GL operations on the target to which
+ it is bound affect the bound object, and queries of the target to which
+ it is bound return state from the bound object. If texture mapping of
+ the dimensionality of the target to which a texture object is bound is
+ enabled, the state of the bound texture object directs the texturing
+ operation.
+
+ In the initial state, TEXTURE_1D, TEXTURE_2D, TEXTURE_3D,
+ TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and TEXTURE_2D_ARRAY_EXT have
+ one-, two-, three-dimensional, cube map, and one- and two-dimensional
+ array texture state vectors respectively associated with them. In order
+ that access to these initial textures not be lost, they are treated as
+ texture objects all of whose names are 0. The initial one-, two-,
+ three-dimensional, cube map, one- and two-dimensional array textures
+ are therefore operated upon, queried, and applied as TEXTURE_1D,
+ TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, and
+ TEXTURE_2D_ARRAY_EXT respectively while 0 is bound to the corresponding
+ targets.
+
+ Change second paragraph on page 181 to say (spec changes identical to
+ EXT_texture_array):
+
+ "... If a texture that is currently bound to one of the targets
+ TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP,
+ TEXTURE_1D_ARRAY_EXT, or TEXTURE_2D_ARRAY_EXT is deleted, it is as
+ though BindTexture had been executed with the same target and texture
+ zero. ..."
+
+ Change second paragraph on page 182 to say (spec changes identical to
+ EXT_texture_array):
+
+ "The texture object name space, including the initial one-, two-, and
+ three dimensional, cube map, and one- and two-dimensional array texture
+ objects, is shared among all texture units. ..."
+
+
+ -- Section 3.8.14 "Depth Texture Comparison Modes" in "Texture Comparison Modes"
+
+ Change second through fourth paragraphs (page 188) to say:
+
+ "Let D_t be the depth texture value, in the range [0, 1]. For
+ texture lookups from one- and two-dimesional, rectangle, and
+ one-dimensional array targets, let R be the interpolated <r>
+ texture coordinate, clamped to the range [0, 1]. For texture lookups
+ from two-dimesional array texture targets, let R be the interpolated
+ <q> texture coordinate, clamped to the range [0, 1]. Then the
+ effective texture value L_t, I_t, or A_t is computed as follows:
+
+ If the value of TEXTURE_COMPARE_MODE is NONE, then
+
+ r = Dt
+
+ If the value of TEXTURE_COMPARE_MODE is
+ COMPARE_REF_DEPTH_TO_TEXTURE_EXT), then r depends on the texture
+ comparison function as shown in table 3.27."
+
+ -- Section 3.8.15 "Texture Application"
+
+ Change the first paragraph (page 189) to say:
+
+ "Texturing is enabled or disabled using the generic Enable and Disable
+ commands, respectively, with the symbolic constants TEXTURE_1D,
+ TEXTURE_2D, TEXTURE_3D, TEXTURE_CUBE_MAP, TEXTURE_1D_ARRAY_EXT, or
+ TEXTURE_2D_ARRAY_EXT to enable one-, two-, three-dimensional, cube
+ map, one-dimensional array, or two-dimensional array texture,
+ respectively. If both two- and one-dimensional textures are enabled,
+ the two-dimensional texture is used. If the three-dimensional and
+ either of the two- or one-dimensional textures is enabled, the
+ three-dimensional texture is used. If the cube map texture and any of
+ the three-, two-, or one-dimensional textures is enabled, then cube map
+ texturing is used. If one-dimensional array texture is enabled and any
+ of cube map, three-, two-, or one-dimensional textures is enabled,
+ one-dimensional array texturing is used. If two-dimensional array
+ texture is enabled and any of cube map, three-, two-, one-dimensional
+ textures or one-dimensional array texture is enabled, two-dimensional
+ array texturing is used..."
+
+ -- Section 3.11.2 of ARB_fragment_program (Fragment Program Grammar and Restrictions):
+
+ (mostly add to existing grammar rules)
+
+ <optionName> ::= "MESA_texture_array"
+
+ <texTarget> ::= "1D"
+ | "2D"
+ | "3D"
+ | "CUBE"
+ | "RECT"
+ | <arrayTarget> (if program option is present)
+ | <shadowTarget> (if program option is present)
+
+ <arrayTarget> ::= "ARRAY1D"
+ | "ARRAY2D"
+
+ <shadowTarget> ::= "SHADOW1D"
+ | "SHADOW2D"
+ | "SHADOWRECT"
+ | <shadowArrayTarget> (if program option is present)
+
+ <shadowArrayTarget> ::= "SHADOWARRAY1D"
+ | "SHADOWARRAY2D"
+
+
+ -- Add Section 3.11.4.5.4 "Texture Stack Option"
+
+ "If a fragment program specifies the "MESA_texture_array" program
+ option, the <texTarget> rule is modified to add the texture targets
+ ARRAY1D and ARRAY2D (See Section 3.11.2)."
+
+ -- Section 3.11.6 "Fragment Program Texture Instruction Set"
+
+ (replace 1st and 2nd paragraphs with the following paragraphs)
+
+ "The first three texture instructions described below specify the
+ mapping of 4-tuple input vectors to 4-tuple output vectors.
+ The sampling of the texture works as described in section 3.8,
+ except that texture environments and texture functions are not
+ applicable, and the texture enables hierarchy is replaced by explicit
+ references to the desired texture target (i.e., 1D, 2D, 3D, cube map,
+ rectangle, ARRAY1D, ARRAY2D). These texture instructions specify
+ how the 4-tuple is mapped into the coordinates used for sampling. The
+ following function is used to describe the texture sampling in the
+ descriptions below:
+
+ vec4 TextureSample(vec4 coord, float lodBias, int texImageUnit,
+ enum texTarget);
+
+ Note that not all four components of the texture coordinates <coord>
+ are used by all texture targets. Component usage for each <texTarget>
+ is defined in table X.
+
+ coordinates used
+ texTarget Texture Type s t r layer shadow
+ ---------------- --------------------- ----- ----- ------
+ 1D TEXTURE_1D x - - - -
+ 2D TEXTURE_2D x y - - -
+ 3D TEXTURE_3D x y z - -
+ CUBE TEXTURE_CUBE_MAP x y z - -
+ RECT TEXTURE_RECTANGLE_ARB x y - - -
+ ARRAY1D TEXTURE_1D_ARRAY_EXT x - - y -
+ ARRAY2D TEXTURE_2D_ARRAY_EXT x y - z -
+ SHADOW1D TEXTURE_1D x - - - z
+ SHADOW2D TEXTURE_2D x y - - z
+ SHADOWRECT TEXTURE_RECTANGLE_ARB x y - - z
+ SHADOWARRAY1D TEXTURE_1D_ARRAY_EXT x - - y z
+ SHADOWARRAY2D TEXTURE_2D_ARRAY_EXT x y - z w
+
+ Table X: Texture types accessed for each of the <texTarget>, and
+ coordinate mappings. The "coordinates used" column indicate the
+ input values used for each coordinate of the texture lookup, the
+ layer selector for array textures, and the reference value for
+ texture comparisons."
+
+ -- Section 3.11.6.2 "TXP: Project coordinate and map to color"
+
+ Add to the end of the section:
+
+ "A program will fail to load if the TXP instruction is used in
+ conjunction with the SHADOWARRAY2D target."
+
+Additions to Chapter 4 of the OpenGL 2.0 Specification (Per-Fragment Operations)
+
+ -- Section 4.4.2.3 "Attaching Texture Images to a Framebuffer"
+
+ Add to the end of the section (spec changes identical to
+ EXT_texture_array):
+
+ "The command
+
+ void FramebufferTextureLayerEXT(enum target, enum attachment,
+ uint texture, int level, int layer);
+
+ operates identically to FramebufferTexture3DEXT, except that it
+ attaches a single layer of a three-dimensional texture or a one- or
+ two-dimensional array texture. <layer> is an integer indicating the
+ layer number, and is treated identically to the <zoffset> parameter in
+ FramebufferTexture3DEXT. The error INVALID_VALUE is generated if
+ <layer> is negative. The error INVALID_OPERATION is generated if
+ <texture> is non-zero and is not the name of a three dimensional
+ texture or one- or two-dimensional array texture. Unlike
+ FramebufferTexture3D, no <textarget> parameter is accepted.
+
+ If <texture> is non-zero and the command does not result in an error,
+ the framebuffer attachment state corresponding to <attachment> is
+ updated as in the other FramebufferTexture commands, except that
+ FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT is set to <layer>."
+
+ -- Section 4.4.4.1 "Framebuffer Attachment Completeness"
+
+ Add to the end of the list of completeness rules (spec changes
+ identical to EXT_texture_array):
+
+ "* If FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT is TEXTURE and
+ FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT names a one- or
+ two-dimensional array texture, then
+ FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT must be smaller than the
+ number of layers in the texture."
+
+Additions to Chapter 5 of the OpenGL 2.0 Specification (Special Functions)
+
+ -- Section 5.4 "Display Lists"
+
+ Change the first paragraphi on page 242 to say (spec changes
+ identical to EXT_texture_array):
+
+ "TexImage3D, TexImage2D, TexImage1D, Histogram, and ColorTable are
+ executed immediately when called with the corresponding proxy arguments
+ PROXY_TEXTURE_3D or PROXY_TEXTURE_2D_ARRAY_EXT; PROXY_TEXTURE_2D,
+ PROXY_TEXTURE_CUBE_MAP, or PROXY_TEXTURE_1D_ARRAY_EXT;
+ PROXY_TEXTURE_1D; PROXY_HISTOGRAM; and PROXY_COLOR_TABLE,
+ PROXY_POST_CONVOLUTION_COLOR_TABLE, or
+ PROXY_POST_COLOR_MATRIX_COLOR_TABLE."
+
+Additions to Chapter 6 of the OpenGL 2.0 Specification (State and State Requests)
+
+ -- Section 6.1.3 "Enumerated Queries"
+
+ Add after the line beginning "If the value of
+ FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT is TEXTURE" (spec changes
+ identical to EXT_texture_array):
+
+ "If <pname> is FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT and the
+ texture object named FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT is a
+ three-dimensional texture or a one- or two-dimensional array texture,
+ then <params> will contain the number of texture layer attached to the
+ attachment point. Otherwise, <params> will contain the value zero."
+
+ -- Section 6.1.4 "Texture Queries"
+
+ Change the first three paragraphs (page 248) to say (spec changes
+ identical to EXT_texture_array):
+
+ "The command
+
+ void GetTexImage(enum tex, int lod, enum format,
+ enum type, void *img);
+
+ is used to obtain texture images. It is somewhat different from the
+ other get commands; tex is a symbolic value indicating which texture
+ (or texture face in the case of a cube map texture target name) is to
+ be obtained. TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_1D_ARRAY_EXT,
+ and TEXTURE_2D_ARRAY_EXT indicate a one-, two-, or three-dimensional
+ texture, or one- or two-dimensional array texture, respectively.
+ TEXTURE_CUBE_MAP_POSITIVE_X, ...
+
+ GetTexImage obtains... from the first image to the last for
+ three-dimensional textures. One- and two-dimensional array textures
+ are treated as two- and three-dimensional images, respectively, where
+ the layers are treated as rows or images. These groups are then...
+
+ For three-dimensional and two-dimensional array textures, pixel storage
+ operations are applied as if the image were two-dimensional, except
+ that the additional pixel storage state values PACK_IMAGE_HEIGHT and
+ PACK_SKIP_IMAGES are applied. ..."
+
+Additions to Appendix A of the OpenGL 2.0 Specification (Invariance)
+
+ None
+
+Additions to the AGL/GLX/WGL Specifications
+
+ None
+
+GLX Protocol
+
+ None
+
+Dependencies on ARB_fragment_program
+
+ If ARB_fragment_program is not supported, the changes to section 3.11
+ should be ignored.
+
+Dependencies on EXT_framebuffer_object
+
+ If EXT_framebuffer_object is not supported, the changes to section
+ 3.8.8 ("Manual Mipmap Generation"), 4.4.2.3, and 6.1.3 should be ignored.
+
+Dependencies on EXT_texture_compression_s3tc and NV_texture_compression_vtc
+
+ (Identical dependency as EXT_texture_array.)
+
+ S3TC texture compression is supported for two-dimensional array textures.
+ When <target> is TEXTURE_2D_ARRAY_EXT, each layer is stored independently
+ as a compressed two-dimensional textures. When specifying or querying
+ compressed images using one of the S3TC formats, the images are provided
+ and/or returned as a series of two-dimensional textures stored
+ consecutively in memory, with the layer closest to zero specified first.
+ For array textures, images are not arranged in 4x4x4 or 4x4x2 blocks as in
+ the three-dimensional compression format provided in the
+ EXT_texture_compression_vtc extension. Pixel store parameters, including
+ those specific to three-dimensional images, are ignored when compressed
+ image data are provided or returned, as in the
+ EXT_texture_compression_s3tc extension.
+
+ S3TC compression is not supported for one-dimensional texture targets in
+ EXT_texture_compression_s3tc, and is not supported for one-dimensional
+ array textures in this extension. If compressed one-dimensional arrays
+ are needed, use a two-dimensional texture with a height of one.
+
+ This extension allows the use of the four S3TC internal format types in
+ TexImage3D, CompressedTexImage3D, and CompressedTexSubImage3D calls.
+
+Errors
+
+ None
+
+New State
+
+ (add to table 6.15, p. 276)
+
+ Initial
+ Get Value Type Get Command Value Description Sec. Attribute
+ ---------------------------- ----- ----------- ----- -------------------- ------ ---------
+ TEXTURE_BINDING_1D_ARRAY_EXT 2*xZ+ GetIntegerv 0 texture object bound 3.8.12 texture
+ to TEXTURE_1D_ARRAY
+ TEXTURE_BINDING_2D_ARRAY_EXT 2*xZ+ GetIntegerv 0 texture object bound 3.8.12 texture
+ to TEXTURE_2D_ARRAY
+
+
+New Implementation Dependent State
+
+ (add to Table 6.32, p. 293)
+
+ Minimum
+ Get Value Type Get Command Value Description Sec. Attribute
+ ---------------------------- ---- ----------- ------- ------------------ ----- ---------
+ MAX_TEXTURE_ARRAY_LAYERS_EXT Z+ GetIntegerv 64 maximum number of 3.8.1 -
+ layers for texture
+ arrays
+
+Issues
+
+ (1) Is "texture stack" a good name for this functionality?
+
+ NO. The name is changed to "array texture" to match the
+ nomenclature used by GL_EXT_texture_array.
+
+ (2) Should the R texture coordinate be treated as normalized or
+ un-normalized? If it were un-normalized, floor(R) could be thought
+ of as a direct index into the array texture. This may be more
+ convenient for applications.
+
+ RESOLVED. All texture coordinates are normalized. The issue of
+ un-normalized texture coordinates has been discussed in the ARB
+ before and should be left for a layered extension.
+
+ RE-RESOLVED. The R coordinate is un-normalized. Accessing an array
+ using [0, layers-1] coordinates is much more natural.
+
+ (3) How does LOD selection work for stacked textures?
+
+ RESOLVED. For 2D array textures the R coordinate is ignored, and
+ the LOD selection equations for 2D textures are used. For 1D
+ array textures the T coordinate is ignored, and the LOD selection
+ equations for 1D textures are used. The expected usage is in a
+ fragment program with an explicit LOD selection.
+
+ (4) What is the maximum size of a 2D array texture? Is it the same
+ as for a 3D texture, or should a new query be added? How about for 1D
+ array textures?
+
+ RESOLVED. A new query is added.
+
+ (5) How are array textures exposed in GLSL?
+
+ RESOLVED. Use GL_EXT_texture_array.
+
+ (6) Should a 1D array texture also be exposed?
+
+ RESOLVED. For orthogonality, yes.
+
+ (7) How are stacked textures attached to framebuffer objects?
+
+ RESOLVED. Layers of both one- and two-dimensional array textures
+ are attached using FreambufferTextureLayerEXT. Once attached, the
+ array texture layer behaves exactly as either a one- or
+ two-dimensional texture.
+
+ (8) How is this extension related to GL_EXT_texture_array?
+
+ This extension adapats GL_MESAX_texture_stack to the notation,
+ indexing, and FBO access of GL_EXT_texture_array. This extension
+ replaces the GLSL support of GL_EXT_texture_array with
+ GL_ARB_fragment_program support.
+
+ Assembly program support is also provided by GL_NV_gpu_program4.
+ GL_NV_gpu_program4 also adds support for other features that are
+ specific to Nvidia hardware, while this extension adds only support
+ for array textures.
+
+ Much of text of this extension that has changed since
+ GL_MESAX_texture_stack comes directly from either
+ GL_EXT_texture_array or GL_NV_gpu_program4.
+
+Revision History
+
+ ||2005/11/15||0.1||idr||Initial draft MESAX version.||
+ ||2005/12/07||0.2||idr||Added framebuffer object interactions.||
+ ||2005/12/12||0.3||idr||Updated fragment program interactions.||
+ ||2007/05/16||0.4||idr||Converted to MESA_texture_array. Brought in line with EXT_texture_array and NV_gpu_program4.||
diff --git a/include/GL/gl.h b/include/GL/gl.h
index 78a00aeb8b..6e92481a53 100644
--- a/include/GL/gl.h
+++ b/include/GL/gl.h
@@ -2209,6 +2209,34 @@ GLAPI void GLAPIENTRY glGetProgramRegisterfvMESA(GLenum target, GLsizei len, con
#endif /* GL_MESA_program_debug */
+#ifndef GL_MESA_texture_array
+#define GL_MESA_texture_array 1
+
+/* GL_MESA_texture_array uses the same enum values as GL_EXT_texture_array.
+ */
+#ifndef GL_EXT_texture_array
+
+#ifdef GL_GLEXT_PROTOTYPES
+GLAPI void APIENTRY glFramebufferTextureLayerEXT(GLenum target,
+ GLenum attachment, GLuint texture, GLint level, GLint layer);
+#endif /* GL_GLEXT_PROTOTYPES */
+
+typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target,
+ GLenum attachment, GLuint texture, GLint level, GLint layer);
+
+#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18
+#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
+#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A
+#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
+#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
+#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
+#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
+#endif
+
+#endif
+
+
#ifndef GL_ATI_blend_equation_separate
#define GL_ATI_blend_equation_separate 1
diff --git a/progs/tests/Makefile b/progs/tests/Makefile
index 9edef74fb2..b506db3e7b 100644
--- a/progs/tests/Makefile
+++ b/progs/tests/Makefile
@@ -23,6 +23,7 @@ SOURCES = \
arbvptest3.c \
arbvptorus.c \
arbvpwarpmesh.c \
+ arraytexture.c \
blendminmax.c \
blendsquare.c \
bufferobj.c \
@@ -117,6 +118,12 @@ getprocaddress: getprocaddress.c getproclist.h
getproclist.h: $(TOP)/src/mesa/glapi/gl_API.xml getprocaddress.c getprocaddress.py
python getprocaddress.py > getproclist.h
+arraytexture: arraytexture.o readtex.o
+ $(CC) $(CFLAGS) arraytexture.o readtex.o $(LIBS) -o $@
+
+arraytexture.o: arraytexture.c readtex.h
+ $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
+
afsmultiarb: afsmultiarb.o readtex.o
$(CC) $(CFLAGS) afsmultiarb.o readtex.o $(LIBS) -o $@
diff --git a/progs/tests/arraytexture.c b/progs/tests/arraytexture.c
new file mode 100644
index 0000000000..48c622be30
--- /dev/null
+++ b/progs/tests/arraytexture.c
@@ -0,0 +1,337 @@
+/*
+ * (C) Copyright IBM Corporation 2007
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * on the rights to use, copy, modify, merge, publish, distribute, sub
+ * license, and/or sell copies of the Software, and to permit persons to whom
+ * the Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+ * IBM AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ */
+
+/**
+ * \file arraytexture.c
+ *
+ *
+ * \author Ian Romanick <idr@us.ibm.com>
+ */
+
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <math.h>
+#include <GL/glut.h>
+#include <GL/glext.h>
+
+#if !defined(GL_EXT_texture_array) && !defined(GL_MESA_texture_array)
+# error "This demo requires enums for either GL_EXT_texture_array or GL_MESA_texture_array to build."
+#endif
+
+#include "readtex.h"
+
+#define GL_CHECK_ERROR() \
+ do { \
+ GLenum err = glGetError(); \
+ if (err) { \
+ printf("%s:%u: %s (0x%04x)\n", __FILE__, __LINE__, \
+ gluErrorString(err), err); \
+ } \
+ } while (0)
+
+static const char *const textures[] = {
+ "../images/girl.rgb",
+ "../images/girl2.rgb",
+ "../images/arch.rgb",
+ "../images/s128.rgb",
+
+ "../images/tree3.rgb",
+ "../images/bw.rgb",
+ "../images/reflect.rgb",
+ "../images/wrs_logo.rgb",
+ NULL
+};
+
+static const char frag_prog[] =
+ "!!ARBfp1.0\n"
+ "OPTION MESA_texture_array;\n"
+ "TEX result.color, fragment.texcoord[0], texture[0], ARRAY2D;\n"
+ "END\n";
+
+static GLfloat Xrot = 0, Yrot = -30, Zrot = 0;
+static GLfloat texZ = 0.0;
+static GLfloat texZ_dir = 0.01;
+static GLint num_layers;
+
+static PFNGLBINDPROGRAMARBPROC bind_program;
+static PFNGLPROGRAMSTRINGARBPROC program_string;
+static PFNGLGENPROGRAMSARBPROC gen_programs;
+
+
+static void
+PrintString(const char *s)
+{
+ while (*s) {
+ glutBitmapCharacter(GLUT_BITMAP_8_BY_13, (int) *s);
+ s++;
+ }
+}
+
+
+static void Idle(void)
+{
+ static int lastTime = 0;
+ int t = glutGet(GLUT_ELAPSED_TIME);
+
+ if (lastTime == 0)
+ lastTime = t;
+ else if (t - lastTime < 10)
+ return;
+
+ lastTime = t;
+
+ texZ += texZ_dir;
+ if ((texZ < 0.0) || ((GLint) texZ > num_layers)) {
+ texZ_dir = -texZ_dir;
+ }
+
+ glutPostRedisplay();
+}
+
+
+static void Display(void)
+{
+ char str[100];
+
+ glClear(GL_COLOR_BUFFER_BIT);
+
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glOrtho(-1, 1, -1, 1, -1, 1);
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+
+ (*bind_program)(GL_FRAGMENT_PROGRAM_ARB, 0);
+ glColor3f(1,1,1);
+ glRasterPos3f(-0.9, -0.9, 0.0);
+ sprintf(str, "Texture Z coordinate = %4.1f", texZ);
+ PrintString(str);
+
+ (*bind_program)(GL_FRAGMENT_PROGRAM_ARB, 1);
+ GL_CHECK_ERROR();
+ glEnable(GL_TEXTURE_2D_ARRAY_EXT);
+ GL_CHECK_ERROR();
+
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glFrustum(-1.0, 1.0, -1.0, 1.0, 5.0, 25.0);
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+ glTranslatef(0.0, 0.0, -8.0);
+
+ glPushMatrix();
+ glRotatef(Xrot, 1, 0, 0);
+ glRotatef(Yrot, 0, 1, 0);
+ glRotatef(Zrot, 0, 0, 1);
+
+ glBegin(GL_QUADS);
+ glTexCoord3f(0.0, 0.0, texZ); glVertex2f(-1.0, -1.0);
+ glTexCoord3f(2.0, 0.0, texZ); glVertex2f(1.0, -1.0);
+ glTexCoord3f(2.0, 2.0, texZ); glVertex2f(1.0, 1.0);
+ glTexCoord3f(0.0, 2.0, texZ); glVertex2f(-1.0, 1.0);
+ glEnd();
+
+ glPopMatrix();
+
+ glDisable(GL_TEXTURE_2D_ARRAY_EXT);
+ GL_CHECK_ERROR();
+ (*bind_program)(GL_FRAGMENT_PROGRAM_ARB, 0);
+ GL_CHECK_ERROR();
+
+ glutSwapBuffers();
+}
+
+
+static void Reshape(int width, int height)
+{
+ glViewport(0, 0, width, height);
+}
+
+
+static void Key(unsigned char key, int x, int y)
+{
+ (void) x;
+ (void) y;
+ switch (key) {
+ case 27:
+ exit(0);
+ break;
+ }
+ glutPostRedisplay();
+}
+
+
+static void SpecialKey(int key, int x, int y)
+{
+ const GLfloat step = 3.0;
+ (void) x;
+ (void) y;
+ switch (key) {
+ case GLUT_KEY_UP:
+ Xrot -= step;
+ break;
+ case GLUT_KEY_DOWN:
+ Xrot += step;
+ break;
+ case GLUT_KEY_LEFT:
+ Yrot -= step;
+ break;
+ case GLUT_KEY_RIGHT:
+ Yrot += step;
+ break;
+ }
+ glutPostRedisplay();
+}
+
+
+static int FindLine(const char *program, int position)
+{
+ int i, line = 1;
+ for (i = 0; i < position; i++) {
+ if (program[i] == '\n')
+ line++;
+ }
+ return line;
+}
+
+
+static void
+compile_fragment_program(GLuint id, const char *prog)
+{
+ int errorPos;
+ int err;
+
+ err = glGetError();
+ (*bind_program)(GL_FRAGMENT_PROGRAM_ARB, id);
+ (*program_string)(GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB,
+ strlen(prog), (const GLubyte *) prog);
+
+ glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &errorPos);
+ err = glGetError();
+ if (err != GL_NO_ERROR || errorPos != -1) {
+ int l = FindLine(prog, errorPos);
+
+ printf("Fragment Program Error (err=%d, pos=%d line=%d): %s\n",
+ err, errorPos, l,
+ (char *) glGetString(GL_PROGRAM_ERROR_STRING_ARB));
+ exit(0);
+ }
+}
+
+
+static void require_extension(const char *ext)
+{
+ if (!glutExtensionSupported(ext)) {
+ printf("Sorry, %s not supported by this renderer.\n", ext);
+ exit(1);
+ }
+}
+
+
+static void Init(void)
+{
+ const char *const ver_string = (const char *const) glGetString(GL_VERSION);
+ unsigned i;
+
+ printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
+ printf("GL_VERSION = %s\n", ver_string);
+
+ require_extension("GL_ARB_fragment_program");
+ require_extension("GL_MESA_texture_array");
+ require_extension("GL_SGIS_generate_mipmap");
+
+ bind_program = glutGetProcAddress("glBindProgramARB");
+ program_string = glutGetProcAddress("glProgramStringARB");
+ gen_programs = glutGetProcAddress("glGenProgramsARB");
+
+
+ for (num_layers = 0; textures[num_layers] != NULL; num_layers++)
+ /* empty */ ;
+
+ glBindTexture(GL_TEXTURE_2D_ARRAY_EXT, 1);
+ glTexImage3D(GL_TEXTURE_2D_ARRAY_EXT, 0, GL_RGB8,
+ 256, 256, num_layers, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL);
+ GL_CHECK_ERROR();
+
+ glTexParameteri(GL_TEXTURE_2D_ARRAY_EXT, GL_GENERATE_MIPMAP_SGIS,
+ GL_TRUE);
+
+ for (i = 0; textures[i] != NULL; i++) {
+ GLint width, height;
+ GLenum format;
+
+ GLubyte *image = LoadRGBImage(textures[i], &width, &height, &format);
+ if (!image) {
+ printf("Error: could not load texture image %s\n", textures[i]);
+ exit(1);
+ }
+
+ /* resize to 256 x 256 */
+ if (width != 256 || height != 256) {
+ GLubyte *newImage = malloc(256 * 256 * 4);
+ gluScaleImage(format, width, height, GL_UNSIGNED_BYTE, image,
+ 256, 256, GL_UNSIGNED_BYTE, newImage);
+ free(image);
+ image = newImage;
+ }
+
+ glTexSubImage3D(GL_TEXTURE_2D_ARRAY_EXT, 0,
+ 0, 0, i, 256, 256, 1,
+ format, GL_UNSIGNED_BYTE, image);
+ free(image);
+ }
+ GL_CHECK_ERROR();
+
+ glTexParameteri(GL_TEXTURE_2D_ARRAY_EXT, GL_TEXTURE_WRAP_S, GL_REPEAT);
+ glTexParameteri(GL_TEXTURE_2D_ARRAY_EXT, GL_TEXTURE_WRAP_T, GL_REPEAT);
+ glTexParameteri(GL_TEXTURE_2D_ARRAY_EXT, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE);
+
+ glTexParameteri(GL_TEXTURE_2D_ARRAY_EXT, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
+ GL_CHECK_ERROR();
+ glTexParameteri(GL_TEXTURE_2D_ARRAY_EXT, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ GL_CHECK_ERROR();
+
+ compile_fragment_program(1, frag_prog);
+ GL_CHECK_ERROR();
+}
+
+
+int main(int argc, char *argv[])
+{
+ glutInit(&argc, argv);
+ glutInitWindowPosition(0, 0);
+ glutInitWindowSize(350, 350);
+ glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
+ glutCreateWindow("Array texture test");
+ glutReshapeFunc(Reshape);
+ glutKeyboardFunc(Key);
+ glutSpecialFunc(SpecialKey);
+ glutDisplayFunc(Display);
+ glutIdleFunc(Idle);
+ Init();
+ glutMainLoop();
+ return 0;
+}
diff --git a/src/mesa/drivers/dri/common/extension_helper.h b/src/mesa/drivers/dri/common/extension_helper.h
index c798496425..10f75edaaa 100644
--- a/src/mesa/drivers/dri/common/extension_helper.h
+++ b/src/mesa/drivers/dri/common/extension_helper.h
@@ -440,6 +440,13 @@ static const char Color4ubVertex3fvSUN_names[] =
"";
#endif
+#if defined(need_GL_EXT_texture_array)
+static const char FramebufferTextureLayerEXT_names[] =
+ "iiiii\0" /* Parameter signature */
+ "glFramebufferTextureLayerEXT\0"
+ "";
+#endif
+
#if defined(need_GL_SGIX_list_priority)
static const char GetListParameterivSGIX_names[] =
"iip\0" /* Parameter signature */
@@ -5479,6 +5486,13 @@ static const struct dri_extension_function GL_EXT_texture3D_functions[] = {
};
#endif
+#if defined(need_GL_EXT_texture_array)
+static const struct dri_extension_function GL_EXT_texture_array_functions[] = {
+ { FramebufferTextureLayerEXT_names, FramebufferTextureLayerEXT_remap_index, -1 },
+ { NULL, 0, 0 }
+};
+#endif
+
#if defined(need_GL_EXT_texture_object)
static const struct dri_extension_function GL_EXT_texture_object_functions[] = {
{ PrioritizeTextures_names, -1, 331 },
diff --git a/src/mesa/drivers/dri/r300/r300_context.h b/src/mesa/drivers/dri/r300/r300_context.h
index 13b943f75f..dbcd5d04d6 100644
--- a/src/mesa/drivers/dri/r300/r300_context.h
+++ b/src/mesa/drivers/dri/r300/r300_context.h
@@ -790,28 +790,6 @@ struct r300_fragment_program {
#define REG_COLOR0 1
#define REG_TEX0 2
-struct dt {
- GLint size;
- GLenum type;
- GLsizei stride;
- void *data;
-};
-
-struct radeon_vertex_buffer {
- int Count;
- void *Elts;
- int elt_size;
- int elt_min, elt_max; /* debug */
-
- struct dt AttribPtr[VERT_ATTRIB_MAX];
-
- const struct _mesa_prim *Primitive;
- GLuint PrimitiveCount;
- GLint LockFirst;
- GLsizei LockCount;
- int lock_uptodate;
-};
-
struct r300_state {
struct r300_depthbuffer_state depth;
struct r300_texture_state texture;
@@ -820,7 +798,6 @@ struct r300_state {
struct r300_pfs_compile_state pfs_compile;
struct r300_dma_region aos[R300_MAX_AOS_ARRAYS];
int aos_count;
- struct radeon_vertex_buffer VB;
GLuint *Elts;
struct r300_dma_region elt_dma;
diff --git a/src/mesa/drivers/dri/r300/r300_emit.c b/src/mesa/drivers/dri/r300/r300_emit.c
index 2c26069f9b..9fb712f7b8 100644
--- a/src/mesa/drivers/dri/r300/r300_emit.c
+++ b/src/mesa/drivers/dri/r300/r300_emit.c
@@ -223,86 +223,48 @@ static void r300EmitVec(GLcontext * ctx,
}
-static GLuint t_type(struct dt *dt)
+#define R300_VIR0_AOS_SIZE_SHIFT 0
+#define R300_VIR0_AOS_INPUT_SHIFT 8
+#define R300_VIR0_AOS_STOP_SHIFT 13
+#define R300_VIR0_AOS_TYPE_SHIFT 14
+#define R300_VIR0_HIGH_SHIFT 16
+
+// Pack 4 elemets in a 16 bit (aos_size first 8, input next 5, 1 stop bit(Whild gues), aos_type last 2);
+static inline GLuint t_vir_pack(GLvector4f ** dt, int *inputs, int i)
{
- switch (dt->type) {
- case GL_UNSIGNED_BYTE:
- return AOS_FORMAT_UBYTE;
- case GL_SHORT:
- return AOS_FORMAT_USHORT;
- case GL_FLOAT:
- return AOS_FORMAT_FLOAT;
- default:
- assert(0);
- break;
- }
-
- return AOS_FORMAT_FLOAT;
-}
-
-static GLuint t_vir0_size(struct dt *dt)
-{
- switch (dt->type) {
- case GL_UNSIGNED_BYTE:
- return 4;
- case GL_SHORT:
- return 7;
- case GL_FLOAT:
- return dt->size - 1;
- default:
- assert(0);
- break;
- }
-
- return 0;
+ GLuint dw;
+ dw = (dt[i]->size - 1) << R300_VIR0_AOS_SIZE_SHIFT;
+ dw |= inputs[i] << R300_VIR0_AOS_INPUT_SHIFT;
+ //dw |= t_type(&dt[i]) << R300_VIR0_AOS_TYPE_SHIFT;
+ return dw;
}
-static GLuint t_aos_size(struct dt *dt)
-{
- switch (dt->type) {
- case GL_UNSIGNED_BYTE:
- return 1;
- case GL_SHORT:
- return 2;
- case GL_FLOAT:
- return dt->size;
- default:
- assert(0);
- break;
- }
-
- return 0;
-}
-
-static GLuint t_vir0(uint32_t * dst, struct dt *dt, int *inputs,
+static GLuint t_vir0(uint32_t * dst, GLvector4f ** dt, int *inputs,
GLint * tab, GLuint nr)
{
- GLuint i, dw;
+ GLuint i, dw, dwInternel;
for (i = 0; i + 1 < nr; i += 2) {
- dw = t_vir0_size(&dt[tab[i]]) | (inputs[tab[i]] << 8) |
- (t_type(&dt[tab[i]]) << 14);
- dw |=
- (t_vir0_size(&dt[tab[i + 1]]) |
- (inputs[tab[i + 1]] << 8) | (t_type(&dt[tab[i + 1]])
- << 14)) << 16;
+ dw = t_vir_pack(dt, inputs, tab[i]);
+ dwInternel = t_vir_pack(dt, inputs, tab[i + 1]);
+ dw |= dwInternel << R300_VIR0_HIGH_SHIFT;
if (i + 2 == nr) {
- dw |= (1 << (13 + 16));
+ dw |=
+ (1 <<
+ (R300_VIR0_AOS_STOP_SHIFT + R300_VIR0_HIGH_SHIFT));
}
- dst[i >> 1] = dw;
+ dst[i >> 1] = dw; // Is the same as i/2
}
if (nr & 1) {
- dw = t_vir0_size(&dt[tab[nr - 1]]) | (inputs[tab[nr - 1]]
- << 8) |
- (t_type(&dt[tab[nr - 1]]) << 14);
- dw |= 1 << 13;
+ dw = t_vir_pack(dt, inputs, tab[nr - 1]);
+ dw |= 1 << R300_VIR0_AOS_STOP_SHIFT;
dst[nr >> 1] = dw;
}
- return (nr + 1) >> 1;
+ return (nr + 1) >> 1; // Is the same as (nr+1)/2
}
static GLuint t_swizzle(int swizzle[4])
@@ -331,11 +293,6 @@ static GLuint t_vir1(uint32_t * dst, int swizzle[][4], GLuint nr)
return (nr + 1) >> 1;
}
-static GLuint t_emit_size(struct dt *dt)
-{
- return dt->size;
-}
-
static GLuint t_vic(GLcontext * ctx, GLuint InputsRead)
{
r300ContextPtr r300 = R300_CONTEXT(ctx);
@@ -369,9 +326,10 @@ int r300EmitArrays(GLcontext * ctx)
{
r300ContextPtr rmesa = R300_CONTEXT(ctx);
r300ContextPtr r300 = rmesa;
- struct radeon_vertex_buffer *VB = &rmesa->state.VB;
+ TNLcontext *tnl = TNL_CONTEXT(ctx);
+ struct vertex_buffer *vb = &tnl->vb;
GLuint nr;
- GLuint count = VB->Count;
+ GLuint count = vb->Count;
GLuint i;
GLuint InputsRead = 0, OutputsWritten = 0;
int *inputs = NULL;
@@ -466,57 +424,38 @@ int r300EmitArrays(GLcontext * ctx)
swizzle[i][2] = SWIZZLE_ZERO;
swizzle[i][3] = SWIZZLE_ONE;
- for (ci = 0; ci < VB->AttribPtr[tab[i]].size; ci++)
+ for (ci = 0; ci < vb->AttribPtr[tab[i]]->size; ci++)
swizzle[i][ci] = ci;
-#if MESA_BIG_ENDIAN
-#define SWAP_INT(a, b) do { \
- int __temp; \
- __temp = a;\
- a = b; \
- b = __temp; \
-} while (0)
-
- if (VB->AttribPtr[tab[i]].type == GL_UNSIGNED_BYTE) {
- SWAP_INT(swizzle[i][0], swizzle[i][3]);
- SWAP_INT(swizzle[i][1], swizzle[i][2]);
- }
-#endif /* MESA_BIG_ENDIAN */
-
- if (r300IsGartMemory(rmesa, VB->AttribPtr[tab[i]].data,
+ if (r300IsGartMemory(rmesa, vb->AttribPtr[tab[i]]->data,
/*(count-1)*stride */ 4)) {
- if (VB->AttribPtr[tab[i]].stride % 4)
+ if (vb->AttribPtr[tab[i]]->stride % 4)
return R300_FALLBACK_TCL;
rmesa->state.aos[i].address =
- VB->AttribPtr[tab[i]].data;
+ (void *)(vb->AttribPtr[tab[i]]->data);
rmesa->state.aos[i].start = 0;
rmesa->state.aos[i].aos_offset =
r300GartOffsetFromVirtual(rmesa,
- VB->
- AttribPtr[tab[i]].data);
+ vb->
+ AttribPtr[tab[i]]->data);
rmesa->state.aos[i].aos_stride =
- VB->AttribPtr[tab[i]].stride / 4;
+ vb->AttribPtr[tab[i]]->stride / 4;
rmesa->state.aos[i].aos_size =
- t_emit_size(&VB->AttribPtr[tab[i]]);
+ vb->AttribPtr[tab[i]]->size;
} else {
- /* TODO: r300EmitVec can only handle 4 byte vectors */
- if (VB->AttribPtr[tab[i]].type != GL_FLOAT)
- return R300_FALLBACK_TCL;
-
r300EmitVec(ctx, &rmesa->state.aos[i],
- VB->AttribPtr[tab[i]].data,
- t_emit_size(&VB->AttribPtr[tab[i]]),
- VB->AttribPtr[tab[i]].stride, count);
+ vb->AttribPtr[tab[i]]->data,
+ vb->AttribPtr[tab[i]]->size,
+ vb->AttribPtr[tab[i]]->stride, count);
}
- rmesa->state.aos[i].aos_size =
- t_aos_size(&VB->AttribPtr[tab[i]]);
+ rmesa->state.aos[i].aos_size = vb->AttribPtr[tab[i]]->size;
- comp_size = _mesa_sizeof_type(VB->AttribPtr[tab[i]].type);
+ comp_size = _mesa_sizeof_type(GL_FLOAT);
- for (fix = 0; fix <= 4 - VB->AttribPtr[tab[i]].size; fix++) {
+ for (fix = 0; fix <= 4 - vb->AttribPtr[tab[i]]->size; fix++) {
if ((rmesa->state.aos[i].aos_offset -
comp_size * fix) % 4)
continue;
@@ -532,14 +471,14 @@ int r300EmitArrays(GLcontext * ctx)
rmesa->state.aos[i].aos_offset -= comp_size * fix;
- for (ci = 0; ci < VB->AttribPtr[tab[i]].size; ci++)
+ for (ci = 0; ci < vb->AttribPtr[tab[i]]->size; ci++)
swizzle[i][ci] += fix;
} else {
WARN_ONCE
("Cannot handle offset %x with stride %d, comp %d\n",
rmesa->state.aos[i].aos_offset,
rmesa->state.aos[i].aos_stride,
- VB->AttribPtr[tab[i]].size);
+ vb->AttribPtr[tab[i]]->size);
return R300_FALLBACK_TCL;
}
}
@@ -547,7 +486,7 @@ int r300EmitArrays(GLcontext * ctx)
/* setup INPUT_ROUTE */
R300_STATECHANGE(r300, vir[0]);
((drm_r300_cmd_header_t *) r300->hw.vir[0].cmd)->packet0.count =
- t_vir0(&r300->hw.vir[0].cmd[R300_VIR_CNTL_0], VB->AttribPtr,
+ t_vir0(&r300->hw.vir[0].cmd[R300_VIR_CNTL_0], vb->AttribPtr,
inputs, tab, nr);
R300_STATECHANGE(r300, vir[1]);
diff --git a/src/mesa/drivers/dri/r300/r300_render.c b/src/mesa/drivers/dri/r300/r300_render.c
index cc13e9a530..6cec2bb1ea 100644
--- a/src/mesa/drivers/dri/r300/r300_render.c
+++ b/src/mesa/drivers/dri/r300/r300_render.c
@@ -301,6 +301,8 @@ static void r300RunRenderPrimitive(r300ContextPtr rmesa, GLcontext * ctx,
int start, int end, int prim)
{
int type, num_verts;
+ TNLcontext *tnl = TNL_CONTEXT(ctx);
+ struct vertex_buffer *vb = &tnl->vb;
type = r300PrimitiveType(rmesa, ctx, prim);
num_verts = r300NumVerts(rmesa, end - start, prim);
@@ -308,88 +310,36 @@ static void r300RunRenderPrimitive(r300ContextPtr rmesa, GLcontext * ctx,
if (type < 0 || num_verts <= 0)
return;
- if (rmesa->state.VB.Elts) {
+ if (vb->Elts) {
r300EmitAOS(rmesa, rmesa->state.aos_count, start);
if (num_verts > 65535) {
/* not implemented yet */
WARN_ONCE("Too many elts\n");
return;
}
- r300EmitElts(ctx, rmesa->state.VB.Elts, num_verts,
- rmesa->state.VB.elt_size);
+ r300EmitElts(ctx, vb->Elts, num_verts, 4);
r300FireEB(rmesa, rmesa->state.elt_dma.aos_offset,
- num_verts, type, rmesa->state.VB.elt_size);
+ num_verts, type, 4);
} else {
r300EmitAOS(rmesa, rmesa->state.aos_count, start);
r300FireAOS(rmesa, num_verts, type);
}
}
-#define CONV_VB(a, b) rvb->AttribPtr[(a)].size = vb->b->size, \
- rvb->AttribPtr[(a)].type = GL_FLOAT, \
- rvb->AttribPtr[(a)].stride = vb->b->stride, \
- rvb->AttribPtr[(a)].data = vb->b->data
-
-static void radeon_vb_to_rvb(r300ContextPtr rmesa,
- struct radeon_vertex_buffer *rvb,
- struct vertex_buffer *vb)
-{
- int i;
- GLcontext *ctx;
- ctx = rmesa->radeon.glCtx;
-
- memset(rvb, 0, sizeof(*rvb));
-
- rvb->Elts = vb->Elts;
- rvb->elt_size = 4;
- rvb->elt_min = 0;
- rvb->elt_max = vb->Count;
-
- rvb->Count = vb->Count;
-
- if (hw_tcl_on) {
- CONV_VB(VERT_ATTRIB_POS, ObjPtr);
- } else {
- assert(vb->ClipPtr);
- CONV_VB(VERT_ATTRIB_POS, ClipPtr);
- }
-
- CONV_VB(VERT_ATTRIB_NORMAL, NormalPtr);
- CONV_VB(VERT_ATTRIB_COLOR0, ColorPtr[0]);
- CONV_VB(VERT_ATTRIB_COLOR1, SecondaryColorPtr[0]);
- CONV_VB(VERT_ATTRIB_FOG, FogCoordPtr);
-
- for (i = 0; i < ctx->Const.MaxTextureCoordUnits; i++)
- CONV_VB(VERT_ATTRIB_TEX0 + i, TexCoordPtr[i]);
-
- for (i = 0; i < MAX_VERTEX_PROGRAM_ATTRIBS; i++)
- CONV_VB(VERT_ATTRIB_GENERIC0 + i,
- AttribPtr[VERT_ATTRIB_GENERIC0 + i]);
-
- rvb->Primitive = vb->Primitive;
- rvb->PrimitiveCount = vb->PrimitiveCount;
- rvb->LockFirst = rvb->LockCount = 0;
- rvb->lock_uptodate = GL_FALSE;
-}
-
static GLboolean r300RunRender(GLcontext * ctx,
struct tnl_pipeline_stage *stage)
{
r300ContextPtr rmesa = R300_CONTEXT(ctx);
- struct radeon_vertex_buffer *VB = &rmesa->state.VB;
int i;
int cmd_reserved = 0;
int cmd_written = 0;
drm_radeon_cmd_header_t *cmd = NULL;
+ TNLcontext *tnl = TNL_CONTEXT(ctx);
+ struct vertex_buffer *vb = &tnl->vb;
if (RADEON_DEBUG & DEBUG_PRIMS)
fprintf(stderr, "%s\n", __FUNCTION__);
- if (stage) {
- TNLcontext *tnl = TNL_CONTEXT(ctx);
- radeon_vb_to_rvb(rmesa, VB, &tnl->vb);
- }
-
r300UpdateShaders(rmesa);
if (r300EmitArrays(ctx))
return GL_TRUE;
@@ -404,10 +354,10 @@ static GLboolean r300RunRender(GLcontext * ctx,
r300EmitState(rmesa);
- for (i = 0; i < VB->PrimitiveCount; i++) {
- GLuint prim = _tnl_translate_prim(&VB->Primitive[i]);
- GLuint start = VB->Primitive[i].start;
- GLuint end = VB->Primitive[i].start + VB->Primitive[i].count;
+ for (i = 0; i < vb->PrimitiveCount; i++) {
+ GLuint prim = _tnl_translate_prim(&vb->Primitive[i]);
+ GLuint start = vb->Primitive[i].start;
+ GLuint end = vb->Primitive[i].start + vb->Primitive[i].count;
r300RunRenderPrimitive(rmesa, ctx, start, end, prim);
}
diff --git a/src/mesa/glapi/EXT_framebuffer_object.xml b/src/mesa/glapi/EXT_framebuffer_object.xml
index d2a18b6424..66f250c003 100644
--- a/src/mesa/glapi/EXT_framebuffer_object.xml
+++ b/src/mesa/glapi/EXT_framebuffer_object.xml
@@ -172,8 +172,7 @@
<glx rop="4324"/>
</function>
- <function name="GetFramebufferAttachmentParameterivEXT"
-offset="assign">
+ <function name="GetFramebufferAttachmentParameterivEXT" offset="assign">
<param name="target" type="GLenum"/>
<param name="attachment" type="GLenum"/>
<param name="pname" type="GLenum"/>
@@ -186,4 +185,43 @@ offset="assign">
<glx rop="4325"/>
</function>
</category>
+
+
+
+<category name="GL_EXT_texture_array" number="329">
+ <enum name="TEXTURE_1D_ARRAY_EXT" value="0x8C18"/>
+ <enum name="PROXY_TEXTURE_1D_ARRAY_EXT" value="0x8C19"/>
+ <enum name="TEXTURE_2D_ARRAY_EXT" value="0x8C1A"/>
+ <enum name="PROXY_TEXTURE_2D_ARRAY_EXT" value="0x8C1B"/>
+
+ <enum name="TEXTURE_BINDING_1D_ARRAY_EXT" count="1" value="0x8C1C">
+ <size name="Get" mode="get"/>
+ </enum>
+
+ <enum name="TEXTURE_BINDING_2D_ARRAY_EXT" count="1" value="0x8C1D">
+ <size name="Get" mode="get"/>
+ </enum>
+
+ <enum name="MAX_ARRAY_TEXTURE_LAYERS_EXT" count="1" value="0x88FF">
+ <size name="Get" mode="get"/>
+ </enum>
+
+ <enum name="COMPARE_REF_DEPTH_TO_TEXTURE_EXT" count="1" value="0x884E">
+ <size name="Get" mode="get"/>
+ </enum>
+
+ <enum name="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT" count="1" value="0x8CD4">
+ <size name="GetFramebufferAttachmentParameterivEXT" mode="get"/>
+ </enum>
+
+ <function name="FramebufferTextureLayerEXT" offset="assign">
+ <param name="target" type="GLenum"/>
+ <param name="attachment" type="GLenum"/>
+ <param name="texture" type="GLuint"/>
+ <param name="level" type="GLint"/>
+ <param name="layer" type="GLint"/>
+ </function>
+</category>
+
+
</OpenGLAPI>
diff --git a/src/mesa/glapi/dispatch.h b/src/mesa/glapi/dispatch.h
index a128164323..0ce59f7b99 100644
--- a/src/mesa/glapi/dispatch.h
+++ b/src/mesa/glapi/dispatch.h
@@ -2362,6 +2362,9 @@
#define CALL_BlitFramebufferEXT(disp, parameters) (*((disp)->BlitFramebufferEXT)) parameters
#define GET_BlitFramebufferEXT(disp) ((disp)->BlitFramebufferEXT)
#define SET_BlitFramebufferEXT(disp, fn) ((disp)->BlitFramebufferEXT = fn)
+#define CALL_FramebufferTextureLayerEXT(disp, parameters) (*((disp)->FramebufferTextureLayerEXT)) parameters
+#define GET_FramebufferTextureLayerEXT(disp) ((disp)->FramebufferTextureLayerEXT)
+#define SET_FramebufferTextureLayerEXT(disp, fn) ((disp)->FramebufferTextureLayerEXT = fn)
#define CALL_ProgramEnvParameters4fvEXT(disp, parameters) (*((disp)->ProgramEnvParameters4fvEXT)) parameters
#define GET_ProgramEnvParameters4fvEXT(disp) ((disp)->ProgramEnvParameters4fvEXT)
#define SET_ProgramEnvParameters4fvEXT(disp, fn) ((disp)->ProgramEnvParameters4fvEXT = fn)
@@ -2377,7 +2380,7 @@
#else
-#define driDispatchRemapTable_size 364
+#define driDispatchRemapTable_size 365
extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
#define AttachShader_remap_index 0
@@ -2740,10 +2743,11 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
#define IsRenderbufferEXT_remap_index 357
#define RenderbufferStorageEXT_remap_index 358
#define BlitFramebufferEXT_remap_index 359
-#define ProgramEnvParameters4fvEXT_remap_index 360
-#define ProgramLocalParameters4fvEXT_remap_index 361
-#define GetQueryObjecti64vEXT_remap_index 362
-#define GetQueryObjectui64vEXT_remap_index 363
+#define FramebufferTextureLayerEXT_remap_index 360
+#define ProgramEnvParameters4fvEXT_remap_index 361
+#define ProgramLocalParameters4fvEXT_remap_index 362
+#define GetQueryObjecti64vEXT_remap_index 363
+#define GetQueryObjectui64vEXT_remap_index 364
#define CALL_AttachShader(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint)), driDispatchRemapTable[AttachShader_remap_index], parameters)
#define GET_AttachShader(disp) GET_by_offset(disp, driDispatchRemapTable[AttachShader_remap_index])
@@ -3825,6 +3829,9 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
#define CALL_BlitFramebufferEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum)), driDispatchRemapTable[BlitFramebufferEXT_remap_index], parameters)
#define GET_BlitFramebufferEXT(disp) GET_by_offset(disp, driDispatchRemapTable[BlitFramebufferEXT_remap_index])
#define SET_BlitFramebufferEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BlitFramebufferEXT_remap_index], fn)
+#define CALL_FramebufferTextureLayerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLuint, GLint, GLint)), driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index], parameters)
+#define GET_FramebufferTextureLayerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index])
+#define SET_FramebufferTextureLayerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index], fn)
#define CALL_ProgramEnvParameters4fvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLsizei, const GLfloat *)), driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index], parameters)
#define GET_ProgramEnvParameters4fvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index])
#define SET_ProgramEnvParameters4fvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index], fn)
diff --git a/src/mesa/glapi/glapioffsets.h b/src/mesa/glapi/glapioffsets.h
index cb0d21083e..c207a06ac4 100644
--- a/src/mesa/glapi/glapioffsets.h
+++ b/src/mesa/glapi/glapioffsets.h
@@ -800,11 +800,12 @@
#define _gloffset_IsRenderbufferEXT 765
#define _gloffset_RenderbufferStorageEXT 766
#define _gloffset_BlitFramebufferEXT 767
-#define _gloffset_ProgramEnvParameters4fvEXT 768
-#define _gloffset_ProgramLocalParameters4fvEXT 769
-#define _gloffset_GetQueryObjecti64vEXT 770
-#define _gloffset_GetQueryObjectui64vEXT 771
-#define _gloffset_FIRST_DYNAMIC 772
+#define _gloffset_FramebufferTextureLayerEXT 768
+#define _gloffset_ProgramEnvParameters4fvEXT 769
+#define _gloffset_ProgramLocalParameters4fvEXT 770
+#define _gloffset_GetQueryObjecti64vEXT 771
+#define _gloffset_GetQueryObjectui64vEXT 772
+#define _gloffset_FIRST_DYNAMIC 773
#else
@@ -1168,6 +1169,7 @@
#define _gloffset_IsRenderbufferEXT driDispatchRemapTable[IsRenderbufferEXT_remap_index]
#define _gloffset_RenderbufferStorageEXT driDispatchRemapTable[RenderbufferStorageEXT_remap_index]
#define _gloffset_BlitFramebufferEXT driDispatchRemapTable[BlitFramebufferEXT_remap_index]
+#define _gloffset_FramebufferTextureLayerEXT driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index]
#define _gloffset_ProgramEnvParameters4fvEXT driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index]
#define _gloffset_ProgramLocalParameters4fvEXT driDispatchRemapTable[ProgramLocalParameters4fvEXT_remap_index]
#define _gloffset_GetQueryObjecti64vEXT driDispatchRemapTable[GetQueryObjecti64vEXT_remap_index]
diff --git a/src/mesa/glapi/glapitable.h b/src/mesa/glapi/glapitable.h
index 4af0c2d43b..1e4c2949e4 100644
--- a/src/mesa/glapi/glapitable.h
+++ b/src/mesa/glapi/glapitable.h
@@ -809,10 +809,11 @@ struct _glapi_table
GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 765 */
void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 766 */
void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 767 */
- void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 768 */
- void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 769 */
- void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 770 */
- void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 771 */
+ void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 768 */
+ void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 769 */
+ void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 770 */
+ void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 771 */
+ void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 772 */
};
#endif /* !defined( _GLAPI_TABLE_H_ ) */
diff --git a/src/mesa/glapi/glapitemp.h b/src/mesa/glapi/glapitemp.h
index 62407968cc..2a2fe2a35d 100644
--- a/src/mesa/glapi/glapitemp.h
+++ b/src/mesa/glapi/glapitemp.h
@@ -5416,30 +5416,35 @@ KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_767)(GLint srcX0, GLint srcY0, GL
DISPATCH(BlitFramebufferEXT, (srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter), (F, "glBlitFramebufferEXT(%d, %d, %d, %d, %d, %d, %d, %d, %d, 0x%x);\n", srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter));
}
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_768)(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
-
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_768)(GLenum target, GLuint index, GLsizei count, const GLfloat * params)
+KEYWORD1 void KEYWORD2 NAME(FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
{
- DISPATCH(ProgramEnvParameters4fvEXT, (target, index, count, params), (F, "glProgramEnvParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params));
+ DISPATCH(FramebufferTextureLayerEXT, (target, attachment, texture, level, layer), (F, "glFramebufferTextureLayerEXT(0x%x, 0x%x, %d, %d, %d);\n", target, attachment, texture, level, layer));
}
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_769)(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_769)(GLenum target, GLuint index, GLsizei count, const GLfloat * params)
{
+ DISPATCH(ProgramEnvParameters4fvEXT, (target, index, count, params), (F, "glProgramEnvParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params));
+}
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_770)(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
+
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_770)(GLenum target, GLuint index, GLsizei count, const GLfloat * params)
+{
DISPATCH(ProgramLocalParameters4fvEXT, (target, index, count, params), (F, "glProgramLocalParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params));
}
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_770)(GLuint id, GLenum pname, GLint64EXT * params);
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_771)(GLuint id, GLenum pname, GLint64EXT * params);
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_770)(GLuint id, GLenum pname, GLint64EXT * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_771)(GLuint id, GLenum pname, GLint64EXT * params)
{
DISPATCH(GetQueryObjecti64vEXT, (id, pname, params), (F, "glGetQueryObjecti64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params));
}
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_771)(GLuint id, GLenum pname, GLuint64EXT * params);
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_772)(GLuint id, GLenum pname, GLuint64EXT * params);
-KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_771)(GLuint id, GLenum pname, GLuint64EXT * params)
+KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_772)(GLuint id, GLenum pname, GLuint64EXT * params)
{
DISPATCH(GetQueryObjectui64vEXT, (id, pname, params), (F, "glGetQueryObjectui64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params));
}
@@ -6226,10 +6231,11 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = {
TABLE_ENTRY(IsRenderbufferEXT),
TABLE_ENTRY(RenderbufferStorageEXT),
TABLE_ENTRY(_dispatch_stub_767),
- TABLE_ENTRY(_dispatch_stub_768),
+ TABLE_ENTRY(FramebufferTextureLayerEXT),
TABLE_ENTRY(_dispatch_stub_769),
TABLE_ENTRY(_dispatch_stub_770),
TABLE_ENTRY(_dispatch_stub_771),
+ TABLE_ENTRY(_dispatch_stub_772),
/* A whole bunch of no-op functions. These might be called
* when someone tries to call a dynamically-registered
* extension function without a current rendering context.
diff --git a/src/mesa/glapi/glprocs.h b/src/mesa/glapi/glprocs.h
index 190d9ed149..b6651a6bf4 100644
--- a/src/mesa/glapi/glprocs.h
+++ b/src/mesa/glapi/glprocs.h
@@ -820,6 +820,7 @@ static const char gl_string_table[] =
"glIsRenderbufferEXT\0"
"glRenderbufferStorageEXT\0"
"glBlitFramebufferEXT\0"
+ "glFramebufferTextureLayerEXT\0"
"glProgramEnvParameters4fvEXT\0"
"glProgramLocalParameters4fvEXT\0"
"glGetQueryObjecti64vEXT\0"
@@ -1138,10 +1139,10 @@ static const char gl_string_table[] =
#define gl_dispatch_stub_748 mgl_dispatch_stub_748
#define gl_dispatch_stub_749 mgl_dispatch_stub_749
#define gl_dispatch_stub_767 mgl_dispatch_stub_767
-#define gl_dispatch_stub_768 mgl_dispatch_stub_768
#define gl_dispatch_stub_769 mgl_dispatch_stub_769
#define gl_dispatch_stub_770 mgl_dispatch_stub_770
#define gl_dispatch_stub_771 mgl_dispatch_stub_771
+#define gl_dispatch_stub_772 mgl_dispatch_stub_772
#endif /* USE_MGL_NAMESPACE */
@@ -1188,10 +1189,10 @@ extern void gl_dispatch_stub_741(void);
extern void gl_dispatch_stub_748(void);
extern void gl_dispatch_stub_749(void);
extern void gl_dispatch_stub_767(void);
-extern void gl_dispatch_stub_768(void);
extern void gl_dispatch_stub_769(void);
extern void gl_dispatch_stub_770(void);
extern void gl_dispatch_stub_771(void);
+extern void gl_dispatch_stub_772(void);
#endif /* defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) */
static const glprocs_table_t static_functions[] = {
@@ -1963,279 +1964,280 @@ static const glprocs_table_t static_functions[] = {
NAME_FUNC_OFFSET(13404, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT),
NAME_FUNC_OFFSET(13424, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT),
NAME_FUNC_OFFSET(13449, gl_dispatch_stub_767, gl_dispatch_stub_767, NULL, _gloffset_BlitFramebufferEXT),
- NAME_FUNC_OFFSET(13470, gl_dispatch_stub_768, gl_dispatch_stub_768, NULL, _gloffset_ProgramEnvParameters4fvEXT),
- NAME_FUNC_OFFSET(13499, gl_dispatch_stub_769, gl_dispatch_stub_769, NULL, _gloffset_ProgramLocalParameters4fvEXT),
- NAME_FUNC_OFFSET(13530, gl_dispatch_stub_770, gl_dispatch_stub_770, NULL, _gloffset_GetQueryObjecti64vEXT),
- NAME_FUNC_OFFSET(13554, gl_dispatch_stub_771, gl_dispatch_stub_771, NULL, _gloffset_GetQueryObjectui64vEXT),
- NAME_FUNC_OFFSET(13579, glArrayElement, glArrayElement, NULL, _gloffset_ArrayElement),
- NAME_FUNC_OFFSET(13597, glBindTexture, glBindTexture, NULL, _gloffset_BindTexture),
- NAME_FUNC_OFFSET(13614, glDrawArrays, glDrawArrays, NULL, _gloffset_DrawArrays),
- NAME_FUNC_OFFSET(13630, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, _gloffset_AreTexturesResident),
- NAME_FUNC_OFFSET(13655, glCopyTexImage1D, glCopyTexImage1D, NULL, _gloffset_CopyTexImage1D),
- NAME_FUNC_OFFSET(13675, glCopyTexImage2D, glCopyTexImage2D, NULL, _gloffset_CopyTexImage2D),
- NAME_FUNC_OFFSET(13695, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, _gloffset_CopyTexSubImage1D),
- NAME_FUNC_OFFSET(13718, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, _gloffset_CopyTexSubImage2D),
- NAME_FUNC_OFFSET(13741, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, _gloffset_DeleteTextures),
- NAME_FUNC_OFFSET(13761, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, _gloffset_GenTextures),
- NAME_FUNC_OFFSET(13778, glGetPointerv, glGetPointerv, NULL, _gloffset_GetPointerv),
- NAME_FUNC_OFFSET(13795, glIsTexture, glIsTextureEXT, glIsTextureEXT, _gloffset_IsTexture),
- NAME_FUNC_OFFSET(13810, glPrioritizeTextures, glPrioritizeTextures, NULL, _gloffset_PrioritizeTextures),
- NAME_FUNC_OFFSET(13834, glTexSubImage1D, glTexSubImage1D, NULL, _gloffset_TexSubImage1D),
- NAME_FUNC_OFFSET(13853, glTexSubImage2D, glTexSubImage2D, NULL, _gloffset_TexSubImage2D),
- NAME_FUNC_OFFSET(13872, glBlendColor, glBlendColor, NULL, _gloffset_BlendColor),
- NAME_FUNC_OFFSET(13888, glBlendEquation, glBlendEquation, NULL, _gloffset_BlendEquation),
- NAME_FUNC_OFFSET(13907, glDrawRangeElements, glDrawRangeElements, NULL, _gloffset_DrawRangeElements),
- NAME_FUNC_OFFSET(13930, glColorTable, glColorTable, NULL, _gloffset_ColorTable),
- NAME_FUNC_OFFSET(13946, glColorTable, glColorTable, NULL, _gloffset_ColorTable),
- NAME_FUNC_OFFSET(13962, glColorTableParameterfv, glColorTableParameterfv, NULL, _gloffset_ColorTableParameterfv),
- NAME_FUNC_OFFSET(13989, glColorTableParameteriv, glColorTableParameteriv, NULL, _gloffset_ColorTableParameteriv),
- NAME_FUNC_OFFSET(14016, glCopyColorTable, glCopyColorTable, NULL, _gloffset_CopyColorTable),
- NAME_FUNC_OFFSET(14036, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable),
- NAME_FUNC_OFFSET(14055, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable),
- NAME_FUNC_OFFSET(14074, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv),
- NAME_FUNC_OFFSET(14104, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv),
- NAME_FUNC_OFFSET(14134, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv),
- NAME_FUNC_OFFSET(14164, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv),
- NAME_FUNC_OFFSET(14194, glColorSubTable, glColorSubTable, NULL, _gloffset_ColorSubTable),
- NAME_FUNC_OFFSET(14213, glCopyColorSubTable, glCopyColorSubTable, NULL, _gloffset_CopyColorSubTable),
- NAME_FUNC_OFFSET(14236, glConvolutionFilter1D, glConvolutionFilter1D, NULL, _gloffset_ConvolutionFilter1D),
- NAME_FUNC_OFFSET(14261, glConvolutionFilter2D, glConvolutionFilter2D, NULL, _gloffset_ConvolutionFilter2D),
- NAME_FUNC_OFFSET(14286, glConvolutionParameterf, glConvolutionParameterf, NULL, _gloffset_ConvolutionParameterf),
- NAME_FUNC_OFFSET(14313, glConvolutionParameterfv, glConvolutionParameterfv, NULL, _gloffset_ConvolutionParameterfv),
- NAME_FUNC_OFFSET(14341, glConvolutionParameteri, glConvolutionParameteri, NULL, _gloffset_ConvolutionParameteri),
- NAME_FUNC_OFFSET(14368, glConvolutionParameteriv, glConvolutionParameteriv, NULL, _gloffset_ConvolutionParameteriv),
- NAME_FUNC_OFFSET(14396, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, _gloffset_CopyConvolutionFilter1D),
- NAME_FUNC_OFFSET(14425, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, _gloffset_CopyConvolutionFilter2D),
- NAME_FUNC_OFFSET(14454, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, _gloffset_GetConvolutionFilter),
- NAME_FUNC_OFFSET(14480, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, _gloffset_GetConvolutionParameterfv),
- NAME_FUNC_OFFSET(14511, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, _gloffset_GetConvolutionParameteriv),
- NAME_FUNC_OFFSET(14542, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, _gloffset_GetSeparableFilter),
- NAME_FUNC_OFFSET(14566, glSeparableFilter2D, glSeparableFilter2D, NULL, _gloffset_SeparableFilter2D),
- NAME_FUNC_OFFSET(14589, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, _gloffset_GetHistogram),
- NAME_FUNC_OFFSET(14607, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, _gloffset_GetHistogramParameterfv),
- NAME_FUNC_OFFSET(14636, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, _gloffset_GetHistogramParameteriv),
- NAME_FUNC_OFFSET(14665, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, _gloffset_GetMinmax),
- NAME_FUNC_OFFSET(14680, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, _gloffset_GetMinmaxParameterfv),
- NAME_FUNC_OFFSET(14706, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, _gloffset_GetMinmaxParameteriv),
- NAME_FUNC_OFFSET(14732, glHistogram, glHistogram, NULL, _gloffset_Histogram),
- NAME_FUNC_OFFSET(14747, glMinmax, glMinmax, NULL, _gloffset_Minmax),
- NAME_FUNC_OFFSET(14759, glResetHistogram, glResetHistogram, NULL, _gloffset_ResetHistogram),
- NAME_FUNC_OFFSET(14779, glResetMinmax, glResetMinmax, NULL, _gloffset_ResetMinmax),
- NAME_FUNC_OFFSET(14796, glTexImage3D, glTexImage3D, NULL, _gloffset_TexImage3D),
- NAME_FUNC_OFFSET(14812, glTexSubImage3D, glTexSubImage3D, NULL, _gloffset_TexSubImage3D),
- NAME_FUNC_OFFSET(14831, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, _gloffset_CopyTexSubImage3D),
- NAME_FUNC_OFFSET(14854, glActiveTextureARB, glActiveTextureARB, NULL, _gloffset_ActiveTextureARB),
- NAME_FUNC_OFFSET(14870, glClientActiveTextureARB, glClientActiveTextureARB, NULL, _gloffset_ClientActiveTextureARB),
- NAME_FUNC_OFFSET(14892, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, _gloffset_MultiTexCoord1dARB),
- NAME_FUNC_OFFSET(14910, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, _gloffset_MultiTexCoord1dvARB),
- NAME_FUNC_OFFSET(14929, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, _gloffset_MultiTexCoord1fARB),
- NAME_FUNC_OFFSET(14947, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, _gloffset_MultiTexCoord1fvARB),
- NAME_FUNC_OFFSET(14966, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, _gloffset_MultiTexCoord1iARB),
- NAME_FUNC_OFFSET(14984, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, _gloffset_MultiTexCoord1ivARB),
- NAME_FUNC_OFFSET(15003, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, _gloffset_MultiTexCoord1sARB),
- NAME_FUNC_OFFSET(15021, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, _gloffset_MultiTexCoord1svARB),
- NAME_FUNC_OFFSET(15040, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, _gloffset_MultiTexCoord2dARB),
- NAME_FUNC_OFFSET(15058, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, _gloffset_MultiTexCoord2dvARB),
- NAME_FUNC_OFFSET(15077, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, _gloffset_MultiTexCoord2fARB),
- NAME_FUNC_OFFSET(15095, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, _gloffset_MultiTexCoord2fvARB),
- NAME_FUNC_OFFSET(15114, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, _gloffset_MultiTexCoord2iARB),
- NAME_FUNC_OFFSET(15132, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, _gloffset_MultiTexCoord2ivARB),
- NAME_FUNC_OFFSET(15151, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, _gloffset_MultiTexCoord2sARB),
- NAME_FUNC_OFFSET(15169, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, _gloffset_MultiTexCoord2svARB),
- NAME_FUNC_OFFSET(15188, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, _gloffset_MultiTexCoord3dARB),
- NAME_FUNC_OFFSET(15206, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, _gloffset_MultiTexCoord3dvARB),
- NAME_FUNC_OFFSET(15225, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, _gloffset_MultiTexCoord3fARB),
- NAME_FUNC_OFFSET(15243, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, _gloffset_MultiTexCoord3fvARB),
- NAME_FUNC_OFFSET(15262, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, _gloffset_MultiTexCoord3iARB),
- NAME_FUNC_OFFSET(15280, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, _gloffset_MultiTexCoord3ivARB),
- NAME_FUNC_OFFSET(15299, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, _gloffset_MultiTexCoord3sARB),
- NAME_FUNC_OFFSET(15317, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, _gloffset_MultiTexCoord3svARB),
- NAME_FUNC_OFFSET(15336, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, _gloffset_MultiTexCoord4dARB),
- NAME_FUNC_OFFSET(15354, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, _gloffset_MultiTexCoord4dvARB),
- NAME_FUNC_OFFSET(15373, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, _gloffset_MultiTexCoord4fARB),
- NAME_FUNC_OFFSET(15391, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, _gloffset_MultiTexCoord4fvARB),
- NAME_FUNC_OFFSET(15410, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, _gloffset_MultiTexCoord4iARB),
- NAME_FUNC_OFFSET(15428, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, _gloffset_MultiTexCoord4ivARB),
- NAME_FUNC_OFFSET(15447, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, _gloffset_MultiTexCoord4sARB),
- NAME_FUNC_OFFSET(15465, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, _gloffset_MultiTexCoord4svARB),
- NAME_FUNC_OFFSET(15484, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, _gloffset_LoadTransposeMatrixdARB),
- NAME_FUNC_OFFSET(15507, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, _gloffset_LoadTransposeMatrixfARB),
- NAME_FUNC_OFFSET(15530, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, _gloffset_MultTransposeMatrixdARB),
- NAME_FUNC_OFFSET(15553, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, _gloffset_MultTransposeMatrixfARB),
- NAME_FUNC_OFFSET(15576, glSampleCoverageARB, glSampleCoverageARB, NULL, _gloffset_SampleCoverageARB),
- NAME_FUNC_OFFSET(15593, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, _gloffset_CompressedTexImage1DARB),
- NAME_FUNC_OFFSET(15616, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, _gloffset_CompressedTexImage2DARB),
- NAME_FUNC_OFFSET(15639, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, _gloffset_CompressedTexImage3DARB),
- NAME_FUNC_OFFSET(15662, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, _gloffset_CompressedTexSubImage1DARB),
- NAME_FUNC_OFFSET(15688, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, _gloffset_CompressedTexSubImage2DARB),
- NAME_FUNC_OFFSET(15714, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, _gloffset_CompressedTexSubImage3DARB),
- NAME_FUNC_OFFSET(15740, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, _gloffset_GetCompressedTexImageARB),
- NAME_FUNC_OFFSET(15764, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, _gloffset_DisableVertexAttribArrayARB),
- NAME_FUNC_OFFSET(15791, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, _gloffset_EnableVertexAttribArrayARB),
- NAME_FUNC_OFFSET(15817, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, _gloffset_GetVertexAttribdvARB),
- NAME_FUNC_OFFSET(15837, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, _gloffset_GetVertexAttribfvARB),
- NAME_FUNC_OFFSET(15857, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, _gloffset_GetVertexAttribivARB),
- NAME_FUNC_OFFSET(15877, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, _gloffset_VertexAttrib1dARB),
- NAME_FUNC_OFFSET(15894, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, _gloffset_VertexAttrib1dvARB),
- NAME_FUNC_OFFSET(15912, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, _gloffset_VertexAttrib1fARB),
- NAME_FUNC_OFFSET(15929, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, _gloffset_VertexAttrib1fvARB),
- NAME_FUNC_OFFSET(15947, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, _gloffset_VertexAttrib1sARB),
- NAME_FUNC_OFFSET(15964, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, _gloffset_VertexAttrib1svARB),
- NAME_FUNC_OFFSET(15982, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, _gloffset_VertexAttrib2dARB),
- NAME_FUNC_OFFSET(15999, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, _gloffset_VertexAttrib2dvARB),
- NAME_FUNC_OFFSET(16017, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, _gloffset_VertexAttrib2fARB),
- NAME_FUNC_OFFSET(16034, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, _gloffset_VertexAttrib2fvARB),
- NAME_FUNC_OFFSET(16052, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, _gloffset_VertexAttrib2sARB),
- NAME_FUNC_OFFSET(16069, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, _gloffset_VertexAttrib2svARB),
- NAME_FUNC_OFFSET(16087, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, _gloffset_VertexAttrib3dARB),
- NAME_FUNC_OFFSET(16104, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, _gloffset_VertexAttrib3dvARB),
- NAME_FUNC_OFFSET(16122, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, _gloffset_VertexAttrib3fARB),
- NAME_FUNC_OFFSET(16139, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, _gloffset_VertexAttrib3fvARB),
- NAME_FUNC_OFFSET(16157, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, _gloffset_VertexAttrib3sARB),
- NAME_FUNC_OFFSET(16174, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, _gloffset_VertexAttrib3svARB),
- NAME_FUNC_OFFSET(16192, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, _gloffset_VertexAttrib4NbvARB),
- NAME_FUNC_OFFSET(16211, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, _gloffset_VertexAttrib4NivARB),
- NAME_FUNC_OFFSET(16230, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, _gloffset_VertexAttrib4NsvARB),
- NAME_FUNC_OFFSET(16249, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, _gloffset_VertexAttrib4NubARB),
- NAME_FUNC_OFFSET(16268, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB),
- NAME_FUNC_OFFSET(16288, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB),
- NAME_FUNC_OFFSET(16308, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB),
- NAME_FUNC_OFFSET(16328, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB),
- NAME_FUNC_OFFSET(16345, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB),
- NAME_FUNC_OFFSET(16363, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB),
- NAME_FUNC_OFFSET(16380, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB),
- NAME_FUNC_OFFSET(16398, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB),
- NAME_FUNC_OFFSET(16415, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB),
- NAME_FUNC_OFFSET(16433, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB),
- NAME_FUNC_OFFSET(16455, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB),
- NAME_FUNC_OFFSET(16468, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB),
- NAME_FUNC_OFFSET(16481, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB),
- NAME_FUNC_OFFSET(16497, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB),
- NAME_FUNC_OFFSET(16513, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB),
- NAME_FUNC_OFFSET(16526, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB),
- NAME_FUNC_OFFSET(16549, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB),
- NAME_FUNC_OFFSET(16569, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB),
- NAME_FUNC_OFFSET(16588, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB),
- NAME_FUNC_OFFSET(16599, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB),
- NAME_FUNC_OFFSET(16611, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB),
- NAME_FUNC_OFFSET(16625, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB),
- NAME_FUNC_OFFSET(16638, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB),
- NAME_FUNC_OFFSET(16654, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB),
- NAME_FUNC_OFFSET(16665, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB),
- NAME_FUNC_OFFSET(16678, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB),
- NAME_FUNC_OFFSET(16697, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB),
- NAME_FUNC_OFFSET(16717, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB),
- NAME_FUNC_OFFSET(16730, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB),
- NAME_FUNC_OFFSET(16740, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB),
- NAME_FUNC_OFFSET(16756, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB),
- NAME_FUNC_OFFSET(16775, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB),
- NAME_FUNC_OFFSET(16793, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB),
- NAME_FUNC_OFFSET(16814, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB),
- NAME_FUNC_OFFSET(16829, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB),
- NAME_FUNC_OFFSET(16844, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB),
- NAME_FUNC_OFFSET(16858, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB),
- NAME_FUNC_OFFSET(16873, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB),
- NAME_FUNC_OFFSET(16885, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB),
- NAME_FUNC_OFFSET(16898, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB),
- NAME_FUNC_OFFSET(16910, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB),
- NAME_FUNC_OFFSET(16923, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB),
- NAME_FUNC_OFFSET(16935, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB),
- NAME_FUNC_OFFSET(16948, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB),
- NAME_FUNC_OFFSET(16960, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB),
- NAME_FUNC_OFFSET(16973, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB),
- NAME_FUNC_OFFSET(16985, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB),
- NAME_FUNC_OFFSET(16998, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB),
- NAME_FUNC_OFFSET(17010, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB),
- NAME_FUNC_OFFSET(17023, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB),
- NAME_FUNC_OFFSET(17035, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB),
- NAME_FUNC_OFFSET(17048, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB),
- NAME_FUNC_OFFSET(17060, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB),
- NAME_FUNC_OFFSET(17073, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB),
- NAME_FUNC_OFFSET(17092, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB),
- NAME_FUNC_OFFSET(17111, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB),
- NAME_FUNC_OFFSET(17130, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB),
- NAME_FUNC_OFFSET(17143, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB),
- NAME_FUNC_OFFSET(17161, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB),
- NAME_FUNC_OFFSET(17182, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB),
- NAME_FUNC_OFFSET(17200, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB),
- NAME_FUNC_OFFSET(17220, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB),
- NAME_FUNC_OFFSET(17234, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB),
- NAME_FUNC_OFFSET(17251, gl_dispatch_stub_568, gl_dispatch_stub_568, NULL, _gloffset_SampleMaskSGIS),
- NAME_FUNC_OFFSET(17267, gl_dispatch_stub_569, gl_dispatch_stub_569, NULL, _gloffset_SamplePatternSGIS),
- NAME_FUNC_OFFSET(17286, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
- NAME_FUNC_OFFSET(17304, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
- NAME_FUNC_OFFSET(17325, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
- NAME_FUNC_OFFSET(17347, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
- NAME_FUNC_OFFSET(17366, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
- NAME_FUNC_OFFSET(17388, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
- NAME_FUNC_OFFSET(17411, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT),
- NAME_FUNC_OFFSET(17430, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT),
- NAME_FUNC_OFFSET(17450, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT),
- NAME_FUNC_OFFSET(17469, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT),
- NAME_FUNC_OFFSET(17489, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT),
- NAME_FUNC_OFFSET(17508, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT),
- NAME_FUNC_OFFSET(17528, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT),
- NAME_FUNC_OFFSET(17547, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT),
- NAME_FUNC_OFFSET(17567, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT),
- NAME_FUNC_OFFSET(17586, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT),
- NAME_FUNC_OFFSET(17606, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT),
- NAME_FUNC_OFFSET(17626, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT),
- NAME_FUNC_OFFSET(17647, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT),
- NAME_FUNC_OFFSET(17667, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT),
- NAME_FUNC_OFFSET(17688, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT),
- NAME_FUNC_OFFSET(17708, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT),
- NAME_FUNC_OFFSET(17729, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT),
- NAME_FUNC_OFFSET(17753, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT),
- NAME_FUNC_OFFSET(17771, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT),
- NAME_FUNC_OFFSET(17791, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT),
- NAME_FUNC_OFFSET(17809, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT),
- NAME_FUNC_OFFSET(17821, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT),
- NAME_FUNC_OFFSET(17834, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT),
- NAME_FUNC_OFFSET(17846, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT),
- NAME_FUNC_OFFSET(17859, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT),
- NAME_FUNC_OFFSET(17879, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT),
- NAME_FUNC_OFFSET(17903, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA),
- NAME_FUNC_OFFSET(17917, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA),
- NAME_FUNC_OFFSET(17934, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA),
- NAME_FUNC_OFFSET(17949, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA),
- NAME_FUNC_OFFSET(17967, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA),
- NAME_FUNC_OFFSET(17981, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA),
- NAME_FUNC_OFFSET(17998, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA),
- NAME_FUNC_OFFSET(18013, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA),
- NAME_FUNC_OFFSET(18031, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA),
- NAME_FUNC_OFFSET(18045, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA),
- NAME_FUNC_OFFSET(18062, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA),
- NAME_FUNC_OFFSET(18077, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA),
- NAME_FUNC_OFFSET(18095, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA),
- NAME_FUNC_OFFSET(18109, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA),
- NAME_FUNC_OFFSET(18126, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA),
- NAME_FUNC_OFFSET(18141, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA),
- NAME_FUNC_OFFSET(18159, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA),
- NAME_FUNC_OFFSET(18173, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA),
- NAME_FUNC_OFFSET(18190, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA),
- NAME_FUNC_OFFSET(18205, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA),
- NAME_FUNC_OFFSET(18223, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA),
- NAME_FUNC_OFFSET(18237, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA),
- NAME_FUNC_OFFSET(18254, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA),
- NAME_FUNC_OFFSET(18269, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA),
- NAME_FUNC_OFFSET(18287, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA),
- NAME_FUNC_OFFSET(18301, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA),
- NAME_FUNC_OFFSET(18318, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA),
- NAME_FUNC_OFFSET(18333, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA),
- NAME_FUNC_OFFSET(18351, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA),
- NAME_FUNC_OFFSET(18365, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA),
- NAME_FUNC_OFFSET(18382, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA),
- NAME_FUNC_OFFSET(18397, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA),
- NAME_FUNC_OFFSET(18415, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV),
- NAME_FUNC_OFFSET(18432, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV),
- NAME_FUNC_OFFSET(18452, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV),
- NAME_FUNC_OFFSET(18469, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV),
- NAME_FUNC_OFFSET(18495, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV),
- NAME_FUNC_OFFSET(18524, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV),
- NAME_FUNC_OFFSET(18539, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV),
- NAME_FUNC_OFFSET(18557, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV),
- NAME_FUNC_OFFSET(18576, gl_dispatch_stub_749, gl_dispatch_stub_749, NULL, _gloffset_BlendEquationSeparateEXT),
- NAME_FUNC_OFFSET(18600, gl_dispatch_stub_749, gl_dispatch_stub_749, NULL, _gloffset_BlendEquationSeparateEXT),
+ NAME_FUNC_OFFSET(13470, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT),
+ NAME_FUNC_OFFSET(13499, gl_dispatch_stub_769, gl_dispatch_stub_769, NULL, _gloffset_ProgramEnvParameters4fvEXT),
+ NAME_FUNC_OFFSET(13528, gl_dispatch_stub_770, gl_dispatch_stub_770, NULL, _gloffset_ProgramLocalParameters4fvEXT),
+ NAME_FUNC_OFFSET(13559, gl_dispatch_stub_771, gl_dispatch_stub_771, NULL, _gloffset_GetQueryObjecti64vEXT),
+ NAME_FUNC_OFFSET(13583, gl_dispatch_stub_772, gl_dispatch_stub_772, NULL, _gloffset_GetQueryObjectui64vEXT),
+ NAME_FUNC_OFFSET(13608, glArrayElement, glArrayElement, NULL, _gloffset_ArrayElement),
+ NAME_FUNC_OFFSET(13626, glBindTexture, glBindTexture, NULL, _gloffset_BindTexture),
+ NAME_FUNC_OFFSET(13643, glDrawArrays, glDrawArrays, NULL, _gloffset_DrawArrays),
+ NAME_FUNC_OFFSET(13659, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, _gloffset_AreTexturesResident),
+ NAME_FUNC_OFFSET(13684, glCopyTexImage1D, glCopyTexImage1D, NULL, _gloffset_CopyTexImage1D),
+ NAME_FUNC_OFFSET(13704, glCopyTexImage2D, glCopyTexImage2D, NULL, _gloffset_CopyTexImage2D),
+ NAME_FUNC_OFFSET(13724, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, _gloffset_CopyTexSubImage1D),
+ NAME_FUNC_OFFSET(13747, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, _gloffset_CopyTexSubImage2D),
+ NAME_FUNC_OFFSET(13770, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, _gloffset_DeleteTextures),
+ NAME_FUNC_OFFSET(13790, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, _gloffset_GenTextures),
+ NAME_FUNC_OFFSET(13807, glGetPointerv, glGetPointerv, NULL, _gloffset_GetPointerv),
+ NAME_FUNC_OFFSET(13824, glIsTexture, glIsTextureEXT, glIsTextureEXT, _gloffset_IsTexture),
+ NAME_FUNC_OFFSET(13839, glPrioritizeTextures, glPrioritizeTextures, NULL, _gloffset_PrioritizeTextures),
+ NAME_FUNC_OFFSET(13863, glTexSubImage1D, glTexSubImage1D, NULL, _gloffset_TexSubImage1D),
+ NAME_FUNC_OFFSET(13882, glTexSubImage2D, glTexSubImage2D, NULL, _gloffset_TexSubImage2D),
+ NAME_FUNC_OFFSET(13901, glBlendColor, glBlendColor, NULL, _gloffset_BlendColor),
+ NAME_FUNC_OFFSET(13917, glBlendEquation, glBlendEquation, NULL, _gloffset_BlendEquation),
+ NAME_FUNC_OFFSET(13936, glDrawRangeElements, glDrawRangeElements, NULL, _gloffset_DrawRangeElements),
+ NAME_FUNC_OFFSET(13959, glColorTable, glColorTable, NULL, _gloffset_ColorTable),
+ NAME_FUNC_OFFSET(13975, glColorTable, glColorTable, NULL, _gloffset_ColorTable),
+ NAME_FUNC_OFFSET(13991, glColorTableParameterfv, glColorTableParameterfv, NULL, _gloffset_ColorTableParameterfv),
+ NAME_FUNC_OFFSET(14018, glColorTableParameteriv, glColorTableParameteriv, NULL, _gloffset_ColorTableParameteriv),
+ NAME_FUNC_OFFSET(14045, glCopyColorTable, glCopyColorTable, NULL, _gloffset_CopyColorTable),
+ NAME_FUNC_OFFSET(14065, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable),
+ NAME_FUNC_OFFSET(14084, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable),
+ NAME_FUNC_OFFSET(14103, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv),
+ NAME_FUNC_OFFSET(14133, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv),
+ NAME_FUNC_OFFSET(14163, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv),
+ NAME_FUNC_OFFSET(14193, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv),
+ NAME_FUNC_OFFSET(14223, glColorSubTable, glColorSubTable, NULL, _gloffset_ColorSubTable),
+ NAME_FUNC_OFFSET(14242, glCopyColorSubTable, glCopyColorSubTable, NULL, _gloffset_CopyColorSubTable),
+ NAME_FUNC_OFFSET(14265, glConvolutionFilter1D, glConvolutionFilter1D, NULL, _gloffset_ConvolutionFilter1D),
+ NAME_FUNC_OFFSET(14290, glConvolutionFilter2D, glConvolutionFilter2D, NULL, _gloffset_ConvolutionFilter2D),
+ NAME_FUNC_OFFSET(14315, glConvolutionParameterf, glConvolutionParameterf, NULL, _gloffset_ConvolutionParameterf),
+ NAME_FUNC_OFFSET(14342, glConvolutionParameterfv, glConvolutionParameterfv, NULL, _gloffset_ConvolutionParameterfv),
+ NAME_FUNC_OFFSET(14370, glConvolutionParameteri, glConvolutionParameteri, NULL, _gloffset_ConvolutionParameteri),
+ NAME_FUNC_OFFSET(14397, glConvolutionParameteriv, glConvolutionParameteriv, NULL, _gloffset_ConvolutionParameteriv),
+ NAME_FUNC_OFFSET(14425, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, _gloffset_CopyConvolutionFilter1D),
+ NAME_FUNC_OFFSET(14454, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, _gloffset_CopyConvolutionFilter2D),
+ NAME_FUNC_OFFSET(14483, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, _gloffset_GetConvolutionFilter),
+ NAME_FUNC_OFFSET(14509, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, _gloffset_GetConvolutionParameterfv),
+ NAME_FUNC_OFFSET(14540, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, _gloffset_GetConvolutionParameteriv),
+ NAME_FUNC_OFFSET(14571, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, _gloffset_GetSeparableFilter),
+ NAME_FUNC_OFFSET(14595, glSeparableFilter2D, glSeparableFilter2D, NULL, _gloffset_SeparableFilter2D),
+ NAME_FUNC_OFFSET(14618, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, _gloffset_GetHistogram),
+ NAME_FUNC_OFFSET(14636, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, _gloffset_GetHistogramParameterfv),
+ NAME_FUNC_OFFSET(14665, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, _gloffset_GetHistogramParameteriv),
+ NAME_FUNC_OFFSET(14694, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, _gloffset_GetMinmax),
+ NAME_FUNC_OFFSET(14709, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, _gloffset_GetMinmaxParameterfv),
+ NAME_FUNC_OFFSET(14735, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, _gloffset_GetMinmaxParameteriv),
+ NAME_FUNC_OFFSET(14761, glHistogram, glHistogram, NULL, _gloffset_Histogram),
+ NAME_FUNC_OFFSET(14776, glMinmax, glMinmax, NULL, _gloffset_Minmax),
+ NAME_FUNC_OFFSET(14788, glResetHistogram, glResetHistogram, NULL, _gloffset_ResetHistogram),
+ NAME_FUNC_OFFSET(14808, glResetMinmax, glResetMinmax, NULL, _gloffset_ResetMinmax),
+ NAME_FUNC_OFFSET(14825, glTexImage3D, glTexImage3D, NULL, _gloffset_TexImage3D),
+ NAME_FUNC_OFFSET(14841, glTexSubImage3D, glTexSubImage3D, NULL, _gloffset_TexSubImage3D),
+ NAME_FUNC_OFFSET(14860, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, _gloffset_CopyTexSubImage3D),
+ NAME_FUNC_OFFSET(14883, glActiveTextureARB, glActiveTextureARB, NULL, _gloffset_ActiveTextureARB),
+ NAME_FUNC_OFFSET(14899, glClientActiveTextureARB, glClientActiveTextureARB, NULL, _gloffset_ClientActiveTextureARB),
+ NAME_FUNC_OFFSET(14921, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, _gloffset_MultiTexCoord1dARB),
+ NAME_FUNC_OFFSET(14939, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, _gloffset_MultiTexCoord1dvARB),
+ NAME_FUNC_OFFSET(14958, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, _gloffset_MultiTexCoord1fARB),
+ NAME_FUNC_OFFSET(14976, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, _gloffset_MultiTexCoord1fvARB),
+ NAME_FUNC_OFFSET(14995, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, _gloffset_MultiTexCoord1iARB),
+ NAME_FUNC_OFFSET(15013, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, _gloffset_MultiTexCoord1ivARB),
+ NAME_FUNC_OFFSET(15032, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, _gloffset_MultiTexCoord1sARB),
+ NAME_FUNC_OFFSET(15050, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, _gloffset_MultiTexCoord1svARB),
+ NAME_FUNC_OFFSET(15069, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, _gloffset_MultiTexCoord2dARB),
+ NAME_FUNC_OFFSET(15087, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, _gloffset_MultiTexCoord2dvARB),
+ NAME_FUNC_OFFSET(15106, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, _gloffset_MultiTexCoord2fARB),
+ NAME_FUNC_OFFSET(15124, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, _gloffset_MultiTexCoord2fvARB),
+ NAME_FUNC_OFFSET(15143, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, _gloffset_MultiTexCoord2iARB),
+ NAME_FUNC_OFFSET(15161, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, _gloffset_MultiTexCoord2ivARB),
+ NAME_FUNC_OFFSET(15180, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, _gloffset_MultiTexCoord2sARB),
+ NAME_FUNC_OFFSET(15198, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, _gloffset_MultiTexCoord2svARB),
+ NAME_FUNC_OFFSET(15217, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, _gloffset_MultiTexCoord3dARB),
+ NAME_FUNC_OFFSET(15235, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, _gloffset_MultiTexCoord3dvARB),
+ NAME_FUNC_OFFSET(15254, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, _gloffset_MultiTexCoord3fARB),
+ NAME_FUNC_OFFSET(15272, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, _gloffset_MultiTexCoord3fvARB),
+ NAME_FUNC_OFFSET(15291, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, _gloffset_MultiTexCoord3iARB),
+ NAME_FUNC_OFFSET(15309, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, _gloffset_MultiTexCoord3ivARB),
+ NAME_FUNC_OFFSET(15328, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, _gloffset_MultiTexCoord3sARB),
+ NAME_FUNC_OFFSET(15346, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, _gloffset_MultiTexCoord3svARB),
+ NAME_FUNC_OFFSET(15365, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, _gloffset_MultiTexCoord4dARB),
+ NAME_FUNC_OFFSET(15383, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, _gloffset_MultiTexCoord4dvARB),
+ NAME_FUNC_OFFSET(15402, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, _gloffset_MultiTexCoord4fARB),
+ NAME_FUNC_OFFSET(15420, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, _gloffset_MultiTexCoord4fvARB),
+ NAME_FUNC_OFFSET(15439, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, _gloffset_MultiTexCoord4iARB),
+ NAME_FUNC_OFFSET(15457, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, _gloffset_MultiTexCoord4ivARB),
+ NAME_FUNC_OFFSET(15476, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, _gloffset_MultiTexCoord4sARB),
+ NAME_FUNC_OFFSET(15494, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, _gloffset_MultiTexCoord4svARB),
+ NAME_FUNC_OFFSET(15513, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, _gloffset_LoadTransposeMatrixdARB),
+ NAME_FUNC_OFFSET(15536, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, _gloffset_LoadTransposeMatrixfARB),
+ NAME_FUNC_OFFSET(15559, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, _gloffset_MultTransposeMatrixdARB),
+ NAME_FUNC_OFFSET(15582, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, _gloffset_MultTransposeMatrixfARB),
+ NAME_FUNC_OFFSET(15605, glSampleCoverageARB, glSampleCoverageARB, NULL, _gloffset_SampleCoverageARB),
+ NAME_FUNC_OFFSET(15622, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, _gloffset_CompressedTexImage1DARB),
+ NAME_FUNC_OFFSET(15645, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, _gloffset_CompressedTexImage2DARB),
+ NAME_FUNC_OFFSET(15668, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, _gloffset_CompressedTexImage3DARB),
+ NAME_FUNC_OFFSET(15691, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, _gloffset_CompressedTexSubImage1DARB),
+ NAME_FUNC_OFFSET(15717, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, _gloffset_CompressedTexSubImage2DARB),
+ NAME_FUNC_OFFSET(15743, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, _gloffset_CompressedTexSubImage3DARB),
+ NAME_FUNC_OFFSET(15769, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, _gloffset_GetCompressedTexImageARB),
+ NAME_FUNC_OFFSET(15793, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, _gloffset_DisableVertexAttribArrayARB),
+ NAME_FUNC_OFFSET(15820, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, _gloffset_EnableVertexAttribArrayARB),
+ NAME_FUNC_OFFSET(15846, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, _gloffset_GetVertexAttribdvARB),
+ NAME_FUNC_OFFSET(15866, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, _gloffset_GetVertexAttribfvARB),
+ NAME_FUNC_OFFSET(15886, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, _gloffset_GetVertexAttribivARB),
+ NAME_FUNC_OFFSET(15906, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, _gloffset_VertexAttrib1dARB),
+ NAME_FUNC_OFFSET(15923, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, _gloffset_VertexAttrib1dvARB),
+ NAME_FUNC_OFFSET(15941, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, _gloffset_VertexAttrib1fARB),
+ NAME_FUNC_OFFSET(15958, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, _gloffset_VertexAttrib1fvARB),
+ NAME_FUNC_OFFSET(15976, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, _gloffset_VertexAttrib1sARB),
+ NAME_FUNC_OFFSET(15993, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, _gloffset_VertexAttrib1svARB),
+ NAME_FUNC_OFFSET(16011, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, _gloffset_VertexAttrib2dARB),
+ NAME_FUNC_OFFSET(16028, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, _gloffset_VertexAttrib2dvARB),
+ NAME_FUNC_OFFSET(16046, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, _gloffset_VertexAttrib2fARB),
+ NAME_FUNC_OFFSET(16063, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, _gloffset_VertexAttrib2fvARB),
+ NAME_FUNC_OFFSET(16081, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, _gloffset_VertexAttrib2sARB),
+ NAME_FUNC_OFFSET(16098, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, _gloffset_VertexAttrib2svARB),
+ NAME_FUNC_OFFSET(16116, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, _gloffset_VertexAttrib3dARB),
+ NAME_FUNC_OFFSET(16133, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, _gloffset_VertexAttrib3dvARB),
+ NAME_FUNC_OFFSET(16151, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, _gloffset_VertexAttrib3fARB),
+ NAME_FUNC_OFFSET(16168, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, _gloffset_VertexAttrib3fvARB),
+ NAME_FUNC_OFFSET(16186, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, _gloffset_VertexAttrib3sARB),
+ NAME_FUNC_OFFSET(16203, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, _gloffset_VertexAttrib3svARB),
+ NAME_FUNC_OFFSET(16221, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, _gloffset_VertexAttrib4NbvARB),
+ NAME_FUNC_OFFSET(16240, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, _gloffset_VertexAttrib4NivARB),
+ NAME_FUNC_OFFSET(16259, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, _gloffset_VertexAttrib4NsvARB),
+ NAME_FUNC_OFFSET(16278, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, _gloffset_VertexAttrib4NubARB),
+ NAME_FUNC_OFFSET(16297, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB),
+ NAME_FUNC_OFFSET(16317, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB),
+ NAME_FUNC_OFFSET(16337, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB),
+ NAME_FUNC_OFFSET(16357, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB),
+ NAME_FUNC_OFFSET(16374, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB),
+ NAME_FUNC_OFFSET(16392, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB),
+ NAME_FUNC_OFFSET(16409, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB),
+ NAME_FUNC_OFFSET(16427, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB),
+ NAME_FUNC_OFFSET(16444, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB),
+ NAME_FUNC_OFFSET(16462, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB),
+ NAME_FUNC_OFFSET(16484, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB),
+ NAME_FUNC_OFFSET(16497, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB),
+ NAME_FUNC_OFFSET(16510, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB),
+ NAME_FUNC_OFFSET(16526, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB),
+ NAME_FUNC_OFFSET(16542, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB),
+ NAME_FUNC_OFFSET(16555, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB),
+ NAME_FUNC_OFFSET(16578, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB),
+ NAME_FUNC_OFFSET(16598, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB),
+ NAME_FUNC_OFFSET(16617, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB),
+ NAME_FUNC_OFFSET(16628, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB),
+ NAME_FUNC_OFFSET(16640, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB),
+ NAME_FUNC_OFFSET(16654, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB),
+ NAME_FUNC_OFFSET(16667, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB),
+ NAME_FUNC_OFFSET(16683, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB),
+ NAME_FUNC_OFFSET(16694, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB),
+ NAME_FUNC_OFFSET(16707, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB),
+ NAME_FUNC_OFFSET(16726, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB),
+ NAME_FUNC_OFFSET(16746, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB),
+ NAME_FUNC_OFFSET(16759, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB),
+ NAME_FUNC_OFFSET(16769, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB),
+ NAME_FUNC_OFFSET(16785, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB),
+ NAME_FUNC_OFFSET(16804, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB),
+ NAME_FUNC_OFFSET(16822, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB),
+ NAME_FUNC_OFFSET(16843, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB),
+ NAME_FUNC_OFFSET(16858, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB),
+ NAME_FUNC_OFFSET(16873, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB),
+ NAME_FUNC_OFFSET(16887, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB),
+ NAME_FUNC_OFFSET(16902, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB),
+ NAME_FUNC_OFFSET(16914, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB),
+ NAME_FUNC_OFFSET(16927, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB),
+ NAME_FUNC_OFFSET(16939, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB),
+ NAME_FUNC_OFFSET(16952, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB),
+ NAME_FUNC_OFFSET(16964, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB),
+ NAME_FUNC_OFFSET(16977, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB),
+ NAME_FUNC_OFFSET(16989, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB),
+ NAME_FUNC_OFFSET(17002, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB),
+ NAME_FUNC_OFFSET(17014, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB),
+ NAME_FUNC_OFFSET(17027, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB),
+ NAME_FUNC_OFFSET(17039, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB),
+ NAME_FUNC_OFFSET(17052, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB),
+ NAME_FUNC_OFFSET(17064, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB),
+ NAME_FUNC_OFFSET(17077, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB),
+ NAME_FUNC_OFFSET(17089, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB),
+ NAME_FUNC_OFFSET(17102, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB),
+ NAME_FUNC_OFFSET(17121, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB),
+ NAME_FUNC_OFFSET(17140, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB),
+ NAME_FUNC_OFFSET(17159, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB),
+ NAME_FUNC_OFFSET(17172, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB),
+ NAME_FUNC_OFFSET(17190, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB),
+ NAME_FUNC_OFFSET(17211, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB),
+ NAME_FUNC_OFFSET(17229, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB),
+ NAME_FUNC_OFFSET(17249, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB),
+ NAME_FUNC_OFFSET(17263, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB),
+ NAME_FUNC_OFFSET(17280, gl_dispatch_stub_568, gl_dispatch_stub_568, NULL, _gloffset_SampleMaskSGIS),
+ NAME_FUNC_OFFSET(17296, gl_dispatch_stub_569, gl_dispatch_stub_569, NULL, _gloffset_SamplePatternSGIS),
+ NAME_FUNC_OFFSET(17315, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
+ NAME_FUNC_OFFSET(17333, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
+ NAME_FUNC_OFFSET(17354, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
+ NAME_FUNC_OFFSET(17376, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
+ NAME_FUNC_OFFSET(17395, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
+ NAME_FUNC_OFFSET(17417, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
+ NAME_FUNC_OFFSET(17440, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT),
+ NAME_FUNC_OFFSET(17459, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT),
+ NAME_FUNC_OFFSET(17479, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT),
+ NAME_FUNC_OFFSET(17498, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT),
+ NAME_FUNC_OFFSET(17518, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT),
+ NAME_FUNC_OFFSET(17537, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT),
+ NAME_FUNC_OFFSET(17557, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT),
+ NAME_FUNC_OFFSET(17576, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT),
+ NAME_FUNC_OFFSET(17596, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT),
+ NAME_FUNC_OFFSET(17615, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT),
+ NAME_FUNC_OFFSET(17635, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT),
+ NAME_FUNC_OFFSET(17655, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT),
+ NAME_FUNC_OFFSET(17676, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT),
+ NAME_FUNC_OFFSET(17696, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT),
+ NAME_FUNC_OFFSET(17717, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT),
+ NAME_FUNC_OFFSET(17737, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT),
+ NAME_FUNC_OFFSET(17758, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT),
+ NAME_FUNC_OFFSET(17782, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT),
+ NAME_FUNC_OFFSET(17800, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT),
+ NAME_FUNC_OFFSET(17820, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT),
+ NAME_FUNC_OFFSET(17838, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT),
+ NAME_FUNC_OFFSET(17850, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT),
+ NAME_FUNC_OFFSET(17863, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT),
+ NAME_FUNC_OFFSET(17875, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT),
+ NAME_FUNC_OFFSET(17888, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT),
+ NAME_FUNC_OFFSET(17908, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT),
+ NAME_FUNC_OFFSET(17932, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA),
+ NAME_FUNC_OFFSET(17946, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA),
+ NAME_FUNC_OFFSET(17963, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA),
+ NAME_FUNC_OFFSET(17978, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA),
+ NAME_FUNC_OFFSET(17996, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA),
+ NAME_FUNC_OFFSET(18010, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA),
+ NAME_FUNC_OFFSET(18027, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA),
+ NAME_FUNC_OFFSET(18042, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA),
+ NAME_FUNC_OFFSET(18060, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA),
+ NAME_FUNC_OFFSET(18074, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA),
+ NAME_FUNC_OFFSET(18091, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA),
+ NAME_FUNC_OFFSET(18106, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA),
+ NAME_FUNC_OFFSET(18124, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA),
+ NAME_FUNC_OFFSET(18138, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA),
+ NAME_FUNC_OFFSET(18155, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA),
+ NAME_FUNC_OFFSET(18170, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA),
+ NAME_FUNC_OFFSET(18188, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA),
+ NAME_FUNC_OFFSET(18202, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA),
+ NAME_FUNC_OFFSET(18219, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA),
+ NAME_FUNC_OFFSET(18234, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA),
+ NAME_FUNC_OFFSET(18252, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA),
+ NAME_FUNC_OFFSET(18266, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA),
+ NAME_FUNC_OFFSET(18283, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA),
+ NAME_FUNC_OFFSET(18298, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA),
+ NAME_FUNC_OFFSET(18316, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA),
+ NAME_FUNC_OFFSET(18330, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA),
+ NAME_FUNC_OFFSET(18347, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA),
+ NAME_FUNC_OFFSET(18362, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA),
+ NAME_FUNC_OFFSET(18380, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA),
+ NAME_FUNC_OFFSET(18394, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA),
+ NAME_FUNC_OFFSET(18411, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA),
+ NAME_FUNC_OFFSET(18426, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA),
+ NAME_FUNC_OFFSET(18444, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV),
+ NAME_FUNC_OFFSET(18461, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV),
+ NAME_FUNC_OFFSET(18481, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV),
+ NAME_FUNC_OFFSET(18498, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV),
+ NAME_FUNC_OFFSET(18524, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV),
+ NAME_FUNC_OFFSET(18553, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV),
+ NAME_FUNC_OFFSET(18568, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV),
+ NAME_FUNC_OFFSET(18586, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV),
+ NAME_FUNC_OFFSET(18605, gl_dispatch_stub_749, gl_dispatch_stub_749, NULL, _gloffset_BlendEquationSeparateEXT),
+ NAME_FUNC_OFFSET(18629, gl_dispatch_stub_749, gl_dispatch_stub_749, NULL, _gloffset_BlendEquationSeparateEXT),
NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0)
};
diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
index e2cfb8a1f6..4654704afd 100644
--- a/src/mesa/main/attrib.c
+++ b/src/mesa/main/attrib.c
@@ -744,6 +744,18 @@ pop_texture_group(GLcontext *ctx, const struct gl_texture_attrib *texAttrib)
target = GL_TEXTURE_RECTANGLE_NV;
obj = &unit->SavedRect;
break;
+ case 5:
+ if (!ctx->Extensions.MESA_texture_array)
+ continue;
+ target = GL_TEXTURE_1D_ARRAY_EXT;
+ obj = &unit->Saved1DArray;
+ break;
+ case 6:
+ if (!ctx->Extensions.MESA_texture_array)
+ continue;
+ target = GL_TEXTURE_2D_ARRAY_EXT;
+ obj = &unit->Saved2DArray;
+ break;
default:
; /* silence warnings */
}
diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h
index a4de3bd1fa..9e4d1838ad 100644
--- a/src/mesa/main/config.h
+++ b/src/mesa/main/config.h
@@ -108,6 +108,9 @@
/** Maximum rectangular texture size - GL_NV_texture_rectangle */
#define MAX_TEXTURE_RECT_SIZE 2048
+/** Maximum number of layers in a 1D or 2D array texture - GL_MESA_texture_array */
+#define MAX_ARRAY_TEXTURE_LAYERS 64
+
/** Number of texture units - GL_ARB_multitexture
* This needs to be the larger of MAX_TEXTURE_COORD_UNITS and
* MAX_TEXTURE_IMAGE_UNITS seen below, since MAX_TEXTURE_UNITS is used
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index ace68499d7..ccaf6f6428 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -467,12 +467,22 @@ alloc_shared_state( GLcontext *ctx )
if (!ss->DefaultRect)
goto cleanup;
+ ss->Default1DArray = (*ctx->Driver.NewTextureObject)(ctx, 0, GL_TEXTURE_1D_ARRAY_EXT);
+ if (!ss->Default1DArray)
+ goto cleanup;
+
+ ss->Default2DArray = (*ctx->Driver.NewTextureObject)(ctx, 0, GL_TEXTURE_2D_ARRAY_EXT);
+ if (!ss->Default2DArray)
+ goto cleanup;
+
/* Effectively bind the default textures to all texture units */
ss->Default1D->RefCount += MAX_TEXTURE_IMAGE_UNITS;
ss->Default2D->RefCount += MAX_TEXTURE_IMAGE_UNITS;
ss->Default3D->RefCount += MAX_TEXTURE_IMAGE_UNITS;
ss->DefaultCubeMap->RefCount += MAX_TEXTURE_IMAGE_UNITS;
ss->DefaultRect->RefCount += MAX_TEXTURE_IMAGE_UNITS;
+ ss->Default1DArray->RefCount += MAX_TEXTURE_IMAGE_UNITS;
+ ss->Default2DArray->RefCount += MAX_TEXTURE_IMAGE_UNITS;
_glthread_INIT_MUTEX(ss->TexMutex);
ss->TextureStateStamp = 0;
@@ -772,6 +782,7 @@ _mesa_init_constants(GLcontext *ctx)
ctx->Const.Max3DTextureLevels = MAX_3D_TEXTURE_LEVELS;
ctx->Const.MaxCubeTextureLevels = MAX_CUBE_TEXTURE_LEVELS;
ctx->Const.MaxTextureRectSize = MAX_TEXTURE_RECT_SIZE;
+ ctx->Const.MaxArrayTextureLayers = MAX_ARRAY_TEXTURE_LAYERS;
ctx->Const.MaxTextureCoordUnits = MAX_TEXTURE_COORD_UNITS;
ctx->Const.MaxTextureImageUnits = MAX_TEXTURE_IMAGE_UNITS;
ctx->Const.MaxTextureUnits = MIN2(ctx->Const.MaxTextureCoordUnits,
diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
index 0e14345e73..52dd63f2ce 100644
--- a/src/mesa/main/enable.c
+++ b/src/mesa/main/enable.c
@@ -922,6 +922,22 @@ _mesa_set_enable(GLcontext *ctx, GLenum cap, GLboolean state)
ctx->ATIFragmentShader.Enabled = state;
break;
#endif
+
+ /* GL_MESA_texture_array */
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ CHECK_EXTENSION(MESA_texture_array, cap);
+ if (!enable_texture(ctx, state, TEXTURE_1D_ARRAY_BIT)) {
+ return;
+ }
+ break;
+
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ CHECK_EXTENSION(MESA_texture_array, cap);
+ if (!enable_texture(ctx, state, TEXTURE_2D_ARRAY_BIT)) {
+ return;
+ }
+ break;
+
default:
_mesa_error(ctx, GL_INVALID_ENUM,
"%s(0x%x)", state ? "glEnable" : "glDisable", cap);
diff --git a/src/mesa/main/enums.c b/src/mesa/main/enums.c
index bad33f7f64..d5019ae045 100644
--- a/src/mesa/main/enums.c
+++ b/src/mesa/main/enums.c
@@ -251,6 +251,7 @@ LONGSTRING static const char enum_string_table[] =
"GL_COMBINE_RGB\0"
"GL_COMBINE_RGB_ARB\0"
"GL_COMBINE_RGB_EXT\0"
+ "GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT\0"
"GL_COMPARE_R_TO_TEXTURE\0"
"GL_COMPARE_R_TO_TEXTURE_ARB\0"
"GL_COMPILE\0"
@@ -527,6 +528,7 @@ LONGSTRING static const char enum_string_table[] =
"GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT\0"
"GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT\0"
"GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT\0"
+ "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT\0"
"GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT\0"
"GL_FRAMEBUFFER_BINDING_EXT\0"
"GL_FRAMEBUFFER_COMPLETE_EXT\0"
@@ -828,6 +830,7 @@ LONGSTRING static const char enum_string_table[] =
"GL_MATRIX_PALETTE_ARB\0"
"GL_MAX\0"
"GL_MAX_3D_TEXTURE_SIZE\0"
+ "GL_MAX_ARRAY_TEXTURE_LAYERS_EXT\0"
"GL_MAX_ATTRIB_STACK_DEPTH\0"
"GL_MAX_CLIENT_ATTRIB_STACK_DEPTH\0"
"GL_MAX_CLIPMAP_DEPTH_SGIX\0"
@@ -1230,8 +1233,10 @@ LONGSTRING static const char enum_string_table[] =
"GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE\0"
"GL_PROXY_POST_CONVOLUTION_COLOR_TABLE\0"
"GL_PROXY_TEXTURE_1D\0"
+ "GL_PROXY_TEXTURE_1D_ARRAY_EXT\0"
"GL_PROXY_TEXTURE_1D_EXT\0"
"GL_PROXY_TEXTURE_2D\0"
+ "GL_PROXY_TEXTURE_2D_ARRAY_EXT\0"
"GL_PROXY_TEXTURE_2D_EXT\0"
"GL_PROXY_TEXTURE_3D\0"
"GL_PROXY_TEXTURE_COLOR_TABLE_SGI\0"
@@ -1537,13 +1542,17 @@ LONGSTRING static const char enum_string_table[] =
"GL_TEXTURE9\0"
"GL_TEXTURE9_ARB\0"
"GL_TEXTURE_1D\0"
+ "GL_TEXTURE_1D_ARRAY_EXT\0"
"GL_TEXTURE_2D\0"
+ "GL_TEXTURE_2D_ARRAY_EXT\0"
"GL_TEXTURE_3D\0"
"GL_TEXTURE_ALPHA_SIZE\0"
"GL_TEXTURE_ALPHA_SIZE_EXT\0"
"GL_TEXTURE_BASE_LEVEL\0"
"GL_TEXTURE_BINDING_1D\0"
+ "GL_TEXTURE_BINDING_1D_ARRAY_EXT\0"
"GL_TEXTURE_BINDING_2D\0"
+ "GL_TEXTURE_BINDING_2D_ARRAY_EXT\0"
"GL_TEXTURE_BINDING_3D\0"
"GL_TEXTURE_BINDING_CUBE_MAP\0"
"GL_TEXTURE_BINDING_CUBE_MAP_ARB\0"
@@ -1774,7 +1783,7 @@ LONGSTRING static const char enum_string_table[] =
"GL_ZOOM_Y\0"
;
-static const enum_elt all_enums[1737] =
+static const enum_elt all_enums[1746] =
{
{ 0, 0x00000600 }, /* GL_2D */
{ 6, 0x00001407 }, /* GL_2_BYTES */
@@ -1992,2130 +2001,2139 @@ static const enum_elt all_enums[1737] =
{ 4100, 0x00008571 }, /* GL_COMBINE_RGB */
{ 4115, 0x00008571 }, /* GL_COMBINE_RGB_ARB */
{ 4134, 0x00008571 }, /* GL_COMBINE_RGB_EXT */
- { 4153, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */
- { 4177, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */
- { 4205, 0x00001300 }, /* GL_COMPILE */
- { 4216, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */
- { 4239, 0x00008B81 }, /* GL_COMPILE_STATUS */
- { 4257, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */
- { 4277, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */
- { 4301, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */
- { 4325, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */
- { 4353, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */
- { 4377, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */
- { 4407, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */
- { 4441, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */
- { 4469, 0x000084ED }, /* GL_COMPRESSED_RGB */
- { 4487, 0x000084EE }, /* GL_COMPRESSED_RGBA */
- { 4506, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */
- { 4529, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
- { 4558, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
- { 4591, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
- { 4624, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
- { 4657, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */
- { 4679, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */
- { 4707, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
- { 4739, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */
- { 4769, 0x00008576 }, /* GL_CONSTANT */
- { 4781, 0x00008003 }, /* GL_CONSTANT_ALPHA */
- { 4799, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */
- { 4821, 0x00008576 }, /* GL_CONSTANT_ARB */
- { 4837, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */
- { 4861, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */
- { 4883, 0x00008001 }, /* GL_CONSTANT_COLOR */
- { 4901, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */
- { 4923, 0x00008576 }, /* GL_CONSTANT_EXT */
- { 4939, 0x00008010 }, /* GL_CONVOLUTION_1D */
- { 4957, 0x00008011 }, /* GL_CONVOLUTION_2D */
- { 4975, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */
- { 5003, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */
- { 5034, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */
- { 5061, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */
- { 5092, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */
- { 5119, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */
- { 5150, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */
- { 5178, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */
- { 5210, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */
- { 5232, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */
- { 5258, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */
- { 5280, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */
- { 5306, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */
- { 5327, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */
- { 5352, 0x00008862 }, /* GL_COORD_REPLACE */
- { 5369, 0x00008862 }, /* GL_COORD_REPLACE_ARB */
- { 5390, 0x00008862 }, /* GL_COORD_REPLACE_NV */
- { 5410, 0x00001503 }, /* GL_COPY */
- { 5418, 0x0000150C }, /* GL_COPY_INVERTED */
- { 5435, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */
- { 5455, 0x00000B44 }, /* GL_CULL_FACE */
- { 5468, 0x00000B45 }, /* GL_CULL_FACE_MODE */
- { 5486, 0x000081AA }, /* GL_CULL_VERTEX_EXT */
- { 5505, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
- { 5537, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
- { 5572, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */
- { 5593, 0x00000001 }, /* GL_CURRENT_BIT */
- { 5608, 0x00000B00 }, /* GL_CURRENT_COLOR */
- { 5625, 0x00008453 }, /* GL_CURRENT_FOG_COORD */
- { 5646, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */
- { 5672, 0x00000B01 }, /* GL_CURRENT_INDEX */
- { 5689, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */
- { 5711, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */
- { 5739, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */
- { 5760, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
- { 5794, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */
- { 5827, 0x00000B02 }, /* GL_CURRENT_NORMAL */
- { 5845, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */
- { 5875, 0x00008B8D }, /* GL_CURRENT_PROGRAM */
- { 5894, 0x00008865 }, /* GL_CURRENT_QUERY */
- { 5911, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */
- { 5932, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */
- { 5956, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */
- { 5983, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */
- { 6007, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */
- { 6034, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */
- { 6067, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
- { 6100, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */
- { 6127, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */
- { 6153, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */
- { 6178, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */
- { 6207, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */
- { 6229, 0x00000900 }, /* GL_CW */
- { 6235, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */
- { 6256, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */
- { 6277, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */
- { 6297, 0x00002101 }, /* GL_DECAL */
- { 6306, 0x00001E03 }, /* GL_DECR */
- { 6314, 0x00008508 }, /* GL_DECR_WRAP */
- { 6327, 0x00008508 }, /* GL_DECR_WRAP_EXT */
- { 6344, 0x00008B80 }, /* GL_DELETE_STATUS */
- { 6361, 0x00001801 }, /* GL_DEPTH */
- { 6370, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */
- { 6394, 0x00000D1F }, /* GL_DEPTH_BIAS */
- { 6408, 0x00000D56 }, /* GL_DEPTH_BITS */
- { 6422, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */
- { 6442, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */
- { 6467, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */
- { 6487, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */
- { 6505, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */
- { 6526, 0x00001902 }, /* GL_DEPTH_COMPONENT */
- { 6545, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */
- { 6566, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */
- { 6591, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */
- { 6617, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */
- { 6638, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */
- { 6663, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */
- { 6689, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */
- { 6710, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */
- { 6735, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */
- { 6761, 0x00000B74 }, /* GL_DEPTH_FUNC */
- { 6775, 0x00000B70 }, /* GL_DEPTH_RANGE */
- { 6790, 0x00000D1E }, /* GL_DEPTH_SCALE */
- { 6805, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */
- { 6825, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
- { 6853, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
- { 6881, 0x00000B71 }, /* GL_DEPTH_TEST */
- { 6895, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */
- { 6917, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */
- { 6943, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */
- { 6962, 0x00001201 }, /* GL_DIFFUSE */
- { 6973, 0x00000BD0 }, /* GL_DITHER */
- { 6983, 0x00000A02 }, /* GL_DOMAIN */
- { 6993, 0x00001100 }, /* GL_DONT_CARE */
- { 7006, 0x000086AE }, /* GL_DOT3_RGB */
- { 7018, 0x000086AF }, /* GL_DOT3_RGBA */
- { 7031, 0x000086AF }, /* GL_DOT3_RGBA_ARB */
- { 7048, 0x00008741 }, /* GL_DOT3_RGBA_EXT */
- { 7065, 0x000086AE }, /* GL_DOT3_RGB_ARB */
- { 7081, 0x00008740 }, /* GL_DOT3_RGB_EXT */
- { 7097, 0x0000140A }, /* GL_DOUBLE */
- { 7107, 0x00000C32 }, /* GL_DOUBLEBUFFER */
- { 7123, 0x00000C01 }, /* GL_DRAW_BUFFER */
- { 7138, 0x00008825 }, /* GL_DRAW_BUFFER0 */
- { 7154, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */
- { 7174, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */
- { 7194, 0x00008826 }, /* GL_DRAW_BUFFER1 */
- { 7210, 0x0000882F }, /* GL_DRAW_BUFFER10 */
- { 7227, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */
- { 7248, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */
- { 7269, 0x00008830 }, /* GL_DRAW_BUFFER11 */
- { 7286, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */
- { 7307, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */
- { 7328, 0x00008831 }, /* GL_DRAW_BUFFER12 */
- { 7345, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */
- { 7366, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */
- { 7387, 0x00008832 }, /* GL_DRAW_BUFFER13 */
- { 7404, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */
- { 7425, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */
- { 7446, 0x00008833 }, /* GL_DRAW_BUFFER14 */
- { 7463, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */
- { 7484, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */
- { 7505, 0x00008834 }, /* GL_DRAW_BUFFER15 */
- { 7522, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */
- { 7543, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */
- { 7564, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */
- { 7584, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */
- { 7604, 0x00008827 }, /* GL_DRAW_BUFFER2 */
- { 7620, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */
- { 7640, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */
- { 7660, 0x00008828 }, /* GL_DRAW_BUFFER3 */
- { 7676, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */
- { 7696, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */
- { 7716, 0x00008829 }, /* GL_DRAW_BUFFER4 */
- { 7732, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */
- { 7752, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */
- { 7772, 0x0000882A }, /* GL_DRAW_BUFFER5 */
- { 7788, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */
- { 7808, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */
- { 7828, 0x0000882B }, /* GL_DRAW_BUFFER6 */
- { 7844, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */
- { 7864, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */
- { 7884, 0x0000882C }, /* GL_DRAW_BUFFER7 */
- { 7900, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */
- { 7920, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */
- { 7940, 0x0000882D }, /* GL_DRAW_BUFFER8 */
- { 7956, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */
- { 7976, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */
- { 7996, 0x0000882E }, /* GL_DRAW_BUFFER9 */
- { 8012, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */
- { 8032, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */
- { 8052, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
- { 8084, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */
- { 8108, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */
- { 8128, 0x00000304 }, /* GL_DST_ALPHA */
- { 8141, 0x00000306 }, /* GL_DST_COLOR */
- { 8154, 0x000088EA }, /* GL_DYNAMIC_COPY */
- { 8170, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */
- { 8190, 0x000088E8 }, /* GL_DYNAMIC_DRAW */
- { 8206, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */
- { 8226, 0x000088E9 }, /* GL_DYNAMIC_READ */
- { 8242, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */
- { 8262, 0x00000B43 }, /* GL_EDGE_FLAG */
- { 8275, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */
- { 8294, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
- { 8328, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */
- { 8366, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */
- { 8393, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */
- { 8419, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */
- { 8443, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER_ARB */
- { 8471, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
- { 8503, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */
- { 8539, 0x00001600 }, /* GL_EMISSION */
- { 8551, 0x00002000 }, /* GL_ENABLE_BIT */
- { 8565, 0x00000202 }, /* GL_EQUAL */
- { 8574, 0x00001509 }, /* GL_EQUIV */
- { 8583, 0x00010000 }, /* GL_EVAL_BIT */
- { 8595, 0x00000800 }, /* GL_EXP */
- { 8602, 0x00000801 }, /* GL_EXP2 */
- { 8610, 0x00001F03 }, /* GL_EXTENSIONS */
- { 8624, 0x00002400 }, /* GL_EYE_LINEAR */
- { 8638, 0x00002502 }, /* GL_EYE_PLANE */
- { 8651, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */
- { 8676, 0x0000855B }, /* GL_EYE_RADIAL_NV */
- { 8693, 0x00000000 }, /* GL_FALSE */
- { 8702, 0x00001101 }, /* GL_FASTEST */
- { 8713, 0x00001C01 }, /* GL_FEEDBACK */
- { 8725, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */
- { 8752, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */
- { 8776, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */
- { 8800, 0x00001B02 }, /* GL_FILL */
- { 8808, 0x00001D00 }, /* GL_FLAT */
- { 8816, 0x00001406 }, /* GL_FLOAT */
- { 8825, 0x00008B5A }, /* GL_FLOAT_MAT2 */
- { 8839, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */
- { 8857, 0x00008B5B }, /* GL_FLOAT_MAT3 */
- { 8871, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */
- { 8889, 0x00008B5C }, /* GL_FLOAT_MAT4 */
- { 8903, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */
- { 8921, 0x00008B50 }, /* GL_FLOAT_VEC2 */
- { 8935, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */
- { 8953, 0x00008B51 }, /* GL_FLOAT_VEC3 */
- { 8967, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */
- { 8985, 0x00008B52 }, /* GL_FLOAT_VEC4 */
- { 8999, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */
- { 9017, 0x00000B60 }, /* GL_FOG */
- { 9024, 0x00000080 }, /* GL_FOG_BIT */
- { 9035, 0x00000B66 }, /* GL_FOG_COLOR */
- { 9048, 0x00008451 }, /* GL_FOG_COORD */
- { 9061, 0x00008451 }, /* GL_FOG_COORDINATE */
- { 9079, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */
- { 9103, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
- { 9142, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */
- { 9185, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */
- { 9217, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
- { 9248, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */
- { 9277, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */
- { 9302, 0x00008457 }, /* GL_FOG_COORD_ARRAY */
- { 9321, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */
- { 9355, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */
- { 9382, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */
- { 9408, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */
- { 9432, 0x00008450 }, /* GL_FOG_COORD_SRC */
- { 9449, 0x00000B62 }, /* GL_FOG_DENSITY */
- { 9464, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */
- { 9488, 0x00000B64 }, /* GL_FOG_END */
- { 9499, 0x00000C54 }, /* GL_FOG_HINT */
- { 9511, 0x00000B61 }, /* GL_FOG_INDEX */
- { 9524, 0x00000B65 }, /* GL_FOG_MODE */
- { 9536, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */
- { 9555, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */
- { 9580, 0x00000B63 }, /* GL_FOG_START */
- { 9593, 0x00008452 }, /* GL_FRAGMENT_DEPTH */
- { 9611, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */
- { 9635, 0x00008B30 }, /* GL_FRAGMENT_SHADER */
- { 9654, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */
- { 9677, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
- { 9712, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */
- { 9754, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */
- { 9796, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */
- { 9845, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */
- { 9897, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */
- { 9941, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */
- { 9968, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */
- { 9996, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */
- { 10015, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */
- { 10056, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
- { 10097, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
- { 10139, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
- { 10190, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
- { 10228, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */
- { 10277, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
- { 10319, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
- { 10351, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */
- { 10382, 0x00000404 }, /* GL_FRONT */
- { 10391, 0x00000408 }, /* GL_FRONT_AND_BACK */
- { 10409, 0x00000B46 }, /* GL_FRONT_FACE */
- { 10423, 0x00000400 }, /* GL_FRONT_LEFT */
- { 10437, 0x00000401 }, /* GL_FRONT_RIGHT */
- { 10452, 0x00008006 }, /* GL_FUNC_ADD */
- { 10464, 0x00008006 }, /* GL_FUNC_ADD_EXT */
- { 10480, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */
- { 10505, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */
- { 10534, 0x0000800A }, /* GL_FUNC_SUBTRACT */
- { 10551, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */
- { 10572, 0x00008191 }, /* GL_GENERATE_MIPMAP */
- { 10591, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */
- { 10615, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */
- { 10644, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */
- { 10668, 0x00000206 }, /* GL_GEQUAL */
- { 10678, 0x00008009 }, /* GL_GL_BLEND_EQUATION_RGB */
- { 10703, 0x00008C4A }, /* GL_GL_COMPRESSED_SLUMINANCE */
- { 10731, 0x00008C4B }, /* GL_GL_COMPRESSED_SLUMINANCE_ALPHA */
- { 10765, 0x00008C48 }, /* GL_GL_COMPRESSED_SRGB */
- { 10787, 0x00008C49 }, /* GL_GL_COMPRESSED_SRGB_ALPHA */
- { 10815, 0x0000845F }, /* GL_GL_CURRENT_RASTER_SECONDARY_COLOR */
- { 10852, 0x00008B65 }, /* GL_GL_FLOAT_MAT2x3 */
- { 10871, 0x00008B66 }, /* GL_GL_FLOAT_MAT2x4 */
- { 10890, 0x00008B67 }, /* GL_GL_FLOAT_MAT3x2 */
- { 10909, 0x00008B68 }, /* GL_GL_FLOAT_MAT3x4 */
- { 10928, 0x00008B69 }, /* GL_GL_FLOAT_MAT4x2 */
- { 10947, 0x00008B6A }, /* GL_GL_FLOAT_MAT4x3 */
- { 10966, 0x000088EB }, /* GL_GL_PIXEL_PACK_BUFFER */
- { 10990, 0x000088ED }, /* GL_GL_PIXEL_PACK_BUFFER_BINDING */
- { 11022, 0x000088EC }, /* GL_GL_PIXEL_UNPACK_BUFFER */
- { 11048, 0x000088EF }, /* GL_GL_PIXEL_UNPACK_BUFFER_BINDING */
- { 11082, 0x00008C46 }, /* GL_GL_SLUMINANCE */
- { 11099, 0x00008C47 }, /* GL_GL_SLUMINANCE8 */
- { 11117, 0x00008C45 }, /* GL_GL_SLUMINANCE8_ALPHA8 */
- { 11142, 0x00008C44 }, /* GL_GL_SLUMINANCE_ALPHA */
- { 11165, 0x00008C40 }, /* GL_GL_SRGB */
- { 11176, 0x00008C41 }, /* GL_GL_SRGB8 */
- { 11188, 0x00008C43 }, /* GL_GL_SRGB8_ALPHA8 */
- { 11207, 0x00008C42 }, /* GL_GL_SRGB_ALPHA */
- { 11224, 0x00000204 }, /* GL_GREATER */
- { 11235, 0x00001904 }, /* GL_GREEN */
- { 11244, 0x00000D19 }, /* GL_GREEN_BIAS */
- { 11258, 0x00000D53 }, /* GL_GREEN_BITS */
- { 11272, 0x00000D18 }, /* GL_GREEN_SCALE */
- { 11287, 0x00008000 }, /* GL_HINT_BIT */
- { 11299, 0x00008024 }, /* GL_HISTOGRAM */
- { 11312, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */
- { 11336, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */
- { 11364, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */
- { 11387, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */
- { 11414, 0x00008024 }, /* GL_HISTOGRAM_EXT */
- { 11431, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */
- { 11451, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */
- { 11475, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */
- { 11499, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */
- { 11527, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */
- { 11555, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */
- { 11587, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */
- { 11609, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */
- { 11635, 0x0000802D }, /* GL_HISTOGRAM_SINK */
- { 11653, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */
- { 11675, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */
- { 11694, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */
- { 11717, 0x0000862A }, /* GL_IDENTITY_NV */
- { 11732, 0x00008150 }, /* GL_IGNORE_BORDER_HP */
- { 11752, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
- { 11792, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
- { 11830, 0x00001E02 }, /* GL_INCR */
- { 11838, 0x00008507 }, /* GL_INCR_WRAP */
- { 11851, 0x00008507 }, /* GL_INCR_WRAP_EXT */
- { 11868, 0x00008077 }, /* GL_INDEX_ARRAY */
- { 11883, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */
- { 11913, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */
- { 11947, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */
- { 11970, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */
- { 11992, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */
- { 12012, 0x00000D51 }, /* GL_INDEX_BITS */
- { 12026, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */
- { 12047, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */
- { 12065, 0x00000C30 }, /* GL_INDEX_MODE */
- { 12079, 0x00000D13 }, /* GL_INDEX_OFFSET */
- { 12095, 0x00000D12 }, /* GL_INDEX_SHIFT */
- { 12110, 0x00000C21 }, /* GL_INDEX_WRITEMASK */
- { 12129, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */
- { 12148, 0x00001404 }, /* GL_INT */
- { 12155, 0x00008049 }, /* GL_INTENSITY */
- { 12168, 0x0000804C }, /* GL_INTENSITY12 */
- { 12183, 0x0000804C }, /* GL_INTENSITY12_EXT */
- { 12202, 0x0000804D }, /* GL_INTENSITY16 */
- { 12217, 0x0000804D }, /* GL_INTENSITY16_EXT */
- { 12236, 0x0000804A }, /* GL_INTENSITY4 */
- { 12250, 0x0000804A }, /* GL_INTENSITY4_EXT */
- { 12268, 0x0000804B }, /* GL_INTENSITY8 */
- { 12282, 0x0000804B }, /* GL_INTENSITY8_EXT */
- { 12300, 0x00008049 }, /* GL_INTENSITY_EXT */
- { 12317, 0x00008575 }, /* GL_INTERPOLATE */
- { 12332, 0x00008575 }, /* GL_INTERPOLATE_ARB */
- { 12351, 0x00008575 }, /* GL_INTERPOLATE_EXT */
- { 12370, 0x00008B53 }, /* GL_INT_VEC2 */
- { 12382, 0x00008B53 }, /* GL_INT_VEC2_ARB */
- { 12398, 0x00008B54 }, /* GL_INT_VEC3 */
- { 12410, 0x00008B54 }, /* GL_INT_VEC3_ARB */
- { 12426, 0x00008B55 }, /* GL_INT_VEC4 */
- { 12438, 0x00008B55 }, /* GL_INT_VEC4_ARB */
- { 12454, 0x00000500 }, /* GL_INVALID_ENUM */
- { 12470, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */
- { 12507, 0x00000502 }, /* GL_INVALID_OPERATION */
- { 12528, 0x00000501 }, /* GL_INVALID_VALUE */
- { 12545, 0x0000862B }, /* GL_INVERSE_NV */
- { 12559, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */
- { 12583, 0x0000150A }, /* GL_INVERT */
- { 12593, 0x00001E00 }, /* GL_KEEP */
- { 12601, 0x00000406 }, /* GL_LEFT */
- { 12609, 0x00000203 }, /* GL_LEQUAL */
- { 12619, 0x00000201 }, /* GL_LESS */
- { 12627, 0x00004000 }, /* GL_LIGHT0 */
- { 12637, 0x00004001 }, /* GL_LIGHT1 */
- { 12647, 0x00004002 }, /* GL_LIGHT2 */
- { 12657, 0x00004003 }, /* GL_LIGHT3 */
- { 12667, 0x00004004 }, /* GL_LIGHT4 */
- { 12677, 0x00004005 }, /* GL_LIGHT5 */
- { 12687, 0x00004006 }, /* GL_LIGHT6 */
- { 12697, 0x00004007 }, /* GL_LIGHT7 */
- { 12707, 0x00000B50 }, /* GL_LIGHTING */
- { 12719, 0x00000040 }, /* GL_LIGHTING_BIT */
- { 12735, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */
- { 12758, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */
- { 12787, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */
- { 12820, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
- { 12848, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */
- { 12872, 0x00001B01 }, /* GL_LINE */
- { 12880, 0x00002601 }, /* GL_LINEAR */
- { 12890, 0x00001208 }, /* GL_LINEAR_ATTENUATION */
- { 12912, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
- { 12942, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
- { 12973, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */
- { 12997, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */
- { 13022, 0x00000001 }, /* GL_LINES */
- { 13031, 0x00000004 }, /* GL_LINE_BIT */
- { 13043, 0x00000002 }, /* GL_LINE_LOOP */
- { 13056, 0x00000707 }, /* GL_LINE_RESET_TOKEN */
- { 13076, 0x00000B20 }, /* GL_LINE_SMOOTH */
- { 13091, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */
- { 13111, 0x00000B24 }, /* GL_LINE_STIPPLE */
- { 13127, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */
- { 13151, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */
- { 13174, 0x00000003 }, /* GL_LINE_STRIP */
- { 13188, 0x00000702 }, /* GL_LINE_TOKEN */
- { 13202, 0x00000B21 }, /* GL_LINE_WIDTH */
- { 13216, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */
- { 13242, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */
- { 13262, 0x00008B82 }, /* GL_LINK_STATUS */
- { 13277, 0x00000B32 }, /* GL_LIST_BASE */
- { 13290, 0x00020000 }, /* GL_LIST_BIT */
- { 13302, 0x00000B33 }, /* GL_LIST_INDEX */
- { 13316, 0x00000B30 }, /* GL_LIST_MODE */
- { 13329, 0x00000101 }, /* GL_LOAD */
- { 13337, 0x00000BF1 }, /* GL_LOGIC_OP */
- { 13349, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */
- { 13366, 0x00008CA1 }, /* GL_LOWER_LEFT */
- { 13380, 0x00001909 }, /* GL_LUMINANCE */
- { 13393, 0x00008041 }, /* GL_LUMINANCE12 */
- { 13408, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */
- { 13431, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */
- { 13458, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */
- { 13480, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */
- { 13506, 0x00008041 }, /* GL_LUMINANCE12_EXT */
- { 13525, 0x00008042 }, /* GL_LUMINANCE16 */
- { 13540, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */
- { 13563, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */
- { 13590, 0x00008042 }, /* GL_LUMINANCE16_EXT */
- { 13609, 0x0000803F }, /* GL_LUMINANCE4 */
- { 13623, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */
- { 13644, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */
- { 13669, 0x0000803F }, /* GL_LUMINANCE4_EXT */
- { 13687, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */
- { 13708, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */
- { 13733, 0x00008040 }, /* GL_LUMINANCE8 */
- { 13747, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */
- { 13768, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */
- { 13793, 0x00008040 }, /* GL_LUMINANCE8_EXT */
- { 13811, 0x0000190A }, /* GL_LUMINANCE_ALPHA */
- { 13830, 0x00000D90 }, /* GL_MAP1_COLOR_4 */
- { 13846, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */
- { 13866, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */
- { 13888, 0x00000D91 }, /* GL_MAP1_INDEX */
- { 13902, 0x00000D92 }, /* GL_MAP1_NORMAL */
- { 13917, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */
- { 13941, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */
- { 13965, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */
- { 13989, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */
- { 14013, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */
- { 14030, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */
- { 14047, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
- { 14075, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
- { 14104, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
- { 14133, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
- { 14162, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
- { 14191, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
- { 14220, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
- { 14249, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
- { 14277, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
- { 14305, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
- { 14333, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
- { 14361, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
- { 14389, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
- { 14417, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
- { 14445, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
- { 14473, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
- { 14501, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */
- { 14517, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */
- { 14537, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */
- { 14559, 0x00000DB1 }, /* GL_MAP2_INDEX */
- { 14573, 0x00000DB2 }, /* GL_MAP2_NORMAL */
- { 14588, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */
- { 14612, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */
- { 14636, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */
- { 14660, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */
- { 14684, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */
- { 14701, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */
- { 14718, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
- { 14746, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
- { 14775, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
- { 14804, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
- { 14833, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
- { 14862, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
- { 14891, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
- { 14920, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
- { 14948, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
- { 14976, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
- { 15004, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
- { 15032, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
- { 15060, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
- { 15088, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */
- { 15116, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
- { 15144, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
- { 15172, 0x00000D10 }, /* GL_MAP_COLOR */
- { 15185, 0x00000D11 }, /* GL_MAP_STENCIL */
- { 15200, 0x000088C0 }, /* GL_MATRIX0_ARB */
- { 15215, 0x00008630 }, /* GL_MATRIX0_NV */
- { 15229, 0x000088CA }, /* GL_MATRIX10_ARB */
- { 15245, 0x000088CB }, /* GL_MATRIX11_ARB */
- { 15261, 0x000088CC }, /* GL_MATRIX12_ARB */
- { 15277, 0x000088CD }, /* GL_MATRIX13_ARB */
- { 15293, 0x000088CE }, /* GL_MATRIX14_ARB */
- { 15309, 0x000088CF }, /* GL_MATRIX15_ARB */
- { 15325, 0x000088D0 }, /* GL_MATRIX16_ARB */
- { 15341, 0x000088D1 }, /* GL_MATRIX17_ARB */
- { 15357, 0x000088D2 }, /* GL_MATRIX18_ARB */
- { 15373, 0x000088D3 }, /* GL_MATRIX19_ARB */
- { 15389, 0x000088C1 }, /* GL_MATRIX1_ARB */
- { 15404, 0x00008631 }, /* GL_MATRIX1_NV */
- { 15418, 0x000088D4 }, /* GL_MATRIX20_ARB */
- { 15434, 0x000088D5 }, /* GL_MATRIX21_ARB */
- { 15450, 0x000088D6 }, /* GL_MATRIX22_ARB */
- { 15466, 0x000088D7 }, /* GL_MATRIX23_ARB */
- { 15482, 0x000088D8 }, /* GL_MATRIX24_ARB */
- { 15498, 0x000088D9 }, /* GL_MATRIX25_ARB */
- { 15514, 0x000088DA }, /* GL_MATRIX26_ARB */
- { 15530, 0x000088DB }, /* GL_MATRIX27_ARB */
- { 15546, 0x000088DC }, /* GL_MATRIX28_ARB */
- { 15562, 0x000088DD }, /* GL_MATRIX29_ARB */
- { 15578, 0x000088C2 }, /* GL_MATRIX2_ARB */
- { 15593, 0x00008632 }, /* GL_MATRIX2_NV */
- { 15607, 0x000088DE }, /* GL_MATRIX30_ARB */
- { 15623, 0x000088DF }, /* GL_MATRIX31_ARB */
- { 15639, 0x000088C3 }, /* GL_MATRIX3_ARB */
- { 15654, 0x00008633 }, /* GL_MATRIX3_NV */
- { 15668, 0x000088C4 }, /* GL_MATRIX4_ARB */
- { 15683, 0x00008634 }, /* GL_MATRIX4_NV */
- { 15697, 0x000088C5 }, /* GL_MATRIX5_ARB */
- { 15712, 0x00008635 }, /* GL_MATRIX5_NV */
- { 15726, 0x000088C6 }, /* GL_MATRIX6_ARB */
- { 15741, 0x00008636 }, /* GL_MATRIX6_NV */
- { 15755, 0x000088C7 }, /* GL_MATRIX7_ARB */
- { 15770, 0x00008637 }, /* GL_MATRIX7_NV */
- { 15784, 0x000088C8 }, /* GL_MATRIX8_ARB */
- { 15799, 0x000088C9 }, /* GL_MATRIX9_ARB */
- { 15814, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */
- { 15840, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
- { 15874, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
- { 15905, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
- { 15938, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
- { 15969, 0x00000BA0 }, /* GL_MATRIX_MODE */
- { 15984, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */
- { 16006, 0x00008008 }, /* GL_MAX */
- { 16013, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */
- { 16036, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */
- { 16062, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
- { 16095, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
- { 16121, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- { 16155, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */
- { 16174, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
- { 16203, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
- { 16235, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */
- { 16271, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
- { 16307, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */
- { 16347, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */
- { 16373, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */
- { 16403, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */
- { 16428, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */
- { 16457, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
- { 16486, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */
- { 16519, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */
- { 16539, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */
- { 16563, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */
- { 16587, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */
- { 16611, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */
- { 16636, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */
- { 16654, 0x00008008 }, /* GL_MAX_EXT */
- { 16665, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
- { 16700, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */
- { 16739, 0x00000D31 }, /* GL_MAX_LIGHTS */
- { 16753, 0x00000B31 }, /* GL_MAX_LIST_NESTING */
- { 16773, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
- { 16811, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */
- { 16840, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */
- { 16864, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */
- { 16892, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */
- { 16915, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
- { 16952, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
- { 16988, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
- { 17015, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
- { 17044, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
- { 17078, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
- { 17114, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
- { 17141, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
- { 17173, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
- { 17209, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
- { 17238, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
- { 17267, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */
- { 17295, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
- { 17333, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- { 17377, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- { 17420, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
- { 17454, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- { 17493, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
- { 17530, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
- { 17568, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- { 17611, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- { 17654, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
- { 17684, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
- { 17715, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
- { 17751, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
- { 17787, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */
- { 17817, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
- { 17851, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */
- { 17884, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
- { 17913, 0x00008504 }, /* GL_MAX_SHININESS_NV */
- { 17933, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */
- { 17957, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */
- { 17979, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */
- { 18005, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */
- { 18032, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */
- { 18063, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */
- { 18087, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
- { 18121, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */
- { 18141, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */
- { 18168, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */
- { 18189, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */
- { 18214, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */
- { 18239, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */
- { 18274, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */
- { 18296, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */
- { 18322, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */
- { 18344, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */
- { 18370, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
- { 18404, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */
- { 18442, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
- { 18475, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */
- { 18512, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */
- { 18536, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */
- { 18557, 0x00008007 }, /* GL_MIN */
- { 18564, 0x0000802E }, /* GL_MINMAX */
- { 18574, 0x0000802E }, /* GL_MINMAX_EXT */
- { 18588, 0x0000802F }, /* GL_MINMAX_FORMAT */
- { 18605, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */
- { 18626, 0x00008030 }, /* GL_MINMAX_SINK */
- { 18641, 0x00008030 }, /* GL_MINMAX_SINK_EXT */
- { 18660, 0x00008007 }, /* GL_MIN_EXT */
- { 18671, 0x00008370 }, /* GL_MIRRORED_REPEAT */
- { 18690, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */
- { 18713, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */
- { 18736, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */
- { 18756, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */
- { 18776, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
- { 18806, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */
- { 18834, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
- { 18862, 0x00001700 }, /* GL_MODELVIEW */
- { 18875, 0x00001700 }, /* GL_MODELVIEW0_ARB */
- { 18893, 0x0000872A }, /* GL_MODELVIEW10_ARB */
- { 18912, 0x0000872B }, /* GL_MODELVIEW11_ARB */
- { 18931, 0x0000872C }, /* GL_MODELVIEW12_ARB */
- { 18950, 0x0000872D }, /* GL_MODELVIEW13_ARB */
- { 18969, 0x0000872E }, /* GL_MODELVIEW14_ARB */
- { 18988, 0x0000872F }, /* GL_MODELVIEW15_ARB */
- { 19007, 0x00008730 }, /* GL_MODELVIEW16_ARB */
- { 19026, 0x00008731 }, /* GL_MODELVIEW17_ARB */
- { 19045, 0x00008732 }, /* GL_MODELVIEW18_ARB */
- { 19064, 0x00008733 }, /* GL_MODELVIEW19_ARB */
- { 19083, 0x0000850A }, /* GL_MODELVIEW1_ARB */
- { 19101, 0x00008734 }, /* GL_MODELVIEW20_ARB */
- { 19120, 0x00008735 }, /* GL_MODELVIEW21_ARB */
- { 19139, 0x00008736 }, /* GL_MODELVIEW22_ARB */
- { 19158, 0x00008737 }, /* GL_MODELVIEW23_ARB */
- { 19177, 0x00008738 }, /* GL_MODELVIEW24_ARB */
- { 19196, 0x00008739 }, /* GL_MODELVIEW25_ARB */
- { 19215, 0x0000873A }, /* GL_MODELVIEW26_ARB */
- { 19234, 0x0000873B }, /* GL_MODELVIEW27_ARB */
- { 19253, 0x0000873C }, /* GL_MODELVIEW28_ARB */
- { 19272, 0x0000873D }, /* GL_MODELVIEW29_ARB */
- { 19291, 0x00008722 }, /* GL_MODELVIEW2_ARB */
- { 19309, 0x0000873E }, /* GL_MODELVIEW30_ARB */
- { 19328, 0x0000873F }, /* GL_MODELVIEW31_ARB */
- { 19347, 0x00008723 }, /* GL_MODELVIEW3_ARB */
- { 19365, 0x00008724 }, /* GL_MODELVIEW4_ARB */
- { 19383, 0x00008725 }, /* GL_MODELVIEW5_ARB */
- { 19401, 0x00008726 }, /* GL_MODELVIEW6_ARB */
- { 19419, 0x00008727 }, /* GL_MODELVIEW7_ARB */
- { 19437, 0x00008728 }, /* GL_MODELVIEW8_ARB */
- { 19455, 0x00008729 }, /* GL_MODELVIEW9_ARB */
- { 19473, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */
- { 19493, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */
- { 19520, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */
- { 19545, 0x00002100 }, /* GL_MODULATE */
- { 19557, 0x00008744 }, /* GL_MODULATE_ADD_ATI */
- { 19577, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */
- { 19604, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */
- { 19629, 0x00000103 }, /* GL_MULT */
- { 19637, 0x0000809D }, /* GL_MULTISAMPLE */
- { 19652, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */
- { 19672, 0x0000809D }, /* GL_MULTISAMPLE_ARB */
- { 19691, 0x20000000 }, /* GL_MULTISAMPLE_BIT */
- { 19710, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */
- { 19734, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */
- { 19757, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */
- { 19787, 0x00002A25 }, /* GL_N3F_V3F */
- { 19798, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */
- { 19818, 0x0000150E }, /* GL_NAND */
- { 19826, 0x00002600 }, /* GL_NEAREST */
- { 19837, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
- { 19868, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
- { 19900, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */
- { 19925, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */
- { 19951, 0x00000200 }, /* GL_NEVER */
- { 19960, 0x00001102 }, /* GL_NICEST */
- { 19970, 0x00000000 }, /* GL_NONE */
- { 19978, 0x00001505 }, /* GL_NOOP */
- { 19986, 0x00001508 }, /* GL_NOR */
- { 19993, 0x00000BA1 }, /* GL_NORMALIZE */
- { 20006, 0x00008075 }, /* GL_NORMAL_ARRAY */
- { 20022, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
- { 20053, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */
- { 20088, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */
- { 20112, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */
- { 20135, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */
- { 20156, 0x00008511 }, /* GL_NORMAL_MAP */
- { 20170, 0x00008511 }, /* GL_NORMAL_MAP_ARB */
- { 20188, 0x00008511 }, /* GL_NORMAL_MAP_NV */
- { 20205, 0x00000205 }, /* GL_NOTEQUAL */
- { 20217, 0x00000000 }, /* GL_NO_ERROR */
- { 20229, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
- { 20263, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */
- { 20301, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */
- { 20333, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */
- { 20375, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */
- { 20405, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */
- { 20445, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */
- { 20476, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */
- { 20505, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */
- { 20533, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */
- { 20563, 0x00002401 }, /* GL_OBJECT_LINEAR */
- { 20580, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */
- { 20606, 0x00002501 }, /* GL_OBJECT_PLANE */
- { 20622, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */
- { 20657, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */
- { 20679, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */
- { 20698, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */
- { 20728, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */
- { 20749, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */
- { 20777, 0x00000001 }, /* GL_ONE */
- { 20784, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */
- { 20812, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */
- { 20844, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */
- { 20872, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */
- { 20904, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */
- { 20927, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */
- { 20950, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */
- { 20973, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */
- { 20996, 0x00008598 }, /* GL_OPERAND0_ALPHA */
- { 21014, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */
- { 21036, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */
- { 21058, 0x00008590 }, /* GL_OPERAND0_RGB */
- { 21074, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */
- { 21094, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */
- { 21114, 0x00008599 }, /* GL_OPERAND1_ALPHA */
- { 21132, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */
- { 21154, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */
- { 21176, 0x00008591 }, /* GL_OPERAND1_RGB */
- { 21192, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */
- { 21212, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */
- { 21232, 0x0000859A }, /* GL_OPERAND2_ALPHA */
- { 21250, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */
- { 21272, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */
- { 21294, 0x00008592 }, /* GL_OPERAND2_RGB */
- { 21310, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */
- { 21330, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */
- { 21350, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */
- { 21371, 0x00008593 }, /* GL_OPERAND3_RGB_NV */
- { 21390, 0x00001507 }, /* GL_OR */
- { 21396, 0x00000A01 }, /* GL_ORDER */
- { 21405, 0x0000150D }, /* GL_OR_INVERTED */
- { 21420, 0x0000150B }, /* GL_OR_REVERSE */
- { 21434, 0x00000505 }, /* GL_OUT_OF_MEMORY */
- { 21451, 0x00000D05 }, /* GL_PACK_ALIGNMENT */
- { 21469, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */
- { 21490, 0x00008758 }, /* GL_PACK_INVERT_MESA */
- { 21510, 0x00000D01 }, /* GL_PACK_LSB_FIRST */
- { 21528, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */
- { 21547, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */
- { 21567, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */
- { 21587, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */
- { 21605, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */
- { 21624, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */
- { 21649, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */
- { 21673, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */
- { 21694, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */
- { 21716, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */
- { 21738, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */
- { 21763, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */
- { 21787, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */
- { 21808, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */
- { 21830, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */
- { 21852, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */
- { 21874, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */
- { 21905, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */
- { 21925, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */
- { 21950, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */
- { 21970, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */
- { 21995, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */
- { 22015, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */
- { 22040, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */
- { 22060, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */
- { 22085, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */
- { 22105, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */
- { 22130, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */
- { 22150, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */
- { 22175, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */
- { 22195, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */
- { 22220, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */
- { 22240, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */
- { 22265, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */
- { 22285, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */
- { 22310, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */
- { 22330, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */
- { 22355, 0x00000020 }, /* GL_PIXEL_MODE_BIT */
- { 22373, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */
- { 22406, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */
- { 22431, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */
- { 22466, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */
- { 22493, 0x00001B00 }, /* GL_POINT */
- { 22502, 0x00000000 }, /* GL_POINTS */
- { 22512, 0x00000002 }, /* GL_POINT_BIT */
- { 22525, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */
- { 22555, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */
- { 22589, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */
- { 22623, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */
- { 22658, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */
- { 22687, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */
- { 22720, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */
- { 22753, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */
- { 22787, 0x00000B11 }, /* GL_POINT_SIZE */
- { 22801, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */
- { 22827, 0x00008127 }, /* GL_POINT_SIZE_MAX */
- { 22845, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */
- { 22867, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */
- { 22889, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */
- { 22912, 0x00008126 }, /* GL_POINT_SIZE_MIN */
- { 22930, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */
- { 22952, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */
- { 22974, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */
- { 22997, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */
- { 23017, 0x00000B10 }, /* GL_POINT_SMOOTH */
- { 23033, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */
- { 23054, 0x00008861 }, /* GL_POINT_SPRITE */
- { 23070, 0x00008861 }, /* GL_POINT_SPRITE_ARB */
- { 23090, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */
- { 23119, 0x00008861 }, /* GL_POINT_SPRITE_NV */
- { 23138, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */
- { 23164, 0x00000701 }, /* GL_POINT_TOKEN */
- { 23179, 0x00000009 }, /* GL_POLYGON */
- { 23190, 0x00000008 }, /* GL_POLYGON_BIT */
- { 23205, 0x00000B40 }, /* GL_POLYGON_MODE */
- { 23221, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */
- { 23244, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */
- { 23269, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */
- { 23292, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */
- { 23315, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */
- { 23339, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */
- { 23363, 0x00000B41 }, /* GL_POLYGON_SMOOTH */
- { 23381, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */
- { 23404, 0x00000B42 }, /* GL_POLYGON_STIPPLE */
- { 23423, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */
- { 23446, 0x00000703 }, /* GL_POLYGON_TOKEN */
- { 23463, 0x00001203 }, /* GL_POSITION */
- { 23475, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
- { 23507, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */
- { 23543, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
- { 23576, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */
- { 23613, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
- { 23644, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */
- { 23679, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
- { 23711, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */
- { 23747, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
- { 23780, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
- { 23812, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */
- { 23848, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
- { 23881, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */
- { 23918, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */
- { 23948, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */
- { 23982, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */
- { 24013, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */
- { 24048, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
- { 24079, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */
- { 24114, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
- { 24146, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */
- { 24182, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */
- { 24212, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */
- { 24246, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */
- { 24277, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */
- { 24312, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */
- { 24344, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */
- { 24375, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */
- { 24410, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */
- { 24442, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */
- { 24478, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */
- { 24507, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */
- { 24540, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */
- { 24570, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */
- { 24604, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
- { 24643, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
- { 24676, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
- { 24716, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
- { 24750, 0x00008578 }, /* GL_PREVIOUS */
- { 24762, 0x00008578 }, /* GL_PREVIOUS_ARB */
- { 24778, 0x00008578 }, /* GL_PREVIOUS_EXT */
- { 24794, 0x00008577 }, /* GL_PRIMARY_COLOR */
- { 24811, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */
- { 24832, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */
- { 24853, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
- { 24886, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
- { 24918, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */
- { 24941, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */
- { 24964, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */
- { 24994, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */
- { 25023, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */
- { 25051, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */
- { 25073, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */
- { 25101, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */
- { 25129, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */
- { 25151, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */
- { 25172, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- { 25212, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- { 25251, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
- { 25281, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- { 25316, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
- { 25349, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
- { 25383, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- { 25422, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- { 25461, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */
- { 25483, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */
- { 25509, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */
- { 25533, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */
- { 25556, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */
- { 25578, 0x00008628 }, /* GL_PROGRAM_STRING_NV */
- { 25599, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */
- { 25620, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */
- { 25647, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
- { 25679, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
- { 25711, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
- { 25746, 0x00001701 }, /* GL_PROJECTION */
- { 25760, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */
- { 25781, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */
- { 25807, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */
- { 25828, 0x00008025 }, /* GL_PROXY_HISTOGRAM */
- { 25847, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */
- { 25870, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
- { 25909, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
- { 25947, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */
- { 25967, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */
- { 25991, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */
- { 26011, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */
- { 26035, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */
- { 26055, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
- { 26088, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */
- { 26114, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */
- { 26144, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
- { 26175, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */
- { 26205, 0x00002003 }, /* GL_Q */
- { 26210, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */
- { 26235, 0x00000007 }, /* GL_QUADS */
- { 26244, 0x00008614 }, /* GL_QUAD_MESH_SUN */
- { 26261, 0x00000008 }, /* GL_QUAD_STRIP */
- { 26275, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */
- { 26297, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */
- { 26323, 0x00008866 }, /* GL_QUERY_RESULT */
- { 26339, 0x00008866 }, /* GL_QUERY_RESULT_ARB */
- { 26359, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */
- { 26385, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */
- { 26415, 0x00002002 }, /* GL_R */
- { 26420, 0x00002A10 }, /* GL_R3_G3_B2 */
- { 26432, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
- { 26465, 0x00000C02 }, /* GL_READ_BUFFER */
- { 26480, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
- { 26512, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */
- { 26536, 0x000088B8 }, /* GL_READ_ONLY */
- { 26549, 0x000088B8 }, /* GL_READ_ONLY_ARB */
- { 26566, 0x000088BA }, /* GL_READ_WRITE */
- { 26580, 0x000088BA }, /* GL_READ_WRITE_ARB */
- { 26598, 0x00001903 }, /* GL_RED */
- { 26605, 0x00008016 }, /* GL_REDUCE */
- { 26615, 0x00008016 }, /* GL_REDUCE_EXT */
- { 26629, 0x00000D15 }, /* GL_RED_BIAS */
- { 26641, 0x00000D52 }, /* GL_RED_BITS */
- { 26653, 0x00000D14 }, /* GL_RED_SCALE */
- { 26666, 0x00008512 }, /* GL_REFLECTION_MAP */
- { 26684, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */
- { 26706, 0x00008512 }, /* GL_REFLECTION_MAP_NV */
- { 26727, 0x00001C00 }, /* GL_RENDER */
- { 26737, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */
- { 26765, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */
- { 26785, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */
- { 26812, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */
- { 26848, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */
- { 26874, 0x00001F01 }, /* GL_RENDERER */
- { 26886, 0x00000C40 }, /* GL_RENDER_MODE */
- { 26901, 0x00002901 }, /* GL_REPEAT */
- { 26911, 0x00001E01 }, /* GL_REPLACE */
- { 26922, 0x00008062 }, /* GL_REPLACE_EXT */
- { 26937, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */
- { 26960, 0x0000803A }, /* GL_RESCALE_NORMAL */
- { 26978, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */
- { 27000, 0x00000102 }, /* GL_RETURN */
- { 27010, 0x00001907 }, /* GL_RGB */
- { 27017, 0x00008052 }, /* GL_RGB10 */
- { 27026, 0x00008059 }, /* GL_RGB10_A2 */
- { 27038, 0x00008059 }, /* GL_RGB10_A2_EXT */
- { 27054, 0x00008052 }, /* GL_RGB10_EXT */
- { 27067, 0x00008053 }, /* GL_RGB12 */
- { 27076, 0x00008053 }, /* GL_RGB12_EXT */
- { 27089, 0x00008054 }, /* GL_RGB16 */
- { 27098, 0x00008054 }, /* GL_RGB16_EXT */
- { 27111, 0x0000804E }, /* GL_RGB2_EXT */
- { 27123, 0x0000804F }, /* GL_RGB4 */
- { 27131, 0x0000804F }, /* GL_RGB4_EXT */
- { 27143, 0x000083A1 }, /* GL_RGB4_S3TC */
- { 27156, 0x00008050 }, /* GL_RGB5 */
- { 27164, 0x00008057 }, /* GL_RGB5_A1 */
- { 27175, 0x00008057 }, /* GL_RGB5_A1_EXT */
- { 27190, 0x00008050 }, /* GL_RGB5_EXT */
- { 27202, 0x00008051 }, /* GL_RGB8 */
- { 27210, 0x00008051 }, /* GL_RGB8_EXT */
- { 27222, 0x00001908 }, /* GL_RGBA */
- { 27230, 0x0000805A }, /* GL_RGBA12 */
- { 27240, 0x0000805A }, /* GL_RGBA12_EXT */
- { 27254, 0x0000805B }, /* GL_RGBA16 */
- { 27264, 0x0000805B }, /* GL_RGBA16_EXT */
- { 27278, 0x00008055 }, /* GL_RGBA2 */
- { 27287, 0x00008055 }, /* GL_RGBA2_EXT */
- { 27300, 0x00008056 }, /* GL_RGBA4 */
- { 27309, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */
- { 27328, 0x00008056 }, /* GL_RGBA4_EXT */
- { 27341, 0x000083A3 }, /* GL_RGBA4_S3TC */
- { 27355, 0x00008058 }, /* GL_RGBA8 */
- { 27364, 0x00008058 }, /* GL_RGBA8_EXT */
- { 27377, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */
- { 27395, 0x00000C31 }, /* GL_RGBA_MODE */
- { 27408, 0x000083A2 }, /* GL_RGBA_S3TC */
- { 27421, 0x000083A0 }, /* GL_RGB_S3TC */
- { 27433, 0x00008573 }, /* GL_RGB_SCALE */
- { 27446, 0x00008573 }, /* GL_RGB_SCALE_ARB */
- { 27463, 0x00008573 }, /* GL_RGB_SCALE_EXT */
- { 27480, 0x00000407 }, /* GL_RIGHT */
- { 27489, 0x00002000 }, /* GL_S */
- { 27494, 0x00008B5D }, /* GL_SAMPLER_1D */
- { 27508, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */
- { 27529, 0x00008B5E }, /* GL_SAMPLER_2D */
- { 27543, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */
- { 27564, 0x00008B5F }, /* GL_SAMPLER_3D */
- { 27578, 0x00008B60 }, /* GL_SAMPLER_CUBE */
- { 27594, 0x000080A9 }, /* GL_SAMPLES */
- { 27605, 0x000086B4 }, /* GL_SAMPLES_3DFX */
- { 27621, 0x000080A9 }, /* GL_SAMPLES_ARB */
- { 27636, 0x00008914 }, /* GL_SAMPLES_PASSED */
- { 27654, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */
- { 27676, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
- { 27704, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */
- { 27736, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */
- { 27759, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */
- { 27786, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */
- { 27804, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */
- { 27827, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */
- { 27849, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */
- { 27868, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */
- { 27891, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */
- { 27917, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */
- { 27947, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */
- { 27972, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */
- { 28001, 0x00080000 }, /* GL_SCISSOR_BIT */
- { 28016, 0x00000C10 }, /* GL_SCISSOR_BOX */
- { 28031, 0x00000C11 }, /* GL_SCISSOR_TEST */
- { 28047, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */
- { 28072, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
- { 28112, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */
- { 28156, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
- { 28189, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
- { 28219, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
- { 28251, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
- { 28281, 0x00001C02 }, /* GL_SELECT */
- { 28291, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */
- { 28319, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */
- { 28344, 0x00008012 }, /* GL_SEPARABLE_2D */
- { 28360, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */
- { 28387, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */
- { 28418, 0x0000150F }, /* GL_SET */
- { 28425, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */
- { 28446, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */
- { 28470, 0x00008B4F }, /* GL_SHADER_TYPE */
- { 28485, 0x00000B54 }, /* GL_SHADE_MODEL */
- { 28500, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */
- { 28528, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */
- { 28551, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */
- { 28581, 0x00001601 }, /* GL_SHININESS */
- { 28594, 0x00001402 }, /* GL_SHORT */
- { 28603, 0x000081F9 }, /* GL_SINGLE_COLOR */
- { 28619, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */
- { 28639, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */
- { 28658, 0x00001D01 }, /* GL_SMOOTH */
- { 28668, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */
- { 28701, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */
- { 28728, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */
- { 28761, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */
- { 28788, 0x00008588 }, /* GL_SOURCE0_ALPHA */
- { 28805, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */
- { 28826, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */
- { 28847, 0x00008580 }, /* GL_SOURCE0_RGB */
- { 28862, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */
- { 28881, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */
- { 28900, 0x00008589 }, /* GL_SOURCE1_ALPHA */
- { 28917, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */
- { 28938, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */
- { 28959, 0x00008581 }, /* GL_SOURCE1_RGB */
- { 28974, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */
- { 28993, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */
- { 29012, 0x0000858A }, /* GL_SOURCE2_ALPHA */
- { 29029, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */
- { 29050, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */
- { 29071, 0x00008582 }, /* GL_SOURCE2_RGB */
- { 29086, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */
- { 29105, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */
- { 29124, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */
- { 29144, 0x00008583 }, /* GL_SOURCE3_RGB_NV */
- { 29162, 0x00001202 }, /* GL_SPECULAR */
- { 29174, 0x00002402 }, /* GL_SPHERE_MAP */
- { 29188, 0x00001206 }, /* GL_SPOT_CUTOFF */
- { 29203, 0x00001204 }, /* GL_SPOT_DIRECTION */
- { 29221, 0x00001205 }, /* GL_SPOT_EXPONENT */
- { 29238, 0x00008588 }, /* GL_SRC0_ALPHA */
- { 29252, 0x00008580 }, /* GL_SRC0_RGB */
- { 29264, 0x00008589 }, /* GL_SRC1_ALPHA */
- { 29278, 0x00008581 }, /* GL_SRC1_RGB */
- { 29290, 0x0000858A }, /* GL_SRC2_ALPHA */
- { 29304, 0x00008582 }, /* GL_SRC2_RGB */
- { 29316, 0x00000302 }, /* GL_SRC_ALPHA */
- { 29329, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */
- { 29351, 0x00000300 }, /* GL_SRC_COLOR */
- { 29364, 0x00000503 }, /* GL_STACK_OVERFLOW */
- { 29382, 0x00000504 }, /* GL_STACK_UNDERFLOW */
- { 29401, 0x000088E6 }, /* GL_STATIC_COPY */
- { 29416, 0x000088E6 }, /* GL_STATIC_COPY_ARB */
- { 29435, 0x000088E4 }, /* GL_STATIC_DRAW */
- { 29450, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */
- { 29469, 0x000088E5 }, /* GL_STATIC_READ */
- { 29484, 0x000088E5 }, /* GL_STATIC_READ_ARB */
- { 29503, 0x00001802 }, /* GL_STENCIL */
- { 29514, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */
- { 29540, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */
- { 29561, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */
- { 29582, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
- { 29614, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
- { 29646, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */
- { 29666, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */
- { 29693, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */
- { 29719, 0x00000D57 }, /* GL_STENCIL_BITS */
- { 29735, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */
- { 29757, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */
- { 29780, 0x00000B94 }, /* GL_STENCIL_FAIL */
- { 29796, 0x00000B92 }, /* GL_STENCIL_FUNC */
- { 29812, 0x00001901 }, /* GL_STENCIL_INDEX */
- { 29829, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */
- { 29852, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */
- { 29874, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */
- { 29896, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */
- { 29918, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */
- { 29939, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */
- { 29966, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */
- { 29993, 0x00000B97 }, /* GL_STENCIL_REF */
- { 30008, 0x00000B90 }, /* GL_STENCIL_TEST */
- { 30024, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
- { 30053, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */
- { 30075, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */
- { 30096, 0x00000C33 }, /* GL_STEREO */
- { 30106, 0x000088E2 }, /* GL_STREAM_COPY */
- { 30121, 0x000088E2 }, /* GL_STREAM_COPY_ARB */
- { 30140, 0x000088E0 }, /* GL_STREAM_DRAW */
- { 30155, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */
- { 30174, 0x000088E1 }, /* GL_STREAM_READ */
- { 30189, 0x000088E1 }, /* GL_STREAM_READ_ARB */
- { 30208, 0x00000D50 }, /* GL_SUBPIXEL_BITS */
- { 30225, 0x000084E7 }, /* GL_SUBTRACT */
- { 30237, 0x000084E7 }, /* GL_SUBTRACT_ARB */
- { 30253, 0x00002001 }, /* GL_T */
- { 30258, 0x00002A2A }, /* GL_T2F_C3F_V3F */
- { 30273, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */
- { 30292, 0x00002A29 }, /* GL_T2F_C4UB_V3F */
- { 30308, 0x00002A2B }, /* GL_T2F_N3F_V3F */
- { 30323, 0x00002A27 }, /* GL_T2F_V3F */
- { 30334, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */
- { 30353, 0x00002A28 }, /* GL_T4F_V4F */
- { 30364, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */
- { 30387, 0x00001702 }, /* GL_TEXTURE */
- { 30398, 0x000084C0 }, /* GL_TEXTURE0 */
- { 30410, 0x000084C0 }, /* GL_TEXTURE0_ARB */
- { 30426, 0x000084C1 }, /* GL_TEXTURE1 */
- { 30438, 0x000084CA }, /* GL_TEXTURE10 */
- { 30451, 0x000084CA }, /* GL_TEXTURE10_ARB */
- { 30468, 0x000084CB }, /* GL_TEXTURE11 */
- { 30481, 0x000084CB }, /* GL_TEXTURE11_ARB */
- { 30498, 0x000084CC }, /* GL_TEXTURE12 */
- { 30511, 0x000084CC }, /* GL_TEXTURE12_ARB */
- { 30528, 0x000084CD }, /* GL_TEXTURE13 */
- { 30541, 0x000084CD }, /* GL_TEXTURE13_ARB */
- { 30558, 0x000084CE }, /* GL_TEXTURE14 */
- { 30571, 0x000084CE }, /* GL_TEXTURE14_ARB */
- { 30588, 0x000084CF }, /* GL_TEXTURE15 */
- { 30601, 0x000084CF }, /* GL_TEXTURE15_ARB */
- { 30618, 0x000084D0 }, /* GL_TEXTURE16 */
- { 30631, 0x000084D0 }, /* GL_TEXTURE16_ARB */
- { 30648, 0x000084D1 }, /* GL_TEXTURE17 */
- { 30661, 0x000084D1 }, /* GL_TEXTURE17_ARB */
- { 30678, 0x000084D2 }, /* GL_TEXTURE18 */
- { 30691, 0x000084D2 }, /* GL_TEXTURE18_ARB */
- { 30708, 0x000084D3 }, /* GL_TEXTURE19 */
- { 30721, 0x000084D3 }, /* GL_TEXTURE19_ARB */
- { 30738, 0x000084C1 }, /* GL_TEXTURE1_ARB */
- { 30754, 0x000084C2 }, /* GL_TEXTURE2 */
- { 30766, 0x000084D4 }, /* GL_TEXTURE20 */
- { 30779, 0x000084D4 }, /* GL_TEXTURE20_ARB */
- { 30796, 0x000084D5 }, /* GL_TEXTURE21 */
- { 30809, 0x000084D5 }, /* GL_TEXTURE21_ARB */
- { 30826, 0x000084D6 }, /* GL_TEXTURE22 */
- { 30839, 0x000084D6 }, /* GL_TEXTURE22_ARB */
- { 30856, 0x000084D7 }, /* GL_TEXTURE23 */
- { 30869, 0x000084D7 }, /* GL_TEXTURE23_ARB */
- { 30886, 0x000084D8 }, /* GL_TEXTURE24 */
- { 30899, 0x000084D8 }, /* GL_TEXTURE24_ARB */
- { 30916, 0x000084D9 }, /* GL_TEXTURE25 */
- { 30929, 0x000084D9 }, /* GL_TEXTURE25_ARB */
- { 30946, 0x000084DA }, /* GL_TEXTURE26 */
- { 30959, 0x000084DA }, /* GL_TEXTURE26_ARB */
- { 30976, 0x000084DB }, /* GL_TEXTURE27 */
- { 30989, 0x000084DB }, /* GL_TEXTURE27_ARB */
- { 31006, 0x000084DC }, /* GL_TEXTURE28 */
- { 31019, 0x000084DC }, /* GL_TEXTURE28_ARB */
- { 31036, 0x000084DD }, /* GL_TEXTURE29 */
- { 31049, 0x000084DD }, /* GL_TEXTURE29_ARB */
- { 31066, 0x000084C2 }, /* GL_TEXTURE2_ARB */
- { 31082, 0x000084C3 }, /* GL_TEXTURE3 */
- { 31094, 0x000084DE }, /* GL_TEXTURE30 */
- { 31107, 0x000084DE }, /* GL_TEXTURE30_ARB */
- { 31124, 0x000084DF }, /* GL_TEXTURE31 */
- { 31137, 0x000084DF }, /* GL_TEXTURE31_ARB */
- { 31154, 0x000084C3 }, /* GL_TEXTURE3_ARB */
- { 31170, 0x000084C4 }, /* GL_TEXTURE4 */
- { 31182, 0x000084C4 }, /* GL_TEXTURE4_ARB */
- { 31198, 0x000084C5 }, /* GL_TEXTURE5 */
- { 31210, 0x000084C5 }, /* GL_TEXTURE5_ARB */
- { 31226, 0x000084C6 }, /* GL_TEXTURE6 */
- { 31238, 0x000084C6 }, /* GL_TEXTURE6_ARB */
- { 31254, 0x000084C7 }, /* GL_TEXTURE7 */
- { 31266, 0x000084C7 }, /* GL_TEXTURE7_ARB */
- { 31282, 0x000084C8 }, /* GL_TEXTURE8 */
- { 31294, 0x000084C8 }, /* GL_TEXTURE8_ARB */
- { 31310, 0x000084C9 }, /* GL_TEXTURE9 */
- { 31322, 0x000084C9 }, /* GL_TEXTURE9_ARB */
- { 31338, 0x00000DE0 }, /* GL_TEXTURE_1D */
- { 31352, 0x00000DE1 }, /* GL_TEXTURE_2D */
- { 31366, 0x0000806F }, /* GL_TEXTURE_3D */
- { 31380, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */
- { 31402, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */
- { 31428, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */
- { 31450, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */
- { 31472, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */
- { 31494, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */
- { 31516, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */
- { 31544, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */
- { 31576, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
- { 31609, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */
- { 31641, 0x00040000 }, /* GL_TEXTURE_BIT */
- { 31656, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */
- { 31677, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */
- { 31702, 0x00001005 }, /* GL_TEXTURE_BORDER */
- { 31720, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */
- { 31744, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
- { 31775, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
- { 31805, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
- { 31835, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
- { 31870, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
- { 31901, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- { 31939, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */
- { 31966, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
- { 31998, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
- { 32032, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */
- { 32056, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */
- { 32084, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */
- { 32108, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */
- { 32136, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
- { 32169, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */
- { 32193, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */
- { 32215, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */
- { 32237, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */
- { 32263, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */
- { 32297, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
- { 32330, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */
- { 32367, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */
- { 32395, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */
- { 32427, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */
- { 32450, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
- { 32488, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */
- { 32530, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */
- { 32561, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */
- { 32589, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
- { 32619, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */
- { 32647, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */
- { 32667, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */
- { 32691, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
- { 32722, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */
- { 32757, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
- { 32788, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */
- { 32823, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
- { 32854, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */
- { 32889, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
- { 32920, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */
- { 32955, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
- { 32986, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */
- { 33021, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
- { 33052, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */
- { 33087, 0x00008071 }, /* GL_TEXTURE_DEPTH */
- { 33104, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */
- { 33126, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */
- { 33152, 0x00002300 }, /* GL_TEXTURE_ENV */
- { 33167, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */
- { 33188, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */
- { 33208, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */
- { 33234, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */
- { 33254, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */
- { 33271, 0x00000C62 }, /* GL_TEXTURE_GEN_R */
- { 33288, 0x00000C60 }, /* GL_TEXTURE_GEN_S */
- { 33305, 0x00000C61 }, /* GL_TEXTURE_GEN_T */
- { 33322, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */
- { 33347, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */
- { 33369, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */
- { 33395, 0x00001001 }, /* GL_TEXTURE_HEIGHT */
- { 33413, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */
- { 33439, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */
- { 33465, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */
- { 33495, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */
- { 33522, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */
- { 33547, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */
- { 33567, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */
- { 33591, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
- { 33618, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
- { 33645, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
- { 33672, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */
- { 33698, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */
- { 33728, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */
- { 33750, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */
- { 33768, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
- { 33798, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
- { 33826, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
- { 33854, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
- { 33882, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */
- { 33903, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */
- { 33922, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */
- { 33944, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */
- { 33963, 0x00008066 }, /* GL_TEXTURE_PRIORITY */
- { 33983, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */
- { 34008, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */
- { 34032, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */
- { 34052, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */
- { 34076, 0x00008067 }, /* GL_TEXTURE_RESIDENT */
- { 34096, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */
- { 34119, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */
- { 34144, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
- { 34178, 0x00001000 }, /* GL_TEXTURE_WIDTH */
- { 34195, 0x00008072 }, /* GL_TEXTURE_WRAP_R */
- { 34213, 0x00002802 }, /* GL_TEXTURE_WRAP_S */
- { 34231, 0x00002803 }, /* GL_TEXTURE_WRAP_T */
- { 34249, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */
- { 34269, 0x00008648 }, /* GL_TRACK_MATRIX_NV */
- { 34288, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */
- { 34317, 0x00001000 }, /* GL_TRANSFORM_BIT */
- { 34334, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */
- { 34360, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */
- { 34390, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
- { 34422, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
- { 34452, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */
- { 34486, 0x0000862C }, /* GL_TRANSPOSE_NV */
- { 34502, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */
- { 34533, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */
- { 34568, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */
- { 34596, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */
- { 34628, 0x00000004 }, /* GL_TRIANGLES */
- { 34641, 0x00000006 }, /* GL_TRIANGLE_FAN */
- { 34657, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */
- { 34678, 0x00000005 }, /* GL_TRIANGLE_STRIP */
- { 34696, 0x00000001 }, /* GL_TRUE */
- { 34704, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */
- { 34724, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */
- { 34747, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */
- { 34767, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */
- { 34788, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */
- { 34810, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */
- { 34832, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */
- { 34852, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */
- { 34873, 0x00001401 }, /* GL_UNSIGNED_BYTE */
- { 34890, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */
- { 34917, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */
- { 34940, 0x00001405 }, /* GL_UNSIGNED_INT */
- { 34956, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */
- { 34983, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */
- { 35007, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */
- { 35038, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */
- { 35062, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */
- { 35090, 0x00001403 }, /* GL_UNSIGNED_SHORT */
- { 35108, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
- { 35138, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */
- { 35164, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
- { 35194, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */
- { 35220, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */
- { 35244, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */
- { 35272, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */
- { 35300, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */
- { 35327, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
- { 35359, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */
- { 35390, 0x00008CA2 }, /* GL_UPPER_LEFT */
- { 35404, 0x00002A20 }, /* GL_V2F */
- { 35411, 0x00002A21 }, /* GL_V3F */
- { 35418, 0x00008B83 }, /* GL_VALIDATE_STATUS */
- { 35437, 0x00001F00 }, /* GL_VENDOR */
- { 35447, 0x00001F02 }, /* GL_VERSION */
- { 35458, 0x00008074 }, /* GL_VERTEX_ARRAY */
- { 35474, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */
- { 35504, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
- { 35535, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */
- { 35570, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */
- { 35594, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */
- { 35615, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */
- { 35638, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */
- { 35659, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
- { 35686, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
- { 35714, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
- { 35742, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
- { 35770, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
- { 35798, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
- { 35826, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
- { 35854, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
- { 35881, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
- { 35908, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
- { 35935, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
- { 35962, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
- { 35989, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
- { 36016, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
- { 36043, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
- { 36070, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
- { 36097, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
- { 36135, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */
- { 36177, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
- { 36208, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */
- { 36243, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
- { 36277, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */
- { 36315, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
- { 36346, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */
- { 36381, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
- { 36409, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */
- { 36441, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
- { 36471, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */
- { 36505, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
- { 36533, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */
- { 36565, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */
- { 36585, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */
- { 36607, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */
- { 36636, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */
- { 36657, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */
- { 36686, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */
- { 36719, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */
- { 36751, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */
- { 36778, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */
- { 36809, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */
- { 36839, 0x00008B31 }, /* GL_VERTEX_SHADER */
- { 36856, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */
- { 36877, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */
- { 36904, 0x00000BA2 }, /* GL_VIEWPORT */
- { 36916, 0x00000800 }, /* GL_VIEWPORT_BIT */
- { 36932, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */
- { 36952, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
- { 36983, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */
- { 37018, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */
- { 37046, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */
- { 37071, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
- { 37098, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */
- { 37123, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */
- { 37147, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */
- { 37166, 0x000088B9 }, /* GL_WRITE_ONLY */
- { 37180, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */
- { 37198, 0x00001506 }, /* GL_XOR */
- { 37205, 0x000085B9 }, /* GL_YCBCR_422_APPLE */
- { 37224, 0x00008757 }, /* GL_YCBCR_MESA */
- { 37238, 0x00000000 }, /* GL_ZERO */
- { 37246, 0x00000D16 }, /* GL_ZOOM_X */
- { 37256, 0x00000D17 }, /* GL_ZOOM_Y */
+ { 4153, 0x0000884E }, /* GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT */
+ { 4189, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */
+ { 4213, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */
+ { 4241, 0x00001300 }, /* GL_COMPILE */
+ { 4252, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */
+ { 4275, 0x00008B81 }, /* GL_COMPILE_STATUS */
+ { 4293, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */
+ { 4313, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */
+ { 4337, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */
+ { 4361, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */
+ { 4389, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */
+ { 4413, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */
+ { 4443, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */
+ { 4477, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */
+ { 4505, 0x000084ED }, /* GL_COMPRESSED_RGB */
+ { 4523, 0x000084EE }, /* GL_COMPRESSED_RGBA */
+ { 4542, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */
+ { 4565, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
+ { 4594, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
+ { 4627, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
+ { 4660, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
+ { 4693, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */
+ { 4715, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */
+ { 4743, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
+ { 4775, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */
+ { 4805, 0x00008576 }, /* GL_CONSTANT */
+ { 4817, 0x00008003 }, /* GL_CONSTANT_ALPHA */
+ { 4835, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */
+ { 4857, 0x00008576 }, /* GL_CONSTANT_ARB */
+ { 4873, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */
+ { 4897, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */
+ { 4919, 0x00008001 }, /* GL_CONSTANT_COLOR */
+ { 4937, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */
+ { 4959, 0x00008576 }, /* GL_CONSTANT_EXT */
+ { 4975, 0x00008010 }, /* GL_CONVOLUTION_1D */
+ { 4993, 0x00008011 }, /* GL_CONVOLUTION_2D */
+ { 5011, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */
+ { 5039, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */
+ { 5070, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */
+ { 5097, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */
+ { 5128, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */
+ { 5155, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */
+ { 5186, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */
+ { 5214, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */
+ { 5246, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */
+ { 5268, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */
+ { 5294, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */
+ { 5316, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */
+ { 5342, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */
+ { 5363, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */
+ { 5388, 0x00008862 }, /* GL_COORD_REPLACE */
+ { 5405, 0x00008862 }, /* GL_COORD_REPLACE_ARB */
+ { 5426, 0x00008862 }, /* GL_COORD_REPLACE_NV */
+ { 5446, 0x00001503 }, /* GL_COPY */
+ { 5454, 0x0000150C }, /* GL_COPY_INVERTED */
+ { 5471, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */
+ { 5491, 0x00000B44 }, /* GL_CULL_FACE */
+ { 5504, 0x00000B45 }, /* GL_CULL_FACE_MODE */
+ { 5522, 0x000081AA }, /* GL_CULL_VERTEX_EXT */
+ { 5541, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
+ { 5573, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
+ { 5608, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */
+ { 5629, 0x00000001 }, /* GL_CURRENT_BIT */
+ { 5644, 0x00000B00 }, /* GL_CURRENT_COLOR */
+ { 5661, 0x00008453 }, /* GL_CURRENT_FOG_COORD */
+ { 5682, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */
+ { 5708, 0x00000B01 }, /* GL_CURRENT_INDEX */
+ { 5725, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */
+ { 5747, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */
+ { 5775, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */
+ { 5796, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
+ { 5830, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */
+ { 5863, 0x00000B02 }, /* GL_CURRENT_NORMAL */
+ { 5881, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */
+ { 5911, 0x00008B8D }, /* GL_CURRENT_PROGRAM */
+ { 5930, 0x00008865 }, /* GL_CURRENT_QUERY */
+ { 5947, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */
+ { 5968, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */
+ { 5992, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */
+ { 6019, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */
+ { 6043, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */
+ { 6070, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */
+ { 6103, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
+ { 6136, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */
+ { 6163, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */
+ { 6189, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */
+ { 6214, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */
+ { 6243, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */
+ { 6265, 0x00000900 }, /* GL_CW */
+ { 6271, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */
+ { 6292, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */
+ { 6313, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */
+ { 6333, 0x00002101 }, /* GL_DECAL */
+ { 6342, 0x00001E03 }, /* GL_DECR */
+ { 6350, 0x00008508 }, /* GL_DECR_WRAP */
+ { 6363, 0x00008508 }, /* GL_DECR_WRAP_EXT */
+ { 6380, 0x00008B80 }, /* GL_DELETE_STATUS */
+ { 6397, 0x00001801 }, /* GL_DEPTH */
+ { 6406, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */
+ { 6430, 0x00000D1F }, /* GL_DEPTH_BIAS */
+ { 6444, 0x00000D56 }, /* GL_DEPTH_BITS */
+ { 6458, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */
+ { 6478, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */
+ { 6503, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */
+ { 6523, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */
+ { 6541, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */
+ { 6562, 0x00001902 }, /* GL_DEPTH_COMPONENT */
+ { 6581, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */
+ { 6602, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */
+ { 6627, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */
+ { 6653, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */
+ { 6674, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */
+ { 6699, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */
+ { 6725, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */
+ { 6746, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */
+ { 6771, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */
+ { 6797, 0x00000B74 }, /* GL_DEPTH_FUNC */
+ { 6811, 0x00000B70 }, /* GL_DEPTH_RANGE */
+ { 6826, 0x00000D1E }, /* GL_DEPTH_SCALE */
+ { 6841, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */
+ { 6861, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
+ { 6889, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
+ { 6917, 0x00000B71 }, /* GL_DEPTH_TEST */
+ { 6931, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */
+ { 6953, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */
+ { 6979, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */
+ { 6998, 0x00001201 }, /* GL_DIFFUSE */
+ { 7009, 0x00000BD0 }, /* GL_DITHER */
+ { 7019, 0x00000A02 }, /* GL_DOMAIN */
+ { 7029, 0x00001100 }, /* GL_DONT_CARE */
+ { 7042, 0x000086AE }, /* GL_DOT3_RGB */
+ { 7054, 0x000086AF }, /* GL_DOT3_RGBA */
+ { 7067, 0x000086AF }, /* GL_DOT3_RGBA_ARB */
+ { 7084, 0x00008741 }, /* GL_DOT3_RGBA_EXT */
+ { 7101, 0x000086AE }, /* GL_DOT3_RGB_ARB */
+ { 7117, 0x00008740 }, /* GL_DOT3_RGB_EXT */
+ { 7133, 0x0000140A }, /* GL_DOUBLE */
+ { 7143, 0x00000C32 }, /* GL_DOUBLEBUFFER */
+ { 7159, 0x00000C01 }, /* GL_DRAW_BUFFER */
+ { 7174, 0x00008825 }, /* GL_DRAW_BUFFER0 */
+ { 7190, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */
+ { 7210, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */
+ { 7230, 0x00008826 }, /* GL_DRAW_BUFFER1 */
+ { 7246, 0x0000882F }, /* GL_DRAW_BUFFER10 */
+ { 7263, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */
+ { 7284, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */
+ { 7305, 0x00008830 }, /* GL_DRAW_BUFFER11 */
+ { 7322, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */
+ { 7343, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */
+ { 7364, 0x00008831 }, /* GL_DRAW_BUFFER12 */
+ { 7381, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */
+ { 7402, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */
+ { 7423, 0x00008832 }, /* GL_DRAW_BUFFER13 */
+ { 7440, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */
+ { 7461, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */
+ { 7482, 0x00008833 }, /* GL_DRAW_BUFFER14 */
+ { 7499, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */
+ { 7520, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */
+ { 7541, 0x00008834 }, /* GL_DRAW_BUFFER15 */
+ { 7558, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */
+ { 7579, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */
+ { 7600, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */
+ { 7620, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */
+ { 7640, 0x00008827 }, /* GL_DRAW_BUFFER2 */
+ { 7656, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */
+ { 7676, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */
+ { 7696, 0x00008828 }, /* GL_DRAW_BUFFER3 */
+ { 7712, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */
+ { 7732, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */
+ { 7752, 0x00008829 }, /* GL_DRAW_BUFFER4 */
+ { 7768, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */
+ { 7788, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */
+ { 7808, 0x0000882A }, /* GL_DRAW_BUFFER5 */
+ { 7824, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */
+ { 7844, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */
+ { 7864, 0x0000882B }, /* GL_DRAW_BUFFER6 */
+ { 7880, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */
+ { 7900, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */
+ { 7920, 0x0000882C }, /* GL_DRAW_BUFFER7 */
+ { 7936, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */
+ { 7956, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */
+ { 7976, 0x0000882D }, /* GL_DRAW_BUFFER8 */
+ { 7992, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */
+ { 8012, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */
+ { 8032, 0x0000882E }, /* GL_DRAW_BUFFER9 */
+ { 8048, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */
+ { 8068, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */
+ { 8088, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
+ { 8120, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */
+ { 8144, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */
+ { 8164, 0x00000304 }, /* GL_DST_ALPHA */
+ { 8177, 0x00000306 }, /* GL_DST_COLOR */
+ { 8190, 0x000088EA }, /* GL_DYNAMIC_COPY */
+ { 8206, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */
+ { 8226, 0x000088E8 }, /* GL_DYNAMIC_DRAW */
+ { 8242, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */
+ { 8262, 0x000088E9 }, /* GL_DYNAMIC_READ */
+ { 8278, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */
+ { 8298, 0x00000B43 }, /* GL_EDGE_FLAG */
+ { 8311, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */
+ { 8330, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
+ { 8364, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */
+ { 8402, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */
+ { 8429, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */
+ { 8455, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */
+ { 8479, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER_ARB */
+ { 8507, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
+ { 8539, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */
+ { 8575, 0x00001600 }, /* GL_EMISSION */
+ { 8587, 0x00002000 }, /* GL_ENABLE_BIT */
+ { 8601, 0x00000202 }, /* GL_EQUAL */
+ { 8610, 0x00001509 }, /* GL_EQUIV */
+ { 8619, 0x00010000 }, /* GL_EVAL_BIT */
+ { 8631, 0x00000800 }, /* GL_EXP */
+ { 8638, 0x00000801 }, /* GL_EXP2 */
+ { 8646, 0x00001F03 }, /* GL_EXTENSIONS */
+ { 8660, 0x00002400 }, /* GL_EYE_LINEAR */
+ { 8674, 0x00002502 }, /* GL_EYE_PLANE */
+ { 8687, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */
+ { 8712, 0x0000855B }, /* GL_EYE_RADIAL_NV */
+ { 8729, 0x00000000 }, /* GL_FALSE */
+ { 8738, 0x00001101 }, /* GL_FASTEST */
+ { 8749, 0x00001C01 }, /* GL_FEEDBACK */
+ { 8761, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */
+ { 8788, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */
+ { 8812, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */
+ { 8836, 0x00001B02 }, /* GL_FILL */
+ { 8844, 0x00001D00 }, /* GL_FLAT */
+ { 8852, 0x00001406 }, /* GL_FLOAT */
+ { 8861, 0x00008B5A }, /* GL_FLOAT_MAT2 */
+ { 8875, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */
+ { 8893, 0x00008B5B }, /* GL_FLOAT_MAT3 */
+ { 8907, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */
+ { 8925, 0x00008B5C }, /* GL_FLOAT_MAT4 */
+ { 8939, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */
+ { 8957, 0x00008B50 }, /* GL_FLOAT_VEC2 */
+ { 8971, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */
+ { 8989, 0x00008B51 }, /* GL_FLOAT_VEC3 */
+ { 9003, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */
+ { 9021, 0x00008B52 }, /* GL_FLOAT_VEC4 */
+ { 9035, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */
+ { 9053, 0x00000B60 }, /* GL_FOG */
+ { 9060, 0x00000080 }, /* GL_FOG_BIT */
+ { 9071, 0x00000B66 }, /* GL_FOG_COLOR */
+ { 9084, 0x00008451 }, /* GL_FOG_COORD */
+ { 9097, 0x00008451 }, /* GL_FOG_COORDINATE */
+ { 9115, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */
+ { 9139, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
+ { 9178, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */
+ { 9221, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */
+ { 9253, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
+ { 9284, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */
+ { 9313, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */
+ { 9338, 0x00008457 }, /* GL_FOG_COORD_ARRAY */
+ { 9357, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */
+ { 9391, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */
+ { 9418, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */
+ { 9444, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */
+ { 9468, 0x00008450 }, /* GL_FOG_COORD_SRC */
+ { 9485, 0x00000B62 }, /* GL_FOG_DENSITY */
+ { 9500, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */
+ { 9524, 0x00000B64 }, /* GL_FOG_END */
+ { 9535, 0x00000C54 }, /* GL_FOG_HINT */
+ { 9547, 0x00000B61 }, /* GL_FOG_INDEX */
+ { 9560, 0x00000B65 }, /* GL_FOG_MODE */
+ { 9572, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */
+ { 9591, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */
+ { 9616, 0x00000B63 }, /* GL_FOG_START */
+ { 9629, 0x00008452 }, /* GL_FRAGMENT_DEPTH */
+ { 9647, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */
+ { 9671, 0x00008B30 }, /* GL_FRAGMENT_SHADER */
+ { 9690, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */
+ { 9713, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
+ { 9748, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */
+ { 9790, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */
+ { 9832, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */
+ { 9881, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */
+ { 9933, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */
+ { 9977, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */
+ { 10021, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */
+ { 10048, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */
+ { 10076, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */
+ { 10095, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */
+ { 10136, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
+ { 10177, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
+ { 10219, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
+ { 10270, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
+ { 10308, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */
+ { 10357, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
+ { 10399, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
+ { 10431, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */
+ { 10462, 0x00000404 }, /* GL_FRONT */
+ { 10471, 0x00000408 }, /* GL_FRONT_AND_BACK */
+ { 10489, 0x00000B46 }, /* GL_FRONT_FACE */
+ { 10503, 0x00000400 }, /* GL_FRONT_LEFT */
+ { 10517, 0x00000401 }, /* GL_FRONT_RIGHT */
+ { 10532, 0x00008006 }, /* GL_FUNC_ADD */
+ { 10544, 0x00008006 }, /* GL_FUNC_ADD_EXT */
+ { 10560, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */
+ { 10585, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */
+ { 10614, 0x0000800A }, /* GL_FUNC_SUBTRACT */
+ { 10631, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */
+ { 10652, 0x00008191 }, /* GL_GENERATE_MIPMAP */
+ { 10671, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */
+ { 10695, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */
+ { 10724, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */
+ { 10748, 0x00000206 }, /* GL_GEQUAL */
+ { 10758, 0x00008009 }, /* GL_GL_BLEND_EQUATION_RGB */
+ { 10783, 0x00008C4A }, /* GL_GL_COMPRESSED_SLUMINANCE */
+ { 10811, 0x00008C4B }, /* GL_GL_COMPRESSED_SLUMINANCE_ALPHA */
+ { 10845, 0x00008C48 }, /* GL_GL_COMPRESSED_SRGB */
+ { 10867, 0x00008C49 }, /* GL_GL_COMPRESSED_SRGB_ALPHA */
+ { 10895, 0x0000845F }, /* GL_GL_CURRENT_RASTER_SECONDARY_COLOR */
+ { 10932, 0x00008B65 }, /* GL_GL_FLOAT_MAT2x3 */
+ { 10951, 0x00008B66 }, /* GL_GL_FLOAT_MAT2x4 */
+ { 10970, 0x00008B67 }, /* GL_GL_FLOAT_MAT3x2 */
+ { 10989, 0x00008B68 }, /* GL_GL_FLOAT_MAT3x4 */
+ { 11008, 0x00008B69 }, /* GL_GL_FLOAT_MAT4x2 */
+ { 11027, 0x00008B6A }, /* GL_GL_FLOAT_MAT4x3 */
+ { 11046, 0x000088EB }, /* GL_GL_PIXEL_PACK_BUFFER */
+ { 11070, 0x000088ED }, /* GL_GL_PIXEL_PACK_BUFFER_BINDING */
+ { 11102, 0x000088EC }, /* GL_GL_PIXEL_UNPACK_BUFFER */
+ { 11128, 0x000088EF }, /* GL_GL_PIXEL_UNPACK_BUFFER_BINDING */
+ { 11162, 0x00008C46 }, /* GL_GL_SLUMINANCE */
+ { 11179, 0x00008C47 }, /* GL_GL_SLUMINANCE8 */
+ { 11197, 0x00008C45 }, /* GL_GL_SLUMINANCE8_ALPHA8 */
+ { 11222, 0x00008C44 }, /* GL_GL_SLUMINANCE_ALPHA */
+ { 11245, 0x00008C40 }, /* GL_GL_SRGB */
+ { 11256, 0x00008C41 }, /* GL_GL_SRGB8 */
+ { 11268, 0x00008C43 }, /* GL_GL_SRGB8_ALPHA8 */
+ { 11287, 0x00008C42 }, /* GL_GL_SRGB_ALPHA */
+ { 11304, 0x00000204 }, /* GL_GREATER */
+ { 11315, 0x00001904 }, /* GL_GREEN */
+ { 11324, 0x00000D19 }, /* GL_GREEN_BIAS */
+ { 11338, 0x00000D53 }, /* GL_GREEN_BITS */
+ { 11352, 0x00000D18 }, /* GL_GREEN_SCALE */
+ { 11367, 0x00008000 }, /* GL_HINT_BIT */
+ { 11379, 0x00008024 }, /* GL_HISTOGRAM */
+ { 11392, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */
+ { 11416, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */
+ { 11444, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */
+ { 11467, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */
+ { 11494, 0x00008024 }, /* GL_HISTOGRAM_EXT */
+ { 11511, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */
+ { 11531, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */
+ { 11555, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */
+ { 11579, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */
+ { 11607, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */
+ { 11635, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */
+ { 11667, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */
+ { 11689, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */
+ { 11715, 0x0000802D }, /* GL_HISTOGRAM_SINK */
+ { 11733, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */
+ { 11755, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */
+ { 11774, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */
+ { 11797, 0x0000862A }, /* GL_IDENTITY_NV */
+ { 11812, 0x00008150 }, /* GL_IGNORE_BORDER_HP */
+ { 11832, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
+ { 11872, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
+ { 11910, 0x00001E02 }, /* GL_INCR */
+ { 11918, 0x00008507 }, /* GL_INCR_WRAP */
+ { 11931, 0x00008507 }, /* GL_INCR_WRAP_EXT */
+ { 11948, 0x00008077 }, /* GL_INDEX_ARRAY */
+ { 11963, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */
+ { 11993, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */
+ { 12027, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */
+ { 12050, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */
+ { 12072, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */
+ { 12092, 0x00000D51 }, /* GL_INDEX_BITS */
+ { 12106, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */
+ { 12127, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */
+ { 12145, 0x00000C30 }, /* GL_INDEX_MODE */
+ { 12159, 0x00000D13 }, /* GL_INDEX_OFFSET */
+ { 12175, 0x00000D12 }, /* GL_INDEX_SHIFT */
+ { 12190, 0x00000C21 }, /* GL_INDEX_WRITEMASK */
+ { 12209, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */
+ { 12228, 0x00001404 }, /* GL_INT */
+ { 12235, 0x00008049 }, /* GL_INTENSITY */
+ { 12248, 0x0000804C }, /* GL_INTENSITY12 */
+ { 12263, 0x0000804C }, /* GL_INTENSITY12_EXT */
+ { 12282, 0x0000804D }, /* GL_INTENSITY16 */
+ { 12297, 0x0000804D }, /* GL_INTENSITY16_EXT */
+ { 12316, 0x0000804A }, /* GL_INTENSITY4 */
+ { 12330, 0x0000804A }, /* GL_INTENSITY4_EXT */
+ { 12348, 0x0000804B }, /* GL_INTENSITY8 */
+ { 12362, 0x0000804B }, /* GL_INTENSITY8_EXT */
+ { 12380, 0x00008049 }, /* GL_INTENSITY_EXT */
+ { 12397, 0x00008575 }, /* GL_INTERPOLATE */
+ { 12412, 0x00008575 }, /* GL_INTERPOLATE_ARB */
+ { 12431, 0x00008575 }, /* GL_INTERPOLATE_EXT */
+ { 12450, 0x00008B53 }, /* GL_INT_VEC2 */
+ { 12462, 0x00008B53 }, /* GL_INT_VEC2_ARB */
+ { 12478, 0x00008B54 }, /* GL_INT_VEC3 */
+ { 12490, 0x00008B54 }, /* GL_INT_VEC3_ARB */
+ { 12506, 0x00008B55 }, /* GL_INT_VEC4 */
+ { 12518, 0x00008B55 }, /* GL_INT_VEC4_ARB */
+ { 12534, 0x00000500 }, /* GL_INVALID_ENUM */
+ { 12550, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */
+ { 12587, 0x00000502 }, /* GL_INVALID_OPERATION */
+ { 12608, 0x00000501 }, /* GL_INVALID_VALUE */
+ { 12625, 0x0000862B }, /* GL_INVERSE_NV */
+ { 12639, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */
+ { 12663, 0x0000150A }, /* GL_INVERT */
+ { 12673, 0x00001E00 }, /* GL_KEEP */
+ { 12681, 0x00000406 }, /* GL_LEFT */
+ { 12689, 0x00000203 }, /* GL_LEQUAL */
+ { 12699, 0x00000201 }, /* GL_LESS */
+ { 12707, 0x00004000 }, /* GL_LIGHT0 */
+ { 12717, 0x00004001 }, /* GL_LIGHT1 */
+ { 12727, 0x00004002 }, /* GL_LIGHT2 */
+ { 12737, 0x00004003 }, /* GL_LIGHT3 */
+ { 12747, 0x00004004 }, /* GL_LIGHT4 */
+ { 12757, 0x00004005 }, /* GL_LIGHT5 */
+ { 12767, 0x00004006 }, /* GL_LIGHT6 */
+ { 12777, 0x00004007 }, /* GL_LIGHT7 */
+ { 12787, 0x00000B50 }, /* GL_LIGHTING */
+ { 12799, 0x00000040 }, /* GL_LIGHTING_BIT */
+ { 12815, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */
+ { 12838, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */
+ { 12867, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */
+ { 12900, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
+ { 12928, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */
+ { 12952, 0x00001B01 }, /* GL_LINE */
+ { 12960, 0x00002601 }, /* GL_LINEAR */
+ { 12970, 0x00001208 }, /* GL_LINEAR_ATTENUATION */
+ { 12992, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
+ { 13022, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
+ { 13053, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */
+ { 13077, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */
+ { 13102, 0x00000001 }, /* GL_LINES */
+ { 13111, 0x00000004 }, /* GL_LINE_BIT */
+ { 13123, 0x00000002 }, /* GL_LINE_LOOP */
+ { 13136, 0x00000707 }, /* GL_LINE_RESET_TOKEN */
+ { 13156, 0x00000B20 }, /* GL_LINE_SMOOTH */
+ { 13171, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */
+ { 13191, 0x00000B24 }, /* GL_LINE_STIPPLE */
+ { 13207, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */
+ { 13231, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */
+ { 13254, 0x00000003 }, /* GL_LINE_STRIP */
+ { 13268, 0x00000702 }, /* GL_LINE_TOKEN */
+ { 13282, 0x00000B21 }, /* GL_LINE_WIDTH */
+ { 13296, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */
+ { 13322, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */
+ { 13342, 0x00008B82 }, /* GL_LINK_STATUS */
+ { 13357, 0x00000B32 }, /* GL_LIST_BASE */
+ { 13370, 0x00020000 }, /* GL_LIST_BIT */
+ { 13382, 0x00000B33 }, /* GL_LIST_INDEX */
+ { 13396, 0x00000B30 }, /* GL_LIST_MODE */
+ { 13409, 0x00000101 }, /* GL_LOAD */
+ { 13417, 0x00000BF1 }, /* GL_LOGIC_OP */
+ { 13429, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */
+ { 13446, 0x00008CA1 }, /* GL_LOWER_LEFT */
+ { 13460, 0x00001909 }, /* GL_LUMINANCE */
+ { 13473, 0x00008041 }, /* GL_LUMINANCE12 */
+ { 13488, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */
+ { 13511, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */
+ { 13538, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */
+ { 13560, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */
+ { 13586, 0x00008041 }, /* GL_LUMINANCE12_EXT */
+ { 13605, 0x00008042 }, /* GL_LUMINANCE16 */
+ { 13620, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */
+ { 13643, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */
+ { 13670, 0x00008042 }, /* GL_LUMINANCE16_EXT */
+ { 13689, 0x0000803F }, /* GL_LUMINANCE4 */
+ { 13703, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */
+ { 13724, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */
+ { 13749, 0x0000803F }, /* GL_LUMINANCE4_EXT */
+ { 13767, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */
+ { 13788, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */
+ { 13813, 0x00008040 }, /* GL_LUMINANCE8 */
+ { 13827, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */
+ { 13848, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */
+ { 13873, 0x00008040 }, /* GL_LUMINANCE8_EXT */
+ { 13891, 0x0000190A }, /* GL_LUMINANCE_ALPHA */
+ { 13910, 0x00000D90 }, /* GL_MAP1_COLOR_4 */
+ { 13926, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */
+ { 13946, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */
+ { 13968, 0x00000D91 }, /* GL_MAP1_INDEX */
+ { 13982, 0x00000D92 }, /* GL_MAP1_NORMAL */
+ { 13997, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */
+ { 14021, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */
+ { 14045, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */
+ { 14069, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */
+ { 14093, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */
+ { 14110, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */
+ { 14127, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
+ { 14155, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
+ { 14184, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
+ { 14213, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
+ { 14242, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
+ { 14271, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
+ { 14300, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
+ { 14329, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
+ { 14357, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
+ { 14385, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
+ { 14413, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
+ { 14441, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
+ { 14469, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
+ { 14497, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
+ { 14525, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
+ { 14553, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
+ { 14581, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */
+ { 14597, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */
+ { 14617, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */
+ { 14639, 0x00000DB1 }, /* GL_MAP2_INDEX */
+ { 14653, 0x00000DB2 }, /* GL_MAP2_NORMAL */
+ { 14668, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */
+ { 14692, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */
+ { 14716, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */
+ { 14740, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */
+ { 14764, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */
+ { 14781, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */
+ { 14798, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
+ { 14826, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
+ { 14855, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
+ { 14884, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
+ { 14913, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
+ { 14942, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
+ { 14971, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
+ { 15000, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
+ { 15028, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
+ { 15056, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
+ { 15084, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
+ { 15112, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
+ { 15140, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
+ { 15168, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */
+ { 15196, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
+ { 15224, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
+ { 15252, 0x00000D10 }, /* GL_MAP_COLOR */
+ { 15265, 0x00000D11 }, /* GL_MAP_STENCIL */
+ { 15280, 0x000088C0 }, /* GL_MATRIX0_ARB */
+ { 15295, 0x00008630 }, /* GL_MATRIX0_NV */
+ { 15309, 0x000088CA }, /* GL_MATRIX10_ARB */
+ { 15325, 0x000088CB }, /* GL_MATRIX11_ARB */
+ { 15341, 0x000088CC }, /* GL_MATRIX12_ARB */
+ { 15357, 0x000088CD }, /* GL_MATRIX13_ARB */
+ { 15373, 0x000088CE }, /* GL_MATRIX14_ARB */
+ { 15389, 0x000088CF }, /* GL_MATRIX15_ARB */
+ { 15405, 0x000088D0 }, /* GL_MATRIX16_ARB */
+ { 15421, 0x000088D1 }, /* GL_MATRIX17_ARB */
+ { 15437, 0x000088D2 }, /* GL_MATRIX18_ARB */
+ { 15453, 0x000088D3 }, /* GL_MATRIX19_ARB */
+ { 15469, 0x000088C1 }, /* GL_MATRIX1_ARB */
+ { 15484, 0x00008631 }, /* GL_MATRIX1_NV */
+ { 15498, 0x000088D4 }, /* GL_MATRIX20_ARB */
+ { 15514, 0x000088D5 }, /* GL_MATRIX21_ARB */
+ { 15530, 0x000088D6 }, /* GL_MATRIX22_ARB */
+ { 15546, 0x000088D7 }, /* GL_MATRIX23_ARB */
+ { 15562, 0x000088D8 }, /* GL_MATRIX24_ARB */
+ { 15578, 0x000088D9 }, /* GL_MATRIX25_ARB */
+ { 15594, 0x000088DA }, /* GL_MATRIX26_ARB */
+ { 15610, 0x000088DB }, /* GL_MATRIX27_ARB */
+ { 15626, 0x000088DC }, /* GL_MATRIX28_ARB */
+ { 15642, 0x000088DD }, /* GL_MATRIX29_ARB */
+ { 15658, 0x000088C2 }, /* GL_MATRIX2_ARB */
+ { 15673, 0x00008632 }, /* GL_MATRIX2_NV */
+ { 15687, 0x000088DE }, /* GL_MATRIX30_ARB */
+ { 15703, 0x000088DF }, /* GL_MATRIX31_ARB */
+ { 15719, 0x000088C3 }, /* GL_MATRIX3_ARB */
+ { 15734, 0x00008633 }, /* GL_MATRIX3_NV */
+ { 15748, 0x000088C4 }, /* GL_MATRIX4_ARB */
+ { 15763, 0x00008634 }, /* GL_MATRIX4_NV */
+ { 15777, 0x000088C5 }, /* GL_MATRIX5_ARB */
+ { 15792, 0x00008635 }, /* GL_MATRIX5_NV */
+ { 15806, 0x000088C6 }, /* GL_MATRIX6_ARB */
+ { 15821, 0x00008636 }, /* GL_MATRIX6_NV */
+ { 15835, 0x000088C7 }, /* GL_MATRIX7_ARB */
+ { 15850, 0x00008637 }, /* GL_MATRIX7_NV */
+ { 15864, 0x000088C8 }, /* GL_MATRIX8_ARB */
+ { 15879, 0x000088C9 }, /* GL_MATRIX9_ARB */
+ { 15894, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */
+ { 15920, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
+ { 15954, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
+ { 15985, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
+ { 16018, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
+ { 16049, 0x00000BA0 }, /* GL_MATRIX_MODE */
+ { 16064, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */
+ { 16086, 0x00008008 }, /* GL_MAX */
+ { 16093, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */
+ { 16116, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
+ { 16148, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */
+ { 16174, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
+ { 16207, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
+ { 16233, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+ { 16267, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */
+ { 16286, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
+ { 16315, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
+ { 16347, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */
+ { 16383, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
+ { 16419, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */
+ { 16459, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */
+ { 16485, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */
+ { 16515, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */
+ { 16540, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */
+ { 16569, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
+ { 16598, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */
+ { 16631, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */
+ { 16651, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */
+ { 16675, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */
+ { 16699, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */
+ { 16723, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */
+ { 16748, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */
+ { 16766, 0x00008008 }, /* GL_MAX_EXT */
+ { 16777, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
+ { 16812, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */
+ { 16851, 0x00000D31 }, /* GL_MAX_LIGHTS */
+ { 16865, 0x00000B31 }, /* GL_MAX_LIST_NESTING */
+ { 16885, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
+ { 16923, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */
+ { 16952, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */
+ { 16976, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */
+ { 17004, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */
+ { 17027, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
+ { 17064, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
+ { 17100, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
+ { 17127, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
+ { 17156, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
+ { 17190, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
+ { 17226, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
+ { 17253, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
+ { 17285, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
+ { 17321, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
+ { 17350, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
+ { 17379, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */
+ { 17407, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
+ { 17445, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+ { 17489, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+ { 17532, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
+ { 17566, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+ { 17605, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
+ { 17642, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
+ { 17680, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+ { 17723, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+ { 17766, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
+ { 17796, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
+ { 17827, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
+ { 17863, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
+ { 17899, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */
+ { 17929, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
+ { 17963, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */
+ { 17996, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
+ { 18025, 0x00008504 }, /* GL_MAX_SHININESS_NV */
+ { 18045, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */
+ { 18069, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */
+ { 18091, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */
+ { 18117, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */
+ { 18144, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */
+ { 18175, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */
+ { 18199, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
+ { 18233, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */
+ { 18253, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */
+ { 18280, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */
+ { 18301, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */
+ { 18326, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */
+ { 18351, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */
+ { 18386, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */
+ { 18408, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */
+ { 18434, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */
+ { 18456, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */
+ { 18482, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
+ { 18516, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */
+ { 18554, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
+ { 18587, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */
+ { 18624, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */
+ { 18648, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */
+ { 18669, 0x00008007 }, /* GL_MIN */
+ { 18676, 0x0000802E }, /* GL_MINMAX */
+ { 18686, 0x0000802E }, /* GL_MINMAX_EXT */
+ { 18700, 0x0000802F }, /* GL_MINMAX_FORMAT */
+ { 18717, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */
+ { 18738, 0x00008030 }, /* GL_MINMAX_SINK */
+ { 18753, 0x00008030 }, /* GL_MINMAX_SINK_EXT */
+ { 18772, 0x00008007 }, /* GL_MIN_EXT */
+ { 18783, 0x00008370 }, /* GL_MIRRORED_REPEAT */
+ { 18802, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */
+ { 18825, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */
+ { 18848, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */
+ { 18868, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */
+ { 18888, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
+ { 18918, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */
+ { 18946, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
+ { 18974, 0x00001700 }, /* GL_MODELVIEW */
+ { 18987, 0x00001700 }, /* GL_MODELVIEW0_ARB */
+ { 19005, 0x0000872A }, /* GL_MODELVIEW10_ARB */
+ { 19024, 0x0000872B }, /* GL_MODELVIEW11_ARB */
+ { 19043, 0x0000872C }, /* GL_MODELVIEW12_ARB */
+ { 19062, 0x0000872D }, /* GL_MODELVIEW13_ARB */
+ { 19081, 0x0000872E }, /* GL_MODELVIEW14_ARB */
+ { 19100, 0x0000872F }, /* GL_MODELVIEW15_ARB */
+ { 19119, 0x00008730 }, /* GL_MODELVIEW16_ARB */
+ { 19138, 0x00008731 }, /* GL_MODELVIEW17_ARB */
+ { 19157, 0x00008732 }, /* GL_MODELVIEW18_ARB */
+ { 19176, 0x00008733 }, /* GL_MODELVIEW19_ARB */
+ { 19195, 0x0000850A }, /* GL_MODELVIEW1_ARB */
+ { 19213, 0x00008734 }, /* GL_MODELVIEW20_ARB */
+ { 19232, 0x00008735 }, /* GL_MODELVIEW21_ARB */
+ { 19251, 0x00008736 }, /* GL_MODELVIEW22_ARB */
+ { 19270, 0x00008737 }, /* GL_MODELVIEW23_ARB */
+ { 19289, 0x00008738 }, /* GL_MODELVIEW24_ARB */
+ { 19308, 0x00008739 }, /* GL_MODELVIEW25_ARB */
+ { 19327, 0x0000873A }, /* GL_MODELVIEW26_ARB */
+ { 19346, 0x0000873B }, /* GL_MODELVIEW27_ARB */
+ { 19365, 0x0000873C }, /* GL_MODELVIEW28_ARB */
+ { 19384, 0x0000873D }, /* GL_MODELVIEW29_ARB */
+ { 19403, 0x00008722 }, /* GL_MODELVIEW2_ARB */
+ { 19421, 0x0000873E }, /* GL_MODELVIEW30_ARB */
+ { 19440, 0x0000873F }, /* GL_MODELVIEW31_ARB */
+ { 19459, 0x00008723 }, /* GL_MODELVIEW3_ARB */
+ { 19477, 0x00008724 }, /* GL_MODELVIEW4_ARB */
+ { 19495, 0x00008725 }, /* GL_MODELVIEW5_ARB */
+ { 19513, 0x00008726 }, /* GL_MODELVIEW6_ARB */
+ { 19531, 0x00008727 }, /* GL_MODELVIEW7_ARB */
+ { 19549, 0x00008728 }, /* GL_MODELVIEW8_ARB */
+ { 19567, 0x00008729 }, /* GL_MODELVIEW9_ARB */
+ { 19585, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */
+ { 19605, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */
+ { 19632, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */
+ { 19657, 0x00002100 }, /* GL_MODULATE */
+ { 19669, 0x00008744 }, /* GL_MODULATE_ADD_ATI */
+ { 19689, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */
+ { 19716, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */
+ { 19741, 0x00000103 }, /* GL_MULT */
+ { 19749, 0x0000809D }, /* GL_MULTISAMPLE */
+ { 19764, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */
+ { 19784, 0x0000809D }, /* GL_MULTISAMPLE_ARB */
+ { 19803, 0x20000000 }, /* GL_MULTISAMPLE_BIT */
+ { 19822, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */
+ { 19846, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */
+ { 19869, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */
+ { 19899, 0x00002A25 }, /* GL_N3F_V3F */
+ { 19910, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */
+ { 19930, 0x0000150E }, /* GL_NAND */
+ { 19938, 0x00002600 }, /* GL_NEAREST */
+ { 19949, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
+ { 19980, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
+ { 20012, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */
+ { 20037, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */
+ { 20063, 0x00000200 }, /* GL_NEVER */
+ { 20072, 0x00001102 }, /* GL_NICEST */
+ { 20082, 0x00000000 }, /* GL_NONE */
+ { 20090, 0x00001505 }, /* GL_NOOP */
+ { 20098, 0x00001508 }, /* GL_NOR */
+ { 20105, 0x00000BA1 }, /* GL_NORMALIZE */
+ { 20118, 0x00008075 }, /* GL_NORMAL_ARRAY */
+ { 20134, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
+ { 20165, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */
+ { 20200, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */
+ { 20224, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */
+ { 20247, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */
+ { 20268, 0x00008511 }, /* GL_NORMAL_MAP */
+ { 20282, 0x00008511 }, /* GL_NORMAL_MAP_ARB */
+ { 20300, 0x00008511 }, /* GL_NORMAL_MAP_NV */
+ { 20317, 0x00000205 }, /* GL_NOTEQUAL */
+ { 20329, 0x00000000 }, /* GL_NO_ERROR */
+ { 20341, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
+ { 20375, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */
+ { 20413, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */
+ { 20445, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */
+ { 20487, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */
+ { 20517, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */
+ { 20557, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */
+ { 20588, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */
+ { 20617, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */
+ { 20645, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */
+ { 20675, 0x00002401 }, /* GL_OBJECT_LINEAR */
+ { 20692, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */
+ { 20718, 0x00002501 }, /* GL_OBJECT_PLANE */
+ { 20734, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */
+ { 20769, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */
+ { 20791, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */
+ { 20810, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */
+ { 20840, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */
+ { 20861, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */
+ { 20889, 0x00000001 }, /* GL_ONE */
+ { 20896, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */
+ { 20924, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */
+ { 20956, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */
+ { 20984, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */
+ { 21016, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */
+ { 21039, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */
+ { 21062, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */
+ { 21085, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */
+ { 21108, 0x00008598 }, /* GL_OPERAND0_ALPHA */
+ { 21126, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */
+ { 21148, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */
+ { 21170, 0x00008590 }, /* GL_OPERAND0_RGB */
+ { 21186, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */
+ { 21206, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */
+ { 21226, 0x00008599 }, /* GL_OPERAND1_ALPHA */
+ { 21244, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */
+ { 21266, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */
+ { 21288, 0x00008591 }, /* GL_OPERAND1_RGB */
+ { 21304, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */
+ { 21324, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */
+ { 21344, 0x0000859A }, /* GL_OPERAND2_ALPHA */
+ { 21362, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */
+ { 21384, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */
+ { 21406, 0x00008592 }, /* GL_OPERAND2_RGB */
+ { 21422, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */
+ { 21442, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */
+ { 21462, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */
+ { 21483, 0x00008593 }, /* GL_OPERAND3_RGB_NV */
+ { 21502, 0x00001507 }, /* GL_OR */
+ { 21508, 0x00000A01 }, /* GL_ORDER */
+ { 21517, 0x0000150D }, /* GL_OR_INVERTED */
+ { 21532, 0x0000150B }, /* GL_OR_REVERSE */
+ { 21546, 0x00000505 }, /* GL_OUT_OF_MEMORY */
+ { 21563, 0x00000D05 }, /* GL_PACK_ALIGNMENT */
+ { 21581, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */
+ { 21602, 0x00008758 }, /* GL_PACK_INVERT_MESA */
+ { 21622, 0x00000D01 }, /* GL_PACK_LSB_FIRST */
+ { 21640, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */
+ { 21659, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */
+ { 21679, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */
+ { 21699, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */
+ { 21717, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */
+ { 21736, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */
+ { 21761, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */
+ { 21785, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */
+ { 21806, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */
+ { 21828, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */
+ { 21850, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */
+ { 21875, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */
+ { 21899, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */
+ { 21920, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */
+ { 21942, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */
+ { 21964, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */
+ { 21986, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */
+ { 22017, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */
+ { 22037, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */
+ { 22062, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */
+ { 22082, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */
+ { 22107, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */
+ { 22127, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */
+ { 22152, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */
+ { 22172, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */
+ { 22197, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */
+ { 22217, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */
+ { 22242, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */
+ { 22262, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */
+ { 22287, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */
+ { 22307, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */
+ { 22332, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */
+ { 22352, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */
+ { 22377, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */
+ { 22397, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */
+ { 22422, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */
+ { 22442, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */
+ { 22467, 0x00000020 }, /* GL_PIXEL_MODE_BIT */
+ { 22485, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */
+ { 22518, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */
+ { 22543, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */
+ { 22578, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */
+ { 22605, 0x00001B00 }, /* GL_POINT */
+ { 22614, 0x00000000 }, /* GL_POINTS */
+ { 22624, 0x00000002 }, /* GL_POINT_BIT */
+ { 22637, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */
+ { 22667, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */
+ { 22701, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */
+ { 22735, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */
+ { 22770, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */
+ { 22799, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */
+ { 22832, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */
+ { 22865, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */
+ { 22899, 0x00000B11 }, /* GL_POINT_SIZE */
+ { 22913, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */
+ { 22939, 0x00008127 }, /* GL_POINT_SIZE_MAX */
+ { 22957, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */
+ { 22979, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */
+ { 23001, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */
+ { 23024, 0x00008126 }, /* GL_POINT_SIZE_MIN */
+ { 23042, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */
+ { 23064, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */
+ { 23086, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */
+ { 23109, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */
+ { 23129, 0x00000B10 }, /* GL_POINT_SMOOTH */
+ { 23145, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */
+ { 23166, 0x00008861 }, /* GL_POINT_SPRITE */
+ { 23182, 0x00008861 }, /* GL_POINT_SPRITE_ARB */
+ { 23202, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */
+ { 23231, 0x00008861 }, /* GL_POINT_SPRITE_NV */
+ { 23250, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */
+ { 23276, 0x00000701 }, /* GL_POINT_TOKEN */
+ { 23291, 0x00000009 }, /* GL_POLYGON */
+ { 23302, 0x00000008 }, /* GL_POLYGON_BIT */
+ { 23317, 0x00000B40 }, /* GL_POLYGON_MODE */
+ { 23333, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */
+ { 23356, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */
+ { 23381, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */
+ { 23404, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */
+ { 23427, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */
+ { 23451, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */
+ { 23475, 0x00000B41 }, /* GL_POLYGON_SMOOTH */
+ { 23493, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */
+ { 23516, 0x00000B42 }, /* GL_POLYGON_STIPPLE */
+ { 23535, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */
+ { 23558, 0x00000703 }, /* GL_POLYGON_TOKEN */
+ { 23575, 0x00001203 }, /* GL_POSITION */
+ { 23587, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
+ { 23619, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */
+ { 23655, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
+ { 23688, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */
+ { 23725, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
+ { 23756, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */
+ { 23791, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
+ { 23823, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */
+ { 23859, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
+ { 23892, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
+ { 23924, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */
+ { 23960, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
+ { 23993, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */
+ { 24030, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */
+ { 24060, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */
+ { 24094, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */
+ { 24125, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */
+ { 24160, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
+ { 24191, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */
+ { 24226, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
+ { 24258, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */
+ { 24294, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */
+ { 24324, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */
+ { 24358, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */
+ { 24389, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */
+ { 24424, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */
+ { 24456, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */
+ { 24487, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */
+ { 24522, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */
+ { 24554, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */
+ { 24590, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */
+ { 24619, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */
+ { 24652, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */
+ { 24682, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */
+ { 24716, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
+ { 24755, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
+ { 24788, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
+ { 24828, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
+ { 24862, 0x00008578 }, /* GL_PREVIOUS */
+ { 24874, 0x00008578 }, /* GL_PREVIOUS_ARB */
+ { 24890, 0x00008578 }, /* GL_PREVIOUS_EXT */
+ { 24906, 0x00008577 }, /* GL_PRIMARY_COLOR */
+ { 24923, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */
+ { 24944, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */
+ { 24965, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
+ { 24998, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
+ { 25030, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */
+ { 25053, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */
+ { 25076, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */
+ { 25106, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */
+ { 25135, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */
+ { 25163, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */
+ { 25185, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */
+ { 25213, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */
+ { 25241, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */
+ { 25263, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */
+ { 25284, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+ { 25324, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+ { 25363, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
+ { 25393, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+ { 25428, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
+ { 25461, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
+ { 25495, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+ { 25534, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+ { 25573, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */
+ { 25595, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */
+ { 25621, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */
+ { 25645, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */
+ { 25668, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */
+ { 25690, 0x00008628 }, /* GL_PROGRAM_STRING_NV */
+ { 25711, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */
+ { 25732, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */
+ { 25759, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
+ { 25791, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
+ { 25823, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
+ { 25858, 0x00001701 }, /* GL_PROJECTION */
+ { 25872, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */
+ { 25893, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */
+ { 25919, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */
+ { 25940, 0x00008025 }, /* GL_PROXY_HISTOGRAM */
+ { 25959, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */
+ { 25982, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
+ { 26021, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
+ { 26059, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */
+ { 26079, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
+ { 26109, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */
+ { 26133, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */
+ { 26153, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
+ { 26183, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */
+ { 26207, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */
+ { 26227, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
+ { 26260, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */
+ { 26286, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */
+ { 26316, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
+ { 26347, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */
+ { 26377, 0x00002003 }, /* GL_Q */
+ { 26382, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */
+ { 26407, 0x00000007 }, /* GL_QUADS */
+ { 26416, 0x00008614 }, /* GL_QUAD_MESH_SUN */
+ { 26433, 0x00000008 }, /* GL_QUAD_STRIP */
+ { 26447, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */
+ { 26469, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */
+ { 26495, 0x00008866 }, /* GL_QUERY_RESULT */
+ { 26511, 0x00008866 }, /* GL_QUERY_RESULT_ARB */
+ { 26531, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */
+ { 26557, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */
+ { 26587, 0x00002002 }, /* GL_R */
+ { 26592, 0x00002A10 }, /* GL_R3_G3_B2 */
+ { 26604, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
+ { 26637, 0x00000C02 }, /* GL_READ_BUFFER */
+ { 26652, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
+ { 26684, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */
+ { 26708, 0x000088B8 }, /* GL_READ_ONLY */
+ { 26721, 0x000088B8 }, /* GL_READ_ONLY_ARB */
+ { 26738, 0x000088BA }, /* GL_READ_WRITE */
+ { 26752, 0x000088BA }, /* GL_READ_WRITE_ARB */
+ { 26770, 0x00001903 }, /* GL_RED */
+ { 26777, 0x00008016 }, /* GL_REDUCE */
+ { 26787, 0x00008016 }, /* GL_REDUCE_EXT */
+ { 26801, 0x00000D15 }, /* GL_RED_BIAS */
+ { 26813, 0x00000D52 }, /* GL_RED_BITS */
+ { 26825, 0x00000D14 }, /* GL_RED_SCALE */
+ { 26838, 0x00008512 }, /* GL_REFLECTION_MAP */
+ { 26856, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */
+ { 26878, 0x00008512 }, /* GL_REFLECTION_MAP_NV */
+ { 26899, 0x00001C00 }, /* GL_RENDER */
+ { 26909, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */
+ { 26937, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */
+ { 26957, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */
+ { 26984, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */
+ { 27020, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */
+ { 27046, 0x00001F01 }, /* GL_RENDERER */
+ { 27058, 0x00000C40 }, /* GL_RENDER_MODE */
+ { 27073, 0x00002901 }, /* GL_REPEAT */
+ { 27083, 0x00001E01 }, /* GL_REPLACE */
+ { 27094, 0x00008062 }, /* GL_REPLACE_EXT */
+ { 27109, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */
+ { 27132, 0x0000803A }, /* GL_RESCALE_NORMAL */
+ { 27150, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */
+ { 27172, 0x00000102 }, /* GL_RETURN */
+ { 27182, 0x00001907 }, /* GL_RGB */
+ { 27189, 0x00008052 }, /* GL_RGB10 */
+ { 27198, 0x00008059 }, /* GL_RGB10_A2 */
+ { 27210, 0x00008059 }, /* GL_RGB10_A2_EXT */
+ { 27226, 0x00008052 }, /* GL_RGB10_EXT */
+ { 27239, 0x00008053 }, /* GL_RGB12 */
+ { 27248, 0x00008053 }, /* GL_RGB12_EXT */
+ { 27261, 0x00008054 }, /* GL_RGB16 */
+ { 27270, 0x00008054 }, /* GL_RGB16_EXT */
+ { 27283, 0x0000804E }, /* GL_RGB2_EXT */
+ { 27295, 0x0000804F }, /* GL_RGB4 */
+ { 27303, 0x0000804F }, /* GL_RGB4_EXT */
+ { 27315, 0x000083A1 }, /* GL_RGB4_S3TC */
+ { 27328, 0x00008050 }, /* GL_RGB5 */
+ { 27336, 0x00008057 }, /* GL_RGB5_A1 */
+ { 27347, 0x00008057 }, /* GL_RGB5_A1_EXT */
+ { 27362, 0x00008050 }, /* GL_RGB5_EXT */
+ { 27374, 0x00008051 }, /* GL_RGB8 */
+ { 27382, 0x00008051 }, /* GL_RGB8_EXT */
+ { 27394, 0x00001908 }, /* GL_RGBA */
+ { 27402, 0x0000805A }, /* GL_RGBA12 */
+ { 27412, 0x0000805A }, /* GL_RGBA12_EXT */
+ { 27426, 0x0000805B }, /* GL_RGBA16 */
+ { 27436, 0x0000805B }, /* GL_RGBA16_EXT */
+ { 27450, 0x00008055 }, /* GL_RGBA2 */
+ { 27459, 0x00008055 }, /* GL_RGBA2_EXT */
+ { 27472, 0x00008056 }, /* GL_RGBA4 */
+ { 27481, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */
+ { 27500, 0x00008056 }, /* GL_RGBA4_EXT */
+ { 27513, 0x000083A3 }, /* GL_RGBA4_S3TC */
+ { 27527, 0x00008058 }, /* GL_RGBA8 */
+ { 27536, 0x00008058 }, /* GL_RGBA8_EXT */
+ { 27549, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */
+ { 27567, 0x00000C31 }, /* GL_RGBA_MODE */
+ { 27580, 0x000083A2 }, /* GL_RGBA_S3TC */
+ { 27593, 0x000083A0 }, /* GL_RGB_S3TC */
+ { 27605, 0x00008573 }, /* GL_RGB_SCALE */
+ { 27618, 0x00008573 }, /* GL_RGB_SCALE_ARB */
+ { 27635, 0x00008573 }, /* GL_RGB_SCALE_EXT */
+ { 27652, 0x00000407 }, /* GL_RIGHT */
+ { 27661, 0x00002000 }, /* GL_S */
+ { 27666, 0x00008B5D }, /* GL_SAMPLER_1D */
+ { 27680, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */
+ { 27701, 0x00008B5E }, /* GL_SAMPLER_2D */
+ { 27715, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */
+ { 27736, 0x00008B5F }, /* GL_SAMPLER_3D */
+ { 27750, 0x00008B60 }, /* GL_SAMPLER_CUBE */
+ { 27766, 0x000080A9 }, /* GL_SAMPLES */
+ { 27777, 0x000086B4 }, /* GL_SAMPLES_3DFX */
+ { 27793, 0x000080A9 }, /* GL_SAMPLES_ARB */
+ { 27808, 0x00008914 }, /* GL_SAMPLES_PASSED */
+ { 27826, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */
+ { 27848, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
+ { 27876, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */
+ { 27908, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */
+ { 27931, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */
+ { 27958, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */
+ { 27976, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */
+ { 27999, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */
+ { 28021, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */
+ { 28040, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */
+ { 28063, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */
+ { 28089, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */
+ { 28119, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */
+ { 28144, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */
+ { 28173, 0x00080000 }, /* GL_SCISSOR_BIT */
+ { 28188, 0x00000C10 }, /* GL_SCISSOR_BOX */
+ { 28203, 0x00000C11 }, /* GL_SCISSOR_TEST */
+ { 28219, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */
+ { 28244, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
+ { 28284, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */
+ { 28328, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
+ { 28361, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
+ { 28391, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
+ { 28423, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
+ { 28453, 0x00001C02 }, /* GL_SELECT */
+ { 28463, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */
+ { 28491, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */
+ { 28516, 0x00008012 }, /* GL_SEPARABLE_2D */
+ { 28532, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */
+ { 28559, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */
+ { 28590, 0x0000150F }, /* GL_SET */
+ { 28597, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */
+ { 28618, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */
+ { 28642, 0x00008B4F }, /* GL_SHADER_TYPE */
+ { 28657, 0x00000B54 }, /* GL_SHADE_MODEL */
+ { 28672, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */
+ { 28700, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */
+ { 28723, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */
+ { 28753, 0x00001601 }, /* GL_SHININESS */
+ { 28766, 0x00001402 }, /* GL_SHORT */
+ { 28775, 0x000081F9 }, /* GL_SINGLE_COLOR */
+ { 28791, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */
+ { 28811, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */
+ { 28830, 0x00001D01 }, /* GL_SMOOTH */
+ { 28840, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */
+ { 28873, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */
+ { 28900, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */
+ { 28933, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */
+ { 28960, 0x00008588 }, /* GL_SOURCE0_ALPHA */
+ { 28977, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */
+ { 28998, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */
+ { 29019, 0x00008580 }, /* GL_SOURCE0_RGB */
+ { 29034, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */
+ { 29053, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */
+ { 29072, 0x00008589 }, /* GL_SOURCE1_ALPHA */
+ { 29089, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */
+ { 29110, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */
+ { 29131, 0x00008581 }, /* GL_SOURCE1_RGB */
+ { 29146, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */
+ { 29165, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */
+ { 29184, 0x0000858A }, /* GL_SOURCE2_ALPHA */
+ { 29201, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */
+ { 29222, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */
+ { 29243, 0x00008582 }, /* GL_SOURCE2_RGB */
+ { 29258, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */
+ { 29277, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */
+ { 29296, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */
+ { 29316, 0x00008583 }, /* GL_SOURCE3_RGB_NV */
+ { 29334, 0x00001202 }, /* GL_SPECULAR */
+ { 29346, 0x00002402 }, /* GL_SPHERE_MAP */
+ { 29360, 0x00001206 }, /* GL_SPOT_CUTOFF */
+ { 29375, 0x00001204 }, /* GL_SPOT_DIRECTION */
+ { 29393, 0x00001205 }, /* GL_SPOT_EXPONENT */
+ { 29410, 0x00008588 }, /* GL_SRC0_ALPHA */
+ { 29424, 0x00008580 }, /* GL_SRC0_RGB */
+ { 29436, 0x00008589 }, /* GL_SRC1_ALPHA */
+ { 29450, 0x00008581 }, /* GL_SRC1_RGB */
+ { 29462, 0x0000858A }, /* GL_SRC2_ALPHA */
+ { 29476, 0x00008582 }, /* GL_SRC2_RGB */
+ { 29488, 0x00000302 }, /* GL_SRC_ALPHA */
+ { 29501, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */
+ { 29523, 0x00000300 }, /* GL_SRC_COLOR */
+ { 29536, 0x00000503 }, /* GL_STACK_OVERFLOW */
+ { 29554, 0x00000504 }, /* GL_STACK_UNDERFLOW */
+ { 29573, 0x000088E6 }, /* GL_STATIC_COPY */
+ { 29588, 0x000088E6 }, /* GL_STATIC_COPY_ARB */
+ { 29607, 0x000088E4 }, /* GL_STATIC_DRAW */
+ { 29622, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */
+ { 29641, 0x000088E5 }, /* GL_STATIC_READ */
+ { 29656, 0x000088E5 }, /* GL_STATIC_READ_ARB */
+ { 29675, 0x00001802 }, /* GL_STENCIL */
+ { 29686, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */
+ { 29712, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */
+ { 29733, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */
+ { 29754, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
+ { 29786, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
+ { 29818, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */
+ { 29838, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */
+ { 29865, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */
+ { 29891, 0x00000D57 }, /* GL_STENCIL_BITS */
+ { 29907, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */
+ { 29929, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */
+ { 29952, 0x00000B94 }, /* GL_STENCIL_FAIL */
+ { 29968, 0x00000B92 }, /* GL_STENCIL_FUNC */
+ { 29984, 0x00001901 }, /* GL_STENCIL_INDEX */
+ { 30001, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */
+ { 30024, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */
+ { 30046, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */
+ { 30068, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */
+ { 30090, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */
+ { 30111, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */
+ { 30138, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */
+ { 30165, 0x00000B97 }, /* GL_STENCIL_REF */
+ { 30180, 0x00000B90 }, /* GL_STENCIL_TEST */
+ { 30196, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
+ { 30225, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */
+ { 30247, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */
+ { 30268, 0x00000C33 }, /* GL_STEREO */
+ { 30278, 0x000088E2 }, /* GL_STREAM_COPY */
+ { 30293, 0x000088E2 }, /* GL_STREAM_COPY_ARB */
+ { 30312, 0x000088E0 }, /* GL_STREAM_DRAW */
+ { 30327, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */
+ { 30346, 0x000088E1 }, /* GL_STREAM_READ */
+ { 30361, 0x000088E1 }, /* GL_STREAM_READ_ARB */
+ { 30380, 0x00000D50 }, /* GL_SUBPIXEL_BITS */
+ { 30397, 0x000084E7 }, /* GL_SUBTRACT */
+ { 30409, 0x000084E7 }, /* GL_SUBTRACT_ARB */
+ { 30425, 0x00002001 }, /* GL_T */
+ { 30430, 0x00002A2A }, /* GL_T2F_C3F_V3F */
+ { 30445, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */
+ { 30464, 0x00002A29 }, /* GL_T2F_C4UB_V3F */
+ { 30480, 0x00002A2B }, /* GL_T2F_N3F_V3F */
+ { 30495, 0x00002A27 }, /* GL_T2F_V3F */
+ { 30506, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */
+ { 30525, 0x00002A28 }, /* GL_T4F_V4F */
+ { 30536, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */
+ { 30559, 0x00001702 }, /* GL_TEXTURE */
+ { 30570, 0x000084C0 }, /* GL_TEXTURE0 */
+ { 30582, 0x000084C0 }, /* GL_TEXTURE0_ARB */
+ { 30598, 0x000084C1 }, /* GL_TEXTURE1 */
+ { 30610, 0x000084CA }, /* GL_TEXTURE10 */
+ { 30623, 0x000084CA }, /* GL_TEXTURE10_ARB */
+ { 30640, 0x000084CB }, /* GL_TEXTURE11 */
+ { 30653, 0x000084CB }, /* GL_TEXTURE11_ARB */
+ { 30670, 0x000084CC }, /* GL_TEXTURE12 */
+ { 30683, 0x000084CC }, /* GL_TEXTURE12_ARB */
+ { 30700, 0x000084CD }, /* GL_TEXTURE13 */
+ { 30713, 0x000084CD }, /* GL_TEXTURE13_ARB */
+ { 30730, 0x000084CE }, /* GL_TEXTURE14 */
+ { 30743, 0x000084CE }, /* GL_TEXTURE14_ARB */
+ { 30760, 0x000084CF }, /* GL_TEXTURE15 */
+ { 30773, 0x000084CF }, /* GL_TEXTURE15_ARB */
+ { 30790, 0x000084D0 }, /* GL_TEXTURE16 */
+ { 30803, 0x000084D0 }, /* GL_TEXTURE16_ARB */
+ { 30820, 0x000084D1 }, /* GL_TEXTURE17 */
+ { 30833, 0x000084D1 }, /* GL_TEXTURE17_ARB */
+ { 30850, 0x000084D2 }, /* GL_TEXTURE18 */
+ { 30863, 0x000084D2 }, /* GL_TEXTURE18_ARB */
+ { 30880, 0x000084D3 }, /* GL_TEXTURE19 */
+ { 30893, 0x000084D3 }, /* GL_TEXTURE19_ARB */
+ { 30910, 0x000084C1 }, /* GL_TEXTURE1_ARB */
+ { 30926, 0x000084C2 }, /* GL_TEXTURE2 */
+ { 30938, 0x000084D4 }, /* GL_TEXTURE20 */
+ { 30951, 0x000084D4 }, /* GL_TEXTURE20_ARB */
+ { 30968, 0x000084D5 }, /* GL_TEXTURE21 */
+ { 30981, 0x000084D5 }, /* GL_TEXTURE21_ARB */
+ { 30998, 0x000084D6 }, /* GL_TEXTURE22 */
+ { 31011, 0x000084D6 }, /* GL_TEXTURE22_ARB */
+ { 31028, 0x000084D7 }, /* GL_TEXTURE23 */
+ { 31041, 0x000084D7 }, /* GL_TEXTURE23_ARB */
+ { 31058, 0x000084D8 }, /* GL_TEXTURE24 */
+ { 31071, 0x000084D8 }, /* GL_TEXTURE24_ARB */
+ { 31088, 0x000084D9 }, /* GL_TEXTURE25 */
+ { 31101, 0x000084D9 }, /* GL_TEXTURE25_ARB */
+ { 31118, 0x000084DA }, /* GL_TEXTURE26 */
+ { 31131, 0x000084DA }, /* GL_TEXTURE26_ARB */
+ { 31148, 0x000084DB }, /* GL_TEXTURE27 */
+ { 31161, 0x000084DB }, /* GL_TEXTURE27_ARB */
+ { 31178, 0x000084DC }, /* GL_TEXTURE28 */
+ { 31191, 0x000084DC }, /* GL_TEXTURE28_ARB */
+ { 31208, 0x000084DD }, /* GL_TEXTURE29 */
+ { 31221, 0x000084DD }, /* GL_TEXTURE29_ARB */
+ { 31238, 0x000084C2 }, /* GL_TEXTURE2_ARB */
+ { 31254, 0x000084C3 }, /* GL_TEXTURE3 */
+ { 31266, 0x000084DE }, /* GL_TEXTURE30 */
+ { 31279, 0x000084DE }, /* GL_TEXTURE30_ARB */
+ { 31296, 0x000084DF }, /* GL_TEXTURE31 */
+ { 31309, 0x000084DF }, /* GL_TEXTURE31_ARB */
+ { 31326, 0x000084C3 }, /* GL_TEXTURE3_ARB */
+ { 31342, 0x000084C4 }, /* GL_TEXTURE4 */
+ { 31354, 0x000084C4 }, /* GL_TEXTURE4_ARB */
+ { 31370, 0x000084C5 }, /* GL_TEXTURE5 */
+ { 31382, 0x000084C5 }, /* GL_TEXTURE5_ARB */
+ { 31398, 0x000084C6 }, /* GL_TEXTURE6 */
+ { 31410, 0x000084C6 }, /* GL_TEXTURE6_ARB */
+ { 31426, 0x000084C7 }, /* GL_TEXTURE7 */
+ { 31438, 0x000084C7 }, /* GL_TEXTURE7_ARB */
+ { 31454, 0x000084C8 }, /* GL_TEXTURE8 */
+ { 31466, 0x000084C8 }, /* GL_TEXTURE8_ARB */
+ { 31482, 0x000084C9 }, /* GL_TEXTURE9 */
+ { 31494, 0x000084C9 }, /* GL_TEXTURE9_ARB */
+ { 31510, 0x00000DE0 }, /* GL_TEXTURE_1D */
+ { 31524, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */
+ { 31548, 0x00000DE1 }, /* GL_TEXTURE_2D */
+ { 31562, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */
+ { 31586, 0x0000806F }, /* GL_TEXTURE_3D */
+ { 31600, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */
+ { 31622, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */
+ { 31648, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */
+ { 31670, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */
+ { 31692, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
+ { 31724, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */
+ { 31746, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
+ { 31778, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */
+ { 31800, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */
+ { 31828, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */
+ { 31860, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
+ { 31893, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */
+ { 31925, 0x00040000 }, /* GL_TEXTURE_BIT */
+ { 31940, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */
+ { 31961, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */
+ { 31986, 0x00001005 }, /* GL_TEXTURE_BORDER */
+ { 32004, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */
+ { 32028, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
+ { 32059, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
+ { 32089, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
+ { 32119, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
+ { 32154, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
+ { 32185, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+ { 32223, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */
+ { 32250, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
+ { 32282, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
+ { 32316, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */
+ { 32340, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */
+ { 32368, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */
+ { 32392, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */
+ { 32420, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
+ { 32453, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */
+ { 32477, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */
+ { 32499, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */
+ { 32521, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */
+ { 32547, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */
+ { 32581, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
+ { 32614, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */
+ { 32651, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */
+ { 32679, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */
+ { 32711, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */
+ { 32734, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
+ { 32772, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */
+ { 32814, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */
+ { 32845, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */
+ { 32873, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
+ { 32903, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */
+ { 32931, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */
+ { 32951, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */
+ { 32975, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
+ { 33006, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */
+ { 33041, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
+ { 33072, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */
+ { 33107, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
+ { 33138, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */
+ { 33173, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
+ { 33204, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */
+ { 33239, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
+ { 33270, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */
+ { 33305, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
+ { 33336, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */
+ { 33371, 0x00008071 }, /* GL_TEXTURE_DEPTH */
+ { 33388, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */
+ { 33410, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */
+ { 33436, 0x00002300 }, /* GL_TEXTURE_ENV */
+ { 33451, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */
+ { 33472, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */
+ { 33492, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */
+ { 33518, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */
+ { 33538, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */
+ { 33555, 0x00000C62 }, /* GL_TEXTURE_GEN_R */
+ { 33572, 0x00000C60 }, /* GL_TEXTURE_GEN_S */
+ { 33589, 0x00000C61 }, /* GL_TEXTURE_GEN_T */
+ { 33606, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */
+ { 33631, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */
+ { 33653, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */
+ { 33679, 0x00001001 }, /* GL_TEXTURE_HEIGHT */
+ { 33697, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */
+ { 33723, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */
+ { 33749, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */
+ { 33779, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */
+ { 33806, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */
+ { 33831, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */
+ { 33851, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */
+ { 33875, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
+ { 33902, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
+ { 33929, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
+ { 33956, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */
+ { 33982, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */
+ { 34012, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */
+ { 34034, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */
+ { 34052, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
+ { 34082, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
+ { 34110, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
+ { 34138, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
+ { 34166, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */
+ { 34187, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */
+ { 34206, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */
+ { 34228, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */
+ { 34247, 0x00008066 }, /* GL_TEXTURE_PRIORITY */
+ { 34267, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */
+ { 34292, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */
+ { 34316, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */
+ { 34336, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */
+ { 34360, 0x00008067 }, /* GL_TEXTURE_RESIDENT */
+ { 34380, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */
+ { 34403, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */
+ { 34428, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
+ { 34462, 0x00001000 }, /* GL_TEXTURE_WIDTH */
+ { 34479, 0x00008072 }, /* GL_TEXTURE_WRAP_R */
+ { 34497, 0x00002802 }, /* GL_TEXTURE_WRAP_S */
+ { 34515, 0x00002803 }, /* GL_TEXTURE_WRAP_T */
+ { 34533, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */
+ { 34553, 0x00008648 }, /* GL_TRACK_MATRIX_NV */
+ { 34572, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */
+ { 34601, 0x00001000 }, /* GL_TRANSFORM_BIT */
+ { 34618, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */
+ { 34644, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */
+ { 34674, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
+ { 34706, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
+ { 34736, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */
+ { 34770, 0x0000862C }, /* GL_TRANSPOSE_NV */
+ { 34786, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */
+ { 34817, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */
+ { 34852, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */
+ { 34880, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */
+ { 34912, 0x00000004 }, /* GL_TRIANGLES */
+ { 34925, 0x00000006 }, /* GL_TRIANGLE_FAN */
+ { 34941, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */
+ { 34962, 0x00000005 }, /* GL_TRIANGLE_STRIP */
+ { 34980, 0x00000001 }, /* GL_TRUE */
+ { 34988, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */
+ { 35008, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */
+ { 35031, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */
+ { 35051, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */
+ { 35072, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */
+ { 35094, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */
+ { 35116, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */
+ { 35136, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */
+ { 35157, 0x00001401 }, /* GL_UNSIGNED_BYTE */
+ { 35174, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */
+ { 35201, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */
+ { 35224, 0x00001405 }, /* GL_UNSIGNED_INT */
+ { 35240, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */
+ { 35267, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */
+ { 35291, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */
+ { 35322, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */
+ { 35346, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */
+ { 35374, 0x00001403 }, /* GL_UNSIGNED_SHORT */
+ { 35392, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
+ { 35422, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */
+ { 35448, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
+ { 35478, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */
+ { 35504, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */
+ { 35528, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */
+ { 35556, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */
+ { 35584, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */
+ { 35611, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
+ { 35643, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */
+ { 35674, 0x00008CA2 }, /* GL_UPPER_LEFT */
+ { 35688, 0x00002A20 }, /* GL_V2F */
+ { 35695, 0x00002A21 }, /* GL_V3F */
+ { 35702, 0x00008B83 }, /* GL_VALIDATE_STATUS */
+ { 35721, 0x00001F00 }, /* GL_VENDOR */
+ { 35731, 0x00001F02 }, /* GL_VERSION */
+ { 35742, 0x00008074 }, /* GL_VERTEX_ARRAY */
+ { 35758, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */
+ { 35788, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
+ { 35819, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */
+ { 35854, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */
+ { 35878, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */
+ { 35899, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */
+ { 35922, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */
+ { 35943, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
+ { 35970, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
+ { 35998, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
+ { 36026, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
+ { 36054, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
+ { 36082, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
+ { 36110, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
+ { 36138, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
+ { 36165, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
+ { 36192, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
+ { 36219, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
+ { 36246, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
+ { 36273, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
+ { 36300, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
+ { 36327, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
+ { 36354, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
+ { 36381, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
+ { 36419, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */
+ { 36461, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
+ { 36492, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */
+ { 36527, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
+ { 36561, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */
+ { 36599, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
+ { 36630, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */
+ { 36665, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
+ { 36693, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */
+ { 36725, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
+ { 36755, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */
+ { 36789, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
+ { 36817, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */
+ { 36849, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */
+ { 36869, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */
+ { 36891, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */
+ { 36920, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */
+ { 36941, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */
+ { 36970, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */
+ { 37003, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */
+ { 37035, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */
+ { 37062, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */
+ { 37093, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */
+ { 37123, 0x00008B31 }, /* GL_VERTEX_SHADER */
+ { 37140, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */
+ { 37161, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */
+ { 37188, 0x00000BA2 }, /* GL_VIEWPORT */
+ { 37200, 0x00000800 }, /* GL_VIEWPORT_BIT */
+ { 37216, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */
+ { 37236, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
+ { 37267, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */
+ { 37302, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */
+ { 37330, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */
+ { 37355, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
+ { 37382, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */
+ { 37407, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */
+ { 37431, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */
+ { 37450, 0x000088B9 }, /* GL_WRITE_ONLY */
+ { 37464, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */
+ { 37482, 0x00001506 }, /* GL_XOR */
+ { 37489, 0x000085B9 }, /* GL_YCBCR_422_APPLE */
+ { 37508, 0x00008757 }, /* GL_YCBCR_MESA */
+ { 37522, 0x00000000 }, /* GL_ZERO */
+ { 37530, 0x00000D16 }, /* GL_ZOOM_X */
+ { 37540, 0x00000D17 }, /* GL_ZOOM_Y */
};
-static const unsigned reduced_enums[1277] =
+static const unsigned reduced_enums[1284] =
{
- 435, /* GL_FALSE */
- 643, /* GL_LINES */
- 645, /* GL_LINE_LOOP */
- 652, /* GL_LINE_STRIP */
- 1628, /* GL_TRIANGLES */
- 1631, /* GL_TRIANGLE_STRIP */
- 1629, /* GL_TRIANGLE_FAN */
- 1206, /* GL_QUADS */
- 1208, /* GL_QUAD_STRIP */
- 1096, /* GL_POLYGON */
- 1108, /* GL_POLYGON_STIPPLE_BIT */
- 1061, /* GL_PIXEL_MODE_BIT */
- 630, /* GL_LIGHTING_BIT */
- 457, /* GL_FOG_BIT */
+ 436, /* GL_FALSE */
+ 645, /* GL_LINES */
+ 647, /* GL_LINE_LOOP */
+ 654, /* GL_LINE_STRIP */
+ 1637, /* GL_TRIANGLES */
+ 1640, /* GL_TRIANGLE_STRIP */
+ 1638, /* GL_TRIANGLE_FAN */
+ 1211, /* GL_QUADS */
+ 1213, /* GL_QUAD_STRIP */
+ 1099, /* GL_POLYGON */
+ 1111, /* GL_POLYGON_STIPPLE_BIT */
+ 1064, /* GL_PIXEL_MODE_BIT */
+ 632, /* GL_LIGHTING_BIT */
+ 458, /* GL_FOG_BIT */
8, /* GL_ACCUM */
- 662, /* GL_LOAD */
- 1248, /* GL_RETURN */
- 934, /* GL_MULT */
+ 664, /* GL_LOAD */
+ 1253, /* GL_RETURN */
+ 937, /* GL_MULT */
23, /* GL_ADD */
- 950, /* GL_NEVER */
- 620, /* GL_LESS */
- 425, /* GL_EQUAL */
- 619, /* GL_LEQUAL */
- 545, /* GL_GREATER */
- 965, /* GL_NOTEQUAL */
- 520, /* GL_GEQUAL */
+ 953, /* GL_NEVER */
+ 622, /* GL_LESS */
+ 426, /* GL_EQUAL */
+ 621, /* GL_LEQUAL */
+ 547, /* GL_GREATER */
+ 968, /* GL_NOTEQUAL */
+ 522, /* GL_GEQUAL */
46, /* GL_ALWAYS */
- 1381, /* GL_SRC_COLOR */
- 994, /* GL_ONE_MINUS_SRC_COLOR */
- 1379, /* GL_SRC_ALPHA */
- 993, /* GL_ONE_MINUS_SRC_ALPHA */
- 405, /* GL_DST_ALPHA */
- 991, /* GL_ONE_MINUS_DST_ALPHA */
- 406, /* GL_DST_COLOR */
- 992, /* GL_ONE_MINUS_DST_COLOR */
- 1380, /* GL_SRC_ALPHA_SATURATE */
- 508, /* GL_FRONT_LEFT */
- 509, /* GL_FRONT_RIGHT */
+ 1386, /* GL_SRC_COLOR */
+ 997, /* GL_ONE_MINUS_SRC_COLOR */
+ 1384, /* GL_SRC_ALPHA */
+ 996, /* GL_ONE_MINUS_SRC_ALPHA */
+ 406, /* GL_DST_ALPHA */
+ 994, /* GL_ONE_MINUS_DST_ALPHA */
+ 407, /* GL_DST_COLOR */
+ 995, /* GL_ONE_MINUS_DST_COLOR */
+ 1385, /* GL_SRC_ALPHA_SATURATE */
+ 510, /* GL_FRONT_LEFT */
+ 511, /* GL_FRONT_RIGHT */
69, /* GL_BACK_LEFT */
70, /* GL_BACK_RIGHT */
- 505, /* GL_FRONT */
+ 507, /* GL_FRONT */
68, /* GL_BACK */
- 618, /* GL_LEFT */
- 1288, /* GL_RIGHT */
- 506, /* GL_FRONT_AND_BACK */
+ 620, /* GL_LEFT */
+ 1293, /* GL_RIGHT */
+ 508, /* GL_FRONT_AND_BACK */
63, /* GL_AUX0 */
64, /* GL_AUX1 */
65, /* GL_AUX2 */
66, /* GL_AUX3 */
- 610, /* GL_INVALID_ENUM */
- 613, /* GL_INVALID_VALUE */
- 612, /* GL_INVALID_OPERATION */
- 1382, /* GL_STACK_OVERFLOW */
- 1383, /* GL_STACK_UNDERFLOW */
- 1019, /* GL_OUT_OF_MEMORY */
- 611, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */
+ 612, /* GL_INVALID_ENUM */
+ 615, /* GL_INVALID_VALUE */
+ 614, /* GL_INVALID_OPERATION */
+ 1387, /* GL_STACK_OVERFLOW */
+ 1388, /* GL_STACK_UNDERFLOW */
+ 1022, /* GL_OUT_OF_MEMORY */
+ 613, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */
0, /* GL_2D */
2, /* GL_3D */
3, /* GL_3D_COLOR */
4, /* GL_3D_COLOR_TEXTURE */
6, /* GL_4D_COLOR_TEXTURE */
- 1039, /* GL_PASS_THROUGH_TOKEN */
- 1095, /* GL_POINT_TOKEN */
- 653, /* GL_LINE_TOKEN */
- 1109, /* GL_POLYGON_TOKEN */
+ 1042, /* GL_PASS_THROUGH_TOKEN */
+ 1098, /* GL_POINT_TOKEN */
+ 655, /* GL_LINE_TOKEN */
+ 1112, /* GL_POLYGON_TOKEN */
74, /* GL_BITMAP_TOKEN */
- 404, /* GL_DRAW_PIXEL_TOKEN */
- 270, /* GL_COPY_PIXEL_TOKEN */
- 646, /* GL_LINE_RESET_TOKEN */
- 428, /* GL_EXP */
- 429, /* GL_EXP2 */
- 303, /* GL_CW */
+ 405, /* GL_DRAW_PIXEL_TOKEN */
+ 271, /* GL_COPY_PIXEL_TOKEN */
+ 648, /* GL_LINE_RESET_TOKEN */
+ 429, /* GL_EXP */
+ 430, /* GL_EXP2 */
+ 304, /* GL_CW */
116, /* GL_CCW */
137, /* GL_COEFF */
- 1016, /* GL_ORDER */
- 343, /* GL_DOMAIN */
- 278, /* GL_CURRENT_COLOR */
- 281, /* GL_CURRENT_INDEX */
- 287, /* GL_CURRENT_NORMAL */
- 299, /* GL_CURRENT_TEXTURE_COORDS */
- 292, /* GL_CURRENT_RASTER_COLOR */
- 294, /* GL_CURRENT_RASTER_INDEX */
- 297, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
- 295, /* GL_CURRENT_RASTER_POSITION */
- 296, /* GL_CURRENT_RASTER_POSITION_VALID */
- 293, /* GL_CURRENT_RASTER_DISTANCE */
- 1088, /* GL_POINT_SMOOTH */
- 1077, /* GL_POINT_SIZE */
- 1087, /* GL_POINT_SIZE_RANGE */
- 1078, /* GL_POINT_SIZE_GRANULARITY */
- 647, /* GL_LINE_SMOOTH */
- 654, /* GL_LINE_WIDTH */
- 656, /* GL_LINE_WIDTH_RANGE */
- 655, /* GL_LINE_WIDTH_GRANULARITY */
- 649, /* GL_LINE_STIPPLE */
- 650, /* GL_LINE_STIPPLE_PATTERN */
- 651, /* GL_LINE_STIPPLE_REPEAT */
- 661, /* GL_LIST_MODE */
- 819, /* GL_MAX_LIST_NESTING */
- 658, /* GL_LIST_BASE */
- 660, /* GL_LIST_INDEX */
- 1098, /* GL_POLYGON_MODE */
- 1105, /* GL_POLYGON_SMOOTH */
- 1107, /* GL_POLYGON_STIPPLE */
- 413, /* GL_EDGE_FLAG */
- 271, /* GL_CULL_FACE */
- 272, /* GL_CULL_FACE_MODE */
- 507, /* GL_FRONT_FACE */
- 629, /* GL_LIGHTING */
- 634, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
- 635, /* GL_LIGHT_MODEL_TWO_SIDE */
- 631, /* GL_LIGHT_MODEL_AMBIENT */
- 1334, /* GL_SHADE_MODEL */
+ 1019, /* GL_ORDER */
+ 344, /* GL_DOMAIN */
+ 279, /* GL_CURRENT_COLOR */
+ 282, /* GL_CURRENT_INDEX */
+ 288, /* GL_CURRENT_NORMAL */
+ 300, /* GL_CURRENT_TEXTURE_COORDS */
+ 293, /* GL_CURRENT_RASTER_COLOR */
+ 295, /* GL_CURRENT_RASTER_INDEX */
+ 298, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
+ 296, /* GL_CURRENT_RASTER_POSITION */
+ 297, /* GL_CURRENT_RASTER_POSITION_VALID */
+ 294, /* GL_CURRENT_RASTER_DISTANCE */
+ 1091, /* GL_POINT_SMOOTH */
+ 1080, /* GL_POINT_SIZE */
+ 1090, /* GL_POINT_SIZE_RANGE */
+ 1081, /* GL_POINT_SIZE_GRANULARITY */
+ 649, /* GL_LINE_SMOOTH */
+ 656, /* GL_LINE_WIDTH */
+ 658, /* GL_LINE_WIDTH_RANGE */
+ 657, /* GL_LINE_WIDTH_GRANULARITY */
+ 651, /* GL_LINE_STIPPLE */
+ 652, /* GL_LINE_STIPPLE_PATTERN */
+ 653, /* GL_LINE_STIPPLE_REPEAT */
+ 663, /* GL_LIST_MODE */
+ 822, /* GL_MAX_LIST_NESTING */
+ 660, /* GL_LIST_BASE */
+ 662, /* GL_LIST_INDEX */
+ 1101, /* GL_POLYGON_MODE */
+ 1108, /* GL_POLYGON_SMOOTH */
+ 1110, /* GL_POLYGON_STIPPLE */
+ 414, /* GL_EDGE_FLAG */
+ 272, /* GL_CULL_FACE */
+ 273, /* GL_CULL_FACE_MODE */
+ 509, /* GL_FRONT_FACE */
+ 631, /* GL_LIGHTING */
+ 636, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
+ 637, /* GL_LIGHT_MODEL_TWO_SIDE */
+ 633, /* GL_LIGHT_MODEL_AMBIENT */
+ 1339, /* GL_SHADE_MODEL */
168, /* GL_COLOR_MATERIAL_FACE */
169, /* GL_COLOR_MATERIAL_PARAMETER */
167, /* GL_COLOR_MATERIAL */
- 456, /* GL_FOG */
- 478, /* GL_FOG_INDEX */
- 474, /* GL_FOG_DENSITY */
- 482, /* GL_FOG_START */
- 476, /* GL_FOG_END */
- 479, /* GL_FOG_MODE */
- 458, /* GL_FOG_COLOR */
- 332, /* GL_DEPTH_RANGE */
- 337, /* GL_DEPTH_TEST */
- 340, /* GL_DEPTH_WRITEMASK */
- 320, /* GL_DEPTH_CLEAR_VALUE */
- 331, /* GL_DEPTH_FUNC */
+ 457, /* GL_FOG */
+ 479, /* GL_FOG_INDEX */
+ 475, /* GL_FOG_DENSITY */
+ 483, /* GL_FOG_START */
+ 477, /* GL_FOG_END */
+ 480, /* GL_FOG_MODE */
+ 459, /* GL_FOG_COLOR */
+ 333, /* GL_DEPTH_RANGE */
+ 338, /* GL_DEPTH_TEST */
+ 341, /* GL_DEPTH_WRITEMASK */
+ 321, /* GL_DEPTH_CLEAR_VALUE */
+ 332, /* GL_DEPTH_FUNC */
12, /* GL_ACCUM_CLEAR_VALUE */
- 1413, /* GL_STENCIL_TEST */
- 1401, /* GL_STENCIL_CLEAR_VALUE */
- 1403, /* GL_STENCIL_FUNC */
- 1415, /* GL_STENCIL_VALUE_MASK */
- 1402, /* GL_STENCIL_FAIL */
- 1410, /* GL_STENCIL_PASS_DEPTH_FAIL */
- 1411, /* GL_STENCIL_PASS_DEPTH_PASS */
- 1412, /* GL_STENCIL_REF */
- 1416, /* GL_STENCIL_WRITEMASK */
- 789, /* GL_MATRIX_MODE */
- 955, /* GL_NORMALIZE */
- 1718, /* GL_VIEWPORT */
- 929, /* GL_MODELVIEW_STACK_DEPTH */
- 1188, /* GL_PROJECTION_STACK_DEPTH */
- 1607, /* GL_TEXTURE_STACK_DEPTH */
- 927, /* GL_MODELVIEW_MATRIX */
- 1187, /* GL_PROJECTION_MATRIX */
- 1592, /* GL_TEXTURE_MATRIX */
+ 1418, /* GL_STENCIL_TEST */
+ 1406, /* GL_STENCIL_CLEAR_VALUE */
+ 1408, /* GL_STENCIL_FUNC */
+ 1420, /* GL_STENCIL_VALUE_MASK */
+ 1407, /* GL_STENCIL_FAIL */
+ 1415, /* GL_STENCIL_PASS_DEPTH_FAIL */
+ 1416, /* GL_STENCIL_PASS_DEPTH_PASS */
+ 1417, /* GL_STENCIL_REF */
+ 1421, /* GL_STENCIL_WRITEMASK */
+ 791, /* GL_MATRIX_MODE */
+ 958, /* GL_NORMALIZE */
+ 1727, /* GL_VIEWPORT */
+ 932, /* GL_MODELVIEW_STACK_DEPTH */
+ 1191, /* GL_PROJECTION_STACK_DEPTH */
+ 1616, /* GL_TEXTURE_STACK_DEPTH */
+ 930, /* GL_MODELVIEW_MATRIX */
+ 1190, /* GL_PROJECTION_MATRIX */
+ 1601, /* GL_TEXTURE_MATRIX */
61, /* GL_ATTRIB_STACK_DEPTH */
127, /* GL_CLIENT_ATTRIB_STACK_DEPTH */
43, /* GL_ALPHA_TEST */
44, /* GL_ALPHA_TEST_FUNC */
45, /* GL_ALPHA_TEST_REF */
- 342, /* GL_DITHER */
+ 343, /* GL_DITHER */
78, /* GL_BLEND_DST */
86, /* GL_BLEND_SRC */
75, /* GL_BLEND */
- 664, /* GL_LOGIC_OP_MODE */
- 584, /* GL_INDEX_LOGIC_OP */
+ 666, /* GL_LOGIC_OP_MODE */
+ 586, /* GL_INDEX_LOGIC_OP */
166, /* GL_COLOR_LOGIC_OP */
67, /* GL_AUX_BUFFERS */
- 353, /* GL_DRAW_BUFFER */
- 1218, /* GL_READ_BUFFER */
- 1315, /* GL_SCISSOR_BOX */
- 1316, /* GL_SCISSOR_TEST */
- 583, /* GL_INDEX_CLEAR_VALUE */
- 588, /* GL_INDEX_WRITEMASK */
+ 354, /* GL_DRAW_BUFFER */
+ 1223, /* GL_READ_BUFFER */
+ 1320, /* GL_SCISSOR_BOX */
+ 1321, /* GL_SCISSOR_TEST */
+ 585, /* GL_INDEX_CLEAR_VALUE */
+ 590, /* GL_INDEX_WRITEMASK */
163, /* GL_COLOR_CLEAR_VALUE */
205, /* GL_COLOR_WRITEMASK */
- 585, /* GL_INDEX_MODE */
- 1282, /* GL_RGBA_MODE */
- 352, /* GL_DOUBLEBUFFER */
- 1417, /* GL_STEREO */
- 1241, /* GL_RENDER_MODE */
- 1040, /* GL_PERSPECTIVE_CORRECTION_HINT */
- 1089, /* GL_POINT_SMOOTH_HINT */
- 648, /* GL_LINE_SMOOTH_HINT */
- 1106, /* GL_POLYGON_SMOOTH_HINT */
- 477, /* GL_FOG_HINT */
- 1573, /* GL_TEXTURE_GEN_S */
- 1574, /* GL_TEXTURE_GEN_T */
- 1572, /* GL_TEXTURE_GEN_R */
- 1571, /* GL_TEXTURE_GEN_Q */
- 1053, /* GL_PIXEL_MAP_I_TO_I */
- 1059, /* GL_PIXEL_MAP_S_TO_S */
- 1055, /* GL_PIXEL_MAP_I_TO_R */
- 1051, /* GL_PIXEL_MAP_I_TO_G */
- 1049, /* GL_PIXEL_MAP_I_TO_B */
- 1047, /* GL_PIXEL_MAP_I_TO_A */
- 1057, /* GL_PIXEL_MAP_R_TO_R */
- 1045, /* GL_PIXEL_MAP_G_TO_G */
- 1043, /* GL_PIXEL_MAP_B_TO_B */
- 1041, /* GL_PIXEL_MAP_A_TO_A */
- 1054, /* GL_PIXEL_MAP_I_TO_I_SIZE */
- 1060, /* GL_PIXEL_MAP_S_TO_S_SIZE */
- 1056, /* GL_PIXEL_MAP_I_TO_R_SIZE */
- 1052, /* GL_PIXEL_MAP_I_TO_G_SIZE */
- 1050, /* GL_PIXEL_MAP_I_TO_B_SIZE */
- 1048, /* GL_PIXEL_MAP_I_TO_A_SIZE */
- 1058, /* GL_PIXEL_MAP_R_TO_R_SIZE */
- 1046, /* GL_PIXEL_MAP_G_TO_G_SIZE */
- 1044, /* GL_PIXEL_MAP_B_TO_B_SIZE */
- 1042, /* GL_PIXEL_MAP_A_TO_A_SIZE */
- 1640, /* GL_UNPACK_SWAP_BYTES */
- 1635, /* GL_UNPACK_LSB_FIRST */
- 1636, /* GL_UNPACK_ROW_LENGTH */
- 1639, /* GL_UNPACK_SKIP_ROWS */
- 1638, /* GL_UNPACK_SKIP_PIXELS */
- 1633, /* GL_UNPACK_ALIGNMENT */
- 1028, /* GL_PACK_SWAP_BYTES */
- 1023, /* GL_PACK_LSB_FIRST */
- 1024, /* GL_PACK_ROW_LENGTH */
- 1027, /* GL_PACK_SKIP_ROWS */
- 1026, /* GL_PACK_SKIP_PIXELS */
- 1020, /* GL_PACK_ALIGNMENT */
- 742, /* GL_MAP_COLOR */
- 743, /* GL_MAP_STENCIL */
- 587, /* GL_INDEX_SHIFT */
- 586, /* GL_INDEX_OFFSET */
- 1230, /* GL_RED_SCALE */
- 1228, /* GL_RED_BIAS */
- 1735, /* GL_ZOOM_X */
- 1736, /* GL_ZOOM_Y */
- 549, /* GL_GREEN_SCALE */
- 547, /* GL_GREEN_BIAS */
+ 587, /* GL_INDEX_MODE */
+ 1287, /* GL_RGBA_MODE */
+ 353, /* GL_DOUBLEBUFFER */
+ 1422, /* GL_STEREO */
+ 1246, /* GL_RENDER_MODE */
+ 1043, /* GL_PERSPECTIVE_CORRECTION_HINT */
+ 1092, /* GL_POINT_SMOOTH_HINT */
+ 650, /* GL_LINE_SMOOTH_HINT */
+ 1109, /* GL_POLYGON_SMOOTH_HINT */
+ 478, /* GL_FOG_HINT */
+ 1582, /* GL_TEXTURE_GEN_S */
+ 1583, /* GL_TEXTURE_GEN_T */
+ 1581, /* GL_TEXTURE_GEN_R */
+ 1580, /* GL_TEXTURE_GEN_Q */
+ 1056, /* GL_PIXEL_MAP_I_TO_I */
+ 1062, /* GL_PIXEL_MAP_S_TO_S */
+ 1058, /* GL_PIXEL_MAP_I_TO_R */
+ 1054, /* GL_PIXEL_MAP_I_TO_G */
+ 1052, /* GL_PIXEL_MAP_I_TO_B */
+ 1050, /* GL_PIXEL_MAP_I_TO_A */
+ 1060, /* GL_PIXEL_MAP_R_TO_R */
+ 1048, /* GL_PIXEL_MAP_G_TO_G */
+ 1046, /* GL_PIXEL_MAP_B_TO_B */
+ 1044, /* GL_PIXEL_MAP_A_TO_A */
+ 1057, /* GL_PIXEL_MAP_I_TO_I_SIZE */
+ 1063, /* GL_PIXEL_MAP_S_TO_S_SIZE */
+ 1059, /* GL_PIXEL_MAP_I_TO_R_SIZE */
+ 1055, /* GL_PIXEL_MAP_I_TO_G_SIZE */
+ 1053, /* GL_PIXEL_MAP_I_TO_B_SIZE */
+ 1051, /* GL_PIXEL_MAP_I_TO_A_SIZE */
+ 1061, /* GL_PIXEL_MAP_R_TO_R_SIZE */
+ 1049, /* GL_PIXEL_MAP_G_TO_G_SIZE */
+ 1047, /* GL_PIXEL_MAP_B_TO_B_SIZE */
+ 1045, /* GL_PIXEL_MAP_A_TO_A_SIZE */
+ 1649, /* GL_UNPACK_SWAP_BYTES */
+ 1644, /* GL_UNPACK_LSB_FIRST */
+ 1645, /* GL_UNPACK_ROW_LENGTH */
+ 1648, /* GL_UNPACK_SKIP_ROWS */
+ 1647, /* GL_UNPACK_SKIP_PIXELS */
+ 1642, /* GL_UNPACK_ALIGNMENT */
+ 1031, /* GL_PACK_SWAP_BYTES */
+ 1026, /* GL_PACK_LSB_FIRST */
+ 1027, /* GL_PACK_ROW_LENGTH */
+ 1030, /* GL_PACK_SKIP_ROWS */
+ 1029, /* GL_PACK_SKIP_PIXELS */
+ 1023, /* GL_PACK_ALIGNMENT */
+ 744, /* GL_MAP_COLOR */
+ 745, /* GL_MAP_STENCIL */
+ 589, /* GL_INDEX_SHIFT */
+ 588, /* GL_INDEX_OFFSET */
+ 1235, /* GL_RED_SCALE */
+ 1233, /* GL_RED_BIAS */
+ 1744, /* GL_ZOOM_X */
+ 1745, /* GL_ZOOM_Y */
+ 551, /* GL_GREEN_SCALE */
+ 549, /* GL_GREEN_BIAS */
92, /* GL_BLUE_SCALE */
90, /* GL_BLUE_BIAS */
42, /* GL_ALPHA_SCALE */
40, /* GL_ALPHA_BIAS */
- 333, /* GL_DEPTH_SCALE */
- 314, /* GL_DEPTH_BIAS */
- 814, /* GL_MAX_EVAL_ORDER */
- 818, /* GL_MAX_LIGHTS */
- 797, /* GL_MAX_CLIP_PLANES */
- 862, /* GL_MAX_TEXTURE_SIZE */
- 824, /* GL_MAX_PIXEL_MAP_TABLE */
- 793, /* GL_MAX_ATTRIB_STACK_DEPTH */
- 821, /* GL_MAX_MODELVIEW_STACK_DEPTH */
- 822, /* GL_MAX_NAME_STACK_DEPTH */
- 850, /* GL_MAX_PROJECTION_STACK_DEPTH */
- 863, /* GL_MAX_TEXTURE_STACK_DEPTH */
- 877, /* GL_MAX_VIEWPORT_DIMS */
- 794, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
- 1424, /* GL_SUBPIXEL_BITS */
- 582, /* GL_INDEX_BITS */
- 1229, /* GL_RED_BITS */
- 548, /* GL_GREEN_BITS */
+ 334, /* GL_DEPTH_SCALE */
+ 315, /* GL_DEPTH_BIAS */
+ 817, /* GL_MAX_EVAL_ORDER */
+ 821, /* GL_MAX_LIGHTS */
+ 800, /* GL_MAX_CLIP_PLANES */
+ 865, /* GL_MAX_TEXTURE_SIZE */
+ 827, /* GL_MAX_PIXEL_MAP_TABLE */
+ 796, /* GL_MAX_ATTRIB_STACK_DEPTH */
+ 824, /* GL_MAX_MODELVIEW_STACK_DEPTH */
+ 825, /* GL_MAX_NAME_STACK_DEPTH */
+ 853, /* GL_MAX_PROJECTION_STACK_DEPTH */
+ 866, /* GL_MAX_TEXTURE_STACK_DEPTH */
+ 880, /* GL_MAX_VIEWPORT_DIMS */
+ 797, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
+ 1429, /* GL_SUBPIXEL_BITS */
+ 584, /* GL_INDEX_BITS */
+ 1234, /* GL_RED_BITS */
+ 550, /* GL_GREEN_BITS */
91, /* GL_BLUE_BITS */
41, /* GL_ALPHA_BITS */
- 315, /* GL_DEPTH_BITS */
- 1399, /* GL_STENCIL_BITS */
+ 316, /* GL_DEPTH_BITS */
+ 1404, /* GL_STENCIL_BITS */
14, /* GL_ACCUM_RED_BITS */
13, /* GL_ACCUM_GREEN_BITS */
10, /* GL_ACCUM_BLUE_BITS */
9, /* GL_ACCUM_ALPHA_BITS */
- 943, /* GL_NAME_STACK_DEPTH */
+ 946, /* GL_NAME_STACK_DEPTH */
62, /* GL_AUTO_NORMAL */
- 688, /* GL_MAP1_COLOR_4 */
- 691, /* GL_MAP1_INDEX */
- 692, /* GL_MAP1_NORMAL */
- 693, /* GL_MAP1_TEXTURE_COORD_1 */
- 694, /* GL_MAP1_TEXTURE_COORD_2 */
- 695, /* GL_MAP1_TEXTURE_COORD_3 */
- 696, /* GL_MAP1_TEXTURE_COORD_4 */
- 697, /* GL_MAP1_VERTEX_3 */
- 698, /* GL_MAP1_VERTEX_4 */
- 715, /* GL_MAP2_COLOR_4 */
- 718, /* GL_MAP2_INDEX */
- 719, /* GL_MAP2_NORMAL */
- 720, /* GL_MAP2_TEXTURE_COORD_1 */
- 721, /* GL_MAP2_TEXTURE_COORD_2 */
- 722, /* GL_MAP2_TEXTURE_COORD_3 */
- 723, /* GL_MAP2_TEXTURE_COORD_4 */
- 724, /* GL_MAP2_VERTEX_3 */
- 725, /* GL_MAP2_VERTEX_4 */
- 689, /* GL_MAP1_GRID_DOMAIN */
- 690, /* GL_MAP1_GRID_SEGMENTS */
- 716, /* GL_MAP2_GRID_DOMAIN */
- 717, /* GL_MAP2_GRID_SEGMENTS */
- 1501, /* GL_TEXTURE_1D */
- 1502, /* GL_TEXTURE_2D */
- 438, /* GL_FEEDBACK_BUFFER_POINTER */
- 439, /* GL_FEEDBACK_BUFFER_SIZE */
- 440, /* GL_FEEDBACK_BUFFER_TYPE */
- 1325, /* GL_SELECTION_BUFFER_POINTER */
- 1326, /* GL_SELECTION_BUFFER_SIZE */
- 1610, /* GL_TEXTURE_WIDTH */
- 1578, /* GL_TEXTURE_HEIGHT */
- 1534, /* GL_TEXTURE_COMPONENTS */
- 1518, /* GL_TEXTURE_BORDER_COLOR */
- 1517, /* GL_TEXTURE_BORDER */
- 344, /* GL_DONT_CARE */
- 436, /* GL_FASTEST */
- 951, /* GL_NICEST */
+ 690, /* GL_MAP1_COLOR_4 */
+ 693, /* GL_MAP1_INDEX */
+ 694, /* GL_MAP1_NORMAL */
+ 695, /* GL_MAP1_TEXTURE_COORD_1 */
+ 696, /* GL_MAP1_TEXTURE_COORD_2 */
+ 697, /* GL_MAP1_TEXTURE_COORD_3 */
+ 698, /* GL_MAP1_TEXTURE_COORD_4 */
+ 699, /* GL_MAP1_VERTEX_3 */
+ 700, /* GL_MAP1_VERTEX_4 */
+ 717, /* GL_MAP2_COLOR_4 */
+ 720, /* GL_MAP2_INDEX */
+ 721, /* GL_MAP2_NORMAL */
+ 722, /* GL_MAP2_TEXTURE_COORD_1 */
+ 723, /* GL_MAP2_TEXTURE_COORD_2 */
+ 724, /* GL_MAP2_TEXTURE_COORD_3 */
+ 725, /* GL_MAP2_TEXTURE_COORD_4 */
+ 726, /* GL_MAP2_VERTEX_3 */
+ 727, /* GL_MAP2_VERTEX_4 */
+ 691, /* GL_MAP1_GRID_DOMAIN */
+ 692, /* GL_MAP1_GRID_SEGMENTS */
+ 718, /* GL_MAP2_GRID_DOMAIN */
+ 719, /* GL_MAP2_GRID_SEGMENTS */
+ 1506, /* GL_TEXTURE_1D */
+ 1508, /* GL_TEXTURE_2D */
+ 439, /* GL_FEEDBACK_BUFFER_POINTER */
+ 440, /* GL_FEEDBACK_BUFFER_SIZE */
+ 441, /* GL_FEEDBACK_BUFFER_TYPE */
+ 1330, /* GL_SELECTION_BUFFER_POINTER */
+ 1331, /* GL_SELECTION_BUFFER_SIZE */
+ 1619, /* GL_TEXTURE_WIDTH */
+ 1587, /* GL_TEXTURE_HEIGHT */
+ 1543, /* GL_TEXTURE_COMPONENTS */
+ 1527, /* GL_TEXTURE_BORDER_COLOR */
+ 1526, /* GL_TEXTURE_BORDER */
+ 345, /* GL_DONT_CARE */
+ 437, /* GL_FASTEST */
+ 954, /* GL_NICEST */
47, /* GL_AMBIENT */
- 341, /* GL_DIFFUSE */
- 1368, /* GL_SPECULAR */
- 1110, /* GL_POSITION */
- 1371, /* GL_SPOT_DIRECTION */
- 1372, /* GL_SPOT_EXPONENT */
- 1370, /* GL_SPOT_CUTOFF */
- 244, /* GL_CONSTANT_ATTENUATION */
- 638, /* GL_LINEAR_ATTENUATION */
- 1205, /* GL_QUADRATIC_ATTENUATION */
- 218, /* GL_COMPILE */
- 219, /* GL_COMPILE_AND_EXECUTE */
+ 342, /* GL_DIFFUSE */
+ 1373, /* GL_SPECULAR */
+ 1113, /* GL_POSITION */
+ 1376, /* GL_SPOT_DIRECTION */
+ 1377, /* GL_SPOT_EXPONENT */
+ 1375, /* GL_SPOT_CUTOFF */
+ 245, /* GL_CONSTANT_ATTENUATION */
+ 640, /* GL_LINEAR_ATTENUATION */
+ 1210, /* GL_QUADRATIC_ATTENUATION */
+ 219, /* GL_COMPILE */
+ 220, /* GL_COMPILE_AND_EXECUTE */
111, /* GL_BYTE */
- 1641, /* GL_UNSIGNED_BYTE */
- 1339, /* GL_SHORT */
- 1650, /* GL_UNSIGNED_SHORT */
- 590, /* GL_INT */
- 1644, /* GL_UNSIGNED_INT */
- 443, /* GL_FLOAT */
+ 1650, /* GL_UNSIGNED_BYTE */
+ 1344, /* GL_SHORT */
+ 1659, /* GL_UNSIGNED_SHORT */
+ 592, /* GL_INT */
+ 1653, /* GL_UNSIGNED_INT */
+ 444, /* GL_FLOAT */
1, /* GL_2_BYTES */
5, /* GL_3_BYTES */
7, /* GL_4_BYTES */
- 351, /* GL_DOUBLE */
+ 352, /* GL_DOUBLE */
123, /* GL_CLEAR */
49, /* GL_AND */
51, /* GL_AND_REVERSE */
- 268, /* GL_COPY */
+ 269, /* GL_COPY */
50, /* GL_AND_INVERTED */
- 953, /* GL_NOOP */
- 1731, /* GL_XOR */
- 1015, /* GL_OR */
- 954, /* GL_NOR */
- 426, /* GL_EQUIV */
- 616, /* GL_INVERT */
- 1018, /* GL_OR_REVERSE */
- 269, /* GL_COPY_INVERTED */
- 1017, /* GL_OR_INVERTED */
- 944, /* GL_NAND */
- 1330, /* GL_SET */
- 423, /* GL_EMISSION */
- 1338, /* GL_SHININESS */
+ 956, /* GL_NOOP */
+ 1740, /* GL_XOR */
+ 1018, /* GL_OR */
+ 957, /* GL_NOR */
+ 427, /* GL_EQUIV */
+ 618, /* GL_INVERT */
+ 1021, /* GL_OR_REVERSE */
+ 270, /* GL_COPY_INVERTED */
+ 1020, /* GL_OR_INVERTED */
+ 947, /* GL_NAND */
+ 1335, /* GL_SET */
+ 424, /* GL_EMISSION */
+ 1343, /* GL_SHININESS */
48, /* GL_AMBIENT_AND_DIFFUSE */
165, /* GL_COLOR_INDEXES */
- 894, /* GL_MODELVIEW */
- 1186, /* GL_PROJECTION */
- 1436, /* GL_TEXTURE */
+ 897, /* GL_MODELVIEW */
+ 1189, /* GL_PROJECTION */
+ 1441, /* GL_TEXTURE */
138, /* GL_COLOR */
- 312, /* GL_DEPTH */
- 1390, /* GL_STENCIL */
+ 313, /* GL_DEPTH */
+ 1395, /* GL_STENCIL */
164, /* GL_COLOR_INDEX */
- 1404, /* GL_STENCIL_INDEX */
- 321, /* GL_DEPTH_COMPONENT */
- 1225, /* GL_RED */
- 546, /* GL_GREEN */
+ 1409, /* GL_STENCIL_INDEX */
+ 322, /* GL_DEPTH_COMPONENT */
+ 1230, /* GL_RED */
+ 548, /* GL_GREEN */
89, /* GL_BLUE */
31, /* GL_ALPHA */
- 1249, /* GL_RGB */
- 1268, /* GL_RGBA */
- 666, /* GL_LUMINANCE */
- 687, /* GL_LUMINANCE_ALPHA */
+ 1254, /* GL_RGB */
+ 1273, /* GL_RGBA */
+ 668, /* GL_LUMINANCE */
+ 689, /* GL_LUMINANCE_ALPHA */
73, /* GL_BITMAP */
- 1066, /* GL_POINT */
- 636, /* GL_LINE */
- 441, /* GL_FILL */
- 1234, /* GL_RENDER */
- 437, /* GL_FEEDBACK */
- 1324, /* GL_SELECT */
- 442, /* GL_FLAT */
- 1343, /* GL_SMOOTH */
- 617, /* GL_KEEP */
- 1243, /* GL_REPLACE */
- 573, /* GL_INCR */
- 308, /* GL_DECR */
- 1665, /* GL_VENDOR */
- 1240, /* GL_RENDERER */
- 1666, /* GL_VERSION */
- 430, /* GL_EXTENSIONS */
- 1289, /* GL_S */
- 1427, /* GL_T */
- 1215, /* GL_R */
- 1204, /* GL_Q */
- 930, /* GL_MODULATE */
- 307, /* GL_DECAL */
- 1568, /* GL_TEXTURE_ENV_MODE */
- 1567, /* GL_TEXTURE_ENV_COLOR */
- 1566, /* GL_TEXTURE_ENV */
- 431, /* GL_EYE_LINEAR */
- 977, /* GL_OBJECT_LINEAR */
- 1369, /* GL_SPHERE_MAP */
- 1570, /* GL_TEXTURE_GEN_MODE */
- 979, /* GL_OBJECT_PLANE */
- 432, /* GL_EYE_PLANE */
- 945, /* GL_NEAREST */
- 637, /* GL_LINEAR */
- 949, /* GL_NEAREST_MIPMAP_NEAREST */
- 642, /* GL_LINEAR_MIPMAP_NEAREST */
- 948, /* GL_NEAREST_MIPMAP_LINEAR */
- 641, /* GL_LINEAR_MIPMAP_LINEAR */
- 1591, /* GL_TEXTURE_MAG_FILTER */
- 1599, /* GL_TEXTURE_MIN_FILTER */
- 1612, /* GL_TEXTURE_WRAP_S */
- 1613, /* GL_TEXTURE_WRAP_T */
+ 1069, /* GL_POINT */
+ 638, /* GL_LINE */
+ 442, /* GL_FILL */
+ 1239, /* GL_RENDER */
+ 438, /* GL_FEEDBACK */
+ 1329, /* GL_SELECT */
+ 443, /* GL_FLAT */
+ 1348, /* GL_SMOOTH */
+ 619, /* GL_KEEP */
+ 1248, /* GL_REPLACE */
+ 575, /* GL_INCR */
+ 309, /* GL_DECR */
+ 1674, /* GL_VENDOR */
+ 1245, /* GL_RENDERER */
+ 1675, /* GL_VERSION */
+ 431, /* GL_EXTENSIONS */
+ 1294, /* GL_S */
+ 1432, /* GL_T */
+ 1220, /* GL_R */
+ 1209, /* GL_Q */
+ 933, /* GL_MODULATE */
+ 308, /* GL_DECAL */
+ 1577, /* GL_TEXTURE_ENV_MODE */
+ 1576, /* GL_TEXTURE_ENV_COLOR */
+ 1575, /* GL_TEXTURE_ENV */
+ 432, /* GL_EYE_LINEAR */
+ 980, /* GL_OBJECT_LINEAR */
+ 1374, /* GL_SPHERE_MAP */
+ 1579, /* GL_TEXTURE_GEN_MODE */
+ 982, /* GL_OBJECT_PLANE */
+ 433, /* GL_EYE_PLANE */
+ 948, /* GL_NEAREST */
+ 639, /* GL_LINEAR */
+ 952, /* GL_NEAREST_MIPMAP_NEAREST */
+ 644, /* GL_LINEAR_MIPMAP_NEAREST */
+ 951, /* GL_NEAREST_MIPMAP_LINEAR */
+ 643, /* GL_LINEAR_MIPMAP_LINEAR */
+ 1600, /* GL_TEXTURE_MAG_FILTER */
+ 1608, /* GL_TEXTURE_MIN_FILTER */
+ 1621, /* GL_TEXTURE_WRAP_S */
+ 1622, /* GL_TEXTURE_WRAP_T */
117, /* GL_CLAMP */
- 1242, /* GL_REPEAT */
- 1104, /* GL_POLYGON_OFFSET_UNITS */
- 1103, /* GL_POLYGON_OFFSET_POINT */
- 1102, /* GL_POLYGON_OFFSET_LINE */
- 1216, /* GL_R3_G3_B2 */
- 1662, /* GL_V2F */
- 1663, /* GL_V3F */
+ 1247, /* GL_REPEAT */
+ 1107, /* GL_POLYGON_OFFSET_UNITS */
+ 1106, /* GL_POLYGON_OFFSET_POINT */
+ 1105, /* GL_POLYGON_OFFSET_LINE */
+ 1221, /* GL_R3_G3_B2 */
+ 1671, /* GL_V2F */
+ 1672, /* GL_V3F */
114, /* GL_C4UB_V2F */
115, /* GL_C4UB_V3F */
112, /* GL_C3F_V3F */
- 942, /* GL_N3F_V3F */
+ 945, /* GL_N3F_V3F */
113, /* GL_C4F_N3F_V3F */
- 1432, /* GL_T2F_V3F */
- 1434, /* GL_T4F_V4F */
- 1430, /* GL_T2F_C4UB_V3F */
- 1428, /* GL_T2F_C3F_V3F */
- 1431, /* GL_T2F_N3F_V3F */
- 1429, /* GL_T2F_C4F_N3F_V3F */
- 1433, /* GL_T4F_C4F_N3F_V4F */
+ 1437, /* GL_T2F_V3F */
+ 1439, /* GL_T4F_V4F */
+ 1435, /* GL_T2F_C4UB_V3F */
+ 1433, /* GL_T2F_C3F_V3F */
+ 1436, /* GL_T2F_N3F_V3F */
+ 1434, /* GL_T2F_C4F_N3F_V3F */
+ 1438, /* GL_T4F_C4F_N3F_V4F */
130, /* GL_CLIP_PLANE0 */
131, /* GL_CLIP_PLANE1 */
132, /* GL_CLIP_PLANE2 */
133, /* GL_CLIP_PLANE3 */
134, /* GL_CLIP_PLANE4 */
135, /* GL_CLIP_PLANE5 */
- 621, /* GL_LIGHT0 */
- 622, /* GL_LIGHT1 */
- 623, /* GL_LIGHT2 */
- 624, /* GL_LIGHT3 */
- 625, /* GL_LIGHT4 */
- 626, /* GL_LIGHT5 */
- 627, /* GL_LIGHT6 */
- 628, /* GL_LIGHT7 */
- 550, /* GL_HINT_BIT */
- 246, /* GL_CONSTANT_COLOR */
- 989, /* GL_ONE_MINUS_CONSTANT_COLOR */
- 241, /* GL_CONSTANT_ALPHA */
- 987, /* GL_ONE_MINUS_CONSTANT_ALPHA */
+ 623, /* GL_LIGHT0 */
+ 624, /* GL_LIGHT1 */
+ 625, /* GL_LIGHT2 */
+ 626, /* GL_LIGHT3 */
+ 627, /* GL_LIGHT4 */
+ 628, /* GL_LIGHT5 */
+ 629, /* GL_LIGHT6 */
+ 630, /* GL_LIGHT7 */
+ 552, /* GL_HINT_BIT */
+ 247, /* GL_CONSTANT_COLOR */
+ 992, /* GL_ONE_MINUS_CONSTANT_COLOR */
+ 242, /* GL_CONSTANT_ALPHA */
+ 990, /* GL_ONE_MINUS_CONSTANT_ALPHA */
76, /* GL_BLEND_COLOR */
- 510, /* GL_FUNC_ADD */
- 878, /* GL_MIN */
- 791, /* GL_MAX */
+ 512, /* GL_FUNC_ADD */
+ 881, /* GL_MIN */
+ 793, /* GL_MAX */
81, /* GL_BLEND_EQUATION */
- 514, /* GL_FUNC_SUBTRACT */
- 512, /* GL_FUNC_REVERSE_SUBTRACT */
- 249, /* GL_CONVOLUTION_1D */
- 250, /* GL_CONVOLUTION_2D */
- 1327, /* GL_SEPARABLE_2D */
- 253, /* GL_CONVOLUTION_BORDER_MODE */
- 257, /* GL_CONVOLUTION_FILTER_SCALE */
- 255, /* GL_CONVOLUTION_FILTER_BIAS */
- 1226, /* GL_REDUCE */
- 259, /* GL_CONVOLUTION_FORMAT */
- 263, /* GL_CONVOLUTION_WIDTH */
- 261, /* GL_CONVOLUTION_HEIGHT */
- 805, /* GL_MAX_CONVOLUTION_WIDTH */
- 803, /* GL_MAX_CONVOLUTION_HEIGHT */
- 1143, /* GL_POST_CONVOLUTION_RED_SCALE */
- 1139, /* GL_POST_CONVOLUTION_GREEN_SCALE */
- 1134, /* GL_POST_CONVOLUTION_BLUE_SCALE */
- 1130, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
- 1141, /* GL_POST_CONVOLUTION_RED_BIAS */
- 1137, /* GL_POST_CONVOLUTION_GREEN_BIAS */
- 1132, /* GL_POST_CONVOLUTION_BLUE_BIAS */
- 1128, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
- 551, /* GL_HISTOGRAM */
- 1190, /* GL_PROXY_HISTOGRAM */
- 567, /* GL_HISTOGRAM_WIDTH */
- 557, /* GL_HISTOGRAM_FORMAT */
- 563, /* GL_HISTOGRAM_RED_SIZE */
- 559, /* GL_HISTOGRAM_GREEN_SIZE */
- 554, /* GL_HISTOGRAM_BLUE_SIZE */
- 552, /* GL_HISTOGRAM_ALPHA_SIZE */
- 561, /* GL_HISTOGRAM_LUMINANCE_SIZE */
- 565, /* GL_HISTOGRAM_SINK */
- 879, /* GL_MINMAX */
- 881, /* GL_MINMAX_FORMAT */
- 883, /* GL_MINMAX_SINK */
- 1435, /* GL_TABLE_TOO_LARGE_EXT */
- 1643, /* GL_UNSIGNED_BYTE_3_3_2 */
- 1652, /* GL_UNSIGNED_SHORT_4_4_4_4 */
- 1654, /* GL_UNSIGNED_SHORT_5_5_5_1 */
- 1648, /* GL_UNSIGNED_INT_8_8_8_8 */
- 1645, /* GL_UNSIGNED_INT_10_10_10_2 */
- 1101, /* GL_POLYGON_OFFSET_FILL */
- 1100, /* GL_POLYGON_OFFSET_FACTOR */
- 1099, /* GL_POLYGON_OFFSET_BIAS */
- 1246, /* GL_RESCALE_NORMAL */
+ 516, /* GL_FUNC_SUBTRACT */
+ 514, /* GL_FUNC_REVERSE_SUBTRACT */
+ 250, /* GL_CONVOLUTION_1D */
+ 251, /* GL_CONVOLUTION_2D */
+ 1332, /* GL_SEPARABLE_2D */
+ 254, /* GL_CONVOLUTION_BORDER_MODE */
+ 258, /* GL_CONVOLUTION_FILTER_SCALE */
+ 256, /* GL_CONVOLUTION_FILTER_BIAS */
+ 1231, /* GL_REDUCE */
+ 260, /* GL_CONVOLUTION_FORMAT */
+ 264, /* GL_CONVOLUTION_WIDTH */
+ 262, /* GL_CONVOLUTION_HEIGHT */
+ 808, /* GL_MAX_CONVOLUTION_WIDTH */
+ 806, /* GL_MAX_CONVOLUTION_HEIGHT */
+ 1146, /* GL_POST_CONVOLUTION_RED_SCALE */
+ 1142, /* GL_POST_CONVOLUTION_GREEN_SCALE */
+ 1137, /* GL_POST_CONVOLUTION_BLUE_SCALE */
+ 1133, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
+ 1144, /* GL_POST_CONVOLUTION_RED_BIAS */
+ 1140, /* GL_POST_CONVOLUTION_GREEN_BIAS */
+ 1135, /* GL_POST_CONVOLUTION_BLUE_BIAS */
+ 1131, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
+ 553, /* GL_HISTOGRAM */
+ 1193, /* GL_PROXY_HISTOGRAM */
+ 569, /* GL_HISTOGRAM_WIDTH */
+ 559, /* GL_HISTOGRAM_FORMAT */
+ 565, /* GL_HISTOGRAM_RED_SIZE */
+ 561, /* GL_HISTOGRAM_GREEN_SIZE */
+ 556, /* GL_HISTOGRAM_BLUE_SIZE */
+ 554, /* GL_HISTOGRAM_ALPHA_SIZE */
+ 563, /* GL_HISTOGRAM_LUMINANCE_SIZE */
+ 567, /* GL_HISTOGRAM_SINK */
+ 882, /* GL_MINMAX */
+ 884, /* GL_MINMAX_FORMAT */
+ 886, /* GL_MINMAX_SINK */
+ 1440, /* GL_TABLE_TOO_LARGE_EXT */
+ 1652, /* GL_UNSIGNED_BYTE_3_3_2 */
+ 1661, /* GL_UNSIGNED_SHORT_4_4_4_4 */
+ 1663, /* GL_UNSIGNED_SHORT_5_5_5_1 */
+ 1657, /* GL_UNSIGNED_INT_8_8_8_8 */
+ 1654, /* GL_UNSIGNED_INT_10_10_10_2 */
+ 1104, /* GL_POLYGON_OFFSET_FILL */
+ 1103, /* GL_POLYGON_OFFSET_FACTOR */
+ 1102, /* GL_POLYGON_OFFSET_BIAS */
+ 1251, /* GL_RESCALE_NORMAL */
36, /* GL_ALPHA4 */
38, /* GL_ALPHA8 */
32, /* GL_ALPHA12 */
34, /* GL_ALPHA16 */
- 677, /* GL_LUMINANCE4 */
- 683, /* GL_LUMINANCE8 */
- 667, /* GL_LUMINANCE12 */
- 673, /* GL_LUMINANCE16 */
- 678, /* GL_LUMINANCE4_ALPHA4 */
- 681, /* GL_LUMINANCE6_ALPHA2 */
- 684, /* GL_LUMINANCE8_ALPHA8 */
- 670, /* GL_LUMINANCE12_ALPHA4 */
- 668, /* GL_LUMINANCE12_ALPHA12 */
- 674, /* GL_LUMINANCE16_ALPHA16 */
- 591, /* GL_INTENSITY */
- 596, /* GL_INTENSITY4 */
- 598, /* GL_INTENSITY8 */
- 592, /* GL_INTENSITY12 */
- 594, /* GL_INTENSITY16 */
- 1258, /* GL_RGB2_EXT */
- 1259, /* GL_RGB4 */
- 1262, /* GL_RGB5 */
- 1266, /* GL_RGB8 */
- 1250, /* GL_RGB10 */
- 1254, /* GL_RGB12 */
- 1256, /* GL_RGB16 */
- 1273, /* GL_RGBA2 */
- 1275, /* GL_RGBA4 */
- 1263, /* GL_RGB5_A1 */
- 1279, /* GL_RGBA8 */
- 1251, /* GL_RGB10_A2 */
- 1269, /* GL_RGBA12 */
- 1271, /* GL_RGBA16 */
- 1604, /* GL_TEXTURE_RED_SIZE */
- 1576, /* GL_TEXTURE_GREEN_SIZE */
- 1515, /* GL_TEXTURE_BLUE_SIZE */
- 1504, /* GL_TEXTURE_ALPHA_SIZE */
- 1589, /* GL_TEXTURE_LUMINANCE_SIZE */
- 1580, /* GL_TEXTURE_INTENSITY_SIZE */
- 1244, /* GL_REPLACE_EXT */
- 1194, /* GL_PROXY_TEXTURE_1D */
- 1196, /* GL_PROXY_TEXTURE_2D */
- 1608, /* GL_TEXTURE_TOO_LARGE_EXT */
- 1601, /* GL_TEXTURE_PRIORITY */
- 1606, /* GL_TEXTURE_RESIDENT */
- 1507, /* GL_TEXTURE_BINDING_1D */
- 1508, /* GL_TEXTURE_BINDING_2D */
- 1509, /* GL_TEXTURE_BINDING_3D */
- 1025, /* GL_PACK_SKIP_IMAGES */
- 1021, /* GL_PACK_IMAGE_HEIGHT */
- 1637, /* GL_UNPACK_SKIP_IMAGES */
- 1634, /* GL_UNPACK_IMAGE_HEIGHT */
- 1503, /* GL_TEXTURE_3D */
- 1198, /* GL_PROXY_TEXTURE_3D */
- 1563, /* GL_TEXTURE_DEPTH */
- 1611, /* GL_TEXTURE_WRAP_R */
- 792, /* GL_MAX_3D_TEXTURE_SIZE */
- 1667, /* GL_VERTEX_ARRAY */
- 956, /* GL_NORMAL_ARRAY */
+ 679, /* GL_LUMINANCE4 */
+ 685, /* GL_LUMINANCE8 */
+ 669, /* GL_LUMINANCE12 */
+ 675, /* GL_LUMINANCE16 */
+ 680, /* GL_LUMINANCE4_ALPHA4 */
+ 683, /* GL_LUMINANCE6_ALPHA2 */
+ 686, /* GL_LUMINANCE8_ALPHA8 */
+ 672, /* GL_LUMINANCE12_ALPHA4 */
+ 670, /* GL_LUMINANCE12_ALPHA12 */
+ 676, /* GL_LUMINANCE16_ALPHA16 */
+ 593, /* GL_INTENSITY */
+ 598, /* GL_INTENSITY4 */
+ 600, /* GL_INTENSITY8 */
+ 594, /* GL_INTENSITY12 */
+ 596, /* GL_INTENSITY16 */
+ 1263, /* GL_RGB2_EXT */
+ 1264, /* GL_RGB4 */
+ 1267, /* GL_RGB5 */
+ 1271, /* GL_RGB8 */
+ 1255, /* GL_RGB10 */
+ 1259, /* GL_RGB12 */
+ 1261, /* GL_RGB16 */
+ 1278, /* GL_RGBA2 */
+ 1280, /* GL_RGBA4 */
+ 1268, /* GL_RGB5_A1 */
+ 1284, /* GL_RGBA8 */
+ 1256, /* GL_RGB10_A2 */
+ 1274, /* GL_RGBA12 */
+ 1276, /* GL_RGBA16 */
+ 1613, /* GL_TEXTURE_RED_SIZE */
+ 1585, /* GL_TEXTURE_GREEN_SIZE */
+ 1524, /* GL_TEXTURE_BLUE_SIZE */
+ 1511, /* GL_TEXTURE_ALPHA_SIZE */
+ 1598, /* GL_TEXTURE_LUMINANCE_SIZE */
+ 1589, /* GL_TEXTURE_INTENSITY_SIZE */
+ 1249, /* GL_REPLACE_EXT */
+ 1197, /* GL_PROXY_TEXTURE_1D */
+ 1200, /* GL_PROXY_TEXTURE_2D */
+ 1617, /* GL_TEXTURE_TOO_LARGE_EXT */
+ 1610, /* GL_TEXTURE_PRIORITY */
+ 1615, /* GL_TEXTURE_RESIDENT */
+ 1514, /* GL_TEXTURE_BINDING_1D */
+ 1516, /* GL_TEXTURE_BINDING_2D */
+ 1518, /* GL_TEXTURE_BINDING_3D */
+ 1028, /* GL_PACK_SKIP_IMAGES */
+ 1024, /* GL_PACK_IMAGE_HEIGHT */
+ 1646, /* GL_UNPACK_SKIP_IMAGES */
+ 1643, /* GL_UNPACK_IMAGE_HEIGHT */
+ 1510, /* GL_TEXTURE_3D */
+ 1203, /* GL_PROXY_TEXTURE_3D */
+ 1572, /* GL_TEXTURE_DEPTH */
+ 1620, /* GL_TEXTURE_WRAP_R */
+ 794, /* GL_MAX_3D_TEXTURE_SIZE */
+ 1676, /* GL_VERTEX_ARRAY */
+ 959, /* GL_NORMAL_ARRAY */
139, /* GL_COLOR_ARRAY */
- 576, /* GL_INDEX_ARRAY */
- 1542, /* GL_TEXTURE_COORD_ARRAY */
- 414, /* GL_EDGE_FLAG_ARRAY */
- 1672, /* GL_VERTEX_ARRAY_SIZE */
- 1674, /* GL_VERTEX_ARRAY_TYPE */
- 1673, /* GL_VERTEX_ARRAY_STRIDE */
- 961, /* GL_NORMAL_ARRAY_TYPE */
- 960, /* GL_NORMAL_ARRAY_STRIDE */
+ 578, /* GL_INDEX_ARRAY */
+ 1551, /* GL_TEXTURE_COORD_ARRAY */
+ 415, /* GL_EDGE_FLAG_ARRAY */
+ 1681, /* GL_VERTEX_ARRAY_SIZE */
+ 1683, /* GL_VERTEX_ARRAY_TYPE */
+ 1682, /* GL_VERTEX_ARRAY_STRIDE */
+ 964, /* GL_NORMAL_ARRAY_TYPE */
+ 963, /* GL_NORMAL_ARRAY_STRIDE */
143, /* GL_COLOR_ARRAY_SIZE */
145, /* GL_COLOR_ARRAY_TYPE */
144, /* GL_COLOR_ARRAY_STRIDE */
- 581, /* GL_INDEX_ARRAY_TYPE */
- 580, /* GL_INDEX_ARRAY_STRIDE */
- 1546, /* GL_TEXTURE_COORD_ARRAY_SIZE */
- 1548, /* GL_TEXTURE_COORD_ARRAY_TYPE */
- 1547, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
- 418, /* GL_EDGE_FLAG_ARRAY_STRIDE */
- 1671, /* GL_VERTEX_ARRAY_POINTER */
- 959, /* GL_NORMAL_ARRAY_POINTER */
+ 583, /* GL_INDEX_ARRAY_TYPE */
+ 582, /* GL_INDEX_ARRAY_STRIDE */
+ 1555, /* GL_TEXTURE_COORD_ARRAY_SIZE */
+ 1557, /* GL_TEXTURE_COORD_ARRAY_TYPE */
+ 1556, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
+ 419, /* GL_EDGE_FLAG_ARRAY_STRIDE */
+ 1680, /* GL_VERTEX_ARRAY_POINTER */
+ 962, /* GL_NORMAL_ARRAY_POINTER */
142, /* GL_COLOR_ARRAY_POINTER */
- 579, /* GL_INDEX_ARRAY_POINTER */
- 1545, /* GL_TEXTURE_COORD_ARRAY_POINTER */
- 417, /* GL_EDGE_FLAG_ARRAY_POINTER */
- 935, /* GL_MULTISAMPLE */
- 1301, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
- 1303, /* GL_SAMPLE_ALPHA_TO_ONE */
- 1308, /* GL_SAMPLE_COVERAGE */
- 1305, /* GL_SAMPLE_BUFFERS */
- 1296, /* GL_SAMPLES */
- 1312, /* GL_SAMPLE_COVERAGE_VALUE */
- 1310, /* GL_SAMPLE_COVERAGE_INVERT */
+ 581, /* GL_INDEX_ARRAY_POINTER */
+ 1554, /* GL_TEXTURE_COORD_ARRAY_POINTER */
+ 418, /* GL_EDGE_FLAG_ARRAY_POINTER */
+ 938, /* GL_MULTISAMPLE */
+ 1306, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
+ 1308, /* GL_SAMPLE_ALPHA_TO_ONE */
+ 1313, /* GL_SAMPLE_COVERAGE */
+ 1310, /* GL_SAMPLE_BUFFERS */
+ 1301, /* GL_SAMPLES */
+ 1317, /* GL_SAMPLE_COVERAGE_VALUE */
+ 1315, /* GL_SAMPLE_COVERAGE_INVERT */
170, /* GL_COLOR_MATRIX */
172, /* GL_COLOR_MATRIX_STACK_DEPTH */
- 799, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
- 1126, /* GL_POST_COLOR_MATRIX_RED_SCALE */
- 1122, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
- 1117, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
- 1113, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
- 1124, /* GL_POST_COLOR_MATRIX_RED_BIAS */
- 1120, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
- 1115, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
- 1111, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
- 1525, /* GL_TEXTURE_COLOR_TABLE_SGI */
- 1199, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
- 1527, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
+ 802, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
+ 1129, /* GL_POST_COLOR_MATRIX_RED_SCALE */
+ 1125, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
+ 1120, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
+ 1116, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
+ 1127, /* GL_POST_COLOR_MATRIX_RED_BIAS */
+ 1123, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
+ 1118, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
+ 1114, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
+ 1534, /* GL_TEXTURE_COLOR_TABLE_SGI */
+ 1204, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
+ 1536, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
80, /* GL_BLEND_DST_RGB */
88, /* GL_BLEND_SRC_RGB */
79, /* GL_BLEND_DST_ALPHA */
87, /* GL_BLEND_SRC_ALPHA */
176, /* GL_COLOR_TABLE */
- 1136, /* GL_POST_CONVOLUTION_COLOR_TABLE */
- 1119, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
- 1189, /* GL_PROXY_COLOR_TABLE */
- 1193, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
- 1192, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
+ 1139, /* GL_POST_CONVOLUTION_COLOR_TABLE */
+ 1122, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
+ 1192, /* GL_PROXY_COLOR_TABLE */
+ 1196, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
+ 1195, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
200, /* GL_COLOR_TABLE_SCALE */
180, /* GL_COLOR_TABLE_BIAS */
185, /* GL_COLOR_TABLE_FORMAT */
@@ -4128,636 +4146,643 @@ static const unsigned reduced_enums[1277] =
191, /* GL_COLOR_TABLE_INTENSITY_SIZE */
71, /* GL_BGR */
72, /* GL_BGRA */
- 813, /* GL_MAX_ELEMENTS_VERTICES */
- 812, /* GL_MAX_ELEMENTS_INDICES */
- 1579, /* GL_TEXTURE_INDEX_SIZE_EXT */
+ 816, /* GL_MAX_ELEMENTS_VERTICES */
+ 815, /* GL_MAX_ELEMENTS_INDICES */
+ 1588, /* GL_TEXTURE_INDEX_SIZE_EXT */
136, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */
- 1083, /* GL_POINT_SIZE_MIN */
- 1079, /* GL_POINT_SIZE_MAX */
- 1073, /* GL_POINT_FADE_THRESHOLD_SIZE */
- 1069, /* GL_POINT_DISTANCE_ATTENUATION */
+ 1086, /* GL_POINT_SIZE_MIN */
+ 1082, /* GL_POINT_SIZE_MAX */
+ 1076, /* GL_POINT_FADE_THRESHOLD_SIZE */
+ 1072, /* GL_POINT_DISTANCE_ATTENUATION */
118, /* GL_CLAMP_TO_BORDER */
121, /* GL_CLAMP_TO_EDGE */
- 1600, /* GL_TEXTURE_MIN_LOD */
- 1598, /* GL_TEXTURE_MAX_LOD */
- 1506, /* GL_TEXTURE_BASE_LEVEL */
- 1597, /* GL_TEXTURE_MAX_LEVEL */
- 570, /* GL_IGNORE_BORDER_HP */
- 245, /* GL_CONSTANT_BORDER_HP */
- 1245, /* GL_REPLICATE_BORDER_HP */
- 251, /* GL_CONVOLUTION_BORDER_COLOR */
- 984, /* GL_OCCLUSION_TEST_HP */
- 985, /* GL_OCCLUSION_TEST_RESULT_HP */
- 639, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
- 1519, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
- 1521, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
- 1523, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
- 1524, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- 1522, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
- 1520, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
- 795, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
- 796, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- 1146, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
- 1148, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
- 1145, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
- 1147, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
- 1587, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
- 1588, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
- 1586, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
- 516, /* GL_GENERATE_MIPMAP */
- 517, /* GL_GENERATE_MIPMAP_HINT */
- 480, /* GL_FOG_OFFSET_SGIX */
- 481, /* GL_FOG_OFFSET_VALUE_SGIX */
- 1533, /* GL_TEXTURE_COMPARE_SGIX */
- 1532, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
- 1583, /* GL_TEXTURE_LEQUAL_R_SGIX */
- 1575, /* GL_TEXTURE_GEQUAL_R_SGIX */
- 322, /* GL_DEPTH_COMPONENT16 */
- 325, /* GL_DEPTH_COMPONENT24 */
- 328, /* GL_DEPTH_COMPONENT32 */
- 273, /* GL_CULL_VERTEX_EXT */
- 275, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
- 274, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
- 1728, /* GL_WRAP_BORDER_SUN */
- 1526, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
- 632, /* GL_LIGHT_MODEL_COLOR_CONTROL */
- 1340, /* GL_SINGLE_COLOR */
- 1328, /* GL_SEPARATE_SPECULAR_COLOR */
- 1337, /* GL_SHARED_TEXTURE_PALETTE_EXT */
- 1642, /* GL_UNSIGNED_BYTE_2_3_3_REV */
- 1655, /* GL_UNSIGNED_SHORT_5_6_5 */
- 1656, /* GL_UNSIGNED_SHORT_5_6_5_REV */
- 1653, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
- 1651, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
- 1649, /* GL_UNSIGNED_INT_8_8_8_8_REV */
- 1647, /* GL_UNSIGNED_INT_2_10_10_10_REV */
- 1595, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
- 1596, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
- 1594, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
- 886, /* GL_MIRRORED_REPEAT */
- 1284, /* GL_RGB_S3TC */
- 1261, /* GL_RGB4_S3TC */
- 1283, /* GL_RGBA_S3TC */
- 1278, /* GL_RGBA4_S3TC */
- 1281, /* GL_RGBA_DXT5_S3TC */
- 1276, /* GL_RGBA4_DXT5_S3TC */
- 238, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
- 233, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
- 234, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
- 235, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
- 947, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
- 946, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
- 640, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
- 467, /* GL_FOG_COORDINATE_SOURCE */
- 459, /* GL_FOG_COORD */
- 483, /* GL_FRAGMENT_DEPTH */
- 279, /* GL_CURRENT_FOG_COORD */
- 466, /* GL_FOG_COORDINATE_ARRAY_TYPE */
- 465, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
- 464, /* GL_FOG_COORDINATE_ARRAY_POINTER */
- 461, /* GL_FOG_COORDINATE_ARRAY */
+ 1609, /* GL_TEXTURE_MIN_LOD */
+ 1607, /* GL_TEXTURE_MAX_LOD */
+ 1513, /* GL_TEXTURE_BASE_LEVEL */
+ 1606, /* GL_TEXTURE_MAX_LEVEL */
+ 572, /* GL_IGNORE_BORDER_HP */
+ 246, /* GL_CONSTANT_BORDER_HP */
+ 1250, /* GL_REPLICATE_BORDER_HP */
+ 252, /* GL_CONVOLUTION_BORDER_COLOR */
+ 987, /* GL_OCCLUSION_TEST_HP */
+ 988, /* GL_OCCLUSION_TEST_RESULT_HP */
+ 641, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
+ 1528, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
+ 1530, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
+ 1532, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
+ 1533, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+ 1531, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
+ 1529, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
+ 798, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
+ 799, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+ 1149, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
+ 1151, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
+ 1148, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
+ 1150, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
+ 1596, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
+ 1597, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
+ 1595, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
+ 518, /* GL_GENERATE_MIPMAP */
+ 519, /* GL_GENERATE_MIPMAP_HINT */
+ 481, /* GL_FOG_OFFSET_SGIX */
+ 482, /* GL_FOG_OFFSET_VALUE_SGIX */
+ 1542, /* GL_TEXTURE_COMPARE_SGIX */
+ 1541, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
+ 1592, /* GL_TEXTURE_LEQUAL_R_SGIX */
+ 1584, /* GL_TEXTURE_GEQUAL_R_SGIX */
+ 323, /* GL_DEPTH_COMPONENT16 */
+ 326, /* GL_DEPTH_COMPONENT24 */
+ 329, /* GL_DEPTH_COMPONENT32 */
+ 274, /* GL_CULL_VERTEX_EXT */
+ 276, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
+ 275, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
+ 1737, /* GL_WRAP_BORDER_SUN */
+ 1535, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
+ 634, /* GL_LIGHT_MODEL_COLOR_CONTROL */
+ 1345, /* GL_SINGLE_COLOR */
+ 1333, /* GL_SEPARATE_SPECULAR_COLOR */
+ 1342, /* GL_SHARED_TEXTURE_PALETTE_EXT */
+ 1651, /* GL_UNSIGNED_BYTE_2_3_3_REV */
+ 1664, /* GL_UNSIGNED_SHORT_5_6_5 */
+ 1665, /* GL_UNSIGNED_SHORT_5_6_5_REV */
+ 1662, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
+ 1660, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
+ 1658, /* GL_UNSIGNED_INT_8_8_8_8_REV */
+ 1656, /* GL_UNSIGNED_INT_2_10_10_10_REV */
+ 1604, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
+ 1605, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
+ 1603, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
+ 889, /* GL_MIRRORED_REPEAT */
+ 1289, /* GL_RGB_S3TC */
+ 1266, /* GL_RGB4_S3TC */
+ 1288, /* GL_RGBA_S3TC */
+ 1283, /* GL_RGBA4_S3TC */
+ 1286, /* GL_RGBA_DXT5_S3TC */
+ 1281, /* GL_RGBA4_DXT5_S3TC */
+ 239, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
+ 234, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
+ 235, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
+ 236, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
+ 950, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
+ 949, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
+ 642, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
+ 468, /* GL_FOG_COORDINATE_SOURCE */
+ 460, /* GL_FOG_COORD */
+ 484, /* GL_FRAGMENT_DEPTH */
+ 280, /* GL_CURRENT_FOG_COORD */
+ 467, /* GL_FOG_COORDINATE_ARRAY_TYPE */
+ 466, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
+ 465, /* GL_FOG_COORDINATE_ARRAY_POINTER */
+ 462, /* GL_FOG_COORDINATE_ARRAY */
174, /* GL_COLOR_SUM */
- 298, /* GL_CURRENT_SECONDARY_COLOR */
- 1321, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
- 1323, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
- 1322, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
- 1320, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
- 1317, /* GL_SECONDARY_COLOR_ARRAY */
- 526, /* GL_GL_CURRENT_RASTER_SECONDARY_COLOR */
+ 299, /* GL_CURRENT_SECONDARY_COLOR */
+ 1326, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
+ 1328, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
+ 1327, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
+ 1325, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
+ 1322, /* GL_SECONDARY_COLOR_ARRAY */
+ 528, /* GL_GL_CURRENT_RASTER_SECONDARY_COLOR */
28, /* GL_ALIASED_POINT_SIZE_RANGE */
27, /* GL_ALIASED_LINE_WIDTH_RANGE */
- 1437, /* GL_TEXTURE0 */
- 1439, /* GL_TEXTURE1 */
- 1461, /* GL_TEXTURE2 */
- 1483, /* GL_TEXTURE3 */
- 1489, /* GL_TEXTURE4 */
- 1491, /* GL_TEXTURE5 */
- 1493, /* GL_TEXTURE6 */
- 1495, /* GL_TEXTURE7 */
- 1497, /* GL_TEXTURE8 */
- 1499, /* GL_TEXTURE9 */
- 1440, /* GL_TEXTURE10 */
- 1442, /* GL_TEXTURE11 */
- 1444, /* GL_TEXTURE12 */
- 1446, /* GL_TEXTURE13 */
- 1448, /* GL_TEXTURE14 */
- 1450, /* GL_TEXTURE15 */
- 1452, /* GL_TEXTURE16 */
- 1454, /* GL_TEXTURE17 */
- 1456, /* GL_TEXTURE18 */
- 1458, /* GL_TEXTURE19 */
- 1462, /* GL_TEXTURE20 */
- 1464, /* GL_TEXTURE21 */
- 1466, /* GL_TEXTURE22 */
- 1468, /* GL_TEXTURE23 */
- 1470, /* GL_TEXTURE24 */
- 1472, /* GL_TEXTURE25 */
- 1474, /* GL_TEXTURE26 */
- 1476, /* GL_TEXTURE27 */
- 1478, /* GL_TEXTURE28 */
- 1480, /* GL_TEXTURE29 */
- 1484, /* GL_TEXTURE30 */
- 1486, /* GL_TEXTURE31 */
+ 1442, /* GL_TEXTURE0 */
+ 1444, /* GL_TEXTURE1 */
+ 1466, /* GL_TEXTURE2 */
+ 1488, /* GL_TEXTURE3 */
+ 1494, /* GL_TEXTURE4 */
+ 1496, /* GL_TEXTURE5 */
+ 1498, /* GL_TEXTURE6 */
+ 1500, /* GL_TEXTURE7 */
+ 1502, /* GL_TEXTURE8 */
+ 1504, /* GL_TEXTURE9 */
+ 1445, /* GL_TEXTURE10 */
+ 1447, /* GL_TEXTURE11 */
+ 1449, /* GL_TEXTURE12 */
+ 1451, /* GL_TEXTURE13 */
+ 1453, /* GL_TEXTURE14 */
+ 1455, /* GL_TEXTURE15 */
+ 1457, /* GL_TEXTURE16 */
+ 1459, /* GL_TEXTURE17 */
+ 1461, /* GL_TEXTURE18 */
+ 1463, /* GL_TEXTURE19 */
+ 1467, /* GL_TEXTURE20 */
+ 1469, /* GL_TEXTURE21 */
+ 1471, /* GL_TEXTURE22 */
+ 1473, /* GL_TEXTURE23 */
+ 1475, /* GL_TEXTURE24 */
+ 1477, /* GL_TEXTURE25 */
+ 1479, /* GL_TEXTURE26 */
+ 1481, /* GL_TEXTURE27 */
+ 1483, /* GL_TEXTURE28 */
+ 1485, /* GL_TEXTURE29 */
+ 1489, /* GL_TEXTURE30 */
+ 1491, /* GL_TEXTURE31 */
18, /* GL_ACTIVE_TEXTURE */
124, /* GL_CLIENT_ACTIVE_TEXTURE */
- 864, /* GL_MAX_TEXTURE_UNITS */
- 1621, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
- 1624, /* GL_TRANSPOSE_PROJECTION_MATRIX */
- 1626, /* GL_TRANSPOSE_TEXTURE_MATRIX */
- 1618, /* GL_TRANSPOSE_COLOR_MATRIX */
- 1425, /* GL_SUBTRACT */
- 853, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
- 221, /* GL_COMPRESSED_ALPHA */
- 225, /* GL_COMPRESSED_LUMINANCE */
- 226, /* GL_COMPRESSED_LUMINANCE_ALPHA */
- 223, /* GL_COMPRESSED_INTENSITY */
- 229, /* GL_COMPRESSED_RGB */
- 230, /* GL_COMPRESSED_RGBA */
- 1540, /* GL_TEXTURE_COMPRESSION_HINT */
- 1602, /* GL_TEXTURE_RECTANGLE_ARB */
- 1512, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
- 1202, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
- 851, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
- 334, /* GL_DEPTH_STENCIL_NV */
- 1646, /* GL_UNSIGNED_INT_24_8_NV */
- 860, /* GL_MAX_TEXTURE_LOD_BIAS */
- 1593, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
- 861, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
- 1569, /* GL_TEXTURE_FILTER_CONTROL */
- 1584, /* GL_TEXTURE_LOD_BIAS */
+ 867, /* GL_MAX_TEXTURE_UNITS */
+ 1630, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
+ 1633, /* GL_TRANSPOSE_PROJECTION_MATRIX */
+ 1635, /* GL_TRANSPOSE_TEXTURE_MATRIX */
+ 1627, /* GL_TRANSPOSE_COLOR_MATRIX */
+ 1430, /* GL_SUBTRACT */
+ 856, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
+ 222, /* GL_COMPRESSED_ALPHA */
+ 226, /* GL_COMPRESSED_LUMINANCE */
+ 227, /* GL_COMPRESSED_LUMINANCE_ALPHA */
+ 224, /* GL_COMPRESSED_INTENSITY */
+ 230, /* GL_COMPRESSED_RGB */
+ 231, /* GL_COMPRESSED_RGBA */
+ 1549, /* GL_TEXTURE_COMPRESSION_HINT */
+ 1611, /* GL_TEXTURE_RECTANGLE_ARB */
+ 1521, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
+ 1207, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
+ 854, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
+ 335, /* GL_DEPTH_STENCIL_NV */
+ 1655, /* GL_UNSIGNED_INT_24_8_NV */
+ 863, /* GL_MAX_TEXTURE_LOD_BIAS */
+ 1602, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
+ 864, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
+ 1578, /* GL_TEXTURE_FILTER_CONTROL */
+ 1593, /* GL_TEXTURE_LOD_BIAS */
207, /* GL_COMBINE4 */
- 854, /* GL_MAX_SHININESS_NV */
- 855, /* GL_MAX_SPOT_EXPONENT_NV */
- 574, /* GL_INCR_WRAP */
- 309, /* GL_DECR_WRAP */
- 906, /* GL_MODELVIEW1_ARB */
- 962, /* GL_NORMAL_MAP */
- 1231, /* GL_REFLECTION_MAP */
- 1549, /* GL_TEXTURE_CUBE_MAP */
- 1510, /* GL_TEXTURE_BINDING_CUBE_MAP */
- 1557, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
- 1551, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
- 1559, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
- 1553, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
- 1561, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
- 1555, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
- 1200, /* GL_PROXY_TEXTURE_CUBE_MAP */
- 807, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
- 941, /* GL_MULTISAMPLE_FILTER_HINT_NV */
- 475, /* GL_FOG_DISTANCE_MODE_NV */
- 434, /* GL_EYE_RADIAL_NV */
- 433, /* GL_EYE_PLANE_ABSOLUTE_NV */
+ 857, /* GL_MAX_SHININESS_NV */
+ 858, /* GL_MAX_SPOT_EXPONENT_NV */
+ 576, /* GL_INCR_WRAP */
+ 310, /* GL_DECR_WRAP */
+ 909, /* GL_MODELVIEW1_ARB */
+ 965, /* GL_NORMAL_MAP */
+ 1236, /* GL_REFLECTION_MAP */
+ 1558, /* GL_TEXTURE_CUBE_MAP */
+ 1519, /* GL_TEXTURE_BINDING_CUBE_MAP */
+ 1566, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
+ 1560, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
+ 1568, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
+ 1562, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
+ 1570, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
+ 1564, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
+ 1205, /* GL_PROXY_TEXTURE_CUBE_MAP */
+ 810, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
+ 944, /* GL_MULTISAMPLE_FILTER_HINT_NV */
+ 476, /* GL_FOG_DISTANCE_MODE_NV */
+ 435, /* GL_EYE_RADIAL_NV */
+ 434, /* GL_EYE_PLANE_ABSOLUTE_NV */
206, /* GL_COMBINE */
213, /* GL_COMBINE_RGB */
208, /* GL_COMBINE_ALPHA */
- 1285, /* GL_RGB_SCALE */
+ 1290, /* GL_RGB_SCALE */
24, /* GL_ADD_SIGNED */
- 601, /* GL_INTERPOLATE */
- 240, /* GL_CONSTANT */
- 1152, /* GL_PRIMARY_COLOR */
- 1149, /* GL_PREVIOUS */
- 1351, /* GL_SOURCE0_RGB */
- 1357, /* GL_SOURCE1_RGB */
- 1363, /* GL_SOURCE2_RGB */
- 1367, /* GL_SOURCE3_RGB_NV */
- 1348, /* GL_SOURCE0_ALPHA */
- 1354, /* GL_SOURCE1_ALPHA */
- 1360, /* GL_SOURCE2_ALPHA */
- 1366, /* GL_SOURCE3_ALPHA_NV */
- 998, /* GL_OPERAND0_RGB */
- 1004, /* GL_OPERAND1_RGB */
- 1010, /* GL_OPERAND2_RGB */
- 1014, /* GL_OPERAND3_RGB_NV */
- 995, /* GL_OPERAND0_ALPHA */
- 1001, /* GL_OPERAND1_ALPHA */
- 1007, /* GL_OPERAND2_ALPHA */
- 1013, /* GL_OPERAND3_ALPHA_NV */
- 1668, /* GL_VERTEX_ARRAY_BINDING_APPLE */
- 1732, /* GL_YCBCR_422_APPLE */
- 1657, /* GL_UNSIGNED_SHORT_8_8_APPLE */
- 1659, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
- 1342, /* GL_SLICE_ACCUM_SUN */
- 1207, /* GL_QUAD_MESH_SUN */
- 1630, /* GL_TRIANGLE_MESH_SUN */
- 1706, /* GL_VERTEX_PROGRAM_ARB */
- 1717, /* GL_VERTEX_STATE_PROGRAM_NV */
- 1693, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
- 1699, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
- 1701, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
- 1703, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
- 300, /* GL_CURRENT_VERTEX_ATTRIB */
- 1165, /* GL_PROGRAM_LENGTH_ARB */
- 1179, /* GL_PROGRAM_STRING_ARB */
- 928, /* GL_MODELVIEW_PROJECTION_NV */
- 569, /* GL_IDENTITY_NV */
- 614, /* GL_INVERSE_NV */
- 1623, /* GL_TRANSPOSE_NV */
- 615, /* GL_INVERSE_TRANSPOSE_NV */
- 837, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
- 836, /* GL_MAX_PROGRAM_MATRICES_ARB */
- 745, /* GL_MATRIX0_NV */
- 757, /* GL_MATRIX1_NV */
- 769, /* GL_MATRIX2_NV */
- 773, /* GL_MATRIX3_NV */
- 775, /* GL_MATRIX4_NV */
- 777, /* GL_MATRIX5_NV */
- 779, /* GL_MATRIX6_NV */
- 781, /* GL_MATRIX7_NV */
- 285, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
- 282, /* GL_CURRENT_MATRIX_ARB */
- 1709, /* GL_VERTEX_PROGRAM_POINT_SIZE */
- 1712, /* GL_VERTEX_PROGRAM_TWO_SIDE */
- 1177, /* GL_PROGRAM_PARAMETER_NV */
- 1697, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
- 1181, /* GL_PROGRAM_TARGET_NV */
- 1178, /* GL_PROGRAM_RESIDENT_NV */
- 1615, /* GL_TRACK_MATRIX_NV */
- 1616, /* GL_TRACK_MATRIX_TRANSFORM_NV */
- 1707, /* GL_VERTEX_PROGRAM_BINDING_NV */
- 1159, /* GL_PROGRAM_ERROR_POSITION_ARB */
- 319, /* GL_DEPTH_CLAMP_NV */
- 1675, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
- 1682, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
- 1683, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
- 1684, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
- 1685, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
- 1686, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
- 1687, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
- 1688, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
- 1689, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
- 1690, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
- 1676, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
- 1677, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
- 1678, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
- 1679, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
- 1680, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
- 1681, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
- 699, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
- 706, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
- 707, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
- 708, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
- 709, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
- 710, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
- 711, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
- 712, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
- 713, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
- 714, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
- 700, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
- 701, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
- 702, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
- 703, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
- 704, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
- 705, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
- 726, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
- 733, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
- 734, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
- 735, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
- 736, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
- 737, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
- 738, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
- 1158, /* GL_PROGRAM_BINDING_ARB */
- 740, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
- 741, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
- 727, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
- 728, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
- 729, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
- 730, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
- 731, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
- 732, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
- 1538, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
- 1535, /* GL_TEXTURE_COMPRESSED */
- 967, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
- 239, /* GL_COMPRESSED_TEXTURE_FORMATS */
- 876, /* GL_MAX_VERTEX_UNITS_ARB */
+ 603, /* GL_INTERPOLATE */
+ 241, /* GL_CONSTANT */
+ 1155, /* GL_PRIMARY_COLOR */
+ 1152, /* GL_PREVIOUS */
+ 1356, /* GL_SOURCE0_RGB */
+ 1362, /* GL_SOURCE1_RGB */
+ 1368, /* GL_SOURCE2_RGB */
+ 1372, /* GL_SOURCE3_RGB_NV */
+ 1353, /* GL_SOURCE0_ALPHA */
+ 1359, /* GL_SOURCE1_ALPHA */
+ 1365, /* GL_SOURCE2_ALPHA */
+ 1371, /* GL_SOURCE3_ALPHA_NV */
+ 1001, /* GL_OPERAND0_RGB */
+ 1007, /* GL_OPERAND1_RGB */
+ 1013, /* GL_OPERAND2_RGB */
+ 1017, /* GL_OPERAND3_RGB_NV */
+ 998, /* GL_OPERAND0_ALPHA */
+ 1004, /* GL_OPERAND1_ALPHA */
+ 1010, /* GL_OPERAND2_ALPHA */
+ 1016, /* GL_OPERAND3_ALPHA_NV */
+ 1677, /* GL_VERTEX_ARRAY_BINDING_APPLE */
+ 1741, /* GL_YCBCR_422_APPLE */
+ 1666, /* GL_UNSIGNED_SHORT_8_8_APPLE */
+ 1668, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
+ 1347, /* GL_SLICE_ACCUM_SUN */
+ 1212, /* GL_QUAD_MESH_SUN */
+ 1639, /* GL_TRIANGLE_MESH_SUN */
+ 1715, /* GL_VERTEX_PROGRAM_ARB */
+ 1726, /* GL_VERTEX_STATE_PROGRAM_NV */
+ 1702, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
+ 1708, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
+ 1710, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
+ 1712, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
+ 301, /* GL_CURRENT_VERTEX_ATTRIB */
+ 1168, /* GL_PROGRAM_LENGTH_ARB */
+ 1182, /* GL_PROGRAM_STRING_ARB */
+ 931, /* GL_MODELVIEW_PROJECTION_NV */
+ 571, /* GL_IDENTITY_NV */
+ 616, /* GL_INVERSE_NV */
+ 1632, /* GL_TRANSPOSE_NV */
+ 617, /* GL_INVERSE_TRANSPOSE_NV */
+ 840, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
+ 839, /* GL_MAX_PROGRAM_MATRICES_ARB */
+ 747, /* GL_MATRIX0_NV */
+ 759, /* GL_MATRIX1_NV */
+ 771, /* GL_MATRIX2_NV */
+ 775, /* GL_MATRIX3_NV */
+ 777, /* GL_MATRIX4_NV */
+ 779, /* GL_MATRIX5_NV */
+ 781, /* GL_MATRIX6_NV */
+ 783, /* GL_MATRIX7_NV */
+ 286, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
+ 283, /* GL_CURRENT_MATRIX_ARB */
+ 1718, /* GL_VERTEX_PROGRAM_POINT_SIZE */
+ 1721, /* GL_VERTEX_PROGRAM_TWO_SIDE */
+ 1180, /* GL_PROGRAM_PARAMETER_NV */
+ 1706, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
+ 1184, /* GL_PROGRAM_TARGET_NV */
+ 1181, /* GL_PROGRAM_RESIDENT_NV */
+ 1624, /* GL_TRACK_MATRIX_NV */
+ 1625, /* GL_TRACK_MATRIX_TRANSFORM_NV */
+ 1716, /* GL_VERTEX_PROGRAM_BINDING_NV */
+ 1162, /* GL_PROGRAM_ERROR_POSITION_ARB */
+ 320, /* GL_DEPTH_CLAMP_NV */
+ 1684, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
+ 1691, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
+ 1692, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
+ 1693, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
+ 1694, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
+ 1695, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
+ 1696, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
+ 1697, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
+ 1698, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
+ 1699, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
+ 1685, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
+ 1686, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
+ 1687, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
+ 1688, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
+ 1689, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
+ 1690, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
+ 701, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
+ 708, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
+ 709, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
+ 710, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
+ 711, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
+ 712, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
+ 713, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
+ 714, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
+ 715, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
+ 716, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
+ 702, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
+ 703, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
+ 704, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
+ 705, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
+ 706, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
+ 707, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
+ 728, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
+ 735, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
+ 736, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
+ 737, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
+ 738, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
+ 739, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
+ 740, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
+ 1161, /* GL_PROGRAM_BINDING_ARB */
+ 742, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
+ 743, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
+ 729, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
+ 730, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
+ 731, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
+ 732, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
+ 733, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
+ 734, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
+ 1547, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
+ 1544, /* GL_TEXTURE_COMPRESSED */
+ 970, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
+ 240, /* GL_COMPRESSED_TEXTURE_FORMATS */
+ 879, /* GL_MAX_VERTEX_UNITS_ARB */
22, /* GL_ACTIVE_VERTEX_UNITS_ARB */
- 1727, /* GL_WEIGHT_SUM_UNITY_ARB */
- 1705, /* GL_VERTEX_BLEND_ARB */
- 302, /* GL_CURRENT_WEIGHT_ARB */
- 1726, /* GL_WEIGHT_ARRAY_TYPE_ARB */
- 1725, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
- 1724, /* GL_WEIGHT_ARRAY_SIZE_ARB */
- 1723, /* GL_WEIGHT_ARRAY_POINTER_ARB */
- 1720, /* GL_WEIGHT_ARRAY_ARB */
- 345, /* GL_DOT3_RGB */
- 346, /* GL_DOT3_RGBA */
- 237, /* GL_COMPRESSED_RGB_FXT1_3DFX */
- 232, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
- 936, /* GL_MULTISAMPLE_3DFX */
- 1306, /* GL_SAMPLE_BUFFERS_3DFX */
- 1297, /* GL_SAMPLES_3DFX */
- 917, /* GL_MODELVIEW2_ARB */
- 920, /* GL_MODELVIEW3_ARB */
- 921, /* GL_MODELVIEW4_ARB */
- 922, /* GL_MODELVIEW5_ARB */
- 923, /* GL_MODELVIEW6_ARB */
- 924, /* GL_MODELVIEW7_ARB */
- 925, /* GL_MODELVIEW8_ARB */
- 926, /* GL_MODELVIEW9_ARB */
- 896, /* GL_MODELVIEW10_ARB */
- 897, /* GL_MODELVIEW11_ARB */
- 898, /* GL_MODELVIEW12_ARB */
- 899, /* GL_MODELVIEW13_ARB */
- 900, /* GL_MODELVIEW14_ARB */
- 901, /* GL_MODELVIEW15_ARB */
- 902, /* GL_MODELVIEW16_ARB */
- 903, /* GL_MODELVIEW17_ARB */
- 904, /* GL_MODELVIEW18_ARB */
- 905, /* GL_MODELVIEW19_ARB */
- 907, /* GL_MODELVIEW20_ARB */
- 908, /* GL_MODELVIEW21_ARB */
- 909, /* GL_MODELVIEW22_ARB */
- 910, /* GL_MODELVIEW23_ARB */
- 911, /* GL_MODELVIEW24_ARB */
- 912, /* GL_MODELVIEW25_ARB */
- 913, /* GL_MODELVIEW26_ARB */
- 914, /* GL_MODELVIEW27_ARB */
- 915, /* GL_MODELVIEW28_ARB */
- 916, /* GL_MODELVIEW29_ARB */
- 918, /* GL_MODELVIEW30_ARB */
- 919, /* GL_MODELVIEW31_ARB */
- 350, /* GL_DOT3_RGB_EXT */
- 348, /* GL_DOT3_RGBA_EXT */
- 890, /* GL_MIRROR_CLAMP_EXT */
- 893, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
- 931, /* GL_MODULATE_ADD_ATI */
- 932, /* GL_MODULATE_SIGNED_ADD_ATI */
- 933, /* GL_MODULATE_SUBTRACT_ATI */
- 1733, /* GL_YCBCR_MESA */
- 1022, /* GL_PACK_INVERT_MESA */
- 305, /* GL_DEBUG_OBJECT_MESA */
- 306, /* GL_DEBUG_PRINT_MESA */
- 304, /* GL_DEBUG_ASSERT_MESA */
+ 1736, /* GL_WEIGHT_SUM_UNITY_ARB */
+ 1714, /* GL_VERTEX_BLEND_ARB */
+ 303, /* GL_CURRENT_WEIGHT_ARB */
+ 1735, /* GL_WEIGHT_ARRAY_TYPE_ARB */
+ 1734, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
+ 1733, /* GL_WEIGHT_ARRAY_SIZE_ARB */
+ 1732, /* GL_WEIGHT_ARRAY_POINTER_ARB */
+ 1729, /* GL_WEIGHT_ARRAY_ARB */
+ 346, /* GL_DOT3_RGB */
+ 347, /* GL_DOT3_RGBA */
+ 238, /* GL_COMPRESSED_RGB_FXT1_3DFX */
+ 233, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
+ 939, /* GL_MULTISAMPLE_3DFX */
+ 1311, /* GL_SAMPLE_BUFFERS_3DFX */
+ 1302, /* GL_SAMPLES_3DFX */
+ 920, /* GL_MODELVIEW2_ARB */
+ 923, /* GL_MODELVIEW3_ARB */
+ 924, /* GL_MODELVIEW4_ARB */
+ 925, /* GL_MODELVIEW5_ARB */
+ 926, /* GL_MODELVIEW6_ARB */
+ 927, /* GL_MODELVIEW7_ARB */
+ 928, /* GL_MODELVIEW8_ARB */
+ 929, /* GL_MODELVIEW9_ARB */
+ 899, /* GL_MODELVIEW10_ARB */
+ 900, /* GL_MODELVIEW11_ARB */
+ 901, /* GL_MODELVIEW12_ARB */
+ 902, /* GL_MODELVIEW13_ARB */
+ 903, /* GL_MODELVIEW14_ARB */
+ 904, /* GL_MODELVIEW15_ARB */
+ 905, /* GL_MODELVIEW16_ARB */
+ 906, /* GL_MODELVIEW17_ARB */
+ 907, /* GL_MODELVIEW18_ARB */
+ 908, /* GL_MODELVIEW19_ARB */
+ 910, /* GL_MODELVIEW20_ARB */
+ 911, /* GL_MODELVIEW21_ARB */
+ 912, /* GL_MODELVIEW22_ARB */
+ 913, /* GL_MODELVIEW23_ARB */
+ 914, /* GL_MODELVIEW24_ARB */
+ 915, /* GL_MODELVIEW25_ARB */
+ 916, /* GL_MODELVIEW26_ARB */
+ 917, /* GL_MODELVIEW27_ARB */
+ 918, /* GL_MODELVIEW28_ARB */
+ 919, /* GL_MODELVIEW29_ARB */
+ 921, /* GL_MODELVIEW30_ARB */
+ 922, /* GL_MODELVIEW31_ARB */
+ 351, /* GL_DOT3_RGB_EXT */
+ 349, /* GL_DOT3_RGBA_EXT */
+ 893, /* GL_MIRROR_CLAMP_EXT */
+ 896, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
+ 934, /* GL_MODULATE_ADD_ATI */
+ 935, /* GL_MODULATE_SIGNED_ADD_ATI */
+ 936, /* GL_MODULATE_SUBTRACT_ATI */
+ 1742, /* GL_YCBCR_MESA */
+ 1025, /* GL_PACK_INVERT_MESA */
+ 306, /* GL_DEBUG_OBJECT_MESA */
+ 307, /* GL_DEBUG_PRINT_MESA */
+ 305, /* GL_DEBUG_ASSERT_MESA */
107, /* GL_BUFFER_SIZE */
109, /* GL_BUFFER_USAGE */
- 1393, /* GL_STENCIL_BACK_FUNC */
- 1392, /* GL_STENCIL_BACK_FAIL */
- 1394, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
- 1395, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
- 484, /* GL_FRAGMENT_PROGRAM_ARB */
- 1156, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
- 1184, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
- 1183, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
- 1168, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- 1174, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- 1173, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- 826, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
- 849, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
- 848, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
- 839, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- 845, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- 844, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- 809, /* GL_MAX_DRAW_BUFFERS */
- 354, /* GL_DRAW_BUFFER0 */
- 357, /* GL_DRAW_BUFFER1 */
- 378, /* GL_DRAW_BUFFER2 */
- 381, /* GL_DRAW_BUFFER3 */
- 384, /* GL_DRAW_BUFFER4 */
- 387, /* GL_DRAW_BUFFER5 */
- 390, /* GL_DRAW_BUFFER6 */
- 393, /* GL_DRAW_BUFFER7 */
- 396, /* GL_DRAW_BUFFER8 */
- 399, /* GL_DRAW_BUFFER9 */
- 358, /* GL_DRAW_BUFFER10 */
- 361, /* GL_DRAW_BUFFER11 */
- 364, /* GL_DRAW_BUFFER12 */
- 367, /* GL_DRAW_BUFFER13 */
- 370, /* GL_DRAW_BUFFER14 */
- 373, /* GL_DRAW_BUFFER15 */
+ 1398, /* GL_STENCIL_BACK_FUNC */
+ 1397, /* GL_STENCIL_BACK_FAIL */
+ 1399, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
+ 1400, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
+ 485, /* GL_FRAGMENT_PROGRAM_ARB */
+ 1159, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
+ 1187, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
+ 1186, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
+ 1171, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+ 1177, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+ 1176, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+ 829, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
+ 852, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
+ 851, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
+ 842, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+ 848, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+ 847, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+ 812, /* GL_MAX_DRAW_BUFFERS */
+ 355, /* GL_DRAW_BUFFER0 */
+ 358, /* GL_DRAW_BUFFER1 */
+ 379, /* GL_DRAW_BUFFER2 */
+ 382, /* GL_DRAW_BUFFER3 */
+ 385, /* GL_DRAW_BUFFER4 */
+ 388, /* GL_DRAW_BUFFER5 */
+ 391, /* GL_DRAW_BUFFER6 */
+ 394, /* GL_DRAW_BUFFER7 */
+ 397, /* GL_DRAW_BUFFER8 */
+ 400, /* GL_DRAW_BUFFER9 */
+ 359, /* GL_DRAW_BUFFER10 */
+ 362, /* GL_DRAW_BUFFER11 */
+ 365, /* GL_DRAW_BUFFER12 */
+ 368, /* GL_DRAW_BUFFER13 */
+ 371, /* GL_DRAW_BUFFER14 */
+ 374, /* GL_DRAW_BUFFER15 */
82, /* GL_BLEND_EQUATION_ALPHA */
- 790, /* GL_MATRIX_PALETTE_ARB */
- 820, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
- 823, /* GL_MAX_PALETTE_MATRICES_ARB */
- 288, /* GL_CURRENT_PALETTE_MATRIX_ARB */
- 784, /* GL_MATRIX_INDEX_ARRAY_ARB */
- 283, /* GL_CURRENT_MATRIX_INDEX_ARB */
- 786, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
- 788, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
- 787, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
- 785, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
- 1564, /* GL_TEXTURE_DEPTH_SIZE */
- 338, /* GL_DEPTH_TEXTURE_MODE */
- 1530, /* GL_TEXTURE_COMPARE_MODE */
- 1528, /* GL_TEXTURE_COMPARE_FUNC */
- 216, /* GL_COMPARE_R_TO_TEXTURE */
- 1090, /* GL_POINT_SPRITE */
- 265, /* GL_COORD_REPLACE */
- 1094, /* GL_POINT_SPRITE_R_MODE_NV */
- 1209, /* GL_QUERY_COUNTER_BITS */
- 290, /* GL_CURRENT_QUERY */
- 1211, /* GL_QUERY_RESULT */
- 1213, /* GL_QUERY_RESULT_AVAILABLE */
- 870, /* GL_MAX_VERTEX_ATTRIBS */
- 1695, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
- 336, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
- 335, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
- 856, /* GL_MAX_TEXTURE_COORDS */
- 858, /* GL_MAX_TEXTURE_IMAGE_UNITS */
- 1161, /* GL_PROGRAM_ERROR_STRING_ARB */
- 1163, /* GL_PROGRAM_FORMAT_ASCII_ARB */
- 1162, /* GL_PROGRAM_FORMAT_ARB */
- 1609, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
- 317, /* GL_DEPTH_BOUNDS_TEST_EXT */
- 316, /* GL_DEPTH_BOUNDS_EXT */
+ 792, /* GL_MATRIX_PALETTE_ARB */
+ 823, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
+ 826, /* GL_MAX_PALETTE_MATRICES_ARB */
+ 289, /* GL_CURRENT_PALETTE_MATRIX_ARB */
+ 786, /* GL_MATRIX_INDEX_ARRAY_ARB */
+ 284, /* GL_CURRENT_MATRIX_INDEX_ARB */
+ 788, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
+ 790, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
+ 789, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
+ 787, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
+ 1573, /* GL_TEXTURE_DEPTH_SIZE */
+ 339, /* GL_DEPTH_TEXTURE_MODE */
+ 1539, /* GL_TEXTURE_COMPARE_MODE */
+ 1537, /* GL_TEXTURE_COMPARE_FUNC */
+ 217, /* GL_COMPARE_R_TO_TEXTURE */
+ 1093, /* GL_POINT_SPRITE */
+ 266, /* GL_COORD_REPLACE */
+ 1097, /* GL_POINT_SPRITE_R_MODE_NV */
+ 1214, /* GL_QUERY_COUNTER_BITS */
+ 291, /* GL_CURRENT_QUERY */
+ 1216, /* GL_QUERY_RESULT */
+ 1218, /* GL_QUERY_RESULT_AVAILABLE */
+ 873, /* GL_MAX_VERTEX_ATTRIBS */
+ 1704, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
+ 337, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
+ 336, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
+ 859, /* GL_MAX_TEXTURE_COORDS */
+ 861, /* GL_MAX_TEXTURE_IMAGE_UNITS */
+ 1164, /* GL_PROGRAM_ERROR_STRING_ARB */
+ 1166, /* GL_PROGRAM_FORMAT_ASCII_ARB */
+ 1165, /* GL_PROGRAM_FORMAT_ARB */
+ 1618, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
+ 318, /* GL_DEPTH_BOUNDS_TEST_EXT */
+ 317, /* GL_DEPTH_BOUNDS_EXT */
52, /* GL_ARRAY_BUFFER */
- 419, /* GL_ELEMENT_ARRAY_BUFFER */
+ 420, /* GL_ELEMENT_ARRAY_BUFFER */
54, /* GL_ARRAY_BUFFER_BINDING */
- 421, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
- 1669, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
- 957, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
+ 422, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
+ 1678, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
+ 960, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
140, /* GL_COLOR_ARRAY_BUFFER_BINDING */
- 577, /* GL_INDEX_ARRAY_BUFFER_BINDING */
- 1543, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
- 415, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
- 1318, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
- 462, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
- 1721, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
- 1691, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
- 1164, /* GL_PROGRAM_INSTRUCTIONS_ARB */
- 832, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
- 1170, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- 841, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- 1182, /* GL_PROGRAM_TEMPORARIES_ARB */
- 847, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
- 1172, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
- 843, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
- 1176, /* GL_PROGRAM_PARAMETERS_ARB */
- 846, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
- 1171, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
- 842, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
- 1157, /* GL_PROGRAM_ATTRIBS_ARB */
- 827, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
- 1169, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
- 840, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
- 1155, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
- 825, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
- 1167, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- 838, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- 833, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
- 829, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
- 1185, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
- 1620, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
- 1221, /* GL_READ_ONLY */
- 1729, /* GL_WRITE_ONLY */
- 1223, /* GL_READ_WRITE */
+ 579, /* GL_INDEX_ARRAY_BUFFER_BINDING */
+ 1552, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
+ 416, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
+ 1323, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
+ 463, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
+ 1730, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
+ 1700, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
+ 1167, /* GL_PROGRAM_INSTRUCTIONS_ARB */
+ 835, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
+ 1173, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+ 844, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+ 1185, /* GL_PROGRAM_TEMPORARIES_ARB */
+ 850, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
+ 1175, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
+ 846, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
+ 1179, /* GL_PROGRAM_PARAMETERS_ARB */
+ 849, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
+ 1174, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
+ 845, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
+ 1160, /* GL_PROGRAM_ATTRIBS_ARB */
+ 830, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
+ 1172, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
+ 843, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
+ 1158, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
+ 828, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
+ 1170, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+ 841, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+ 836, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
+ 832, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
+ 1188, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
+ 1629, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
+ 1226, /* GL_READ_ONLY */
+ 1738, /* GL_WRITE_ONLY */
+ 1228, /* GL_READ_WRITE */
101, /* GL_BUFFER_ACCESS */
103, /* GL_BUFFER_MAPPED */
105, /* GL_BUFFER_MAP_POINTER */
- 1614, /* GL_TIME_ELAPSED_EXT */
- 744, /* GL_MATRIX0_ARB */
- 756, /* GL_MATRIX1_ARB */
- 768, /* GL_MATRIX2_ARB */
- 772, /* GL_MATRIX3_ARB */
- 774, /* GL_MATRIX4_ARB */
- 776, /* GL_MATRIX5_ARB */
- 778, /* GL_MATRIX6_ARB */
- 780, /* GL_MATRIX7_ARB */
- 782, /* GL_MATRIX8_ARB */
- 783, /* GL_MATRIX9_ARB */
- 746, /* GL_MATRIX10_ARB */
- 747, /* GL_MATRIX11_ARB */
- 748, /* GL_MATRIX12_ARB */
- 749, /* GL_MATRIX13_ARB */
- 750, /* GL_MATRIX14_ARB */
- 751, /* GL_MATRIX15_ARB */
- 752, /* GL_MATRIX16_ARB */
- 753, /* GL_MATRIX17_ARB */
- 754, /* GL_MATRIX18_ARB */
- 755, /* GL_MATRIX19_ARB */
- 758, /* GL_MATRIX20_ARB */
- 759, /* GL_MATRIX21_ARB */
- 760, /* GL_MATRIX22_ARB */
- 761, /* GL_MATRIX23_ARB */
- 762, /* GL_MATRIX24_ARB */
- 763, /* GL_MATRIX25_ARB */
- 764, /* GL_MATRIX26_ARB */
- 765, /* GL_MATRIX27_ARB */
- 766, /* GL_MATRIX28_ARB */
- 767, /* GL_MATRIX29_ARB */
- 770, /* GL_MATRIX30_ARB */
- 771, /* GL_MATRIX31_ARB */
- 1420, /* GL_STREAM_DRAW */
- 1422, /* GL_STREAM_READ */
- 1418, /* GL_STREAM_COPY */
- 1386, /* GL_STATIC_DRAW */
- 1388, /* GL_STATIC_READ */
- 1384, /* GL_STATIC_COPY */
- 409, /* GL_DYNAMIC_DRAW */
- 411, /* GL_DYNAMIC_READ */
- 407, /* GL_DYNAMIC_COPY */
- 533, /* GL_GL_PIXEL_PACK_BUFFER */
- 535, /* GL_GL_PIXEL_UNPACK_BUFFER */
- 534, /* GL_GL_PIXEL_PACK_BUFFER_BINDING */
- 536, /* GL_GL_PIXEL_UNPACK_BUFFER_BINDING */
- 830, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
- 828, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
- 831, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
- 835, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
- 834, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
- 1414, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
+ 1623, /* GL_TIME_ELAPSED_EXT */
+ 746, /* GL_MATRIX0_ARB */
+ 758, /* GL_MATRIX1_ARB */
+ 770, /* GL_MATRIX2_ARB */
+ 774, /* GL_MATRIX3_ARB */
+ 776, /* GL_MATRIX4_ARB */
+ 778, /* GL_MATRIX5_ARB */
+ 780, /* GL_MATRIX6_ARB */
+ 782, /* GL_MATRIX7_ARB */
+ 784, /* GL_MATRIX8_ARB */
+ 785, /* GL_MATRIX9_ARB */
+ 748, /* GL_MATRIX10_ARB */
+ 749, /* GL_MATRIX11_ARB */
+ 750, /* GL_MATRIX12_ARB */
+ 751, /* GL_MATRIX13_ARB */
+ 752, /* GL_MATRIX14_ARB */
+ 753, /* GL_MATRIX15_ARB */
+ 754, /* GL_MATRIX16_ARB */
+ 755, /* GL_MATRIX17_ARB */
+ 756, /* GL_MATRIX18_ARB */
+ 757, /* GL_MATRIX19_ARB */
+ 760, /* GL_MATRIX20_ARB */
+ 761, /* GL_MATRIX21_ARB */
+ 762, /* GL_MATRIX22_ARB */
+ 763, /* GL_MATRIX23_ARB */
+ 764, /* GL_MATRIX24_ARB */
+ 765, /* GL_MATRIX25_ARB */
+ 766, /* GL_MATRIX26_ARB */
+ 767, /* GL_MATRIX27_ARB */
+ 768, /* GL_MATRIX28_ARB */
+ 769, /* GL_MATRIX29_ARB */
+ 772, /* GL_MATRIX30_ARB */
+ 773, /* GL_MATRIX31_ARB */
+ 1425, /* GL_STREAM_DRAW */
+ 1427, /* GL_STREAM_READ */
+ 1423, /* GL_STREAM_COPY */
+ 1391, /* GL_STATIC_DRAW */
+ 1393, /* GL_STATIC_READ */
+ 1389, /* GL_STATIC_COPY */
+ 410, /* GL_DYNAMIC_DRAW */
+ 412, /* GL_DYNAMIC_READ */
+ 408, /* GL_DYNAMIC_COPY */
+ 535, /* GL_GL_PIXEL_PACK_BUFFER */
+ 537, /* GL_GL_PIXEL_UNPACK_BUFFER */
+ 536, /* GL_GL_PIXEL_PACK_BUFFER_BINDING */
+ 538, /* GL_GL_PIXEL_UNPACK_BUFFER_BINDING */
+ 833, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
+ 831, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
+ 834, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
+ 838, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
+ 837, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
+ 795, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
+ 1419, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
17, /* GL_ACTIVE_STENCIL_FACE_EXT */
- 891, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
- 1299, /* GL_SAMPLES_PASSED */
- 485, /* GL_FRAGMENT_SHADER */
- 1715, /* GL_VERTEX_SHADER */
- 1175, /* GL_PROGRAM_OBJECT_ARB */
- 1331, /* GL_SHADER_OBJECT_ARB */
- 816, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
- 874, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
- 868, /* GL_MAX_VARYING_FLOATS */
- 872, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
- 801, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
- 982, /* GL_OBJECT_TYPE_ARB */
- 1333, /* GL_SHADER_TYPE */
- 450, /* GL_FLOAT_VEC2 */
- 452, /* GL_FLOAT_VEC3 */
- 454, /* GL_FLOAT_VEC4 */
- 604, /* GL_INT_VEC2 */
- 606, /* GL_INT_VEC3 */
- 608, /* GL_INT_VEC4 */
+ 894, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
+ 1304, /* GL_SAMPLES_PASSED */
+ 486, /* GL_FRAGMENT_SHADER */
+ 1724, /* GL_VERTEX_SHADER */
+ 1178, /* GL_PROGRAM_OBJECT_ARB */
+ 1336, /* GL_SHADER_OBJECT_ARB */
+ 819, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
+ 877, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
+ 871, /* GL_MAX_VARYING_FLOATS */
+ 875, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
+ 804, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
+ 985, /* GL_OBJECT_TYPE_ARB */
+ 1338, /* GL_SHADER_TYPE */
+ 451, /* GL_FLOAT_VEC2 */
+ 453, /* GL_FLOAT_VEC3 */
+ 455, /* GL_FLOAT_VEC4 */
+ 606, /* GL_INT_VEC2 */
+ 608, /* GL_INT_VEC3 */
+ 610, /* GL_INT_VEC4 */
93, /* GL_BOOL */
95, /* GL_BOOL_VEC2 */
97, /* GL_BOOL_VEC3 */
99, /* GL_BOOL_VEC4 */
- 444, /* GL_FLOAT_MAT2 */
- 446, /* GL_FLOAT_MAT3 */
- 448, /* GL_FLOAT_MAT4 */
- 1290, /* GL_SAMPLER_1D */
- 1292, /* GL_SAMPLER_2D */
- 1294, /* GL_SAMPLER_3D */
- 1295, /* GL_SAMPLER_CUBE */
- 1291, /* GL_SAMPLER_1D_SHADOW */
- 1293, /* GL_SAMPLER_2D_SHADOW */
- 527, /* GL_GL_FLOAT_MAT2x3 */
- 528, /* GL_GL_FLOAT_MAT2x4 */
- 529, /* GL_GL_FLOAT_MAT3x2 */
- 530, /* GL_GL_FLOAT_MAT3x4 */
- 531, /* GL_GL_FLOAT_MAT4x2 */
- 532, /* GL_GL_FLOAT_MAT4x3 */
- 311, /* GL_DELETE_STATUS */
- 220, /* GL_COMPILE_STATUS */
- 657, /* GL_LINK_STATUS */
- 1664, /* GL_VALIDATE_STATUS */
- 589, /* GL_INFO_LOG_LENGTH */
+ 445, /* GL_FLOAT_MAT2 */
+ 447, /* GL_FLOAT_MAT3 */
+ 449, /* GL_FLOAT_MAT4 */
+ 1295, /* GL_SAMPLER_1D */
+ 1297, /* GL_SAMPLER_2D */
+ 1299, /* GL_SAMPLER_3D */
+ 1300, /* GL_SAMPLER_CUBE */
+ 1296, /* GL_SAMPLER_1D_SHADOW */
+ 1298, /* GL_SAMPLER_2D_SHADOW */
+ 529, /* GL_GL_FLOAT_MAT2x3 */
+ 530, /* GL_GL_FLOAT_MAT2x4 */
+ 531, /* GL_GL_FLOAT_MAT3x2 */
+ 532, /* GL_GL_FLOAT_MAT3x4 */
+ 533, /* GL_GL_FLOAT_MAT4x2 */
+ 534, /* GL_GL_FLOAT_MAT4x3 */
+ 312, /* GL_DELETE_STATUS */
+ 221, /* GL_COMPILE_STATUS */
+ 659, /* GL_LINK_STATUS */
+ 1673, /* GL_VALIDATE_STATUS */
+ 591, /* GL_INFO_LOG_LENGTH */
56, /* GL_ATTACHED_SHADERS */
20, /* GL_ACTIVE_UNIFORMS */
21, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */
- 1332, /* GL_SHADER_SOURCE_LENGTH */
+ 1337, /* GL_SHADER_SOURCE_LENGTH */
15, /* GL_ACTIVE_ATTRIBUTES */
16, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */
- 487, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
- 1335, /* GL_SHADING_LANGUAGE_VERSION */
- 289, /* GL_CURRENT_PROGRAM */
- 1031, /* GL_PALETTE4_RGB8_OES */
- 1033, /* GL_PALETTE4_RGBA8_OES */
- 1029, /* GL_PALETTE4_R5_G6_B5_OES */
- 1032, /* GL_PALETTE4_RGBA4_OES */
- 1030, /* GL_PALETTE4_RGB5_A1_OES */
- 1036, /* GL_PALETTE8_RGB8_OES */
- 1038, /* GL_PALETTE8_RGBA8_OES */
- 1034, /* GL_PALETTE8_R5_G6_B5_OES */
- 1037, /* GL_PALETTE8_RGBA4_OES */
- 1035, /* GL_PALETTE8_RGB5_A1_OES */
- 572, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
- 571, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
- 541, /* GL_GL_SRGB */
- 542, /* GL_GL_SRGB8 */
- 544, /* GL_GL_SRGB_ALPHA */
- 543, /* GL_GL_SRGB8_ALPHA8 */
- 540, /* GL_GL_SLUMINANCE_ALPHA */
- 539, /* GL_GL_SLUMINANCE8_ALPHA8 */
- 537, /* GL_GL_SLUMINANCE */
- 538, /* GL_GL_SLUMINANCE8 */
- 524, /* GL_GL_COMPRESSED_SRGB */
- 525, /* GL_GL_COMPRESSED_SRGB_ALPHA */
- 522, /* GL_GL_COMPRESSED_SLUMINANCE */
- 523, /* GL_GL_COMPRESSED_SLUMINANCE_ALPHA */
- 1092, /* GL_POINT_SPRITE_COORD_ORIGIN */
- 665, /* GL_LOWER_LEFT */
- 1661, /* GL_UPPER_LEFT */
- 1396, /* GL_STENCIL_BACK_REF */
- 1397, /* GL_STENCIL_BACK_VALUE_MASK */
- 1398, /* GL_STENCIL_BACK_WRITEMASK */
- 402, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
- 1235, /* GL_RENDERBUFFER_BINDING_EXT */
- 1220, /* GL_READ_FRAMEBUFFER_EXT */
- 403, /* GL_DRAW_FRAMEBUFFER_EXT */
- 1219, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
- 489, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */
- 488, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */
- 492, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */
- 491, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */
- 490, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */
- 494, /* GL_FRAMEBUFFER_COMPLETE_EXT */
- 496, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */
- 501, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */
- 499, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
- 497, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
- 500, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
- 498, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
- 502, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
- 504, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */
- 503, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
- 798, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
+ 488, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
+ 1340, /* GL_SHADING_LANGUAGE_VERSION */
+ 290, /* GL_CURRENT_PROGRAM */
+ 1034, /* GL_PALETTE4_RGB8_OES */
+ 1036, /* GL_PALETTE4_RGBA8_OES */
+ 1032, /* GL_PALETTE4_R5_G6_B5_OES */
+ 1035, /* GL_PALETTE4_RGBA4_OES */
+ 1033, /* GL_PALETTE4_RGB5_A1_OES */
+ 1039, /* GL_PALETTE8_RGB8_OES */
+ 1041, /* GL_PALETTE8_RGBA8_OES */
+ 1037, /* GL_PALETTE8_R5_G6_B5_OES */
+ 1040, /* GL_PALETTE8_RGBA4_OES */
+ 1038, /* GL_PALETTE8_RGB5_A1_OES */
+ 574, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
+ 573, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
+ 1507, /* GL_TEXTURE_1D_ARRAY_EXT */
+ 1198, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
+ 1509, /* GL_TEXTURE_2D_ARRAY_EXT */
+ 1201, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
+ 1515, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
+ 1517, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
+ 543, /* GL_GL_SRGB */
+ 544, /* GL_GL_SRGB8 */
+ 546, /* GL_GL_SRGB_ALPHA */
+ 545, /* GL_GL_SRGB8_ALPHA8 */
+ 542, /* GL_GL_SLUMINANCE_ALPHA */
+ 541, /* GL_GL_SLUMINANCE8_ALPHA8 */
+ 539, /* GL_GL_SLUMINANCE */
+ 540, /* GL_GL_SLUMINANCE8 */
+ 526, /* GL_GL_COMPRESSED_SRGB */
+ 527, /* GL_GL_COMPRESSED_SRGB_ALPHA */
+ 524, /* GL_GL_COMPRESSED_SLUMINANCE */
+ 525, /* GL_GL_COMPRESSED_SLUMINANCE_ALPHA */
+ 1095, /* GL_POINT_SPRITE_COORD_ORIGIN */
+ 667, /* GL_LOWER_LEFT */
+ 1670, /* GL_UPPER_LEFT */
+ 1401, /* GL_STENCIL_BACK_REF */
+ 1402, /* GL_STENCIL_BACK_VALUE_MASK */
+ 1403, /* GL_STENCIL_BACK_WRITEMASK */
+ 403, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
+ 1240, /* GL_RENDERBUFFER_BINDING_EXT */
+ 1225, /* GL_READ_FRAMEBUFFER_EXT */
+ 404, /* GL_DRAW_FRAMEBUFFER_EXT */
+ 1224, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
+ 490, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */
+ 489, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */
+ 494, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */
+ 492, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */
+ 491, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */
+ 496, /* GL_FRAMEBUFFER_COMPLETE_EXT */
+ 498, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */
+ 503, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */
+ 501, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
+ 499, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
+ 502, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
+ 500, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
+ 504, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
+ 506, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */
+ 505, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
+ 801, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
146, /* GL_COLOR_ATTACHMENT0_EXT */
153, /* GL_COLOR_ATTACHMENT1_EXT */
154, /* GL_COLOR_ATTACHMENT2_EXT */
@@ -4774,25 +4799,25 @@ static const unsigned reduced_enums[1277] =
150, /* GL_COLOR_ATTACHMENT13_EXT */
151, /* GL_COLOR_ATTACHMENT14_EXT */
152, /* GL_COLOR_ATTACHMENT15_EXT */
- 313, /* GL_DEPTH_ATTACHMENT_EXT */
- 1391, /* GL_STENCIL_ATTACHMENT_EXT */
- 495, /* GL_FRAMEBUFFER_EXT */
- 1236, /* GL_RENDERBUFFER_EXT */
- 1239, /* GL_RENDERBUFFER_WIDTH_EXT */
- 1237, /* GL_RENDERBUFFER_HEIGHT_EXT */
- 1238, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */
- 1409, /* GL_STENCIL_INDEX_EXT */
- 1406, /* GL_STENCIL_INDEX1_EXT */
- 1407, /* GL_STENCIL_INDEX4_EXT */
- 1408, /* GL_STENCIL_INDEX8_EXT */
- 1405, /* GL_STENCIL_INDEX16_EXT */
- 427, /* GL_EVAL_BIT */
- 1217, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
- 659, /* GL_LIST_BIT */
- 1514, /* GL_TEXTURE_BIT */
- 1314, /* GL_SCISSOR_BIT */
+ 314, /* GL_DEPTH_ATTACHMENT_EXT */
+ 1396, /* GL_STENCIL_ATTACHMENT_EXT */
+ 497, /* GL_FRAMEBUFFER_EXT */
+ 1241, /* GL_RENDERBUFFER_EXT */
+ 1244, /* GL_RENDERBUFFER_WIDTH_EXT */
+ 1242, /* GL_RENDERBUFFER_HEIGHT_EXT */
+ 1243, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */
+ 1414, /* GL_STENCIL_INDEX_EXT */
+ 1411, /* GL_STENCIL_INDEX1_EXT */
+ 1412, /* GL_STENCIL_INDEX4_EXT */
+ 1413, /* GL_STENCIL_INDEX8_EXT */
+ 1410, /* GL_STENCIL_INDEX16_EXT */
+ 428, /* GL_EVAL_BIT */
+ 1222, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
+ 661, /* GL_LIST_BIT */
+ 1523, /* GL_TEXTURE_BIT */
+ 1319, /* GL_SCISSOR_BIT */
29, /* GL_ALL_ATTRIB_BITS */
- 938, /* GL_MULTISAMPLE_BIT */
+ 941, /* GL_MULTISAMPLE_BIT */
30, /* GL_ALL_CLIENT_ATTRIB_BITS */
};
diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
index 4e44c5b710..a4a6cdae36 100644
--- a/src/mesa/main/extensions.c
+++ b/src/mesa/main/extensions.c
@@ -145,6 +145,7 @@ static const struct {
{ OFF, "GL_MESA_packed_depth_stencil", F(MESA_packed_depth_stencil) },
{ OFF, "GL_MESA_program_debug", F(MESA_program_debug) },
{ OFF, "GL_MESA_resize_buffers", F(MESA_resize_buffers) },
+ { OFF, "GL_MESA_texture_array", F(MESA_texture_array) },
{ OFF, "GL_MESA_ycbcr_texture", F(MESA_ycbcr_texture) },
{ ON, "GL_MESA_window_pos", F(ARB_window_pos) },
{ OFF, "GL_NV_blend_square", F(NV_blend_square) },
@@ -270,6 +271,7 @@ _mesa_enable_sw_extensions(GLcontext *ctx)
ctx->Extensions.MESA_program_debug = GL_TRUE;
#endif
ctx->Extensions.MESA_resize_buffers = GL_TRUE;
+ ctx->Extensions.MESA_texture_array = GL_TRUE;
ctx->Extensions.MESA_ycbcr_texture = GL_TRUE;
ctx->Extensions.NV_blend_square = GL_TRUE;
/*ctx->Extensions.NV_light_max_exponent = GL_TRUE;*/
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 58bcc24b32..e3bada5ae8 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -1144,20 +1144,19 @@ _mesa_CheckFramebufferStatusEXT(GLenum target)
* Common code called by glFramebufferTexture1D/2D/3DEXT().
*/
static void
-framebuffer_texture(GLuint dims, GLenum target, GLenum attachment,
- GLenum textarget, GLuint texture,
+framebuffer_texture(GLcontext *ctx, const char *caller, GLenum target,
+ GLenum attachment, GLenum textarget, GLuint texture,
GLint level, GLint zoffset)
{
struct gl_renderbuffer_attachment *att;
struct gl_texture_object *texObj = NULL;
struct gl_framebuffer *fb;
- GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END(ctx);
if (target != GL_FRAMEBUFFER_EXT) {
_mesa_error(ctx, GL_INVALID_ENUM,
- "glFramebufferTexture%dDEXT(target)", dims);
+ "glFramebufferTexture%sEXT(target)", caller);
return;
}
@@ -1167,83 +1166,68 @@ framebuffer_texture(GLuint dims, GLenum target, GLenum attachment,
/* check framebuffer binding */
if (fb->Name == 0) {
_mesa_error(ctx, GL_INVALID_OPERATION,
- "glFramebufferTexture%dDEXT", dims);
+ "glFramebufferTexture%sEXT", caller);
return;
}
+
+ /* The textarget, level, and zoffset parameters are only validated if
+ * texture is non-zero.
+ */
if (texture) {
- texObj = _mesa_lookup_texture(ctx, texture);
- }
+ GLboolean err = GL_TRUE;
- /* Check dimension-dependent things */
- switch (dims) {
- case 1:
- if (textarget != GL_TEXTURE_1D) {
- _mesa_error(ctx, GL_INVALID_ENUM,
- "glFramebufferTexture1DEXT(textarget)");
- return;
- }
- if (texObj && texObj->Target != GL_TEXTURE_1D) {
- _mesa_error(ctx, GL_INVALID_OPERATION,
- "glFramebufferTexture1DEXT(texture target mismatch)");
- return;
- }
- break;
- case 2:
- if (textarget != GL_TEXTURE_2D &&
- textarget != GL_TEXTURE_RECTANGLE_ARB &&
- !IS_CUBE_FACE(textarget)) {
- _mesa_error(ctx, GL_INVALID_ENUM,
- "glFramebufferTexture2DEXT(textarget)");
- return;
- }
- if (texObj) {
- if ((texObj->Target == GL_TEXTURE_2D && textarget != GL_TEXTURE_2D) ||
- (texObj->Target == GL_TEXTURE_RECTANGLE_ARB
- && textarget != GL_TEXTURE_RECTANGLE_ARB) ||
- (texObj->Target == GL_TEXTURE_CUBE_MAP
- && !IS_CUBE_FACE(textarget))) {
- _mesa_error(ctx, GL_INVALID_OPERATION,
- "glFramebufferTexture1DEXT(texture target mismatch)");
- return;
+ texObj = _mesa_lookup_texture(ctx, texture);
+ if (texObj != NULL) {
+ if (textarget == 0) {
+ err = (texObj->Target != GL_TEXTURE_3D) &&
+ (texObj->Target != GL_TEXTURE_1D_ARRAY_EXT) &&
+ (texObj->Target != GL_TEXTURE_2D_ARRAY_EXT);
+ }
+ else {
+ err = (texObj->Target == GL_TEXTURE_CUBE_MAP)
+ ? !IS_CUBE_FACE(textarget)
+ : (texObj->Target != textarget);
}
}
- break;
- case 3:
- if (textarget != GL_TEXTURE_3D) {
- _mesa_error(ctx, GL_INVALID_ENUM,
- "glFramebufferTexture3DEXT(textarget)");
- return;
- }
- if (texObj && texObj->Target != GL_TEXTURE_3D) {
+
+ if (err) {
_mesa_error(ctx, GL_INVALID_OPERATION,
- "glFramebufferTexture3DEXT(texture target mismatch)");
+ "glFramebufferTexture%sEXT(texture target mismatch)",
+ caller);
return;
}
- {
+
+ if (texObj->Target == GL_TEXTURE_3D) {
const GLint maxSize = 1 << (ctx->Const.Max3DTextureLevels - 1);
if (zoffset < 0 || zoffset >= maxSize) {
_mesa_error(ctx, GL_INVALID_VALUE,
- "glFramebufferTexture3DEXT(zoffset)");
+ "glFramebufferTexture%sEXT(zoffset)", caller);
+ return;
+ }
+ }
+ else if ((texObj->Target == GL_TEXTURE_1D_ARRAY_EXT) ||
+ (texObj->Target == GL_TEXTURE_2D_ARRAY_EXT)) {
+ if (zoffset < 0 || zoffset >= ctx->Const.MaxArrayTextureLayers) {
+ _mesa_error(ctx, GL_INVALID_VALUE,
+ "glFramebufferTexture%sEXT(layer)", caller);
return;
}
}
- break;
- default:
- _mesa_problem(ctx, "Unexpected dims in error_check_framebuffer_texture");
- return;
- }
- if ((level < 0) || level >= _mesa_max_texture_levels(ctx, textarget)) {
- _mesa_error(ctx, GL_INVALID_VALUE,
- "glFramebufferTexture%dDEXT(level)", dims);
- return;
+
+ if ((level < 0) ||
+ (level >= _mesa_max_texture_levels(ctx, texObj->Target))) {
+ _mesa_error(ctx, GL_INVALID_VALUE,
+ "glFramebufferTexture%sEXT(level)", caller);
+ return;
+ }
}
att = _mesa_get_attachment(ctx, fb, attachment);
if (att == NULL) {
_mesa_error(ctx, GL_INVALID_ENUM,
- "glFramebufferTexture%dDEXT(attachment)", dims);
+ "glFramebufferTexture%sEXT(attachment)", caller);
return;
}
@@ -1271,9 +1255,16 @@ void GLAPIENTRY
_mesa_FramebufferTexture1DEXT(GLenum target, GLenum attachment,
GLenum textarget, GLuint texture, GLint level)
{
- const GLint zoffset = 0;
- framebuffer_texture(1, target, attachment, textarget, texture,
- level, zoffset);
+ GET_CURRENT_CONTEXT(ctx);
+
+ if ((texture != 0) && (textarget != GL_TEXTURE_1D)) {
+ _mesa_error(ctx, GL_INVALID_ENUM,
+ "glFramebufferTexture1DEXT(textarget)");
+ return;
+ }
+
+ framebuffer_texture(ctx, "1D", target, attachment, textarget, texture,
+ level, 0);
}
@@ -1281,9 +1272,19 @@ void GLAPIENTRY
_mesa_FramebufferTexture2DEXT(GLenum target, GLenum attachment,
GLenum textarget, GLuint texture, GLint level)
{
- const GLint zoffset = 0;
- framebuffer_texture(2, target, attachment, textarget, texture,
- level, zoffset);
+ GET_CURRENT_CONTEXT(ctx);
+
+ if ((texture != 0) &&
+ (textarget != GL_TEXTURE_2D) &&
+ (textarget != GL_TEXTURE_RECTANGLE_ARB) &&
+ (!IS_CUBE_FACE(textarget))) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glFramebufferTexture2DEXT(textarget)");
+ return;
+ }
+
+ framebuffer_texture(ctx, "2D", target, attachment, textarget, texture,
+ level, 0);
}
@@ -1292,11 +1293,29 @@ _mesa_FramebufferTexture3DEXT(GLenum target, GLenum attachment,
GLenum textarget, GLuint texture,
GLint level, GLint zoffset)
{
- framebuffer_texture(3, target, attachment, textarget, texture,
+ GET_CURRENT_CONTEXT(ctx);
+
+ if ((texture != 0) && (textarget != GL_TEXTURE_3D)) {
+ _mesa_error(ctx, GL_INVALID_ENUM,
+ "glFramebufferTexture3DEXT(textarget)");
+ return;
+ }
+
+ framebuffer_texture(ctx, "3D", target, attachment, textarget, texture,
level, zoffset);
}
+void GLAPIENTRY
+_mesa_FramebufferTextureLayerEXT(GLenum target, GLenum attachment,
+ GLuint texture, GLint level, GLint layer)
+{
+ GET_CURRENT_CONTEXT(ctx);
+
+ framebuffer_texture(ctx, "Layer", target, attachment, 0, texture,
+ level, layer);
+}
+
void GLAPIENTRY
_mesa_FramebufferRenderbufferEXT(GLenum target, GLenum attachment,
diff --git a/src/mesa/main/fbobject.h b/src/mesa/main/fbobject.h
index 301e2da449..782ad8cb18 100644
--- a/src/mesa/main/fbobject.h
+++ b/src/mesa/main/fbobject.h
@@ -113,6 +113,10 @@ _mesa_FramebufferTexture3DEXT(GLenum target, GLenum attachment,
GLint level, GLint zoffset);
extern void GLAPIENTRY
+_mesa_FramebufferTextureLayerEXT(GLenum target, GLenum attachment,
+ GLuint texture, GLint level, GLint layer);
+
+extern void GLAPIENTRY
_mesa_FramebufferRenderbufferEXT(GLenum target, GLenum attachment,
GLenum renderbuffertarget,
GLuint renderbuffer);
diff --git a/src/mesa/main/get_gen.py b/src/mesa/main/get_gen.py
index 33be768999..9055433281 100644
--- a/src/mesa/main/get_gen.py
+++ b/src/mesa/main/get_gen.py
@@ -425,12 +425,18 @@ StateVars = [
( "GL_TEXTURE_1D", GLboolean, ["_mesa_IsEnabled(GL_TEXTURE_1D)"], "", None ),
( "GL_TEXTURE_2D", GLboolean, ["_mesa_IsEnabled(GL_TEXTURE_2D)"], "", None ),
( "GL_TEXTURE_3D", GLboolean, ["_mesa_IsEnabled(GL_TEXTURE_3D)"], "", None ),
+ ( "GL_TEXTURE_1D_ARRAY_EXT", GLboolean, ["_mesa_IsEnabled(GL_TEXTURE_1D_ARRAY_EXT)"], "", ["MESA_texture_array"] ),
+ ( "GL_TEXTURE_2D_ARRAY_EXT", GLboolean, ["_mesa_IsEnabled(GL_TEXTURE_2D_ARRAY_EXT)"], "", ["MESA_texture_array"] ),
( "GL_TEXTURE_BINDING_1D", GLint,
["ctx->Texture.Unit[ctx->Texture.CurrentUnit].Current1D->Name"], "", None ),
( "GL_TEXTURE_BINDING_2D", GLint,
["ctx->Texture.Unit[ctx->Texture.CurrentUnit].Current2D->Name"], "", None ),
( "GL_TEXTURE_BINDING_3D", GLint,
["ctx->Texture.Unit[ctx->Texture.CurrentUnit].Current3D->Name"], "", None ),
+ ( "GL_TEXTURE_BINDING_1D_ARRAY_EXT", GLint,
+ ["ctx->Texture.Unit[ctx->Texture.CurrentUnit].Current1DArray->Name"], "", ["MESA_texture_array"] ),
+ ( "GL_TEXTURE_BINDING_2D_ARRAY_EXT", GLint,
+ ["ctx->Texture.Unit[ctx->Texture.CurrentUnit].Current2DArray->Name"], "", ["MESA_texture_array"] ),
( "GL_TEXTURE_ENV_COLOR", GLfloatN,
["color[0]", "color[1]", "color[2]", "color[3]"],
"const GLfloat *color = ctx->Texture.Unit[ctx->Texture.CurrentUnit].EnvColor;",
diff --git a/src/mesa/main/mipmap.c b/src/mesa/main/mipmap.c
index cc1fb97eed..1dc51440c8 100644
--- a/src/mesa/main/mipmap.c
+++ b/src/mesa/main/mipmap.c
@@ -551,7 +551,7 @@ make_2d_mipmap(const struct gl_texture_format *format, GLint border,
/* Compute src and dst pointers, skipping any border */
srcA = srcPtr + border * ((srcWidth + 1) * bpt);
- if (srcHeight > 1)
+ if (srcHeight > 1)
srcB = srcA + srcRowStride;
else
srcB = srcA;
@@ -796,6 +796,136 @@ make_3d_mipmap(const struct gl_texture_format *format, GLint border,
}
+static void
+make_1d_stack_mipmap(const struct gl_texture_format *format, GLint border,
+ GLint srcWidth, GLubyte *srcPtr,
+ GLint dstWidth, GLint dstHeight, GLubyte *dstPtr)
+{
+ const GLint bpt = format->TexelBytes;
+ const GLint srcWidthNB = srcWidth - 2 * border; /* sizes w/out border */
+ const GLint dstWidthNB = dstWidth - 2 * border;
+ const GLint dstHeightNB = dstHeight - 2 * border;
+ const GLint srcRowStride = bpt * srcWidth;
+ const GLint dstRowStride = bpt * dstWidth;
+ const GLubyte *src;
+ GLubyte *dst;
+ GLint row;
+
+ /* Compute src and dst pointers, skipping any border */
+ src = srcPtr + border * ((srcWidth + 1) * bpt);
+ dst = dstPtr + border * ((dstWidth + 1) * bpt);
+
+ for (row = 0; row < dstHeightNB; row++) {
+ do_row(format, srcWidthNB, src, src,
+ dstWidthNB, dst);
+ src += srcRowStride;
+ dst += dstRowStride;
+ }
+
+ if (border) {
+ /* copy left-most pixel from source */
+ MEMCPY(dstPtr, srcPtr, bpt);
+ /* copy right-most pixel from source */
+ MEMCPY(dstPtr + (dstWidth - 1) * bpt,
+ srcPtr + (srcWidth - 1) * bpt,
+ bpt);
+ }
+}
+
+
+/**
+ * \bugs
+ * There is quite a bit of refactoring that could be done with this function
+ * and \c make_2d_mipmap.
+ */
+static void
+make_2d_stack_mipmap(const struct gl_texture_format *format, GLint border,
+ GLint srcWidth, GLint srcHeight, const GLubyte *srcPtr,
+ GLint dstWidth, GLint dstHeight, GLint dstDepth,
+ GLubyte *dstPtr)
+{
+ const GLint bpt = format->TexelBytes;
+ const GLint srcWidthNB = srcWidth - 2 * border; /* sizes w/out border */
+ const GLint dstWidthNB = dstWidth - 2 * border;
+ const GLint dstHeightNB = dstHeight - 2 * border;
+ const GLint dstDepthNB = dstDepth - 2 * border;
+ const GLint srcRowStride = bpt * srcWidth;
+ const GLint dstRowStride = bpt * dstWidth;
+ const GLubyte *srcA, *srcB;
+ GLubyte *dst;
+ GLint layer;
+ GLint row;
+
+ /* Compute src and dst pointers, skipping any border */
+ srcA = srcPtr + border * ((srcWidth + 1) * bpt);
+ if (srcHeight > 1)
+ srcB = srcA + srcRowStride;
+ else
+ srcB = srcA;
+ dst = dstPtr + border * ((dstWidth + 1) * bpt);
+
+ for (layer = 0; layer < dstDepthNB; layer++) {
+ for (row = 0; row < dstHeightNB; row++) {
+ do_row(format, srcWidthNB, srcA, srcB,
+ dstWidthNB, dst);
+ srcA += 2 * srcRowStride;
+ srcB += 2 * srcRowStride;
+ dst += dstRowStride;
+ }
+
+ /* This is ugly but probably won't be used much */
+ if (border > 0) {
+ /* fill in dest border */
+ /* lower-left border pixel */
+ MEMCPY(dstPtr, srcPtr, bpt);
+ /* lower-right border pixel */
+ MEMCPY(dstPtr + (dstWidth - 1) * bpt,
+ srcPtr + (srcWidth - 1) * bpt, bpt);
+ /* upper-left border pixel */
+ MEMCPY(dstPtr + dstWidth * (dstHeight - 1) * bpt,
+ srcPtr + srcWidth * (srcHeight - 1) * bpt, bpt);
+ /* upper-right border pixel */
+ MEMCPY(dstPtr + (dstWidth * dstHeight - 1) * bpt,
+ srcPtr + (srcWidth * srcHeight - 1) * bpt, bpt);
+ /* lower border */
+ do_row(format, srcWidthNB,
+ srcPtr + bpt,
+ srcPtr + bpt,
+ dstWidthNB, dstPtr + bpt);
+ /* upper border */
+ do_row(format, srcWidthNB,
+ srcPtr + (srcWidth * (srcHeight - 1) + 1) * bpt,
+ srcPtr + (srcWidth * (srcHeight - 1) + 1) * bpt,
+ dstWidthNB,
+ dstPtr + (dstWidth * (dstHeight - 1) + 1) * bpt);
+ /* left and right borders */
+ if (srcHeight == dstHeight) {
+ /* copy border pixel from src to dst */
+ for (row = 1; row < srcHeight; row++) {
+ MEMCPY(dstPtr + dstWidth * row * bpt,
+ srcPtr + srcWidth * row * bpt, bpt);
+ MEMCPY(dstPtr + (dstWidth * row + dstWidth - 1) * bpt,
+ srcPtr + (srcWidth * row + srcWidth - 1) * bpt, bpt);
+ }
+ }
+ else {
+ /* average two src pixels each dest pixel */
+ for (row = 0; row < dstHeightNB; row += 2) {
+ do_row(format, 1,
+ srcPtr + (srcWidth * (row * 2 + 1)) * bpt,
+ srcPtr + (srcWidth * (row * 2 + 2)) * bpt,
+ 1, dstPtr + (dstWidth * row + 1) * bpt);
+ do_row(format, 1,
+ srcPtr + (srcWidth * (row * 2 + 1) + srcWidth - 1) * bpt,
+ srcPtr + (srcWidth * (row * 2 + 2) + srcWidth - 1) * bpt,
+ 1, dstPtr + (dstWidth * row + 1 + dstWidth - 1) * bpt);
+ }
+ }
+ }
+ }
+}
+
+
/**
* For GL_SGIX_generate_mipmap:
* Generate a complete set of mipmaps from texObj's base-level image.
@@ -897,13 +1027,15 @@ _mesa_generate_mipmap(GLcontext *ctx, GLenum target,
else {
dstWidth = srcWidth; /* can't go smaller */
}
- if (srcHeight - 2 * border > 1) {
+ if ((srcHeight - 2 * border > 1) &&
+ (texObj->Target != GL_TEXTURE_1D_ARRAY_EXT)) {
dstHeight = (srcHeight - 2 * border) / 2 + 2 * border;
}
else {
dstHeight = srcHeight; /* can't go smaller */
}
- if (srcDepth - 2 * border > 1) {
+ if ((srcDepth - 2 * border > 1) &&
+ (texObj->Target != GL_TEXTURE_2D_ARRAY_EXT)) {
dstDepth = (srcDepth - 2 * border) / 2 + 2 * border;
}
else {
@@ -1007,6 +1139,16 @@ _mesa_generate_mipmap(GLcontext *ctx, GLenum target,
srcWidth, srcHeight, srcDepth, srcData,
dstWidth, dstHeight, dstDepth, dstData);
break;
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ make_1d_stack_mipmap(convertFormat, border,
+ srcWidth, srcData,
+ dstWidth, dstHeight, dstData);
+ break;
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ make_2d_stack_mipmap(convertFormat, border,
+ srcWidth, srcHeight, srcData,
+ dstWidth, dstHeight, dstDepth, dstData);
+ break;
case GL_TEXTURE_RECTANGLE_NV:
/* no mipmaps, do nothing */
break;
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 71215d5470..894b9edb36 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -1127,7 +1127,7 @@ struct gl_stencil_attrib
};
-#define NUM_TEXTURE_TARGETS 5 /* 1D, 2D, 3D, CUBE and RECT */
+#define NUM_TEXTURE_TARGETS 7 /* 1D, 2D, 3D, CUBE, RECT, 1D_STACK, and 2D_STACK */
/**
* An index for each type of texture object
@@ -1138,6 +1138,8 @@ struct gl_stencil_attrib
#define TEXTURE_3D_INDEX 2
#define TEXTURE_CUBE_INDEX 3
#define TEXTURE_RECT_INDEX 4
+#define TEXTURE_1D_ARRAY_INDEX 5
+#define TEXTURE_2D_ARRAY_INDEX 6
/*@}*/
/**
@@ -1150,6 +1152,8 @@ struct gl_stencil_attrib
#define TEXTURE_3D_BIT (1 << TEXTURE_3D_INDEX)
#define TEXTURE_CUBE_BIT (1 << TEXTURE_CUBE_INDEX)
#define TEXTURE_RECT_BIT (1 << TEXTURE_RECT_INDEX)
+#define TEXTURE_1D_ARRAY_BIT (1 << TEXTURE_1D_ARRAY_INDEX)
+#define TEXTURE_2D_ARRAY_BIT (1 << TEXTURE_2D_ARRAY_INDEX)
/*@}*/
@@ -1520,6 +1524,8 @@ struct gl_texture_unit
struct gl_texture_object *Current3D;
struct gl_texture_object *CurrentCubeMap; /**< GL_ARB_texture_cube_map */
struct gl_texture_object *CurrentRect; /**< GL_NV_texture_rectangle */
+ struct gl_texture_object *Current1DArray; /**< GL_MESA_texture_array */
+ struct gl_texture_object *Current2DArray; /**< GL_MESA_texture_array */
struct gl_texture_object *_Current; /**< Points to really enabled tex obj */
@@ -1528,6 +1534,8 @@ struct gl_texture_unit
struct gl_texture_object Saved3D;
struct gl_texture_object SavedCubeMap;
struct gl_texture_object SavedRect;
+ struct gl_texture_object Saved1DArray;
+ struct gl_texture_object Saved2DArray;
/* GL_SGI_texture_color_table */
struct gl_color_table ColorTable;
@@ -1572,6 +1580,8 @@ struct gl_texture_attrib
struct gl_texture_object *Proxy3D;
struct gl_texture_object *ProxyCubeMap;
struct gl_texture_object *ProxyRect;
+ struct gl_texture_object *Proxy1DArray;
+ struct gl_texture_object *Proxy2DArray;
/** GL_EXT_shared_texture_palette */
GLboolean SharedPalette;
@@ -2156,6 +2166,8 @@ struct gl_shared_state
struct gl_texture_object *Default3D;
struct gl_texture_object *DefaultCubeMap;
struct gl_texture_object *DefaultRect;
+ struct gl_texture_object *Default1DArray;
+ struct gl_texture_object *Default2DArray;
/*@}*/
/**
@@ -2322,17 +2334,24 @@ struct gl_renderbuffer
*/
struct gl_renderbuffer_attachment
{
- GLenum Type; /* GL_NONE or GL_TEXTURE or GL_RENDERBUFFER_EXT */
+ GLenum Type; /**< \c GL_NONE or \c GL_TEXTURE or \c GL_RENDERBUFFER_EXT */
GLboolean Complete;
- /* IF Type == GL_RENDERBUFFER_EXT: */
+ /**
+ * If \c Type is \c GL_RENDERBUFFER_EXT, this stores a pointer to the
+ * application supplied renderbuffer object.
+ */
struct gl_renderbuffer *Renderbuffer;
- /* IF Type == GL_TEXTURE: */
+ /**
+ * If \c Type is \c GL_TEXTURE, this stores a pointer to the application
+ * supplied texture object.
+ */
struct gl_texture_object *Texture;
- GLuint TextureLevel;
- GLuint CubeMapFace; /* 0 .. 5, for cube map textures */
- GLuint Zoffset; /* for 3D textures */
+ GLuint TextureLevel; /**< Attached mipmap level. */
+ GLuint CubeMapFace; /**< 0 .. 5, for cube map textures. */
+ GLuint Zoffset; /**< Slice for 3D textures, or layer for both 1D
+ * and 2D array textures */
};
@@ -2438,6 +2457,7 @@ struct gl_constants
GLint MaxTextureLevels; /**< Maximum number of allowed mipmap levels. */
GLint Max3DTextureLevels; /**< Maximum number of allowed mipmap levels for 3D texture targets. */
GLint MaxCubeTextureLevels; /**< Maximum number of allowed mipmap levels for GL_ARB_texture_cube_map */
+ GLint MaxArrayTextureLayers; /**< Maximum number of layers in an array texture. */
GLint MaxTextureRectSize; /* GL_NV_texture_rectangle */
GLuint MaxTextureCoordUnits;
GLuint MaxTextureImageUnits;
@@ -2586,6 +2606,7 @@ struct gl_extensions
GLboolean MESA_program_debug;
GLboolean MESA_resize_buffers;
GLboolean MESA_ycbcr_texture;
+ GLboolean MESA_texture_array;
GLboolean NV_blend_square;
GLboolean NV_fragment_program;
GLboolean NV_light_max_exponent;
diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c
index 96ee5127e1..0a83abc7dd 100644
--- a/src/mesa/main/state.c
+++ b/src/mesa/main/state.c
@@ -812,6 +812,11 @@ _mesa_init_exec_table(struct _glapi_table *exec)
SET_ProgramEnvParameters4fvEXT(exec, _mesa_ProgramEnvParameters4fvEXT);
SET_ProgramLocalParameters4fvEXT(exec, _mesa_ProgramLocalParameters4fvEXT);
#endif
+
+ /* GL_MESA_texture_array / GL_EXT_texture_array */
+#if FEATURE_EXT_framebuffer_object
+ SET_FramebufferTextureLayerEXT(exec, _mesa_FramebufferTextureLayerEXT);
+#endif
}
diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index 9fb430f39b..8e528d9bbb 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -629,6 +629,8 @@ _mesa_set_tex_image(struct gl_texture_object *tObj,
case GL_TEXTURE_1D:
case GL_TEXTURE_2D:
case GL_TEXTURE_3D:
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ case GL_TEXTURE_2D_ARRAY_EXT:
tObj->Image[0][level] = texImage;
break;
case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB:
@@ -733,7 +735,9 @@ _mesa_is_proxy_texture(GLenum target)
target == GL_PROXY_TEXTURE_2D ||
target == GL_PROXY_TEXTURE_3D ||
target == GL_PROXY_TEXTURE_CUBE_MAP_ARB ||
- target == GL_PROXY_TEXTURE_RECTANGLE_NV);
+ target == GL_PROXY_TEXTURE_RECTANGLE_NV ||
+ target == GL_PROXY_TEXTURE_1D_ARRAY_EXT ||
+ target == GL_PROXY_TEXTURE_2D_ARRAY_EXT);
}
@@ -783,6 +787,18 @@ _mesa_select_tex_object(GLcontext *ctx, const struct gl_texture_unit *texUnit,
case GL_PROXY_TEXTURE_RECTANGLE_NV:
return ctx->Extensions.NV_texture_rectangle
? ctx->Texture.ProxyRect : NULL;
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ return ctx->Extensions.MESA_texture_array
+ ? texUnit->Current1DArray : NULL;
+ case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
+ return ctx->Extensions.MESA_texture_array
+ ? ctx->Texture.Proxy1DArray : NULL;
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ return ctx->Extensions.MESA_texture_array
+ ? texUnit->Current2DArray : NULL;
+ case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
+ return ctx->Extensions.MESA_texture_array
+ ? ctx->Texture.Proxy2DArray : NULL;
default:
_mesa_problem(NULL, "bad target in _mesa_select_tex_object()");
return NULL;
@@ -848,6 +864,13 @@ _mesa_select_tex_image(GLcontext *ctx, const struct gl_texture_object *texObj,
else
return NULL;
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
+ return (ctx->Extensions.MESA_texture_array)
+ ? texObj->Image[0][level] : NULL;
+
default:
return NULL;
}
@@ -973,6 +996,36 @@ _mesa_get_proxy_tex_image(GLcontext *ctx, GLenum target, GLint level)
texImage->TexObject = ctx->Texture.ProxyRect;
}
return texImage;
+ case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
+ if (level >= ctx->Const.MaxTextureLevels)
+ return NULL;
+ texImage = ctx->Texture.Proxy1DArray->Image[0][level];
+ if (!texImage) {
+ texImage = ctx->Driver.NewTextureImage(ctx);
+ if (!texImage) {
+ _mesa_error(ctx, GL_OUT_OF_MEMORY, "proxy texture allocation");
+ return NULL;
+ }
+ ctx->Texture.Proxy1DArray->Image[0][level] = texImage;
+ /* Set the 'back' pointer */
+ texImage->TexObject = ctx->Texture.Proxy1DArray;
+ }
+ return texImage;
+ case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
+ if (level >= ctx->Const.MaxTextureLevels)
+ return NULL;
+ texImage = ctx->Texture.Proxy2DArray->Image[0][level];
+ if (!texImage) {
+ texImage = ctx->Driver.NewTextureImage(ctx);
+ if (!texImage) {
+ _mesa_error(ctx, GL_OUT_OF_MEMORY, "proxy texture allocation");
+ return NULL;
+ }
+ ctx->Texture.Proxy2DArray->Image[0][level] = texImage;
+ /* Set the 'back' pointer */
+ texImage->TexObject = ctx->Texture.Proxy2DArray;
+ }
+ return texImage;
default:
return NULL;
}
@@ -998,6 +1051,10 @@ _mesa_max_texture_levels(GLcontext *ctx, GLenum target)
case GL_PROXY_TEXTURE_1D:
case GL_TEXTURE_2D:
case GL_PROXY_TEXTURE_2D:
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
return ctx->Const.MaxTextureLevels;
case GL_TEXTURE_3D:
case GL_PROXY_TEXTURE_3D:
@@ -1292,6 +1349,36 @@ _mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level,
return GL_FALSE;
}
return GL_TRUE;
+ case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
+ maxSize = 1 << (ctx->Const.MaxTextureLevels - 1);
+ if (width < 2 * border || width > 2 + maxSize ||
+ (!ctx->Extensions.ARB_texture_non_power_of_two &&
+ _mesa_bitcount(width - 2 * border) != 1) ||
+ level >= ctx->Const.MaxTextureLevels) {
+ /* bad width or level */
+ return GL_FALSE;
+ }
+
+ if (height < 1 || height > ctx->Const.MaxArrayTextureLayers) {
+ return GL_FALSE;
+ }
+ return GL_TRUE;
+ case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
+ maxSize = 1 << (ctx->Const.MaxTextureLevels - 1);
+ if (width < 2 * border || width > 2 + maxSize ||
+ (!ctx->Extensions.ARB_texture_non_power_of_two &&
+ _mesa_bitcount(width - 2 * border) != 1) ||
+ height < 2 * border || height > 2 + maxSize ||
+ (!ctx->Extensions.ARB_texture_non_power_of_two &&
+ _mesa_bitcount(height - 2 * border) != 1) ||
+ level >= ctx->Const.MaxTextureLevels) {
+ /* bad width or height or level */
+ return GL_FALSE;
+ }
+ if (depth < 1 || depth > ctx->Const.MaxArrayTextureLayers) {
+ return GL_FALSE;
+ }
+ return GL_TRUE;
default:
_mesa_problem(ctx, "Invalid target in _mesa_test_proxy_teximage");
return GL_FALSE;
@@ -1398,6 +1485,10 @@ texture_error_check( GLcontext *ctx, GLenum target,
}
proxy_target = GL_PROXY_TEXTURE_RECTANGLE_NV;
}
+ else if (target == GL_PROXY_TEXTURE_1D_ARRAY_EXT ||
+ target == GL_TEXTURE_1D_ARRAY_EXT) {
+ proxy_target = GL_PROXY_TEXTURE_1D_ARRAY_EXT;
+ }
else {
_mesa_error(ctx, GL_INVALID_ENUM, "glTexImage2D(target)");
return GL_TRUE;
@@ -1407,6 +1498,10 @@ texture_error_check( GLcontext *ctx, GLenum target,
if (target == GL_PROXY_TEXTURE_3D || target == GL_TEXTURE_3D) {
proxy_target = GL_PROXY_TEXTURE_3D;
}
+ else if (target == GL_PROXY_TEXTURE_2D_ARRAY_EXT ||
+ target == GL_TEXTURE_2D_ARRAY_EXT) {
+ proxy_target = GL_PROXY_TEXTURE_2D_ARRAY_EXT;
+ }
else {
_mesa_error( ctx, GL_INVALID_ENUM, "glTexImage3D(target)" );
return GL_TRUE;
@@ -1595,13 +1690,25 @@ subtexture_error_check( GLcontext *ctx, GLuint dimensions,
return GL_TRUE;
}
}
+ else if (target == GL_TEXTURE_1D_ARRAY_EXT) {
+ if (!ctx->Extensions.MESA_texture_array) {
+ _mesa_error( ctx, GL_INVALID_ENUM, "glTexSubImage2D(target)" );
+ return GL_TRUE;
+ }
+ }
else if (target != GL_TEXTURE_2D) {
_mesa_error( ctx, GL_INVALID_ENUM, "glTexSubImage2D(target)" );
return GL_TRUE;
}
}
else if (dimensions == 3) {
- if (target != GL_TEXTURE_3D) {
+ if (target == GL_TEXTURE_2D_ARRAY_EXT) {
+ if (!ctx->Extensions.MESA_texture_array) {
+ _mesa_error( ctx, GL_INVALID_ENUM, "glTexSubImage3D(target)" );
+ return GL_TRUE;
+ }
+ }
+ else if (target != GL_TEXTURE_3D) {
_mesa_error( ctx, GL_INVALID_ENUM, "glTexSubImage3D(target)" );
return GL_TRUE;
}
@@ -1855,6 +1962,17 @@ copytexture_error_check( GLcontext *ctx, GLuint dimensions,
format, type,
width, height, 1, border);
}
+ else if (target == GL_TEXTURE_1D_ARRAY_EXT) {
+ if (!ctx->Extensions.MESA_texture_array) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glCopyTexImage2D(target)");
+ return GL_TRUE;
+ }
+ sizeOK = ctx->Driver.TestProxyTexImage(ctx,
+ GL_PROXY_TEXTURE_1D_ARRAY_EXT,
+ level, internalFormat,
+ format, type,
+ width, height, 1, border);
+ }
else {
_mesa_error( ctx, GL_INVALID_ENUM, "glCopyTexImage2D(target)" );
return GL_TRUE;
@@ -1968,15 +2086,23 @@ copytexsubimage_error_check( GLcontext *ctx, GLuint dimensions,
return GL_TRUE;
}
}
+ else if (target == GL_TEXTURE_1D_ARRAY_EXT) {
+ if (!ctx->Extensions.MESA_texture_array) {
+ _mesa_error( ctx, GL_INVALID_ENUM, "glCopyTexSubImage2D(target)" );
+ return GL_TRUE;
+ }
+ }
else if (target != GL_TEXTURE_2D) {
_mesa_error( ctx, GL_INVALID_ENUM, "glCopyTexSubImage2D(target)" );
return GL_TRUE;
}
}
else if (dimensions == 3) {
- if (target != GL_TEXTURE_3D) {
- _mesa_error( ctx, GL_INVALID_ENUM, "glCopyTexSubImage3D(target)" );
- return GL_TRUE;
+ if (((target != GL_TEXTURE_2D_ARRAY_EXT) ||
+ (!ctx->Extensions.MESA_texture_array))
+ && (target != GL_TEXTURE_3D)) {
+ _mesa_error( ctx, GL_INVALID_ENUM, "glCopyTexSubImage3D(target)" );
+ return GL_TRUE;
}
}
@@ -2393,7 +2519,9 @@ _mesa_TexImage2D( GLenum target, GLint level, GLint internalFormat,
target >= GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB &&
target <= GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB) ||
(ctx->Extensions.NV_texture_rectangle &&
- target == GL_TEXTURE_RECTANGLE_NV)) {
+ target == GL_TEXTURE_RECTANGLE_NV) ||
+ (ctx->Extensions.MESA_texture_array &&
+ target == GL_TEXTURE_1D_ARRAY_EXT)) {
/* non-proxy target */
struct gl_texture_unit *texUnit;
struct gl_texture_object *texObj;
@@ -2451,7 +2579,9 @@ _mesa_TexImage2D( GLenum target, GLint level, GLint internalFormat,
(target == GL_PROXY_TEXTURE_CUBE_MAP_ARB &&
ctx->Extensions.ARB_texture_cube_map) ||
(target == GL_PROXY_TEXTURE_RECTANGLE_NV &&
- ctx->Extensions.NV_texture_rectangle)) {
+ ctx->Extensions.NV_texture_rectangle) ||
+ (ctx->Extensions.MESA_texture_array &&
+ target == GL_PROXY_TEXTURE_1D_ARRAY_EXT)) {
/* Proxy texture: check for errors and update proxy state */
struct gl_texture_image *texImage;
texImage = _mesa_get_proxy_tex_image(ctx, target, level);
@@ -2491,7 +2621,9 @@ _mesa_TexImage3D( GLenum target, GLint level, GLint internalFormat,
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
- if (target == GL_TEXTURE_3D) {
+ if (target == GL_TEXTURE_3D ||
+ (ctx->Extensions.MESA_texture_array &&
+ target == GL_TEXTURE_2D_ARRAY_EXT)) {
/* non-proxy target */
struct gl_texture_unit *texUnit;
struct gl_texture_object *texObj;
@@ -2544,7 +2676,9 @@ _mesa_TexImage3D( GLenum target, GLint level, GLint internalFormat,
out:
_mesa_unlock_texture(ctx, texObj);
}
- else if (target == GL_PROXY_TEXTURE_3D) {
+ else if (target == GL_PROXY_TEXTURE_3D ||
+ (ctx->Extensions.MESA_texture_array &&
+ target == GL_PROXY_TEXTURE_2D_ARRAY_EXT)) {
/* Proxy texture: check for errors and update proxy state */
struct gl_texture_image *texImage;
texImage = _mesa_get_proxy_tex_image(ctx, target, level);
diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
index 56d816e45f..bd447ac068 100644
--- a/src/mesa/main/texobj.c
+++ b/src/mesa/main/texobj.c
@@ -104,7 +104,9 @@ _mesa_initialize_texture_object( struct gl_texture_object *obj,
target == GL_TEXTURE_2D ||
target == GL_TEXTURE_3D ||
target == GL_TEXTURE_CUBE_MAP_ARB ||
- target == GL_TEXTURE_RECTANGLE_NV);
+ target == GL_TEXTURE_RECTANGLE_NV ||
+ target == GL_TEXTURE_1D_ARRAY_EXT ||
+ target == GL_TEXTURE_2D_ARRAY_EXT);
_mesa_bzero(obj, sizeof(*obj));
/* init the non-zero fields */
@@ -279,11 +281,13 @@ _mesa_test_texobj_completeness( const GLcontext *ctx,
}
/* Compute _MaxLevel */
- if (t->Target == GL_TEXTURE_1D) {
+ if ((t->Target == GL_TEXTURE_1D) ||
+ (t->Target == GL_TEXTURE_1D_ARRAY_EXT)) {
maxLog2 = t->Image[0][baseLevel]->WidthLog2;
maxLevels = ctx->Const.MaxTextureLevels;
}
- else if (t->Target == GL_TEXTURE_2D) {
+ else if ((t->Target == GL_TEXTURE_2D) ||
+ (t->Target == GL_TEXTURE_2D_ARRAY_EXT)) {
maxLog2 = MAX2(t->Image[0][baseLevel]->WidthLog2,
t->Image[0][baseLevel]->HeightLog2);
maxLevels = ctx->Const.MaxTextureLevels;
@@ -365,7 +369,8 @@ _mesa_test_texobj_completeness( const GLcontext *ctx,
}
/* Test things which depend on number of texture image dimensions */
- if (t->Target == GL_TEXTURE_1D) {
+ if ((t->Target == GL_TEXTURE_1D) ||
+ (t->Target == GL_TEXTURE_1D_ARRAY_EXT)) {
/* Test 1-D mipmaps */
GLuint width = t->Image[0][baseLevel]->Width2;
for (i = baseLevel + 1; i < maxLevels; i++) {
@@ -389,7 +394,8 @@ _mesa_test_texobj_completeness( const GLcontext *ctx,
}
}
}
- else if (t->Target == GL_TEXTURE_2D) {
+ else if ((t->Target == GL_TEXTURE_2D) ||
+ (t->Target == GL_TEXTURE_2D_ARRAY_EXT)) {
/* Test 2-D mipmaps */
GLuint width = t->Image[0][baseLevel]->Width2;
GLuint height = t->Image[0][baseLevel]->Height2;
@@ -652,6 +658,14 @@ unbind_texobj_from_texunits(GLcontext *ctx, struct gl_texture_object *texObj)
curr = &unit->CurrentRect;
unit->CurrentRect = ctx->Shared->DefaultRect;
}
+ else if (texObj == unit->Current1DArray) {
+ curr = &unit->Current1DArray;
+ unit->CurrentRect = ctx->Shared->Default1DArray;
+ }
+ else if (texObj == unit->Current2DArray) {
+ curr = &unit->Current1DArray;
+ unit->CurrentRect = ctx->Shared->Default2DArray;
+ }
if (curr) {
(*curr)->RefCount++;
@@ -796,6 +810,20 @@ _mesa_BindTexture( GLenum target, GLuint texName )
}
oldTexObj = texUnit->CurrentRect;
break;
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ if (!ctx->Extensions.MESA_texture_array) {
+ _mesa_error( ctx, GL_INVALID_ENUM, "glBindTexture(target)" );
+ return;
+ }
+ oldTexObj = texUnit->Current1DArray;
+ break;
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ if (!ctx->Extensions.MESA_texture_array) {
+ _mesa_error( ctx, GL_INVALID_ENUM, "glBindTexture(target)" );
+ return;
+ }
+ oldTexObj = texUnit->Current2DArray;
+ break;
default:
_mesa_error( ctx, GL_INVALID_ENUM, "glBindTexture(target)" );
return;
@@ -832,6 +860,12 @@ _mesa_BindTexture( GLenum target, GLuint texName )
case GL_TEXTURE_RECTANGLE_NV:
newTexObj = ctx->Shared->DefaultRect;
break;
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ newTexObj = ctx->Shared->Default1DArray;
+ break;
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ newTexObj = ctx->Shared->Default2DArray;
+ break;
default:
; /* Bad targets are caught above */
}
@@ -902,6 +936,12 @@ _mesa_BindTexture( GLenum target, GLuint texName )
case GL_TEXTURE_RECTANGLE_NV:
texUnit->CurrentRect = newTexObj;
break;
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ texUnit->Current1DArray = newTexObj;
+ break;
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ texUnit->Current2DArray = newTexObj;
+ break;
default:
_mesa_problem(ctx, "bad target in BindTexture");
return;
diff --git a/src/mesa/main/texrender.c b/src/mesa/main/texrender.c
index f738584512..8d5468aff0 100644
--- a/src/mesa/main/texrender.c
+++ b/src/mesa/main/texrender.c
@@ -16,10 +16,13 @@
*/
struct texture_renderbuffer
{
- struct gl_renderbuffer Base; /* Base class object */
+ struct gl_renderbuffer Base; /**< Base class object */
struct gl_texture_image *TexImage;
StoreTexelFunc Store;
- GLint Zoffset;
+ GLint Yoffset; /**< Layer for 1D array textures. */
+ GLint Zoffset; /**< Layer for 2D array textures, or slice
+ * for 3D textures
+ */
};
@@ -38,6 +41,8 @@ texture_get_row(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
ASSERT(trb->TexImage->Width == rb->Width);
ASSERT(trb->TexImage->Height == rb->Height);
+ y += trb->Yoffset;
+
if (rb->DataType == CHAN_TYPE) {
GLchan *rgbaOut = (GLchan *) values;
for (i = 0; i < count; i++) {
@@ -87,15 +92,16 @@ texture_get_values(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
if (rb->DataType == CHAN_TYPE) {
GLchan *rgbaOut = (GLchan *) values;
for (i = 0; i < count; i++) {
- trb->TexImage->FetchTexelc(trb->TexImage, x[i], y[i], z,
- rgbaOut + 4 * i);
+ trb->TexImage->FetchTexelc(trb->TexImage, x[i], y[i] + trb->Yoffset,
+ z, rgbaOut + 4 * i);
}
}
else if (rb->DataType == GL_UNSIGNED_INT) {
GLuint *zValues = (GLuint *) values;
for (i = 0; i < count; i++) {
GLfloat flt;
- trb->TexImage->FetchTexelf(trb->TexImage, x[i], y[i], z, &flt);
+ trb->TexImage->FetchTexelf(trb->TexImage, x[i], y[i] + trb->Yoffset,
+ z, &flt);
#if 0
zValues[i] = (GLuint) (flt * 0xffffffff);
#else
@@ -107,7 +113,8 @@ texture_get_values(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
GLuint *zValues = (GLuint *) values;
for (i = 0; i < count; i++) {
GLfloat flt;
- trb->TexImage->FetchTexelf(trb->TexImage, x[i], y[i], z, &flt);
+ trb->TexImage->FetchTexelf(trb->TexImage, x[i], y[i] + trb->Yoffset,
+ z, &flt);
zValues[i] = ((GLuint) (flt * 0xffffff)) << 8;
}
}
@@ -129,6 +136,8 @@ texture_put_row(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint z = trb->Zoffset;
GLuint i;
+ y += trb->Yoffset;
+
if (rb->DataType == CHAN_TYPE) {
const GLchan *rgba = (const GLchan *) values;
for (i = 0; i < count; i++) {
@@ -170,6 +179,8 @@ texture_put_mono_row(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint z = trb->Zoffset;
GLuint i;
+ y += trb->Yoffset;
+
if (rb->DataType == CHAN_TYPE) {
const GLchan *rgba = (const GLchan *) value;
for (i = 0; i < count; i++) {
@@ -215,7 +226,7 @@ texture_put_values(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLchan *rgba = (const GLchan *) values;
for (i = 0; i < count; i++) {
if (!mask || mask[i]) {
- trb->Store(trb->TexImage, x[i], y[i], z, rgba);
+ trb->Store(trb->TexImage, x[i], y[i] + trb->Yoffset, z, rgba);
}
rgba += 4;
}
@@ -224,7 +235,8 @@ texture_put_values(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLuint *zValues = (const GLuint *) values;
for (i = 0; i < count; i++) {
if (!mask || mask[i]) {
- trb->Store(trb->TexImage, x[i], y[i], z, zValues + i);
+ trb->Store(trb->TexImage, x[i], y[i] + trb->Yoffset, z,
+ zValues + i);
}
}
}
@@ -233,7 +245,7 @@ texture_put_values(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
for (i = 0; i < count; i++) {
if (!mask || mask[i]) {
GLfloat flt = (zValues[i] >> 8) * (1.0 / 0xffffff);
- trb->Store(trb->TexImage, x[i], y[i], z, &flt);
+ trb->Store(trb->TexImage, x[i], y[i] + trb->Yoffset, z, &flt);
}
}
}
@@ -257,7 +269,7 @@ texture_put_mono_values(GLcontext *ctx, struct gl_renderbuffer *rb,
const GLchan *rgba = (const GLchan *) value;
for (i = 0; i < count; i++) {
if (!mask || mask[i]) {
- trb->Store(trb->TexImage, x[i], y[i], z, rgba);
+ trb->Store(trb->TexImage, x[i], y[i] + trb->Yoffset, z, rgba);
}
}
}
@@ -265,7 +277,7 @@ texture_put_mono_values(GLcontext *ctx, struct gl_renderbuffer *rb,
const GLuint zValue = *((const GLuint *) value);
for (i = 0; i < count; i++) {
if (!mask || mask[i]) {
- trb->Store(trb->TexImage, x[i], y[i], z, &zValue);
+ trb->Store(trb->TexImage, x[i], y[i] + trb->Yoffset, z, &zValue);
}
}
}
@@ -274,7 +286,7 @@ texture_put_mono_values(GLcontext *ctx, struct gl_renderbuffer *rb,
const GLfloat flt = (zValue >> 8) * (1.0 / 0xffffff);
for (i = 0; i < count; i++) {
if (!mask || mask[i]) {
- trb->Store(trb->TexImage, x[i], y[i], z, &flt);
+ trb->Store(trb->TexImage, x[i], y[i] + trb->Yoffset, z, &flt);
}
}
}
@@ -350,7 +362,14 @@ update_wrapper(GLcontext *ctx, const struct gl_renderbuffer_attachment *att)
trb->Store = trb->TexImage->TexFormat->StoreTexel;
ASSERT(trb->Store);
- trb->Zoffset = att->Zoffset;
+ if (att->Texture->Target == GL_TEXTURE_1D_ARRAY_EXT) {
+ trb->Yoffset = att->Zoffset;
+ trb->Zoffset = 0;
+ }
+ else {
+ trb->Yoffset = 0;
+ trb->Zoffset = att->Zoffset;
+ }
trb->Base.Width = trb->TexImage->Width;
trb->Base.Height = trb->TexImage->Height;
diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c
index 1b45eae42c..d15af22b7d 100644
--- a/src/mesa/main/texstate.c
+++ b/src/mesa/main/texstate.c
@@ -154,6 +154,10 @@ _mesa_copy_texture_state( const GLcontext *src, GLcontext *dst )
src->Texture.Unit[i].CurrentCubeMap);
copy_texture_binding(src, &dst->Texture.Unit[i].CurrentRect,
src->Texture.Unit[i].CurrentRect);
+ copy_texture_binding(src, &dst->Texture.Unit[i].Current1DArray,
+ src->Texture.Unit[i].Current1DArray);
+ copy_texture_binding(src, &dst->Texture.Unit[i].Current2DArray,
+ src->Texture.Unit[i].Current2DArray);
_mesa_unlock_context_textures(dst);
}
@@ -1221,6 +1225,20 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
}
texObj = texUnit->CurrentRect;
break;
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ if (!ctx->Extensions.MESA_texture_array) {
+ _mesa_error( ctx, GL_INVALID_ENUM, "glTexParameter(target)" );
+ return;
+ }
+ texObj = texUnit->Current1DArray;
+ break;
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ if (!ctx->Extensions.MESA_texture_array) {
+ _mesa_error( ctx, GL_INVALID_ENUM, "glTexParameter(target)" );
+ return;
+ }
+ texObj = texUnit->Current2DArray;
+ break;
default:
_mesa_error( ctx, GL_INVALID_ENUM, "glTexParameter(target)" );
return;
@@ -1574,6 +1592,12 @@ tex_image_dimensions(GLcontext *ctx, GLenum target)
case GL_TEXTURE_RECTANGLE_NV:
case GL_PROXY_TEXTURE_RECTANGLE_NV:
return ctx->Extensions.NV_texture_rectangle ? 2 : 0;
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
+ return ctx->Extensions.MESA_texture_array ? 2 : 0;
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
+ return ctx->Extensions.MESA_texture_array ? 3 : 0;
default:
_mesa_problem(ctx, "bad target in _mesa_tex_target_dimensions()");
return 0;
@@ -2865,6 +2889,10 @@ update_texture_state( GLcontext *ctx )
* a fragment program we're guaranteed that bitcount(enabledBits) <= 1.
*/
texture_override(ctx, texUnit, enableBits,
+ texUnit->Current2DArray, TEXTURE_2D_ARRAY_BIT);
+ texture_override(ctx, texUnit, enableBits,
+ texUnit->Current1DArray, TEXTURE_1D_ARRAY_BIT);
+ texture_override(ctx, texUnit, enableBits,
texUnit->CurrentCubeMap, TEXTURE_CUBE_BIT);
texture_override(ctx, texUnit, enableBits,
texUnit->Current3D, TEXTURE_3D_BIT);
@@ -3032,6 +3060,14 @@ alloc_proxy_textures( GLcontext *ctx )
if (!ctx->Texture.ProxyRect)
goto cleanup;
+ ctx->Texture.Proxy1DArray = (*ctx->Driver.NewTextureObject)(ctx, 0, GL_TEXTURE_1D_ARRAY_EXT);
+ if (!ctx->Texture.Proxy1DArray)
+ goto cleanup;
+
+ ctx->Texture.Proxy2DArray = (*ctx->Driver.NewTextureObject)(ctx, 0, GL_TEXTURE_2D_ARRAY_EXT);
+ if (!ctx->Texture.Proxy2DArray)
+ goto cleanup;
+
return GL_TRUE;
cleanup:
@@ -3045,6 +3081,10 @@ alloc_proxy_textures( GLcontext *ctx )
(ctx->Driver.DeleteTexture)(ctx, ctx->Texture.ProxyCubeMap);
if (ctx->Texture.ProxyRect)
(ctx->Driver.DeleteTexture)(ctx, ctx->Texture.ProxyRect);
+ if (ctx->Texture.Proxy1DArray)
+ (ctx->Driver.DeleteTexture)(ctx, ctx->Texture.Proxy1DArray);
+ if (ctx->Texture.Proxy2DArray)
+ (ctx->Driver.DeleteTexture)(ctx, ctx->Texture.Proxy2DArray);
return GL_FALSE;
}
@@ -3092,6 +3132,8 @@ init_texture_unit( GLcontext *ctx, GLuint unit )
texUnit->Current3D = ctx->Shared->Default3D;
texUnit->CurrentCubeMap = ctx->Shared->DefaultCubeMap;
texUnit->CurrentRect = ctx->Shared->DefaultRect;
+ texUnit->Current1DArray = ctx->Shared->Default1DArray;
+ texUnit->Current2DArray = ctx->Shared->Default2DArray;
}
@@ -3112,6 +3154,8 @@ _mesa_init_texture(GLcontext *ctx)
ctx->Shared->Default3D->RefCount += MAX_TEXTURE_UNITS;
ctx->Shared->DefaultCubeMap->RefCount += MAX_TEXTURE_UNITS;
ctx->Shared->DefaultRect->RefCount += MAX_TEXTURE_UNITS;
+ ctx->Shared->Default1DArray->RefCount += MAX_TEXTURE_UNITS;
+ ctx->Shared->Default2DArray->RefCount += MAX_TEXTURE_UNITS;
/* Texture group */
ctx->Texture.CurrentUnit = 0; /* multitexture */
@@ -3145,6 +3189,8 @@ _mesa_free_texture_data(GLcontext *ctx)
(ctx->Driver.DeleteTexture)(ctx, ctx->Texture.Proxy3D );
(ctx->Driver.DeleteTexture)(ctx, ctx->Texture.ProxyCubeMap );
(ctx->Driver.DeleteTexture)(ctx, ctx->Texture.ProxyRect );
+ (ctx->Driver.DeleteTexture)(ctx, ctx->Texture.Proxy1DArray );
+ (ctx->Driver.DeleteTexture)(ctx, ctx->Texture.Proxy2DArray );
for (i = 0; i < MAX_TEXTURE_IMAGE_UNITS; i++)
_mesa_free_colortable_data( &ctx->Texture.Unit[i].ColorTable );
diff --git a/src/mesa/shader/arbprogparse.c b/src/mesa/shader/arbprogparse.c
index 5027264f03..7da3c19a89 100644
--- a/src/mesa/shader/arbprogparse.c
+++ b/src/mesa/shader/arbprogparse.c
@@ -181,7 +181,7 @@ LONGSTRING static char arb_grammar_text[] =
- changed and merged V_* and F_* opcode values to OP_*.
- added GL_ARB_fragment_program_shadow specific tokens (michal)
*/
-#define REVISION 0x09
+#define REVISION 0x0a
/* program type */
#define FRAGMENT_PROGRAM 0x01
@@ -209,6 +209,9 @@ LONGSTRING static char arb_grammar_text[] =
/* GL_ARB_draw_buffers option */
#define ARB_DRAW_BUFFERS 0x07
+/* GL_MESA_texture_array option */
+#define MESA_TEXTURE_ARRAY 0x08
+
/* GL_ARB_fragment_program instruction class */
#define OP_ALU_INST 0x00
#define OP_TEX_INST 0x01
@@ -368,6 +371,9 @@ LONGSTRING static char arb_grammar_text[] =
#define TEXTARGET_SHADOW1D 0x06
#define TEXTARGET_SHADOW2D 0x07
#define TEXTARGET_SHADOWRECT 0x08
+/* GL_MESA_texture_array */
+#define TEXTARGET_1D_ARRAY 0x09
+#define TEXTARGET_2D_ARRAY 0x0a
/* face type */
#define FACE_FRONT 0x00
@@ -2990,6 +2996,12 @@ parse_fp_instruction (GLcontext * ctx, const GLubyte ** inst,
case TEXTARGET_SHADOWRECT:
/* TODO ARB_fragment_program_shadow code */
break;
+ case TEXTARGET_1D_ARRAY:
+ fp->TexSrcTarget = TEXTURE_1D_ARRAY_INDEX;
+ break;
+ case TEXTARGET_2D_ARRAY:
+ fp->TexSrcTarget = TEXTURE_2D_ARRAY_INDEX;
+ break;
}
Program->TexturesUsed[texcoord] |= (1 << fp->TexSrcTarget);
/* Check that both "2D" and "CUBE" (for example) aren't both used */
@@ -3464,6 +3476,10 @@ parse_instructions(GLcontext * ctx, const GLubyte * inst,
/* do nothing for now */
}
break;
+
+ case MESA_TEXTURE_ARRAY:
+ /* do nothing for now */
+ break;
}
break;
@@ -3603,7 +3619,9 @@ enable_parser_extensions(GLcontext *ctx, grammar id)
if (ctx->Extensions.ARB_draw_buffers
&& !enable_ext(ctx, id, "draw_buffers"))
return GL_FALSE;
-
+ if (ctx->Extensions.MESA_texture_array
+ && !enable_ext(ctx, id, "texture_array"))
+ return GL_FALSE;
#if 1
/* hack for Warcraft (see bug 8060) */
enable_ext(ctx, id, "vertex_blend");
diff --git a/src/mesa/shader/arbprogram.syn b/src/mesa/shader/arbprogram.syn
index 6ab0f26938..4f82717873 100644
--- a/src/mesa/shader/arbprogram.syn
+++ b/src/mesa/shader/arbprogram.syn
@@ -36,7 +36,7 @@
compares the value with its REVISION value. If they do not match, the loader is not up
to date.
*/
-.emtcode REVISION 0x09
+.emtcode REVISION 0x0a
/* program type */
.emtcode FRAGMENT_PROGRAM 0x01
@@ -64,6 +64,9 @@
/* GL_ARB_draw_buffers option */
.emtcode ARB_DRAW_BUFFERS 0x07
+/* GL_MESA_texture_array option */
+.emtcode MESA_TEXTURE_ARRAY 0x08
+
/* GL_ARB_fragment_program instruction class */
.emtcode OP_ALU_INST 0x00
.emtcode OP_TEX_INST 0x01
@@ -223,6 +226,8 @@
.emtcode TEXTARGET_SHADOW1D 0x06
.emtcode TEXTARGET_SHADOW2D 0x07
.emtcode TEXTARGET_SHADOWRECT 0x08
+.emtcode TEXTARGET_1D_ARRAY 0x09
+.emtcode TEXTARGET_2D_ARRAY 0x0a
/* face type */
.emtcode FACE_FRONT 0x00
@@ -436,6 +441,9 @@
/* GL_ARB_draw_buffers */
.regbyte draw_buffers 0x00
+/* GL_MESA_texture_array */
+.regbyte texture_array 0x00
+
/* option presence condition registers */
/* they are all initially set to zero - when a particular OPTION is encountered, the appropriate */
/* register is set to 1 to indicate that the OPTION was specified. */
@@ -456,6 +464,9 @@
/* GL_ARB_draw_buffers */
.regbyte ARB_draw_buffers 0x00
+/* GL_MESA_texture_array */
+.regbyte MESA_texture_array 0x00
+
/* program target condition register */
/* this syntax script deals with two program targets - VERTEX_PROGRAM and FRAGMENT_PROGRAM. */
/* to distinguish between them we need a register that will store for us the current target. */
@@ -523,7 +534,9 @@ fp_optionString
.if (fragment_program_shadow != 0x00) "ARB_fragment_program_shadow"
.emit ARB_FRAGMENT_PROGRAM_SHADOW .load ARB_fragment_program_shadow 0x01 .or
.if (draw_buffers != 0x00) "ARB_draw_buffers" .emit ARB_DRAW_BUFFERS
- .load ARB_draw_buffers 0x01;
+ .load ARB_draw_buffers 0x01 .or
+ .if (texture_array != 0x00) "MESA_texture_array" .emit MESA_TEXTURE_ARRAY
+ .load MESA_texture_array 0x01;
vp_optionString
"ARB_position_invariant" .emit ARB_POSITION_INVARIANT .load ARB_position_invariant 0x01;
fp_ARB_fog_exp
@@ -906,7 +919,9 @@ texTarget
"3D" .emit TEXTARGET_3D .or
.if (texture_rectangle != 0x00) "RECT" .emit TEXTARGET_RECT .or
"CUBE" .emit TEXTARGET_CUBE .or
- .if (ARB_fragment_program_shadow != 0x00) shadowTarget;
+ .if (ARB_fragment_program_shadow != 0x00) shadowTarget .or
+ .if (MESA_texture_array != 0x00) "ARRAY1D" .emit TEXTARGET_1D_ARRAY .or
+ .if (MESA_texture_array != 0x00) "ARRAY2D" .emit TEXTARGET_2D_ARRAY;
/*
GL_ARB_fragment_program_shadow
diff --git a/src/mesa/shader/arbprogram_syn.h b/src/mesa/shader/arbprogram_syn.h
index c67afc67db..30dc9f4594 100644
--- a/src/mesa/shader/arbprogram_syn.h
+++ b/src/mesa/shader/arbprogram_syn.h
@@ -1,5 +1,5 @@
".syntax program;\n"
-".emtcode REVISION 0x09\n"
+".emtcode REVISION 0x0a\n"
".emtcode FRAGMENT_PROGRAM 0x01\n"
".emtcode VERTEX_PROGRAM 0x02\n"
".emtcode OPTION 0x01\n"
@@ -14,6 +14,7 @@
".emtcode ARB_POSITION_INVARIANT 0x05\n"
".emtcode ARB_FRAGMENT_PROGRAM_SHADOW 0x06\n"
".emtcode ARB_DRAW_BUFFERS 0x07\n"
+".emtcode MESA_TEXTURE_ARRAY 0x08\n"
".emtcode OP_ALU_INST 0x00\n"
".emtcode OP_TEX_INST 0x01\n"
".emtcode OP_ALU_VECTOR 0x00\n"
@@ -120,6 +121,8 @@
".emtcode TEXTARGET_SHADOW1D 0x06\n"
".emtcode TEXTARGET_SHADOW2D 0x07\n"
".emtcode TEXTARGET_SHADOWRECT 0x08\n"
+".emtcode TEXTARGET_1D_ARRAY 0x09\n"
+".emtcode TEXTARGET_2D_ARRAY 0x0A\n"
".emtcode FACE_FRONT 0x00\n"
".emtcode FACE_BACK 0x01\n"
".emtcode COLOR_PRIMARY 0x00\n"
@@ -264,6 +267,7 @@
".regbyte texture_rectangle 0x00\n"
".regbyte fragment_program_shadow 0x00\n"
".regbyte draw_buffers 0x00\n"
+".regbyte texture_array 0x00\n"
".regbyte ARB_precision_hint_fastest 0x00\n"
".regbyte ARB_precision_hint_nicest 0x00\n"
".regbyte ARB_fog_exp 0x00\n"
@@ -272,6 +276,7 @@
".regbyte ARB_position_invariant 0x00\n"
".regbyte ARB_fragment_program_shadow 0x00\n"
".regbyte ARB_draw_buffers 0x00\n"
+".regbyte MESA_texture_array 0x00\n"
".regbyte program_target 0x00\n"
"program\n"
" programs .error UNKNOWN_PROGRAM_SIGNATURE .emit REVISION;\n"
@@ -309,7 +314,9 @@
" .if (fragment_program_shadow != 0x00) \"ARB_fragment_program_shadow\"\n"
" .emit ARB_FRAGMENT_PROGRAM_SHADOW .load ARB_fragment_program_shadow 0x01 .or\n"
" .if (draw_buffers != 0x00) \"ARB_draw_buffers\" .emit ARB_DRAW_BUFFERS\n"
-" .load ARB_draw_buffers 0x01;\n"
+" .load ARB_draw_buffers 0x01 .or\n"
+" .if (texture_array != 0x00) \"MESA_texture_array\" .emit MESA_TEXTURE_ARRAY\n"
+" .load MESA_texture_array 0x01;\n"
"vp_optionString\n"
" \"ARB_position_invariant\" .emit ARB_POSITION_INVARIANT .load ARB_position_invariant 0x01;\n"
"fp_ARB_fog_exp\n"
@@ -471,7 +478,9 @@
" \"3D\" .emit TEXTARGET_3D .or\n"
" .if (texture_rectangle != 0x00) \"RECT\" .emit TEXTARGET_RECT .or\n"
" \"CUBE\" .emit TEXTARGET_CUBE .or\n"
-" .if (ARB_fragment_program_shadow != 0x00) shadowTarget;\n"
+" .if (ARB_fragment_program_shadow != 0x00) shadowTarget .or\n"
+" .if (MESA_texture_array != 0x00) \"ARRAY1D\" .emit TEXTARGET_1D_ARRAY .or\n"
+" .if (MESA_texture_array != 0x00) \"ARRAY2D\" .emit TEXTARGET_2D_ARRAY;\n"
"shadowTarget\n"
" \"SHADOW1D\" .emit TEXTARGET_SHADOW1D .or\n"
" \"SHADOW2D\" .emit TEXTARGET_SHADOW2D .or\n"
diff --git a/src/mesa/sparc/glapi_sparc.S b/src/mesa/sparc/glapi_sparc.S
index 86c9f30e14..d4ea12870f 100644
--- a/src/mesa/sparc/glapi_sparc.S
+++ b/src/mesa/sparc/glapi_sparc.S
@@ -833,10 +833,11 @@ __glapi_sparc_icache_flush: /* %o0 = insn_addr */
.globl glIsRenderbufferEXT ; .type glIsRenderbufferEXT,#function
.globl glRenderbufferStorageEXT ; .type glRenderbufferStorageEXT,#function
.globl gl_dispatch_stub_767 ; .type gl_dispatch_stub_767,#function
- .globl gl_dispatch_stub_768 ; .type gl_dispatch_stub_768,#function
+ .globl glFramebufferTextureLayerEXT ; .type glFramebufferTextureLayerEXT,#function
.globl gl_dispatch_stub_769 ; .type gl_dispatch_stub_769,#function
.globl gl_dispatch_stub_770 ; .type gl_dispatch_stub_770,#function
.globl gl_dispatch_stub_771 ; .type gl_dispatch_stub_771,#function
+ .globl gl_dispatch_stub_772 ; .type gl_dispatch_stub_772,#function
.globl _mesa_sparc_glapi_begin ; .type _mesa_sparc_glapi_begin,#function
_mesa_sparc_glapi_begin:
@@ -1608,10 +1609,11 @@ _mesa_sparc_glapi_begin:
GL_STUB(glIsRenderbufferEXT, _gloffset_IsRenderbufferEXT)
GL_STUB(glRenderbufferStorageEXT, _gloffset_RenderbufferStorageEXT)
GL_STUB(gl_dispatch_stub_767, _gloffset__dispatch_stub_767)
- GL_STUB(gl_dispatch_stub_768, _gloffset__dispatch_stub_768)
+ GL_STUB(glFramebufferTextureLayerEXT, _gloffset_FramebufferTextureLayerEXT)
GL_STUB(gl_dispatch_stub_769, _gloffset__dispatch_stub_769)
GL_STUB(gl_dispatch_stub_770, _gloffset__dispatch_stub_770)
GL_STUB(gl_dispatch_stub_771, _gloffset__dispatch_stub_771)
+ GL_STUB(gl_dispatch_stub_772, _gloffset__dispatch_stub_772)
.globl _mesa_sparc_glapi_end ; .type _mesa_sparc_glapi_end,#function
_mesa_sparc_glapi_end:
diff --git a/src/mesa/swrast/s_texfilter.c b/src/mesa/swrast/s_texfilter.c
index 5413fc0410..2c8e443daf 100644
--- a/src/mesa/swrast/s_texfilter.c
+++ b/src/mesa/swrast/s_texfilter.c
@@ -2267,6 +2267,597 @@ sample_lambda_rect( GLcontext *ctx,
+/**********************************************************************/
+/* 2D Texture Array Sampling Functions */
+/**********************************************************************/
+
+/*
+ * Return the texture sample for coordinate (s,t,r) using GL_NEAREST filter.
+ */
+static void
+sample_2d_array_nearest(GLcontext *ctx,
+ const struct gl_texture_object *tObj,
+ const struct gl_texture_image *img,
+ const GLfloat texcoord[4],
+ GLchan rgba[4])
+{
+ const GLint width = img->Width2; /* without border, power of two */
+ const GLint height = img->Height2; /* without border, power of two */
+ const GLint depth = img->Depth;
+ GLint i, j;
+ GLint array;
+ (void) ctx;
+
+ COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapS, texcoord[0], width, i);
+ COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapT, texcoord[1], height, j);
+ array = clamp_rect_coord_nearest(tObj->WrapR, texcoord[2], depth);
+
+ if (i < 0 || i >= (GLint) img->Width ||
+ j < 0 || j >= (GLint) img->Height ||
+ array < 0 || array >= (GLint) img->Depth) {
+ /* Need this test for GL_CLAMP_TO_BORDER mode */
+ COPY_CHAN4(rgba, tObj->_BorderChan);
+ }
+ else {
+ img->FetchTexelc(img, i, j, array, rgba);
+ }
+}
+
+
+
+/*
+ * Return the texture sample for coordinate (s,t,r) using GL_LINEAR filter.
+ */
+static void
+sample_2d_array_linear(GLcontext *ctx,
+ const struct gl_texture_object *tObj,
+ const struct gl_texture_image *img,
+ const GLfloat texcoord[4],
+ GLchan rgba[4])
+{
+ const GLint width = img->Width2;
+ const GLint height = img->Height2;
+ const GLint depth = img->Depth;
+ GLint i0, j0, i1, j1;
+ GLint array;
+ GLbitfield useBorderColor = 0x0;
+ GLfloat u, v;
+ GLfloat a, b;
+ GLchan t00[4], t01[4], t10[4], t11[4];
+
+ COMPUTE_LINEAR_TEXEL_LOCATIONS(tObj->WrapS, texcoord[0], u, width, i0, i1);
+ COMPUTE_LINEAR_TEXEL_LOCATIONS(tObj->WrapT, texcoord[1], v, height, j0, j1);
+ array = clamp_rect_coord_nearest(tObj->WrapR, texcoord[2], depth);
+
+ if (array < 0 || array >= depth) {
+ COPY_CHAN4(rgba, tObj->_BorderChan);
+ }
+ else {
+ if (img->Border) {
+ i0 += img->Border;
+ i1 += img->Border;
+ j0 += img->Border;
+ j1 += img->Border;
+ }
+ else {
+ /* check if sampling texture border color */
+ if (i0 < 0 || i0 >= width) useBorderColor |= I0BIT;
+ if (i1 < 0 || i1 >= width) useBorderColor |= I1BIT;
+ if (j0 < 0 || j0 >= height) useBorderColor |= J0BIT;
+ if (j1 < 0 || j1 >= height) useBorderColor |= J1BIT;
+ }
+
+ /* Fetch texels */
+ if (useBorderColor & (I0BIT | J0BIT)) {
+ COPY_CHAN4(t00, tObj->_BorderChan);
+ }
+ else {
+ img->FetchTexelc(img, i0, j0, array, t00);
+ }
+ if (useBorderColor & (I1BIT | J0BIT)) {
+ COPY_CHAN4(t10, tObj->_BorderChan);
+ }
+ else {
+ img->FetchTexelc(img, i1, j0, array, t10);
+ }
+ if (useBorderColor & (I0BIT | J1BIT)) {
+ COPY_CHAN4(t01, tObj->_BorderChan);
+ }
+ else {
+ img->FetchTexelc(img, i0, j1, array, t01);
+ }
+ if (useBorderColor & (I1BIT | J1BIT)) {
+ COPY_CHAN4(t11, tObj->_BorderChan);
+ }
+ else {
+ img->FetchTexelc(img, i1, j1, array, t11);
+ }
+
+ /* trilinear interpolation of samples */
+ a = FRAC(u);
+ b = FRAC(v);
+ lerp_rgba_2d(rgba, a, b, t00, t10, t01, t11);
+ }
+}
+
+
+
+static void
+sample_2d_array_nearest_mipmap_nearest(GLcontext *ctx,
+ const struct gl_texture_object *tObj,
+ GLuint n, const GLfloat texcoord[][4],
+ const GLfloat lambda[], GLchan rgba[][4] )
+{
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ GLint level = nearest_mipmap_level(tObj, lambda[i]);
+ sample_2d_array_nearest(ctx, tObj, tObj->Image[0][level], texcoord[i],
+ rgba[i]);
+ }
+}
+
+
+static void
+sample_2d_array_linear_mipmap_nearest(GLcontext *ctx,
+ const struct gl_texture_object *tObj,
+ GLuint n, const GLfloat texcoord[][4],
+ const GLfloat lambda[], GLchan rgba[][4])
+{
+ GLuint i;
+ ASSERT(lambda != NULL);
+ for (i = 0; i < n; i++) {
+ GLint level = nearest_mipmap_level(tObj, lambda[i]);
+ sample_2d_array_linear(ctx, tObj, tObj->Image[0][level],
+ texcoord[i], rgba[i]);
+ }
+}
+
+
+static void
+sample_2d_array_nearest_mipmap_linear(GLcontext *ctx,
+ const struct gl_texture_object *tObj,
+ GLuint n, const GLfloat texcoord[][4],
+ const GLfloat lambda[], GLchan rgba[][4])
+{
+ GLuint i;
+ ASSERT(lambda != NULL);
+ for (i = 0; i < n; i++) {
+ GLint level = linear_mipmap_level(tObj, lambda[i]);
+ if (level >= tObj->_MaxLevel) {
+ sample_2d_array_nearest(ctx, tObj, tObj->Image[0][tObj->_MaxLevel],
+ texcoord[i], rgba[i]);
+ }
+ else {
+ GLchan t0[4], t1[4]; /* texels */
+ const GLfloat f = FRAC(lambda[i]);
+ sample_2d_array_nearest(ctx, tObj, tObj->Image[0][level ], texcoord[i], t0);
+ sample_2d_array_nearest(ctx, tObj, tObj->Image[0][level+1], texcoord[i], t1);
+ lerp_rgba(rgba[i], f, t0, t1);
+ }
+ }
+}
+
+
+static void
+sample_2d_array_linear_mipmap_linear(GLcontext *ctx,
+ const struct gl_texture_object *tObj,
+ GLuint n, const GLfloat texcoord[][4],
+ const GLfloat lambda[], GLchan rgba[][4])
+{
+ GLuint i;
+ ASSERT(lambda != NULL);
+ for (i = 0; i < n; i++) {
+ GLint level = linear_mipmap_level(tObj, lambda[i]);
+ if (level >= tObj->_MaxLevel) {
+ sample_2d_array_linear(ctx, tObj, tObj->Image[0][tObj->_MaxLevel],
+ texcoord[i], rgba[i]);
+ }
+ else {
+ GLchan t0[4], t1[4]; /* texels */
+ const GLfloat f = FRAC(lambda[i]);
+ sample_2d_array_linear(ctx, tObj, tObj->Image[0][level ], texcoord[i], t0);
+ sample_2d_array_linear(ctx, tObj, tObj->Image[0][level+1], texcoord[i], t1);
+ lerp_rgba(rgba[i], f, t0, t1);
+ }
+ }
+}
+
+
+static void
+sample_nearest_2d_array(GLcontext *ctx,
+ const struct gl_texture_object *tObj, GLuint n,
+ const GLfloat texcoords[][4], const GLfloat lambda[],
+ GLchan rgba[][4])
+{
+ GLuint i;
+ struct gl_texture_image *image = tObj->Image[0][tObj->BaseLevel];
+ (void) lambda;
+ for (i=0;i<n;i++) {
+ sample_2d_array_nearest(ctx, tObj, image, texcoords[i], rgba[i]);
+ }
+}
+
+
+
+static void
+sample_linear_2d_array(GLcontext *ctx,
+ const struct gl_texture_object *tObj, GLuint n,
+ const GLfloat texcoords[][4],
+ const GLfloat lambda[], GLchan rgba[][4])
+{
+ GLuint i;
+ struct gl_texture_image *image = tObj->Image[0][tObj->BaseLevel];
+ (void) lambda;
+ for (i=0;i<n;i++) {
+ sample_2d_array_linear(ctx, tObj, image, texcoords[i], rgba[i]);
+ }
+}
+
+
+/*
+ * Given an (s,t,r) texture coordinate and lambda (level of detail) value,
+ * return a texture sample.
+ */
+static void
+sample_lambda_2d_array(GLcontext *ctx,
+ const struct gl_texture_object *tObj, GLuint n,
+ const GLfloat texcoords[][4], const GLfloat lambda[],
+ GLchan rgba[][4])
+{
+ GLuint minStart, minEnd; /* texels with minification */
+ GLuint magStart, magEnd; /* texels with magnification */
+ GLuint i;
+
+ ASSERT(lambda != NULL);
+ compute_min_mag_ranges(tObj, n, lambda,
+ &minStart, &minEnd, &magStart, &magEnd);
+
+ if (minStart < minEnd) {
+ /* do the minified texels */
+ GLuint m = minEnd - minStart;
+ switch (tObj->MinFilter) {
+ case GL_NEAREST:
+ for (i = minStart; i < minEnd; i++)
+ sample_2d_array_nearest(ctx, tObj, tObj->Image[0][tObj->BaseLevel],
+ texcoords[i], rgba[i]);
+ break;
+ case GL_LINEAR:
+ for (i = minStart; i < minEnd; i++)
+ sample_2d_array_linear(ctx, tObj, tObj->Image[0][tObj->BaseLevel],
+ texcoords[i], rgba[i]);
+ break;
+ case GL_NEAREST_MIPMAP_NEAREST:
+ sample_2d_array_nearest_mipmap_nearest(ctx, tObj, m, texcoords + minStart,
+ lambda + minStart, rgba + minStart);
+ break;
+ case GL_LINEAR_MIPMAP_NEAREST:
+ sample_2d_array_linear_mipmap_nearest(ctx, tObj, m,
+ texcoords + minStart,
+ lambda + minStart,
+ rgba + minStart);
+ break;
+ case GL_NEAREST_MIPMAP_LINEAR:
+ sample_2d_array_nearest_mipmap_linear(ctx, tObj, m, texcoords + minStart,
+ lambda + minStart, rgba + minStart);
+ break;
+ case GL_LINEAR_MIPMAP_LINEAR:
+ sample_2d_array_linear_mipmap_linear(ctx, tObj, m,
+ texcoords + minStart,
+ lambda + minStart,
+ rgba + minStart);
+ break;
+ default:
+ _mesa_problem(ctx, "Bad min filter in sample_2d_array_texture");
+ return;
+ }
+ }
+
+ if (magStart < magEnd) {
+ /* do the magnified texels */
+ switch (tObj->MagFilter) {
+ case GL_NEAREST:
+ for (i = magStart; i < magEnd; i++)
+ sample_2d_array_nearest(ctx, tObj, tObj->Image[0][tObj->BaseLevel],
+ texcoords[i], rgba[i]);
+ break;
+ case GL_LINEAR:
+ for (i = magStart; i < magEnd; i++)
+ sample_2d_array_linear(ctx, tObj, tObj->Image[0][tObj->BaseLevel],
+ texcoords[i], rgba[i]);
+ break;
+ default:
+ _mesa_problem(ctx, "Bad mag filter in sample_2d_array_texture");
+ return;
+ }
+ }
+}
+
+
+
+
+/**********************************************************************/
+/* 1D Texture Array Sampling Functions */
+/**********************************************************************/
+
+/*
+ * Return the texture sample for coordinate (s,t,r) using GL_NEAREST filter.
+ */
+static void
+sample_1d_array_nearest(GLcontext *ctx,
+ const struct gl_texture_object *tObj,
+ const struct gl_texture_image *img,
+ const GLfloat texcoord[4],
+ GLchan rgba[4])
+{
+ const GLint width = img->Width2; /* without border, power of two */
+ const GLint height = img->Height;
+ GLint i;
+ GLint array;
+ (void) ctx;
+
+ COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapS, texcoord[0], width, i);
+ array = clamp_rect_coord_nearest(tObj->WrapT, texcoord[1], height);
+
+ if (i < 0 || i >= (GLint) img->Width ||
+ array < 0 || array >= (GLint) img->Height) {
+ /* Need this test for GL_CLAMP_TO_BORDER mode */
+ COPY_CHAN4(rgba, tObj->_BorderChan);
+ }
+ else {
+ img->FetchTexelc(img, i, array, 0, rgba);
+ }
+}
+
+
+
+/*
+ * Return the texture sample for coordinate (s,t,r) using GL_LINEAR filter.
+ */
+static void
+sample_1d_array_linear(GLcontext *ctx,
+ const struct gl_texture_object *tObj,
+ const struct gl_texture_image *img,
+ const GLfloat texcoord[4],
+ GLchan rgba[4])
+{
+ const GLint width = img->Width2;
+ const GLint height = img->Height;
+ GLint i0, i1;
+ GLint array;
+ GLbitfield useBorderColor = 0x0;
+ GLfloat u;
+ GLfloat a;
+ GLchan t0[4], t1[4];
+
+ COMPUTE_LINEAR_TEXEL_LOCATIONS(tObj->WrapS, texcoord[0], u, width, i0, i1);
+ array = clamp_rect_coord_nearest(tObj->WrapT, texcoord[1], height);
+
+ if (img->Border) {
+ i0 += img->Border;
+ i1 += img->Border;
+ }
+ else {
+ /* check if sampling texture border color */
+ if (i0 < 0 || i0 >= width) useBorderColor |= I0BIT;
+ if (i1 < 0 || i1 >= width) useBorderColor |= I1BIT;
+ }
+
+ if (array < 0 || array >= height) useBorderColor |= K0BIT;
+
+ /* Fetch texels */
+ if (useBorderColor & (I0BIT | K0BIT)) {
+ COPY_CHAN4(t0, tObj->_BorderChan);
+ }
+ else {
+ img->FetchTexelc(img, i0, array, 0, t0);
+ }
+ if (useBorderColor & (I1BIT | K0BIT)) {
+ COPY_CHAN4(t1, tObj->_BorderChan);
+ }
+ else {
+ img->FetchTexelc(img, i1, array, 0, t1);
+ }
+
+ /* bilinear interpolation of samples */
+ a = FRAC(u);
+ lerp_rgba(rgba, a, t0, t1);
+}
+
+
+
+static void
+sample_1d_array_nearest_mipmap_nearest(GLcontext *ctx,
+ const struct gl_texture_object *tObj,
+ GLuint n, const GLfloat texcoord[][4],
+ const GLfloat lambda[], GLchan rgba[][4] )
+{
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ GLint level = nearest_mipmap_level(tObj, lambda[i]);
+ sample_1d_array_nearest(ctx, tObj, tObj->Image[0][level], texcoord[i],
+ rgba[i]);
+ }
+}
+
+
+static void
+sample_1d_array_linear_mipmap_nearest(GLcontext *ctx,
+ const struct gl_texture_object *tObj,
+ GLuint n, const GLfloat texcoord[][4],
+ const GLfloat lambda[], GLchan rgba[][4])
+{
+ GLuint i;
+ ASSERT(lambda != NULL);
+ for (i = 0; i < n; i++) {
+ GLint level = nearest_mipmap_level(tObj, lambda[i]);
+ sample_1d_array_linear(ctx, tObj, tObj->Image[0][level],
+ texcoord[i], rgba[i]);
+ }
+}
+
+
+static void
+sample_1d_array_nearest_mipmap_linear(GLcontext *ctx,
+ const struct gl_texture_object *tObj,
+ GLuint n, const GLfloat texcoord[][4],
+ const GLfloat lambda[], GLchan rgba[][4])
+{
+ GLuint i;
+ ASSERT(lambda != NULL);
+ for (i = 0; i < n; i++) {
+ GLint level = linear_mipmap_level(tObj, lambda[i]);
+ if (level >= tObj->_MaxLevel) {
+ sample_1d_array_nearest(ctx, tObj, tObj->Image[0][tObj->_MaxLevel],
+ texcoord[i], rgba[i]);
+ }
+ else {
+ GLchan t0[4], t1[4]; /* texels */
+ const GLfloat f = FRAC(lambda[i]);
+ sample_1d_array_nearest(ctx, tObj, tObj->Image[0][level ], texcoord[i], t0);
+ sample_1d_array_nearest(ctx, tObj, tObj->Image[0][level+1], texcoord[i], t1);
+ lerp_rgba(rgba[i], f, t0, t1);
+ }
+ }
+}
+
+
+static void
+sample_1d_array_linear_mipmap_linear(GLcontext *ctx,
+ const struct gl_texture_object *tObj,
+ GLuint n, const GLfloat texcoord[][4],
+ const GLfloat lambda[], GLchan rgba[][4])
+{
+ GLuint i;
+ ASSERT(lambda != NULL);
+ for (i = 0; i < n; i++) {
+ GLint level = linear_mipmap_level(tObj, lambda[i]);
+ if (level >= tObj->_MaxLevel) {
+ sample_1d_array_linear(ctx, tObj, tObj->Image[0][tObj->_MaxLevel],
+ texcoord[i], rgba[i]);
+ }
+ else {
+ GLchan t0[4], t1[4]; /* texels */
+ const GLfloat f = FRAC(lambda[i]);
+ sample_1d_array_linear(ctx, tObj, tObj->Image[0][level ], texcoord[i], t0);
+ sample_1d_array_linear(ctx, tObj, tObj->Image[0][level+1], texcoord[i], t1);
+ lerp_rgba(rgba[i], f, t0, t1);
+ }
+ }
+}
+
+
+static void
+sample_nearest_1d_array(GLcontext *ctx,
+ const struct gl_texture_object *tObj, GLuint n,
+ const GLfloat texcoords[][4], const GLfloat lambda[],
+ GLchan rgba[][4])
+{
+ GLuint i;
+ struct gl_texture_image *image = tObj->Image[0][tObj->BaseLevel];
+ (void) lambda;
+ for (i=0;i<n;i++) {
+ sample_1d_array_nearest(ctx, tObj, image, texcoords[i], rgba[i]);
+ }
+}
+
+
+
+static void
+sample_linear_1d_array(GLcontext *ctx,
+ const struct gl_texture_object *tObj, GLuint n,
+ const GLfloat texcoords[][4],
+ const GLfloat lambda[], GLchan rgba[][4])
+{
+ GLuint i;
+ struct gl_texture_image *image = tObj->Image[0][tObj->BaseLevel];
+ (void) lambda;
+ for (i=0;i<n;i++) {
+ sample_1d_array_linear(ctx, tObj, image, texcoords[i], rgba[i]);
+ }
+}
+
+
+/*
+ * Given an (s,t,r) texture coordinate and lambda (level of detail) value,
+ * return a texture sample.
+ */
+static void
+sample_lambda_1d_array(GLcontext *ctx,
+ const struct gl_texture_object *tObj, GLuint n,
+ const GLfloat texcoords[][4], const GLfloat lambda[],
+ GLchan rgba[][4])
+{
+ GLuint minStart, minEnd; /* texels with minification */
+ GLuint magStart, magEnd; /* texels with magnification */
+ GLuint i;
+
+ ASSERT(lambda != NULL);
+ compute_min_mag_ranges(tObj, n, lambda,
+ &minStart, &minEnd, &magStart, &magEnd);
+
+ if (minStart < minEnd) {
+ /* do the minified texels */
+ GLuint m = minEnd - minStart;
+ switch (tObj->MinFilter) {
+ case GL_NEAREST:
+ for (i = minStart; i < minEnd; i++)
+ sample_1d_array_nearest(ctx, tObj, tObj->Image[0][tObj->BaseLevel],
+ texcoords[i], rgba[i]);
+ break;
+ case GL_LINEAR:
+ for (i = minStart; i < minEnd; i++)
+ sample_1d_array_linear(ctx, tObj, tObj->Image[0][tObj->BaseLevel],
+ texcoords[i], rgba[i]);
+ break;
+ case GL_NEAREST_MIPMAP_NEAREST:
+ sample_1d_array_nearest_mipmap_nearest(ctx, tObj, m, texcoords + minStart,
+ lambda + minStart, rgba + minStart);
+ break;
+ case GL_LINEAR_MIPMAP_NEAREST:
+ sample_1d_array_linear_mipmap_nearest(ctx, tObj, m,
+ texcoords + minStart,
+ lambda + minStart,
+ rgba + minStart);
+ break;
+ case GL_NEAREST_MIPMAP_LINEAR:
+ sample_1d_array_nearest_mipmap_linear(ctx, tObj, m, texcoords + minStart,
+ lambda + minStart, rgba + minStart);
+ break;
+ case GL_LINEAR_MIPMAP_LINEAR:
+ sample_1d_array_linear_mipmap_linear(ctx, tObj, m,
+ texcoords + minStart,
+ lambda + minStart,
+ rgba + minStart);
+ break;
+ default:
+ _mesa_problem(ctx, "Bad min filter in sample_1d_array_texture");
+ return;
+ }
+ }
+
+ if (magStart < magEnd) {
+ /* do the magnified texels */
+ switch (tObj->MagFilter) {
+ case GL_NEAREST:
+ for (i = magStart; i < magEnd; i++)
+ sample_1d_array_nearest(ctx, tObj, tObj->Image[0][tObj->BaseLevel],
+ texcoords[i], rgba[i]);
+ break;
+ case GL_LINEAR:
+ for (i = magStart; i < magEnd; i++)
+ sample_1d_array_linear(ctx, tObj, tObj->Image[0][tObj->BaseLevel],
+ texcoords[i], rgba[i]);
+ break;
+ default:
+ _mesa_problem(ctx, "Bad mag filter in sample_1d_array_texture");
+ return;
+ }
+ }
+}
+
+
+
+
/*
* Sample a shadow/depth texture.
*/
@@ -2280,6 +2871,9 @@ sample_depth_texture( GLcontext *ctx,
const struct gl_texture_image *img = tObj->Image[0][baseLevel];
const GLint width = img->Width;
const GLint height = img->Height;
+ const GLint depth = img->Depth;
+ const GLuint compare_coord = (tObj->Target == GL_TEXTURE_2D_ARRAY_EXT)
+ ? 3 : 2;
GLchan ambient;
GLenum function;
GLchan result;
@@ -2291,7 +2885,9 @@ sample_depth_texture( GLcontext *ctx,
ASSERT(tObj->Target == GL_TEXTURE_1D ||
tObj->Target == GL_TEXTURE_2D ||
- tObj->Target == GL_TEXTURE_RECTANGLE_NV);
+ tObj->Target == GL_TEXTURE_RECTANGLE_NV ||
+ tObj->Target == GL_TEXTURE_1D_ARRAY_EXT ||
+ tObj->Target == GL_TEXTURE_2D_ARRAY_EXT);
UNCLAMPED_FLOAT_TO_CHAN(ambient, tObj->ShadowAmbient);
@@ -2320,20 +2916,48 @@ sample_depth_texture( GLcontext *ctx,
GLuint i;
for (i = 0; i < n; i++) {
GLfloat depthSample;
- GLint col, row;
+ GLint col, row, slice;
- if (tObj->Target == GL_TEXTURE_RECTANGLE_ARB) {
+ switch (tObj->Target) {
+ case GL_TEXTURE_RECTANGLE_ARB:
col = clamp_rect_coord_nearest(tObj->WrapS, texcoords[i][0], width);
row = clamp_rect_coord_nearest(tObj->WrapT, texcoords[i][1], height);
- }
- else {
+ slice = 0;
+ break;
+
+ case GL_TEXTURE_1D:
+ COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapS, texcoords[i][0],
+ width, col);
+ row = 0;
+ slice = 0;
+ break;
+
+ case GL_TEXTURE_2D:
COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapS, texcoords[i][0],
width, col);
COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapT, texcoords[i][1],
height, row);
+ slice = 0;
+ break;
+
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapS, texcoords[i][0],
+ width, col);
+ row = clamp_rect_coord_nearest(tObj->WrapT, texcoords[i][1], height);
+ slice = 0;
+
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapS, texcoords[i][0],
+ width, col);
+ COMPUTE_NEAREST_TEXEL_LOCATION(tObj->WrapT, texcoords[i][1],
+ height, row);
+ slice = clamp_rect_coord_nearest(tObj->WrapR, texcoords[i][2], depth);
+ break;
}
- if (col >= 0 && row >= 0 && col < width && row < height) {
- img->FetchTexelf(img, col, row, 0, &depthSample);
+
+ if (col >= 0 && row >= 0 && col < width && row < height &&
+ slice >= 0 && slice < depth) {
+ img->FetchTexelf(img, col, row, slice, &depthSample);
}
else {
depthSample = tObj->BorderColor[0];
@@ -2341,22 +2965,22 @@ sample_depth_texture( GLcontext *ctx,
switch (function) {
case GL_LEQUAL:
- result = (texcoords[i][2] <= depthSample) ? CHAN_MAX : ambient;
+ result = (texcoords[i][compare_coord] <= depthSample) ? CHAN_MAX : ambient;
break;
case GL_GEQUAL:
- result = (texcoords[i][2] >= depthSample) ? CHAN_MAX : ambient;
+ result = (texcoords[i][compare_coord] >= depthSample) ? CHAN_MAX : ambient;
break;
case GL_LESS:
- result = (texcoords[i][2] < depthSample) ? CHAN_MAX : ambient;
+ result = (texcoords[i][compare_coord] < depthSample) ? CHAN_MAX : ambient;
break;
case GL_GREATER:
- result = (texcoords[i][2] > depthSample) ? CHAN_MAX : ambient;
+ result = (texcoords[i][compare_coord] > depthSample) ? CHAN_MAX : ambient;
break;
case GL_EQUAL:
- result = (texcoords[i][2] == depthSample) ? CHAN_MAX : ambient;
+ result = (texcoords[i][compare_coord] == depthSample) ? CHAN_MAX : ambient;
break;
case GL_NOTEQUAL:
- result = (texcoords[i][2] != depthSample) ? CHAN_MAX : ambient;
+ result = (texcoords[i][compare_coord] != depthSample) ? CHAN_MAX : ambient;
break;
case GL_ALWAYS:
result = CHAN_MAX;
@@ -2402,28 +3026,52 @@ sample_depth_texture( GLcontext *ctx,
for (i = 0; i < n; i++) {
GLfloat depth00, depth01, depth10, depth11;
GLint i0, i1, j0, j1;
+ GLint slice;
GLfloat u, v;
GLuint useBorderTexel;
- if (tObj->Target == GL_TEXTURE_RECTANGLE_ARB) {
+ switch (tObj->Target) {
+ case GL_TEXTURE_RECTANGLE_ARB:
clamp_rect_coord_linear(tObj->WrapS, texcoords[i][0],
width, &i0, &i1);
clamp_rect_coord_linear(tObj->WrapT, texcoords[i][1],
height, &j0, &j1);
- }
- else {
+ slice = 0;
+ break;
+
+ case GL_TEXTURE_1D:
+ case GL_TEXTURE_2D:
COMPUTE_LINEAR_TEXEL_LOCATIONS(tObj->WrapS, texcoords[i][0],
u, width, i0, i1);
COMPUTE_LINEAR_TEXEL_LOCATIONS(tObj->WrapT, texcoords[i][1],
v, height,j0, j1);
+ slice = 0;
+ break;
+
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ COMPUTE_LINEAR_TEXEL_LOCATIONS(tObj->WrapS, texcoords[i][0],
+ u, width, i0, i1);
+ j0 = clamp_rect_coord_nearest(tObj->WrapT, texcoords[i][1], height);
+ j1 = j0;
+ slice = 0;
+
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ COMPUTE_LINEAR_TEXEL_LOCATIONS(tObj->WrapS, texcoords[i][0],
+ u, width, i0, i1);
+ COMPUTE_LINEAR_TEXEL_LOCATIONS(tObj->WrapT, texcoords[i][1],
+ v, height,j0, j1);
+ slice = clamp_rect_coord_nearest(tObj->WrapR, texcoords[i][2], depth);
+ break;
}
useBorderTexel = 0;
if (img->Border) {
i0 += img->Border;
i1 += img->Border;
- j0 += img->Border;
- j1 += img->Border;
+ if (tObj->Target != GL_TEXTURE_1D_ARRAY_EXT) {
+ j0 += img->Border;
+ j1 += img->Border;
+ }
}
else {
if (i0 < 0 || i0 >= (GLint) width) useBorderTexel |= I0BIT;
@@ -2432,30 +3080,45 @@ sample_depth_texture( GLcontext *ctx,
if (j1 < 0 || j1 >= (GLint) height) useBorderTexel |= J1BIT;
}
- /* get four depth samples from the texture */
- if (useBorderTexel & (I0BIT | J0BIT)) {
+ if (slice < 0 || slice >= (GLint) depth) {
depth00 = tObj->BorderColor[0];
- }
- else {
- img->FetchTexelf(img, i0, j0, 0, &depth00);
- }
- if (useBorderTexel & (I1BIT | J0BIT)) {
- depth10 = tObj->BorderColor[0];
- }
- else {
- img->FetchTexelf(img, i1, j0, 0, &depth10);
- }
- if (useBorderTexel & (I0BIT | J1BIT)) {
depth01 = tObj->BorderColor[0];
- }
- else {
- img->FetchTexelf(img, i0, j1, 0, &depth01);
- }
- if (useBorderTexel & (I1BIT | J1BIT)) {
+ depth10 = tObj->BorderColor[0];
depth11 = tObj->BorderColor[0];
}
else {
- img->FetchTexelf(img, i1, j1, 0, &depth11);
+ /* get four depth samples from the texture */
+ if (useBorderTexel & (I0BIT | J0BIT)) {
+ depth00 = tObj->BorderColor[0];
+ }
+ else {
+ img->FetchTexelf(img, i0, j0, slice, &depth00);
+ }
+ if (useBorderTexel & (I1BIT | J0BIT)) {
+ depth10 = tObj->BorderColor[0];
+ }
+ else {
+ img->FetchTexelf(img, i1, j0, slice, &depth10);
+ }
+
+ if (tObj->Target != GL_TEXTURE_1D_ARRAY_EXT) {
+ if (useBorderTexel & (I0BIT | J1BIT)) {
+ depth01 = tObj->BorderColor[0];
+ }
+ else {
+ img->FetchTexelf(img, i0, j1, slice, &depth01);
+ }
+ if (useBorderTexel & (I1BIT | J1BIT)) {
+ depth11 = tObj->BorderColor[0];
+ }
+ else {
+ img->FetchTexelf(img, i1, j1, slice, &depth11);
+ }
+ }
+ else {
+ depth01 = depth00;
+ depth11 = depth10;
+ }
}
if (0) {
@@ -2464,8 +3127,8 @@ sample_depth_texture( GLcontext *ctx,
const GLfloat b = FRAC(v + 1.0F);
const GLfloat depthSample
= lerp_2d(a, b, depth00, depth10, depth01, depth11);
- if ((depthSample <= texcoords[i][2] && function == GL_LEQUAL) ||
- (depthSample >= texcoords[i][2] && function == GL_GEQUAL)) {
+ if ((depthSample <= texcoords[i][compare_coord] && function == GL_LEQUAL) ||
+ (depthSample >= texcoords[i][compare_coord] && function == GL_GEQUAL)) {
result = ambient;
}
else {
@@ -2482,45 +3145,45 @@ sample_depth_texture( GLcontext *ctx,
switch (function) {
case GL_LEQUAL:
- if (depth00 <= texcoords[i][2]) luminance -= d;
- if (depth01 <= texcoords[i][2]) luminance -= d;
- if (depth10 <= texcoords[i][2]) luminance -= d;
- if (depth11 <= texcoords[i][2]) luminance -= d;
+ if (depth00 <= texcoords[i][compare_coord]) luminance -= d;
+ if (depth01 <= texcoords[i][compare_coord]) luminance -= d;
+ if (depth10 <= texcoords[i][compare_coord]) luminance -= d;
+ if (depth11 <= texcoords[i][compare_coord]) luminance -= d;
result = (GLchan) luminance;
break;
case GL_GEQUAL:
- if (depth00 >= texcoords[i][2]) luminance -= d;
- if (depth01 >= texcoords[i][2]) luminance -= d;
- if (depth10 >= texcoords[i][2]) luminance -= d;
- if (depth11 >= texcoords[i][2]) luminance -= d;
+ if (depth00 >= texcoords[i][compare_coord]) luminance -= d;
+ if (depth01 >= texcoords[i][compare_coord]) luminance -= d;
+ if (depth10 >= texcoords[i][compare_coord]) luminance -= d;
+ if (depth11 >= texcoords[i][compare_coord]) luminance -= d;
result = (GLchan) luminance;
break;
case GL_LESS:
- if (depth00 < texcoords[i][2]) luminance -= d;
- if (depth01 < texcoords[i][2]) luminance -= d;
- if (depth10 < texcoords[i][2]) luminance -= d;
- if (depth11 < texcoords[i][2]) luminance -= d;
+ if (depth00 < texcoords[i][compare_coord]) luminance -= d;
+ if (depth01 < texcoords[i][compare_coord]) luminance -= d;
+ if (depth10 < texcoords[i][compare_coord]) luminance -= d;
+ if (depth11 < texcoords[i][compare_coord]) luminance -= d;
result = (GLchan) luminance;
break;
case GL_GREATER:
- if (depth00 > texcoords[i][2]) luminance -= d;
- if (depth01 > texcoords[i][2]) luminance -= d;
- if (depth10 > texcoords[i][2]) luminance -= d;
- if (depth11 > texcoords[i][2]) luminance -= d;
+ if (depth00 > texcoords[i][compare_coord]) luminance -= d;
+ if (depth01 > texcoords[i][compare_coord]) luminance -= d;
+ if (depth10 > texcoords[i][compare_coord]) luminance -= d;
+ if (depth11 > texcoords[i][compare_coord]) luminance -= d;
result = (GLchan) luminance;
break;
case GL_EQUAL:
- if (depth00 == texcoords[i][2]) luminance -= d;
- if (depth01 == texcoords[i][2]) luminance -= d;
- if (depth10 == texcoords[i][2]) luminance -= d;
- if (depth11 == texcoords[i][2]) luminance -= d;
+ if (depth00 == texcoords[i][compare_coord]) luminance -= d;
+ if (depth01 == texcoords[i][compare_coord]) luminance -= d;
+ if (depth10 == texcoords[i][compare_coord]) luminance -= d;
+ if (depth11 == texcoords[i][compare_coord]) luminance -= d;
result = (GLchan) luminance;
break;
case GL_NOTEQUAL:
- if (depth00 != texcoords[i][2]) luminance -= d;
- if (depth01 != texcoords[i][2]) luminance -= d;
- if (depth10 != texcoords[i][2]) luminance -= d;
- if (depth11 != texcoords[i][2]) luminance -= d;
+ if (depth00 != texcoords[i][compare_coord]) luminance -= d;
+ if (depth01 != texcoords[i][compare_coord]) luminance -= d;
+ if (depth10 != texcoords[i][compare_coord]) luminance -= d;
+ if (depth11 != texcoords[i][compare_coord]) luminance -= d;
result = (GLchan) luminance;
break;
case GL_ALWAYS:
@@ -2792,6 +3455,28 @@ _swrast_choose_texture_sample_func( GLcontext *ctx,
ASSERT(t->MinFilter == GL_NEAREST);
return &sample_nearest_rect;
}
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ if (needLambda) {
+ return &sample_lambda_1d_array;
+ }
+ else if (t->MinFilter == GL_LINEAR) {
+ return &sample_linear_1d_array;
+ }
+ else {
+ ASSERT(t->MinFilter == GL_NEAREST);
+ return &sample_nearest_1d_array;
+ }
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ if (needLambda) {
+ return &sample_lambda_2d_array;
+ }
+ else if (t->MinFilter == GL_LINEAR) {
+ return &sample_linear_2d_array;
+ }
+ else {
+ ASSERT(t->MinFilter == GL_NEAREST);
+ return &sample_nearest_2d_array;
+ }
default:
_mesa_problem(ctx,
"invalid target in _swrast_choose_texture_sample_func");
diff --git a/src/mesa/x86-64/glapi_x86-64.S b/src/mesa/x86-64/glapi_x86-64.S
index eb54ba4848..e62dde8a2f 100644
--- a/src/mesa/x86-64/glapi_x86-64.S
+++ b/src/mesa/x86-64/glapi_x86-64.S
@@ -29071,10 +29071,9 @@ GL_PREFIX(_dispatch_stub_767):
.size GL_PREFIX(_dispatch_stub_767), .-GL_PREFIX(_dispatch_stub_767)
.p2align 4,,15
- .globl GL_PREFIX(_dispatch_stub_768)
- .type GL_PREFIX(_dispatch_stub_768), @function
- HIDDEN(GL_PREFIX(_dispatch_stub_768))
-GL_PREFIX(_dispatch_stub_768):
+ .globl GL_PREFIX(FramebufferTextureLayerEXT)
+ .type GL_PREFIX(FramebufferTextureLayerEXT), @function
+GL_PREFIX(FramebufferTextureLayerEXT):
#if defined(GLX_USE_TLS)
call _x86_64_get_dispatch@PLT
movq 6144(%rax), %r11
@@ -29084,9 +29083,9 @@ GL_PREFIX(_dispatch_stub_768):
pushq %rsi
pushq %rdx
pushq %rcx
- pushq %rbp
+ pushq %r8
call _x86_64_get_dispatch@PLT
- popq %rbp
+ popq %r8
popq %rcx
popq %rdx
popq %rsi
@@ -29104,9 +29103,9 @@ GL_PREFIX(_dispatch_stub_768):
pushq %rsi
pushq %rdx
pushq %rcx
- pushq %rbp
+ pushq %r8
call _glapi_get_dispatch
- popq %rbp
+ popq %r8
popq %rcx
popq %rdx
popq %rsi
@@ -29114,7 +29113,7 @@ GL_PREFIX(_dispatch_stub_768):
movq 6144(%rax), %r11
jmp *%r11
#endif /* defined(GLX_USE_TLS) */
- .size GL_PREFIX(_dispatch_stub_768), .-GL_PREFIX(_dispatch_stub_768)
+ .size GL_PREFIX(FramebufferTextureLayerEXT), .-GL_PREFIX(FramebufferTextureLayerEXT)
.p2align 4,,15
.globl GL_PREFIX(_dispatch_stub_769)
@@ -29175,7 +29174,11 @@ GL_PREFIX(_dispatch_stub_770):
pushq %rdi
pushq %rsi
pushq %rdx
+ pushq %rcx
+ pushq %rbp
call _x86_64_get_dispatch@PLT
+ popq %rbp
+ popq %rcx
popq %rdx
popq %rsi
popq %rdi
@@ -29191,7 +29194,11 @@ GL_PREFIX(_dispatch_stub_770):
pushq %rdi
pushq %rsi
pushq %rdx
+ pushq %rcx
+ pushq %rbp
call _glapi_get_dispatch
+ popq %rbp
+ popq %rcx
popq %rdx
popq %rsi
popq %rdi
@@ -29238,6 +29245,44 @@ GL_PREFIX(_dispatch_stub_771):
#endif /* defined(GLX_USE_TLS) */
.size GL_PREFIX(_dispatch_stub_771), .-GL_PREFIX(_dispatch_stub_771)
+ .p2align 4,,15
+ .globl GL_PREFIX(_dispatch_stub_772)
+ .type GL_PREFIX(_dispatch_stub_772), @function
+ HIDDEN(GL_PREFIX(_dispatch_stub_772))
+GL_PREFIX(_dispatch_stub_772):
+#if defined(GLX_USE_TLS)
+ call _x86_64_get_dispatch@PLT
+ movq 6176(%rax), %r11
+ jmp *%r11
+#elif defined(PTHREADS)
+ pushq %rdi
+ pushq %rsi
+ pushq %rdx
+ call _x86_64_get_dispatch@PLT
+ popq %rdx
+ popq %rsi
+ popq %rdi
+ movq 6176(%rax), %r11
+ jmp *%r11
+#else
+ movq _glapi_Dispatch(%rip), %rax
+ testq %rax, %rax
+ je 1f
+ movq 6176(%rax), %r11
+ jmp *%r11
+1:
+ pushq %rdi
+ pushq %rsi
+ pushq %rdx
+ call _glapi_get_dispatch
+ popq %rdx
+ popq %rsi
+ popq %rdi
+ movq 6176(%rax), %r11
+ jmp *%r11
+#endif /* defined(GLX_USE_TLS) */
+ .size GL_PREFIX(_dispatch_stub_772), .-GL_PREFIX(_dispatch_stub_772)
+
.globl GL_PREFIX(ArrayElementEXT) ; .set GL_PREFIX(ArrayElementEXT), GL_PREFIX(ArrayElement)
.globl GL_PREFIX(BindTextureEXT) ; .set GL_PREFIX(BindTextureEXT), GL_PREFIX(BindTexture)
.globl GL_PREFIX(DrawArraysEXT) ; .set GL_PREFIX(DrawArraysEXT), GL_PREFIX(DrawArrays)
diff --git a/src/mesa/x86/glapi_x86.S b/src/mesa/x86/glapi_x86.S
index 1106eeede8..bdf42ac088 100644
--- a/src/mesa/x86/glapi_x86.S
+++ b/src/mesa/x86/glapi_x86.S
@@ -938,14 +938,15 @@ GLNAME(gl_dispatch_functions_start):
GL_STUB(RenderbufferStorageEXT, _gloffset_RenderbufferStorageEXT, RenderbufferStorageEXT@16)
GL_STUB(_dispatch_stub_767, _gloffset_BlitFramebufferEXT, _dispatch_stub_767@40)
HIDDEN(GL_PREFIX(_dispatch_stub_767, _dispatch_stub_767@40))
- GL_STUB(_dispatch_stub_768, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_768@16)
- HIDDEN(GL_PREFIX(_dispatch_stub_768, _dispatch_stub_768@16))
- GL_STUB(_dispatch_stub_769, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_769@16)
+ GL_STUB(FramebufferTextureLayerEXT, _gloffset_FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20)
+ GL_STUB(_dispatch_stub_769, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_769@16)
HIDDEN(GL_PREFIX(_dispatch_stub_769, _dispatch_stub_769@16))
- GL_STUB(_dispatch_stub_770, _gloffset_GetQueryObjecti64vEXT, _dispatch_stub_770@12)
- HIDDEN(GL_PREFIX(_dispatch_stub_770, _dispatch_stub_770@12))
- GL_STUB(_dispatch_stub_771, _gloffset_GetQueryObjectui64vEXT, _dispatch_stub_771@12)
+ GL_STUB(_dispatch_stub_770, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_770@16)
+ HIDDEN(GL_PREFIX(_dispatch_stub_770, _dispatch_stub_770@16))
+ GL_STUB(_dispatch_stub_771, _gloffset_GetQueryObjecti64vEXT, _dispatch_stub_771@12)
HIDDEN(GL_PREFIX(_dispatch_stub_771, _dispatch_stub_771@12))
+ GL_STUB(_dispatch_stub_772, _gloffset_GetQueryObjectui64vEXT, _dispatch_stub_772@12)
+ HIDDEN(GL_PREFIX(_dispatch_stub_772, _dispatch_stub_772@12))
GL_STUB_ALIAS(ArrayElementEXT, _gloffset_ArrayElement, ArrayElementEXT@4, ArrayElement, ArrayElement@4)
GL_STUB_ALIAS(BindTextureEXT, _gloffset_BindTexture, BindTextureEXT@8, BindTexture, BindTexture@8)
GL_STUB_ALIAS(DrawArraysEXT, _gloffset_DrawArrays, DrawArraysEXT@12, DrawArrays, DrawArrays@12)