summaryrefslogtreecommitdiff
path: root/src/glx/apple/specs/enum.spec
diff options
context:
space:
mode:
Diffstat (limited to 'src/glx/apple/specs/enum.spec')
-rw-r--r--src/glx/apple/specs/enum.spec7487
1 files changed, 7487 insertions, 0 deletions
diff --git a/src/glx/apple/specs/enum.spec b/src/glx/apple/specs/enum.spec
new file mode 100644
index 0000000000..6a51165254
--- /dev/null
+++ b/src/glx/apple/specs/enum.spec
@@ -0,0 +1,7487 @@
+# This is the OpenGL and OpenGL ES enumerant registry.
+#
+# It is an extremely important file. Do not mess with it unless
+# you know what you're doing and have permission to do so.
+#
+###############################################################################
+#
+# Before modifying this file, read the following:
+#
+# ONLY the Khronos API Registrar (Jon Leech, jon 'at' alumni.caltech.edu)
+# may allocate new enumerants outside the 'experimental' range described
+# below. Any modifications to this file not performed by the Registrar
+# are incompatible with the OpenGL API. The master copy of the registry,
+# showing up-to-date enumerant allocations, is maintained in the
+# OpenGL registry at
+#
+# http://www.opengl.org/registry/
+#
+# The following guidelines are thus only for reference purposes
+# (unless you're the Registrar)
+#
+# Enumerant values for extensions CANNOT be chosen arbitrarily, since
+# the enumerant value space is shared by all GL implementations. It is
+# therefore imperative that the procedures described in this file be
+# followed carefully when allocating extension enum values.
+#
+# - Use tabs, not spaces.
+#
+# - When adding enum values for a new extension, use existing extensions
+# as a guide.
+#
+# - When a vendor has committed to releasing a new extension and needs to
+# allocate enum values for that extension, the vendor may request that the
+# ARB allocate a previously unallocated block of 16 enum values, in the
+# range 0x8000-0xFFFF, for the vendor's exclusive use.
+#
+# - The vendor that introduces an extension will allocate enum values for
+# it as if it is a single-vendor extension, even if it is a multi-vendor
+# (EXT) extension.
+#
+# - The file enum.spec is primarily a reference. The file enumext.spec
+# contains enumerants for all OpenGL 1.2 and OpenGL extensions in a form
+# used to generate <GL/glext.h>.
+#
+# - If a vendor hasn't yet released an extension, just add a comment to
+# enum.spec that contains the name of the extension and the range of enum
+# values used by the extension. When the vendor releases the extension,
+# put the actual enum assignments in enum.spec and enumext.spec.
+#
+# - Allocate all of the enum values for an extension in a single contiguous
+# block.
+#
+# - If an extension is experimental, allocate temporary enum values in the
+# range 0x6000-0x8000 during development work. When the vendor commits to
+# releasing the extension, allocate permanent enum values (see below).
+# There are two reasons for this policy:
+#
+# 1. It is desirable to keep extension enum values tightly packed and to
+# make all of the enum values for an extension be contiguous. This is
+# possible only if permanent enum values for a new extension are not
+# allocated until the extension spec is stable and the number of new
+# enum values needed by the extension has therefore stopped changing.
+#
+# 2. OpenGL ARB policy is that a vendor may allocate a new block of 16
+# extension enum values only if it has committed to releasing an
+# extension that will use values in that block.
+#
+# - To allocate a new block of permanent enum values for an extension, do the
+# following:
+#
+# 1. Start at the top of enum.spec and choose the first future_use
+# range that is not allocated to another vendor and is large enough
+# to contain the new block. This will almost certainly be the
+# 'Any_vendor_future_use' range near the end of enum.spec. This
+# process helps keep allocated enum values tightly packed into
+# the start of the 0x8000-0xFFFF range.
+#
+# 2. Allocate a block of enum values at the start of this range. If
+# the enum definitions are going into enumfuture.spec, add a comment
+# to enum.spec that contains the name of the extension and the range
+# of values in the new block. Use existing extensions as a guide.
+#
+# 3. Add the size of the block you just allocated to the start of the
+# chosen future_use range. If you have allocated the entire range,
+# eliminate its future_use entry.
+#
+# 4. Note that there are historical enum allocations above 0xFFFF, but
+# no new allocations will be made there in the forseeable future.
+#
+###############################################################################
+
+Extensions define:
+ VERSION_1_1 = 1
+ VERSION_1_2 = 1
+ VERSION_1_3 = 1
+ VERSION_1_4 = 1
+ VERSION_1_5 = 1
+ VERSION_2_0 = 1
+ VERSION_2_1 = 1
+ VERSION_3_0 = 1
+ VERSION_3_1 = 1
+ VERSION_3_2 = 1
+ ARB_imaging = 1
+ EXT_abgr = 1
+ EXT_blend_color = 1
+ EXT_blend_logic_op = 1
+ EXT_blend_minmax = 1
+ EXT_blend_subtract = 1
+ EXT_cmyka = 1
+ EXT_convolution = 1
+ EXT_copy_texture = 1
+ EXT_histogram = 1
+ EXT_packed_pixels = 1
+ EXT_point_parameters = 1
+ EXT_polygon_offset = 1
+ EXT_rescale_normal = 1
+ EXT_shared_texture_palette = 1
+ EXT_subtexture = 1
+ EXT_texture = 1
+ EXT_texture3D = 1
+ EXT_texture_object = 1
+ EXT_vertex_array = 1
+ SGIS_detail_texture = 1
+ SGIS_fog_function = 1
+ SGIS_generate_mipmap = 1
+ SGIS_multisample = 1
+ SGIS_pixel_texture = 1
+ SGIS_point_line_texgen = 1
+ SGIS_point_parameters = 1
+ SGIS_sharpen_texture = 1
+ SGIS_texture4D = 1
+ SGIS_texture_border_clamp = 1
+ SGIS_texture_edge_clamp = 1
+ SGIS_texture_filter4 = 1
+ SGIS_texture_lod = 1
+ SGIS_texture_select = 1
+ SGIX_async = 1
+ SGIX_async_histogram = 1
+ SGIX_async_pixel = 1
+ SGIX_blend_alpha_minmax = 1
+ SGIX_calligraphic_fragment = 1
+ SGIX_clipmap = 1
+ SGIX_convolution_accuracy = 1
+ SGIX_depth_texture = 1
+ SGIX_flush_raster = 1
+ SGIX_fog_offset = 1
+ SGIX_fragment_lighting = 1
+ SGIX_framezoom = 1
+ SGIX_icc_texture = 1
+ SGIX_impact_pixel_texture = 1
+ SGIX_instruments = 1
+ SGIX_interlace = 1
+ SGIX_ir_instrument1 = 1
+ SGIX_list_priority = 1
+ SGIX_pixel_texture = 1
+ SGIX_pixel_tiles = 1
+ SGIX_polynomial_ffd = 1
+ SGIX_reference_plane = 1
+ SGIX_resample = 1
+ SGIX_scalebias_hint = 1
+ SGIX_shadow = 1
+ SGIX_shadow_ambient = 1
+ SGIX_sprite = 1
+ SGIX_subsample = 1
+ SGIX_tag_sample_buffer = 1
+ SGIX_texture_add_env = 1
+ SGIX_texture_coordinate_clamp = 1
+ SGIX_texture_lod_bias = 1
+ SGIX_texture_multi_buffer = 1
+ SGIX_texture_scale_bias = 1
+ SGIX_vertex_preclip = 1
+ SGIX_ycrcb = 1
+ SGI_color_matrix = 1
+ SGI_color_table = 1
+ SGI_texture_color_table = 1
+
+###############################################################################
+
+AttribMask enum:
+ CURRENT_BIT = 0x00000001
+ POINT_BIT = 0x00000002
+ LINE_BIT = 0x00000004
+ POLYGON_BIT = 0x00000008
+ POLYGON_STIPPLE_BIT = 0x00000010
+ PIXEL_MODE_BIT = 0x00000020
+ LIGHTING_BIT = 0x00000040
+ FOG_BIT = 0x00000080
+ DEPTH_BUFFER_BIT = 0x00000100
+ ACCUM_BUFFER_BIT = 0x00000200
+ STENCIL_BUFFER_BIT = 0x00000400
+ VIEWPORT_BIT = 0x00000800
+ TRANSFORM_BIT = 0x00001000
+ ENABLE_BIT = 0x00002000
+ COLOR_BUFFER_BIT = 0x00004000
+ HINT_BIT = 0x00008000
+ EVAL_BIT = 0x00010000
+ LIST_BIT = 0x00020000
+ TEXTURE_BIT = 0x00040000
+ SCISSOR_BIT = 0x00080000
+ ALL_ATTRIB_BITS = 0xFFFFFFFF
+#??? ALL_ATTRIB_BITS mask value changed to all-1s in OpenGL 1.3 - this affects covgl.
+# use ARB_multisample MULTISAMPLE_BIT_ARB
+# use EXT_multisample MULTISAMPLE_BIT_EXT
+# use 3DFX_multisample MULTISAMPLE_BIT_3DFX
+
+VERSION_1_3 enum: (Promoted for OpenGL 1.3)
+ MULTISAMPLE_BIT = 0x20000000
+
+ARB_multisample enum:
+ MULTISAMPLE_BIT_ARB = 0x20000000
+
+EXT_multisample enum:
+ MULTISAMPLE_BIT_EXT = 0x20000000
+
+3DFX_multisample enum:
+ MULTISAMPLE_BIT_3DFX = 0x20000000
+
+###############################################################################
+
+ClearBufferMask enum:
+ use AttribMask COLOR_BUFFER_BIT
+ use AttribMask ACCUM_BUFFER_BIT
+ use AttribMask STENCIL_BUFFER_BIT
+ use AttribMask DEPTH_BUFFER_BIT
+
+###############################################################################
+
+ClientAttribMask enum:
+ CLIENT_PIXEL_STORE_BIT = 0x00000001
+ CLIENT_VERTEX_ARRAY_BIT = 0x00000002
+ CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF
+
+###############################################################################
+
+# There's no obvious better place to put non-attribute-group mask bits
+VERSION_3_0 enum:
+ use ARB_map_buffer_range MAP_READ_BIT
+ use ARB_map_buffer_range MAP_WRITE_BIT
+ use ARB_map_buffer_range MAP_INVALIDATE_RANGE_BIT
+ use ARB_map_buffer_range MAP_INVALIDATE_BUFFER_BIT
+ use ARB_map_buffer_range MAP_FLUSH_EXPLICIT_BIT
+ use ARB_map_buffer_range MAP_UNSYNCHRONIZED_BIT
+
+ARB_map_buffer_range enum:
+ MAP_READ_BIT = 0x0001 # VERSION_3_0 / ARB_mbr
+ MAP_WRITE_BIT = 0x0002 # VERSION_3_0 / ARB_mbr
+ MAP_INVALIDATE_RANGE_BIT = 0x0004 # VERSION_3_0 / ARB_mbr
+ MAP_INVALIDATE_BUFFER_BIT = 0x0008 # VERSION_3_0 / ARB_mbr
+ MAP_FLUSH_EXPLICIT_BIT = 0x0010 # VERSION_3_0 / ARB_mbr
+ MAP_UNSYNCHRONIZED_BIT = 0x0020 # VERSION_3_0 / ARB_mbr
+
+###############################################################################
+
+VERSION_3_0 enum:
+ CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x0001 # VERSION_3_0
+
+###############################################################################
+
+Boolean enum:
+ FALSE = 0
+ TRUE = 1
+
+###############################################################################
+
+BeginMode enum:
+ POINTS = 0x0000
+ LINES = 0x0001
+ LINE_LOOP = 0x0002
+ LINE_STRIP = 0x0003
+ TRIANGLES = 0x0004
+ TRIANGLE_STRIP = 0x0005
+ TRIANGLE_FAN = 0x0006
+ QUADS = 0x0007
+ QUAD_STRIP = 0x0008
+ POLYGON = 0x0009
+
+VERSION_3_2 enum:
+ LINES_ADJACENCY = 0x000A
+ LINE_STRIP_ADJACENCY = 0x000B
+ TRIANGLES_ADJACENCY = 0x000C
+ TRIANGLE_STRIP_ADJACENCY = 0x000D
+
+ARB_geometry_shader4 enum: (additional; see below)
+ LINES_ADJACENCY_ARB = 0x000A
+ LINE_STRIP_ADJACENCY_ARB = 0x000B
+ TRIANGLES_ADJACENCY_ARB = 0x000C
+ TRIANGLE_STRIP_ADJACENCY_ARB = 0x000D
+
+NV_geometry_program4 enum: (additional; see below)
+ LINES_ADJACENCY_EXT = 0x000A
+ LINE_STRIP_ADJACENCY_EXT = 0x000B
+ TRIANGLES_ADJACENCY_EXT = 0x000C
+ TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D
+
+# BeginMode_future_use: 0x000E
+
+###############################################################################
+
+AccumOp enum:
+ ACCUM = 0x0100
+ LOAD = 0x0101
+ RETURN = 0x0102
+ MULT = 0x0103
+ ADD = 0x0104
+
+###############################################################################
+
+AlphaFunction enum:
+ NEVER = 0x0200
+ LESS = 0x0201
+ EQUAL = 0x0202
+ LEQUAL = 0x0203
+ GREATER = 0x0204
+ NOTEQUAL = 0x0205
+ GEQUAL = 0x0206
+ ALWAYS = 0x0207
+
+###############################################################################
+
+BlendingFactorDest enum:
+ ZERO = 0
+ ONE = 1
+ SRC_COLOR = 0x0300
+ ONE_MINUS_SRC_COLOR = 0x0301
+ SRC_ALPHA = 0x0302
+ ONE_MINUS_SRC_ALPHA = 0x0303
+ DST_ALPHA = 0x0304
+ ONE_MINUS_DST_ALPHA = 0x0305
+ use EXT_blend_color CONSTANT_COLOR_EXT
+ use EXT_blend_color ONE_MINUS_CONSTANT_COLOR_EXT
+ use EXT_blend_color CONSTANT_ALPHA_EXT
+ use EXT_blend_color ONE_MINUS_CONSTANT_ALPHA_EXT
+
+###############################################################################
+
+BlendingFactorSrc enum:
+ use BlendingFactorDest ZERO
+ use BlendingFactorDest ONE
+ DST_COLOR = 0x0306
+ ONE_MINUS_DST_COLOR = 0x0307
+ SRC_ALPHA_SATURATE = 0x0308
+ use BlendingFactorDest SRC_ALPHA
+ use BlendingFactorDest ONE_MINUS_SRC_ALPHA
+ use BlendingFactorDest DST_ALPHA
+ use BlendingFactorDest ONE_MINUS_DST_ALPHA
+ use EXT_blend_color CONSTANT_COLOR_EXT
+ use EXT_blend_color ONE_MINUS_CONSTANT_COLOR_EXT
+ use EXT_blend_color CONSTANT_ALPHA_EXT
+ use EXT_blend_color ONE_MINUS_CONSTANT_ALPHA_EXT
+
+###############################################################################
+
+BlendEquationModeEXT enum:
+ use GetPName LOGIC_OP
+ use EXT_blend_minmax FUNC_ADD_EXT
+ use EXT_blend_minmax MIN_EXT
+ use EXT_blend_minmax MAX_EXT
+ use EXT_blend_subtract FUNC_SUBTRACT_EXT
+ use EXT_blend_subtract FUNC_REVERSE_SUBTRACT_EXT
+ use SGIX_blend_alpha_minmax ALPHA_MIN_SGIX
+ use SGIX_blend_alpha_minmax ALPHA_MAX_SGIX
+
+###############################################################################
+
+ColorMaterialFace enum:
+ use DrawBufferMode FRONT
+ use DrawBufferMode BACK
+ use DrawBufferMode FRONT_AND_BACK
+
+###############################################################################
+
+ColorMaterialParameter enum:
+ use LightParameter AMBIENT
+ use LightParameter DIFFUSE
+ use LightParameter SPECULAR
+ use MaterialParameter EMISSION
+ use MaterialParameter AMBIENT_AND_DIFFUSE
+
+###############################################################################
+
+ColorPointerType enum:
+ use DataType BYTE
+ use DataType UNSIGNED_BYTE
+ use DataType SHORT
+ use DataType UNSIGNED_SHORT
+ use DataType INT
+ use DataType UNSIGNED_INT
+ use DataType FLOAT
+ use DataType DOUBLE
+
+###############################################################################
+
+ColorTableParameterPNameSGI enum:
+ use SGI_color_table COLOR_TABLE_SCALE_SGI
+ use SGI_color_table COLOR_TABLE_BIAS_SGI
+
+###############################################################################
+
+ColorTableTargetSGI enum:
+ use SGI_color_table COLOR_TABLE_SGI
+ use SGI_color_table POST_CONVOLUTION_COLOR_TABLE_SGI
+ use SGI_color_table POST_COLOR_MATRIX_COLOR_TABLE_SGI
+ use SGI_color_table PROXY_COLOR_TABLE_SGI
+ use SGI_color_table PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI
+ use SGI_color_table PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI
+ use SGI_texture_color_table TEXTURE_COLOR_TABLE_SGI
+ use SGI_texture_color_table PROXY_TEXTURE_COLOR_TABLE_SGI
+
+###############################################################################
+
+ConvolutionBorderModeEXT enum:
+ use EXT_convolution REDUCE_EXT
+
+###############################################################################
+
+ConvolutionParameterEXT enum:
+ use EXT_convolution CONVOLUTION_BORDER_MODE_EXT
+ use EXT_convolution CONVOLUTION_FILTER_SCALE_EXT
+ use EXT_convolution CONVOLUTION_FILTER_BIAS_EXT
+
+###############################################################################
+
+ConvolutionTargetEXT enum:
+ use EXT_convolution CONVOLUTION_1D_EXT
+ use EXT_convolution CONVOLUTION_2D_EXT
+
+###############################################################################
+
+CullFaceMode enum:
+ use DrawBufferMode FRONT
+ use DrawBufferMode BACK
+ use DrawBufferMode FRONT_AND_BACK
+
+###############################################################################
+
+DepthFunction enum:
+ use AlphaFunction NEVER
+ use AlphaFunction LESS
+ use AlphaFunction EQUAL
+ use AlphaFunction LEQUAL
+ use AlphaFunction GREATER
+ use AlphaFunction NOTEQUAL
+ use AlphaFunction GEQUAL
+ use AlphaFunction ALWAYS
+
+###############################################################################
+
+DrawBufferMode enum:
+ NONE = 0
+ FRONT_LEFT = 0x0400
+ FRONT_RIGHT = 0x0401
+ BACK_LEFT = 0x0402
+ BACK_RIGHT = 0x0403
+ FRONT = 0x0404
+ BACK = 0x0405
+ LEFT = 0x0406
+ RIGHT = 0x0407
+ FRONT_AND_BACK = 0x0408
+ AUX0 = 0x0409
+ AUX1 = 0x040A
+ AUX2 = 0x040B
+ AUX3 = 0x040C
+
+# Aliases DrawBufferMode enum above
+OES_framebuffer_object enum: (OpenGL ES only; additional; see below)
+# NONE_OES = 0
+
+###############################################################################
+
+EnableCap enum:
+ use GetPName FOG
+ use GetPName LIGHTING
+ use GetPName TEXTURE_1D
+ use GetPName TEXTURE_2D
+ use GetPName LINE_STIPPLE
+ use GetPName POLYGON_STIPPLE
+ use GetPName CULL_FACE
+ use GetPName ALPHA_TEST
+ use GetPName BLEND
+ use GetPName INDEX_LOGIC_OP
+ use GetPName COLOR_LOGIC_OP
+ use GetPName DITHER
+ use GetPName STENCIL_TEST
+ use GetPName DEPTH_TEST
+ use GetPName CLIP_PLANE0
+ use GetPName CLIP_PLANE1
+ use GetPName CLIP_PLANE2
+ use GetPName CLIP_PLANE3
+ use GetPName CLIP_PLANE4
+ use GetPName CLIP_PLANE5
+ use GetPName LIGHT0
+ use GetPName LIGHT1
+ use GetPName LIGHT2
+ use GetPName LIGHT3
+ use GetPName LIGHT4
+ use GetPName LIGHT5
+ use GetPName LIGHT6
+ use GetPName LIGHT7
+ use GetPName TEXTURE_GEN_S
+ use GetPName TEXTURE_GEN_T
+ use GetPName TEXTURE_GEN_R
+ use GetPName TEXTURE_GEN_Q
+ use GetPName MAP1_VERTEX_3
+ use GetPName MAP1_VERTEX_4
+ use GetPName MAP1_COLOR_4
+ use GetPName MAP1_INDEX
+ use GetPName MAP1_NORMAL
+ use GetPName MAP1_TEXTURE_COORD_1
+ use GetPName MAP1_TEXTURE_COORD_2
+ use GetPName MAP1_TEXTURE_COORD_3
+ use GetPName MAP1_TEXTURE_COORD_4
+ use GetPName MAP2_VERTEX_3
+ use GetPName MAP2_VERTEX_4
+ use GetPName MAP2_COLOR_4
+ use GetPName MAP2_INDEX
+ use GetPName MAP2_NORMAL
+ use GetPName MAP2_TEXTURE_COORD_1
+ use GetPName MAP2_TEXTURE_COORD_2
+ use GetPName MAP2_TEXTURE_COORD_3
+ use GetPName MAP2_TEXTURE_COORD_4
+ use GetPName POINT_SMOOTH
+ use GetPName LINE_SMOOTH
+ use GetPName POLYGON_SMOOTH
+ use GetPName SCISSOR_TEST
+ use GetPName COLOR_MATERIAL
+ use GetPName NORMALIZE
+ use GetPName AUTO_NORMAL
+ use GetPName POLYGON_OFFSET_POINT
+ use GetPName POLYGON_OFFSET_LINE
+ use GetPName POLYGON_OFFSET_FILL
+ use GetPName VERTEX_ARRAY
+ use GetPName NORMAL_ARRAY
+ use GetPName COLOR_ARRAY
+ use GetPName INDEX_ARRAY
+ use GetPName TEXTURE_COORD_ARRAY
+ use GetPName EDGE_FLAG_ARRAY
+ use EXT_convolution CONVOLUTION_1D_EXT
+ use EXT_convolution CONVOLUTION_2D_EXT
+ use EXT_convolution SEPARABLE_2D_EXT
+ use EXT_histogram HISTOGRAM_EXT
+ use EXT_histogram MINMAX_EXT
+ use EXT_rescale_normal RESCALE_NORMAL_EXT
+ use EXT_shared_texture_palette SHARED_TEXTURE_PALETTE_EXT
+ use EXT_texture3D TEXTURE_3D_EXT
+ use SGIS_multisample MULTISAMPLE_SGIS
+ use SGIS_multisample SAMPLE_ALPHA_TO_MASK_SGIS
+ use SGIS_multisample SAMPLE_ALPHA_TO_ONE_SGIS
+ use SGIS_multisample SAMPLE_MASK_SGIS
+ use SGIS_texture4D TEXTURE_4D_SGIS
+ use SGIX_async_histogram ASYNC_HISTOGRAM_SGIX
+ use SGIX_async_pixel ASYNC_TEX_IMAGE_SGIX
+ use SGIX_async_pixel ASYNC_DRAW_PIXELS_SGIX
+ use SGIX_async_pixel ASYNC_READ_PIXELS_SGIX
+ use SGIX_calligraphic_fragment CALLIGRAPHIC_FRAGMENT_SGIX
+ use SGIX_fog_offset FOG_OFFSET_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHTING_SGIX
+ use SGIX_fragment_lighting FRAGMENT_COLOR_MATERIAL_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT0_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT1_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT2_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT3_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT4_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT5_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT6_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT7_SGIX
+ use SGIX_framezoom FRAMEZOOM_SGIX
+ use SGIX_interlace INTERLACE_SGIX
+ use SGIX_ir_instrument1 IR_INSTRUMENT1_SGIX
+ use SGIX_pixel_texture PIXEL_TEX_GEN_SGIX
+ use SGIS_pixel_texture PIXEL_TEXTURE_SGIS
+ use SGIX_reference_plane REFERENCE_PLANE_SGIX
+ use SGIX_sprite SPRITE_SGIX
+ use SGI_color_table COLOR_TABLE_SGI
+ use SGI_color_table POST_CONVOLUTION_COLOR_TABLE_SGI
+ use SGI_color_table POST_COLOR_MATRIX_COLOR_TABLE_SGI
+ use SGI_texture_color_table TEXTURE_COLOR_TABLE_SGI
+
+###############################################################################
+
+ErrorCode enum:
+ NO_ERROR = 0
+ INVALID_ENUM = 0x0500
+ INVALID_VALUE = 0x0501
+ INVALID_OPERATION = 0x0502
+ STACK_OVERFLOW = 0x0503
+ STACK_UNDERFLOW = 0x0504
+ OUT_OF_MEMORY = 0x0505
+ use EXT_histogram TABLE_TOO_LARGE_EXT
+ use EXT_texture TEXTURE_TOO_LARGE_EXT
+
+# Additional error codes
+
+VERSION_3_0 enum:
+# use ARB_framebuffer_object INVALID_FRAMEBUFFER_OPERATION
+
+ARB_framebuffer_object enum: (note: no ARB suffixes)
+ INVALID_FRAMEBUFFER_OPERATION = 0x0506 # VERSION_3_0 / ARB_fbo
+
+EXT_framebuffer_object enum:
+ INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506
+
+# Aliases EXT_fbo enum above
+OES_framebuffer_object enum: (OpenGL ES only; additional; see below)
+ INVALID_FRAMEBUFFER_OPERATION_OES = 0x0506
+
+###############################################################################
+
+FeedbackType enum:
+ 2D = 0x0600
+ 3D = 0x0601
+ 3D_COLOR = 0x0602
+ 3D_COLOR_TEXTURE = 0x0603
+ 4D_COLOR_TEXTURE = 0x0604
+
+###############################################################################
+
+FeedBackToken enum:
+ PASS_THROUGH_TOKEN = 0x0700
+ POINT_TOKEN = 0x0701
+ LINE_TOKEN = 0x0702
+ POLYGON_TOKEN = 0x0703
+ BITMAP_TOKEN = 0x0704
+ DRAW_PIXEL_TOKEN = 0x0705
+ COPY_PIXEL_TOKEN = 0x0706
+ LINE_RESET_TOKEN = 0x0707
+
+###############################################################################
+
+FfdMaskSGIX enum:
+ TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001
+ GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002
+
+###############################################################################
+
+FfdTargetSGIX enum:
+ use SGIX_polynomial_ffd GEOMETRY_DEFORMATION_SGIX
+ use SGIX_polynomial_ffd TEXTURE_DEFORMATION_SGIX
+
+###############################################################################
+
+FogMode enum:
+ use TextureMagFilter LINEAR
+ EXP = 0x0800
+ EXP2 = 0x0801
+ use SGIS_fog_function FOG_FUNC_SGIS
+
+###############################################################################
+
+FogParameter enum:
+ use GetPName FOG_COLOR
+ use GetPName FOG_DENSITY
+ use GetPName FOG_END
+ use GetPName FOG_INDEX
+ use GetPName FOG_MODE
+ use GetPName FOG_START
+ use SGIX_fog_offset FOG_OFFSET_VALUE_SGIX
+
+###############################################################################
+
+FragmentLightModelParameterSGIX enum:
+ use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX
+
+###############################################################################
+
+FrontFaceDirection enum:
+ CW = 0x0900
+ CCW = 0x0901
+
+###############################################################################
+
+GetColorTableParameterPNameSGI enum:
+ use SGI_color_table COLOR_TABLE_SCALE_SGI
+ use SGI_color_table COLOR_TABLE_BIAS_SGI
+ use SGI_color_table COLOR_TABLE_FORMAT_SGI
+ use SGI_color_table COLOR_TABLE_WIDTH_SGI
+ use SGI_color_table COLOR_TABLE_RED_SIZE_SGI
+ use SGI_color_table COLOR_TABLE_GREEN_SIZE_SGI
+ use SGI_color_table COLOR_TABLE_BLUE_SIZE_SGI
+ use SGI_color_table COLOR_TABLE_ALPHA_SIZE_SGI
+ use SGI_color_table COLOR_TABLE_LUMINANCE_SIZE_SGI
+ use SGI_color_table COLOR_TABLE_INTENSITY_SIZE_SGI
+
+###############################################################################
+
+GetConvolutionParameter enum:
+ use EXT_convolution CONVOLUTION_BORDER_MODE_EXT
+ use EXT_convolution CONVOLUTION_FILTER_SCALE_EXT
+ use EXT_convolution CONVOLUTION_FILTER_BIAS_EXT
+ use EXT_convolution CONVOLUTION_FORMAT_EXT
+ use EXT_convolution CONVOLUTION_WIDTH_EXT
+ use EXT_convolution CONVOLUTION_HEIGHT_EXT
+ use EXT_convolution MAX_CONVOLUTION_WIDTH_EXT
+ use EXT_convolution MAX_CONVOLUTION_HEIGHT_EXT
+
+###############################################################################
+
+GetHistogramParameterPNameEXT enum:
+ use EXT_histogram HISTOGRAM_WIDTH_EXT
+ use EXT_histogram HISTOGRAM_FORMAT_EXT
+ use EXT_histogram HISTOGRAM_RED_SIZE_EXT
+ use EXT_histogram HISTOGRAM_GREEN_SIZE_EXT
+ use EXT_histogram HISTOGRAM_BLUE_SIZE_EXT
+ use EXT_histogram HISTOGRAM_ALPHA_SIZE_EXT
+ use EXT_histogram HISTOGRAM_LUMINANCE_SIZE_EXT
+ use EXT_histogram HISTOGRAM_SINK_EXT
+
+###############################################################################
+
+GetMapQuery enum:
+ COEFF = 0x0A00
+ ORDER = 0x0A01
+ DOMAIN = 0x0A02
+
+###############################################################################
+
+GetMinmaxParameterPNameEXT enum:
+ use EXT_histogram MINMAX_FORMAT_EXT
+ use EXT_histogram MINMAX_SINK_EXT
+
+###############################################################################
+
+GetPixelMap enum:
+ PIXEL_MAP_I_TO_I = 0x0C70
+ PIXEL_MAP_S_TO_S = 0x0C71
+ PIXEL_MAP_I_TO_R = 0x0C72
+ PIXEL_MAP_I_TO_G = 0x0C73
+ PIXEL_MAP_I_TO_B = 0x0C74
+ PIXEL_MAP_I_TO_A = 0x0C75
+ PIXEL_MAP_R_TO_R = 0x0C76
+ PIXEL_MAP_G_TO_G = 0x0C77
+ PIXEL_MAP_B_TO_B = 0x0C78
+ PIXEL_MAP_A_TO_A = 0x0C79
+
+###############################################################################
+
+GetPointervPName enum:
+ VERTEX_ARRAY_POINTER = 0x808E
+ NORMAL_ARRAY_POINTER = 0x808F
+ COLOR_ARRAY_POINTER = 0x8090
+ INDEX_ARRAY_POINTER = 0x8091
+ TEXTURE_COORD_ARRAY_POINTER = 0x8092
+ EDGE_FLAG_ARRAY_POINTER = 0x8093
+ FEEDBACK_BUFFER_POINTER = 0x0DF0
+ SELECTION_BUFFER_POINTER = 0x0DF3
+ use SGIX_instruments INSTRUMENT_BUFFER_POINTER_SGIX
+
+###############################################################################
+
+# the columns after the comment symbol (#) indicate: number of params, type
+# (F - float, D - double, I - integer) for the returned values
+GetPName enum:
+ CURRENT_COLOR = 0x0B00 # 4 F
+ CURRENT_INDEX = 0x0B01 # 1 F
+ CURRENT_NORMAL = 0x0B02 # 3 F
+ CURRENT_TEXTURE_COORDS = 0x0B03 # 4 F
+ CURRENT_RASTER_COLOR = 0x0B04 # 4 F
+ CURRENT_RASTER_INDEX = 0x0B05 # 1 F
+ CURRENT_RASTER_TEXTURE_COORDS = 0x0B06 # 4 F
+ CURRENT_RASTER_POSITION = 0x0B07 # 4 F
+ CURRENT_RASTER_POSITION_VALID = 0x0B08 # 1 I
+ CURRENT_RASTER_DISTANCE = 0x0B09 # 1 F
+
+ POINT_SMOOTH = 0x0B10 # 1 I
+ POINT_SIZE = 0x0B11 # 1 F
+ POINT_SIZE_RANGE = 0x0B12 # 2 F
+ POINT_SIZE_GRANULARITY = 0x0B13 # 1 F
+
+ LINE_SMOOTH = 0x0B20 # 1 I
+ LINE_WIDTH = 0x0B21 # 1 F
+ LINE_WIDTH_RANGE = 0x0B22 # 2 F
+ LINE_WIDTH_GRANULARITY = 0x0B23 # 1 F
+ LINE_STIPPLE = 0x0B24 # 1 I
+ LINE_STIPPLE_PATTERN = 0x0B25 # 1 I
+ LINE_STIPPLE_REPEAT = 0x0B26 # 1 I
+ use VERSION_1_2 SMOOTH_POINT_SIZE_RANGE
+ use VERSION_1_2 SMOOTH_POINT_SIZE_GRANULARITY
+ use VERSION_1_2 SMOOTH_LINE_WIDTH_RANGE
+ use VERSION_1_2 SMOOTH_LINE_WIDTH_GRANULARITY
+ use VERSION_1_2 ALIASED_POINT_SIZE_RANGE
+ use VERSION_1_2 ALIASED_LINE_WIDTH_RANGE
+
+ LIST_MODE = 0x0B30 # 1 I
+ MAX_LIST_NESTING = 0x0B31 # 1 I
+ LIST_BASE = 0x0B32 # 1 I
+ LIST_INDEX = 0x0B33 # 1 I
+
+ POLYGON_MODE = 0x0B40 # 2 I
+ POLYGON_SMOOTH = 0x0B41 # 1 I
+ POLYGON_STIPPLE = 0x0B42 # 1 I
+ EDGE_FLAG = 0x0B43 # 1 I
+ CULL_FACE = 0x0B44 # 1 I
+ CULL_FACE_MODE = 0x0B45 # 1 I
+ FRONT_FACE = 0x0B46 # 1 I
+
+ LIGHTING = 0x0B50 # 1 I
+ LIGHT_MODEL_LOCAL_VIEWER = 0x0B51 # 1 I
+ LIGHT_MODEL_TWO_SIDE = 0x0B52 # 1 I
+ LIGHT_MODEL_AMBIENT = 0x0B53 # 4 F
+ SHADE_MODEL = 0x0B54 # 1 I
+ COLOR_MATERIAL_FACE = 0x0B55 # 1 I
+ COLOR_MATERIAL_PARAMETER = 0x0B56 # 1 I
+ COLOR_MATERIAL = 0x0B57 # 1 I
+
+ FOG = 0x0B60 # 1 I
+ FOG_INDEX = 0x0B61 # 1 I
+ FOG_DENSITY = 0x0B62 # 1 F
+ FOG_START = 0x0B63 # 1 F
+ FOG_END = 0x0B64 # 1 F
+ FOG_MODE = 0x0B65 # 1 I
+ FOG_COLOR = 0x0B66 # 4 F
+
+ DEPTH_RANGE = 0x0B70 # 2 F
+ DEPTH_TEST = 0x0B71 # 1 I
+ DEPTH_WRITEMASK = 0x0B72 # 1 I
+ DEPTH_CLEAR_VALUE = 0x0B73 # 1 F
+ DEPTH_FUNC = 0x0B74 # 1 I
+
+ ACCUM_CLEAR_VALUE = 0x0B80 # 4 F
+
+ STENCIL_TEST = 0x0B90 # 1 I
+ STENCIL_CLEAR_VALUE = 0x0B91 # 1 I
+ STENCIL_FUNC = 0x0B92 # 1 I
+ STENCIL_VALUE_MASK = 0x0B93 # 1 I
+ STENCIL_FAIL = 0x0B94 # 1 I
+ STENCIL_PASS_DEPTH_FAIL = 0x0B95 # 1 I
+ STENCIL_PASS_DEPTH_PASS = 0x0B96 # 1 I
+ STENCIL_REF = 0x0B97 # 1 I
+ STENCIL_WRITEMASK = 0x0B98 # 1 I
+
+ MATRIX_MODE = 0x0BA0 # 1 I
+ NORMALIZE = 0x0BA1 # 1 I
+ VIEWPORT = 0x0BA2 # 4 I
+ MODELVIEW_STACK_DEPTH = 0x0BA3 # 1 I
+ PROJECTION_STACK_DEPTH = 0x0BA4 # 1 I
+ TEXTURE_STACK_DEPTH = 0x0BA5 # 1 I
+ MODELVIEW_MATRIX = 0x0BA6 # 16 F
+ PROJECTION_MATRIX = 0x0BA7 # 16 F
+ TEXTURE_MATRIX = 0x0BA8 # 16 F
+
+ ATTRIB_STACK_DEPTH = 0x0BB0 # 1 I
+ CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1 # 1 I
+
+ ALPHA_TEST = 0x0BC0 # 1 I
+ ALPHA_TEST_FUNC = 0x0BC1 # 1 I
+ ALPHA_TEST_REF = 0x0BC2 # 1 F
+
+ DITHER = 0x0BD0 # 1 I
+
+ BLEND_DST = 0x0BE0 # 1 I
+ BLEND_SRC = 0x0BE1 # 1 I
+ BLEND = 0x0BE2 # 1 I
+
+ LOGIC_OP_MODE = 0x0BF0 # 1 I
+ INDEX_LOGIC_OP = 0x0BF1 # 1 I
+ LOGIC_OP = 0x0BF1 # 1 I
+ COLOR_LOGIC_OP = 0x0BF2 # 1 I
+
+ AUX_BUFFERS = 0x0C00 # 1 I
+ DRAW_BUFFER = 0x0C01 # 1 I
+ READ_BUFFER = 0x0C02 # 1 I
+
+ SCISSOR_BOX = 0x0C10 # 4 I
+ SCISSOR_TEST = 0x0C11 # 1 I
+
+ INDEX_CLEAR_VALUE = 0x0C20 # 1 I
+ INDEX_WRITEMASK = 0x0C21 # 1 I
+ COLOR_CLEAR_VALUE = 0x0C22 # 4 F
+ COLOR_WRITEMASK = 0x0C23 # 4 I
+
+ INDEX_MODE = 0x0C30 # 1 I
+ RGBA_MODE = 0x0C31 # 1 I
+ DOUBLEBUFFER = 0x0C32 # 1 I
+ STEREO = 0x0C33 # 1 I
+
+ RENDER_MODE = 0x0C40 # 1 I
+
+ PERSPECTIVE_CORRECTION_HINT = 0x0C50 # 1 I
+ POINT_SMOOTH_HINT = 0x0C51 # 1 I
+ LINE_SMOOTH_HINT = 0x0C52 # 1 I
+ POLYGON_SMOOTH_HINT = 0x0C53 # 1 I
+ FOG_HINT = 0x0C54 # 1 I
+
+ TEXTURE_GEN_S = 0x0C60 # 1 I
+ TEXTURE_GEN_T = 0x0C61 # 1 I
+ TEXTURE_GEN_R = 0x0C62 # 1 I
+ TEXTURE_GEN_Q = 0x0C63 # 1 I
+
+ PIXEL_MAP_I_TO_I_SIZE = 0x0CB0 # 1 I
+ PIXEL_MAP_S_TO_S_SIZE = 0x0CB1 # 1 I
+ PIXEL_MAP_I_TO_R_SIZE = 0x0CB2 # 1 I
+ PIXEL_MAP_I_TO_G_SIZE = 0x0CB3 # 1 I
+ PIXEL_MAP_I_TO_B_SIZE = 0x0CB4 # 1 I
+ PIXEL_MAP_I_TO_A_SIZE = 0x0CB5 # 1 I
+ PIXEL_MAP_R_TO_R_SIZE = 0x0CB6 # 1 I
+ PIXEL_MAP_G_TO_G_SIZE = 0x0CB7 # 1 I
+ PIXEL_MAP_B_TO_B_SIZE = 0x0CB8 # 1 I
+ PIXEL_MAP_A_TO_A_SIZE = 0x0CB9 # 1 I
+
+ UNPACK_SWAP_BYTES = 0x0CF0 # 1 I
+ UNPACK_LSB_FIRST = 0x0CF1 # 1 I
+ UNPACK_ROW_LENGTH = 0x0CF2 # 1 I
+ UNPACK_SKIP_ROWS = 0x0CF3 # 1 I
+ UNPACK_SKIP_PIXELS = 0x0CF4 # 1 I
+ UNPACK_ALIGNMENT = 0x0CF5 # 1 I
+
+ PACK_SWAP_BYTES = 0x0D00 # 1 I
+ PACK_LSB_FIRST = 0x0D01 # 1 I
+ PACK_ROW_LENGTH = 0x0D02 # 1 I
+ PACK_SKIP_ROWS = 0x0D03 # 1 I
+ PACK_SKIP_PIXELS = 0x0D04 # 1 I
+ PACK_ALIGNMENT = 0x0D05 # 1 I
+
+ MAP_COLOR = 0x0D10 # 1 I
+ MAP_STENCIL = 0x0D11 # 1 I
+ INDEX_SHIFT = 0x0D12 # 1 I
+ INDEX_OFFSET = 0x0D13 # 1 I
+ RED_SCALE = 0x0D14 # 1 F
+ RED_BIAS = 0x0D15 # 1 F
+ ZOOM_X = 0x0D16 # 1 F
+ ZOOM_Y = 0x0D17 # 1 F
+ GREEN_SCALE = 0x0D18 # 1 F
+ GREEN_BIAS = 0x0D19 # 1 F
+ BLUE_SCALE = 0x0D1A # 1 F
+ BLUE_BIAS = 0x0D1B # 1 F
+ ALPHA_SCALE = 0x0D1C # 1 F
+ ALPHA_BIAS = 0x0D1D # 1 F
+ DEPTH_SCALE = 0x0D1E # 1 F
+ DEPTH_BIAS = 0x0D1F # 1 F
+
+ MAX_EVAL_ORDER = 0x0D30 # 1 I
+ MAX_LIGHTS = 0x0D31 # 1 I
+
+# VERSION_3_0 enum: (aliases)
+ MAX_CLIP_DISTANCES = 0x0D32 # VERSION_3_0 # alias GL_MAX_CLIP_PLANES
+
+ MAX_CLIP_PLANES = 0x0D32 # 1 I
+ MAX_TEXTURE_SIZE = 0x0D33 # 1 I
+ MAX_PIXEL_MAP_TABLE = 0x0D34 # 1 I
+ MAX_ATTRIB_STACK_DEPTH = 0x0D35 # 1 I
+ MAX_MODELVIEW_STACK_DEPTH = 0x0D36 # 1 I
+ MAX_NAME_STACK_DEPTH = 0x0D37 # 1 I
+ MAX_PROJECTION_STACK_DEPTH = 0x0D38 # 1 I
+ MAX_TEXTURE_STACK_DEPTH = 0x0D39 # 1 I
+ MAX_VIEWPORT_DIMS = 0x0D3A # 2 F
+ MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B # 1 I
+
+ SUBPIXEL_BITS = 0x0D50 # 1 I
+ INDEX_BITS = 0x0D51 # 1 I
+ RED_BITS = 0x0D52 # 1 I
+ GREEN_BITS = 0x0D53 # 1 I
+ BLUE_BITS = 0x0D54 # 1 I
+ ALPHA_BITS = 0x0D55 # 1 I
+ DEPTH_BITS = 0x0D56 # 1 I
+ STENCIL_BITS = 0x0D57 # 1 I
+ ACCUM_RED_BITS = 0x0D58 # 1 I
+ ACCUM_GREEN_BITS = 0x0D59 # 1 I
+ ACCUM_BLUE_BITS = 0x0D5A # 1 I
+ ACCUM_ALPHA_BITS = 0x0D5B # 1 I
+
+ NAME_STACK_DEPTH = 0x0D70 # 1 I
+
+ AUTO_NORMAL = 0x0D80 # 1 I
+
+ MAP1_COLOR_4 = 0x0D90 # 1 I
+ MAP1_INDEX = 0x0D91 # 1 I
+ MAP1_NORMAL = 0x0D92 # 1 I
+ MAP1_TEXTURE_COORD_1 = 0x0D93 # 1 I
+ MAP1_TEXTURE_COORD_2 = 0x0D94 # 1 I
+ MAP1_TEXTURE_COORD_3 = 0x0D95 # 1 I
+ MAP1_TEXTURE_COORD_4 = 0x0D96 # 1 I
+ MAP1_VERTEX_3 = 0x0D97 # 1 I
+ MAP1_VERTEX_4 = 0x0D98 # 1 I
+
+ MAP2_COLOR_4 = 0x0DB0 # 1 I
+ MAP2_INDEX = 0x0DB1 # 1 I
+ MAP2_NORMAL = 0x0DB2 # 1 I
+ MAP2_TEXTURE_COORD_1 = 0x0DB3 # 1 I
+ MAP2_TEXTURE_COORD_2 = 0x0DB4 # 1 I
+ MAP2_TEXTURE_COORD_3 = 0x0DB5 # 1 I
+ MAP2_TEXTURE_COORD_4 = 0x0DB6 # 1 I
+ MAP2_VERTEX_3 = 0x0DB7 # 1 I
+ MAP2_VERTEX_4 = 0x0DB8 # 1 I
+
+ MAP1_GRID_DOMAIN = 0x0DD0 # 2 F
+ MAP1_GRID_SEGMENTS = 0x0DD1 # 1 I
+ MAP2_GRID_DOMAIN = 0x0DD2 # 4 F
+ MAP2_GRID_SEGMENTS = 0x0DD3 # 2 I
+
+ TEXTURE_1D = 0x0DE0 # 1 I
+ TEXTURE_2D = 0x0DE1 # 1 I
+
+ FEEDBACK_BUFFER_SIZE = 0x0DF1 # 1 I
+ FEEDBACK_BUFFER_TYPE = 0x0DF2 # 1 I
+
+ SELECTION_BUFFER_SIZE = 0x0DF4 # 1 I
+
+ POLYGON_OFFSET_UNITS = 0x2A00 # 1 F
+ POLYGON_OFFSET_POINT = 0x2A01 # 1 I
+ POLYGON_OFFSET_LINE = 0x2A02 # 1 I
+ POLYGON_OFFSET_FILL = 0x8037 # 1 I
+ POLYGON_OFFSET_FACTOR = 0x8038 # 1 F
+
+ TEXTURE_BINDING_1D = 0x8068 # 1 I
+ TEXTURE_BINDING_2D = 0x8069 # 1 I
+ TEXTURE_BINDING_3D = 0x806A # 1 I
+
+ VERTEX_ARRAY = 0x8074 # 1 I
+ NORMAL_ARRAY = 0x8075 # 1 I
+ COLOR_ARRAY = 0x8076 # 1 I
+ INDEX_ARRAY = 0x8077 # 1 I
+ TEXTURE_COORD_ARRAY = 0x8078 # 1 I
+ EDGE_FLAG_ARRAY = 0x8079 # 1 I
+
+ VERTEX_ARRAY_SIZE = 0x807A # 1 I
+ VERTEX_ARRAY_TYPE = 0x807B # 1 I
+ VERTEX_ARRAY_STRIDE = 0x807C # 1 I
+
+ NORMAL_ARRAY_TYPE = 0x807E # 1 I
+ NORMAL_ARRAY_STRIDE = 0x807F # 1 I
+
+ COLOR_ARRAY_SIZE = 0x8081 # 1 I
+ COLOR_ARRAY_TYPE = 0x8082 # 1 I
+ COLOR_ARRAY_STRIDE = 0x8083 # 1 I
+
+ INDEX_ARRAY_TYPE = 0x8085 # 1 I
+ INDEX_ARRAY_STRIDE = 0x8086 # 1 I
+
+ TEXTURE_COORD_ARRAY_SIZE = 0x8088 # 1 I
+ TEXTURE_COORD_ARRAY_TYPE = 0x8089 # 1 I
+ TEXTURE_COORD_ARRAY_STRIDE = 0x808A # 1 I
+
+ EDGE_FLAG_ARRAY_STRIDE = 0x808C # 1 I
+
+ use ClipPlaneName CLIP_PLANE0
+ use ClipPlaneName CLIP_PLANE1
+ use ClipPlaneName CLIP_PLANE2
+ use ClipPlaneName CLIP_PLANE3
+ use ClipPlaneName CLIP_PLANE4
+ use ClipPlaneName CLIP_PLANE5
+
+ use LightName LIGHT0
+ use LightName LIGHT1
+ use LightName LIGHT2
+ use LightName LIGHT3
+ use LightName LIGHT4
+ use LightName LIGHT5
+ use LightName LIGHT6
+ use LightName LIGHT7
+
+# use ARB_transpose_matrix TRANSPOSE_MODELVIEW_MATRIX_ARB
+# use ARB_transpose_matrix TRANSPOSE_PROJECTION_MATRIX_ARB
+# use ARB_transpose_matrix TRANSPOSE_TEXTURE_MATRIX_ARB
+# use ARB_transpose_matrix TRANSPOSE_COLOR_MATRIX_ARB
+
+ use VERSION_1_2 LIGHT_MODEL_COLOR_CONTROL
+
+ use EXT_blend_color BLEND_COLOR_EXT
+
+ use EXT_blend_minmax BLEND_EQUATION_EXT
+
+ use EXT_cmyka PACK_CMYK_HINT_EXT
+ use EXT_cmyka UNPACK_CMYK_HINT_EXT
+
+ use EXT_convolution CONVOLUTION_1D_EXT
+ use EXT_convolution CONVOLUTION_2D_EXT
+ use EXT_convolution SEPARABLE_2D_EXT
+ use EXT_convolution POST_CONVOLUTION_RED_SCALE_EXT
+ use EXT_convolution POST_CONVOLUTION_GREEN_SCALE_EXT
+ use EXT_convolution POST_CONVOLUTION_BLUE_SCALE_EXT
+ use EXT_convolution POST_CONVOLUTION_ALPHA_SCALE_EXT
+ use EXT_convolution POST_CONVOLUTION_RED_BIAS_EXT
+ use EXT_convolution POST_CONVOLUTION_GREEN_BIAS_EXT
+ use EXT_convolution POST_CONVOLUTION_BLUE_BIAS_EXT
+ use EXT_convolution POST_CONVOLUTION_ALPHA_BIAS_EXT
+
+ use EXT_histogram HISTOGRAM_EXT
+ use EXT_histogram MINMAX_EXT
+
+ use EXT_polygon_offset POLYGON_OFFSET_BIAS_EXT
+
+ use EXT_rescale_normal RESCALE_NORMAL_EXT
+
+ use EXT_shared_texture_palette SHARED_TEXTURE_PALETTE_EXT
+
+ use EXT_texture_object TEXTURE_3D_BINDING_EXT
+
+ use EXT_texture3D PACK_SKIP_IMAGES_EXT
+ use EXT_texture3D PACK_IMAGE_HEIGHT_EXT
+ use EXT_texture3D UNPACK_SKIP_IMAGES_EXT
+ use EXT_texture3D UNPACK_IMAGE_HEIGHT_EXT
+ use EXT_texture3D TEXTURE_3D_EXT
+ use EXT_texture3D MAX_3D_TEXTURE_SIZE_EXT
+
+ use EXT_vertex_array VERTEX_ARRAY_COUNT_EXT
+ use EXT_vertex_array NORMAL_ARRAY_COUNT_EXT
+ use EXT_vertex_array COLOR_ARRAY_COUNT_EXT
+ use EXT_vertex_array INDEX_ARRAY_COUNT_EXT
+ use EXT_vertex_array TEXTURE_COORD_ARRAY_COUNT_EXT
+ use EXT_vertex_array EDGE_FLAG_ARRAY_COUNT_EXT
+
+ use SGIS_detail_texture DETAIL_TEXTURE_2D_BINDING_SGIS
+
+ use SGIS_fog_function FOG_FUNC_POINTS_SGIS
+ use SGIS_fog_function MAX_FOG_FUNC_POINTS_SGIS
+
+ use SGIS_generate_mipmap GENERATE_MIPMAP_HINT_SGIS
+
+ use SGIS_multisample MULTISAMPLE_SGIS
+ use SGIS_multisample SAMPLE_ALPHA_TO_MASK_SGIS
+ use SGIS_multisample SAMPLE_ALPHA_TO_ONE_SGIS
+ use SGIS_multisample SAMPLE_MASK_SGIS
+ use SGIS_multisample SAMPLE_BUFFERS_SGIS
+ use SGIS_multisample SAMPLES_SGIS
+ use SGIS_multisample SAMPLE_MASK_VALUE_SGIS
+ use SGIS_multisample SAMPLE_MASK_INVERT_SGIS
+ use SGIS_multisample SAMPLE_PATTERN_SGIS
+
+ use SGIS_pixel_texture PIXEL_TEXTURE_SGIS
+
+ use SGIS_point_parameters POINT_SIZE_MIN_SGIS
+ use SGIS_point_parameters POINT_SIZE_MAX_SGIS
+ use SGIS_point_parameters POINT_FADE_THRESHOLD_SIZE_SGIS
+ use SGIS_point_parameters DISTANCE_ATTENUATION_SGIS
+
+ use SGIS_texture4D PACK_SKIP_VOLUMES_SGIS
+ use SGIS_texture4D PACK_IMAGE_DEPTH_SGIS
+ use SGIS_texture4D UNPACK_SKIP_VOLUMES_SGIS
+ use SGIS_texture4D UNPACK_IMAGE_DEPTH_SGIS
+ use SGIS_texture4D TEXTURE_4D_SGIS
+ use SGIS_texture4D MAX_4D_TEXTURE_SIZE_SGIS
+ use SGIS_texture4D TEXTURE_4D_BINDING_SGIS
+
+ use SGIX_async ASYNC_MARKER_SGIX
+
+ use SGIX_async_histogram ASYNC_HISTOGRAM_SGIX
+ use SGIX_async_histogram MAX_ASYNC_HISTOGRAM_SGIX
+
+ use SGIX_async_pixel ASYNC_TEX_IMAGE_SGIX
+ use SGIX_async_pixel ASYNC_DRAW_PIXELS_SGIX
+ use SGIX_async_pixel ASYNC_READ_PIXELS_SGIX
+ use SGIX_async_pixel MAX_ASYNC_TEX_IMAGE_SGIX
+ use SGIX_async_pixel MAX_ASYNC_DRAW_PIXELS_SGIX
+ use SGIX_async_pixel MAX_ASYNC_READ_PIXELS_SGIX
+
+ use SGIX_calligraphic_fragment CALLIGRAPHIC_FRAGMENT_SGIX
+
+ use SGIX_clipmap MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX
+ use SGIX_clipmap MAX_CLIPMAP_DEPTH_SGIX
+
+ use SGIX_convolution_accuracy CONVOLUTION_HINT_SGIX
+
+ use SGIX_fog_offset FOG_OFFSET_SGIX
+ use SGIX_fog_offset FOG_OFFSET_VALUE_SGIX
+
+ use SGIX_fragment_lighting FRAGMENT_LIGHTING_SGIX
+ use SGIX_fragment_lighting FRAGMENT_COLOR_MATERIAL_SGIX
+ use SGIX_fragment_lighting FRAGMENT_COLOR_MATERIAL_FACE_SGIX
+ use SGIX_fragment_lighting FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX
+ use SGIX_fragment_lighting MAX_FRAGMENT_LIGHTS_SGIX
+ use SGIX_fragment_lighting MAX_ACTIVE_LIGHTS_SGIX
+ use SGIX_fragment_lighting LIGHT_ENV_MODE_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT0_SGIX
+
+ use SGIX_framezoom FRAMEZOOM_SGIX
+ use SGIX_framezoom FRAMEZOOM_FACTOR_SGIX
+ use SGIX_framezoom MAX_FRAMEZOOM_FACTOR_SGIX
+
+ use SGIX_instruments INSTRUMENT_MEASUREMENTS_SGIX
+
+ use SGIX_interlace INTERLACE_SGIX
+
+ use SGIX_ir_instrument1 IR_INSTRUMENT1_SGIX
+
+ use SGIX_pixel_texture PIXEL_TEX_GEN_SGIX
+ use SGIX_pixel_texture PIXEL_TEX_GEN_MODE_SGIX
+
+ use SGIX_pixel_tiles PIXEL_TILE_BEST_ALIGNMENT_SGIX
+ use SGIX_pixel_tiles PIXEL_TILE_CACHE_INCREMENT_SGIX
+ use SGIX_pixel_tiles PIXEL_TILE_WIDTH_SGIX
+ use SGIX_pixel_tiles PIXEL_TILE_HEIGHT_SGIX
+ use SGIX_pixel_tiles PIXEL_TILE_GRID_WIDTH_SGIX
+ use SGIX_pixel_tiles PIXEL_TILE_GRID_HEIGHT_SGIX
+ use SGIX_pixel_tiles PIXEL_TILE_GRID_DEPTH_SGIX
+ use SGIX_pixel_tiles PIXEL_TILE_CACHE_SIZE_SGIX
+
+ use SGIX_polynomial_ffd DEFORMATIONS_MASK_SGIX
+
+ use SGIX_reference_plane REFERENCE_PLANE_EQUATION_SGIX
+ use SGIX_reference_plane REFERENCE_PLANE_SGIX
+
+ use SGIX_sprite SPRITE_SGIX
+ use SGIX_sprite SPRITE_MODE_SGIX
+ use SGIX_sprite SPRITE_AXIS_SGIX
+ use SGIX_sprite SPRITE_TRANSLATION_SGIX
+
+ use SGIX_subsample PACK_SUBSAMPLE_RATE_SGIX
+ use SGIX_subsample UNPACK_SUBSAMPLE_RATE_SGIX
+ use SGIX_resample PACK_RESAMPLE_SGIX
+ use SGIX_resample UNPACK_RESAMPLE_SGIX
+
+ use SGIX_texture_scale_bias POST_TEXTURE_FILTER_BIAS_RANGE_SGIX
+ use SGIX_texture_scale_bias POST_TEXTURE_FILTER_SCALE_RANGE_SGIX
+
+ use SGIX_vertex_preclip VERTEX_PRECLIP_SGIX
+ use SGIX_vertex_preclip VERTEX_PRECLIP_HINT_SGIX
+
+ use SGI_color_matrix COLOR_MATRIX_SGI
+ use SGI_color_matrix COLOR_MATRIX_STACK_DEPTH_SGI
+ use SGI_color_matrix MAX_COLOR_MATRIX_STACK_DEPTH_SGI
+ use SGI_color_matrix POST_COLOR_MATRIX_RED_SCALE_SGI
+ use SGI_color_matrix POST_COLOR_MATRIX_GREEN_SCALE_SGI
+ use SGI_color_matrix POST_COLOR_MATRIX_BLUE_SCALE_SGI
+ use SGI_color_matrix POST_COLOR_MATRIX_ALPHA_SCALE_SGI
+ use SGI_color_matrix POST_COLOR_MATRIX_RED_BIAS_SGI
+ use SGI_color_matrix POST_COLOR_MATRIX_GREEN_BIAS_SGI
+ use SGI_color_matrix POST_COLOR_MATRIX_BLUE_BIAS_SGI
+ use SGI_color_matrix POST_COLOR_MATRIX_ALPHA_BIAS_SGI
+
+ use SGI_color_table COLOR_TABLE_SGI
+ use SGI_color_table POST_CONVOLUTION_COLOR_TABLE_SGI
+ use SGI_color_table POST_COLOR_MATRIX_COLOR_TABLE_SGI
+
+ use SGI_texture_color_table TEXTURE_COLOR_TABLE_SGI
+
+###############################################################################
+
+GetTextureParameter enum:
+ use TextureParameterName TEXTURE_MAG_FILTER
+ use TextureParameterName TEXTURE_MIN_FILTER
+ use TextureParameterName TEXTURE_WRAP_S
+ use TextureParameterName TEXTURE_WRAP_T
+ TEXTURE_WIDTH = 0x1000
+ TEXTURE_HEIGHT = 0x1001
+ TEXTURE_INTERNAL_FORMAT = 0x1003
+ TEXTURE_COMPONENTS = 0x1003
+ TEXTURE_BORDER_COLOR = 0x1004
+ TEXTURE_BORDER = 0x1005
+ TEXTURE_RED_SIZE = 0x805C
+ TEXTURE_GREEN_SIZE = 0x805D
+ TEXTURE_BLUE_SIZE = 0x805E
+ TEXTURE_ALPHA_SIZE = 0x805F
+ TEXTURE_LUMINANCE_SIZE = 0x8060
+ TEXTURE_INTENSITY_SIZE = 0x8061
+ TEXTURE_PRIORITY = 0x8066
+ TEXTURE_RESIDENT = 0x8067
+ use EXT_texture3D TEXTURE_DEPTH_EXT
+ use EXT_texture3D TEXTURE_WRAP_R_EXT
+ use SGIS_detail_texture DETAIL_TEXTURE_LEVEL_SGIS
+ use SGIS_detail_texture DETAIL_TEXTURE_MODE_SGIS
+ use SGIS_detail_texture DETAIL_TEXTURE_FUNC_POINTS_SGIS
+ use SGIS_generate_mipmap GENERATE_MIPMAP_SGIS
+ use SGIS_sharpen_texture SHARPEN_TEXTURE_FUNC_POINTS_SGIS
+ use SGIS_texture_filter4 TEXTURE_FILTER4_SIZE_SGIS
+ use SGIS_texture_lod TEXTURE_MIN_LOD_SGIS
+ use SGIS_texture_lod TEXTURE_MAX_LOD_SGIS
+ use SGIS_texture_lod TEXTURE_BASE_LEVEL_SGIS
+ use SGIS_texture_lod TEXTURE_MAX_LEVEL_SGIS
+ use SGIS_texture_select DUAL_TEXTURE_SELECT_SGIS
+ use SGIS_texture_select QUAD_TEXTURE_SELECT_SGIS
+ use SGIS_texture4D TEXTURE_4DSIZE_SGIS
+ use SGIS_texture4D TEXTURE_WRAP_Q_SGIS
+ use SGIX_clipmap TEXTURE_CLIPMAP_CENTER_SGIX
+ use SGIX_clipmap TEXTURE_CLIPMAP_FRAME_SGIX
+ use SGIX_clipmap TEXTURE_CLIPMAP_OFFSET_SGIX
+ use SGIX_clipmap TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX
+ use SGIX_clipmap TEXTURE_CLIPMAP_LOD_OFFSET_SGIX
+ use SGIX_clipmap TEXTURE_CLIPMAP_DEPTH_SGIX
+ use SGIX_shadow TEXTURE_COMPARE_SGIX
+ use SGIX_shadow TEXTURE_COMPARE_OPERATOR_SGIX
+ use SGIX_shadow TEXTURE_LEQUAL_R_SGIX
+ use SGIX_shadow TEXTURE_GEQUAL_R_SGIX
+ use SGIX_shadow_ambient SHADOW_AMBIENT_SGIX
+ use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_S_SGIX
+ use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_T_SGIX
+ use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_R_SGIX
+ use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_S_SGIX
+ use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_T_SGIX
+ use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_R_SGIX
+ use SGIX_texture_scale_bias POST_TEXTURE_FILTER_BIAS_SGIX
+ use SGIX_texture_scale_bias POST_TEXTURE_FILTER_SCALE_SGIX
+
+###############################################################################
+
+HintMode enum:
+ DONT_CARE = 0x1100
+ FASTEST = 0x1101
+ NICEST = 0x1102
+
+###############################################################################
+
+HintTarget enum:
+ use GetPName PERSPECTIVE_CORRECTION_HINT
+ use GetPName POINT_SMOOTH_HINT
+ use GetPName LINE_SMOOTH_HINT
+ use GetPName POLYGON_SMOOTH_HINT
+ use GetPName FOG_HINT
+ use EXT_cmyka PACK_CMYK_HINT_EXT
+ use EXT_cmyka UNPACK_CMYK_HINT_EXT
+ use SGIS_generate_mipmap GENERATE_MIPMAP_HINT_SGIS
+ use SGIX_convolution_accuracy CONVOLUTION_HINT_SGIX
+ use SGIX_texture_multi_buffer TEXTURE_MULTI_BUFFER_HINT_SGIX
+ use SGIX_vertex_preclip VERTEX_PRECLIP_HINT_SGIX
+
+###############################################################################
+
+HistogramTargetEXT enum:
+ use EXT_histogram HISTOGRAM_EXT
+ use EXT_histogram PROXY_HISTOGRAM_EXT
+
+###############################################################################
+
+IndexPointerType enum:
+ use DataType SHORT
+ use DataType INT
+ use DataType FLOAT
+ use DataType DOUBLE
+
+###############################################################################
+
+LightEnvModeSGIX enum:
+ use StencilOp REPLACE
+ use TextureEnvMode MODULATE
+ use AccumOp ADD
+
+###############################################################################
+
+LightEnvParameterSGIX enum:
+ use SGIX_fragment_lighting LIGHT_ENV_MODE_SGIX
+
+###############################################################################
+
+LightModelColorControl enum:
+ use VERSION_1_2 SINGLE_COLOR
+ use VERSION_1_2 SEPARATE_SPECULAR_COLOR
+
+###############################################################################
+
+LightModelParameter enum:
+ use GetPName LIGHT_MODEL_AMBIENT
+ use GetPName LIGHT_MODEL_LOCAL_VIEWER
+ use GetPName LIGHT_MODEL_TWO_SIDE
+ use VERSION_1_2 LIGHT_MODEL_COLOR_CONTROL
+
+###############################################################################
+
+LightParameter enum:
+ AMBIENT = 0x1200
+ DIFFUSE = 0x1201
+ SPECULAR = 0x1202
+ POSITION = 0x1203
+ SPOT_DIRECTION = 0x1204
+ SPOT_EXPONENT = 0x1205
+ SPOT_CUTOFF = 0x1206
+ CONSTANT_ATTENUATION = 0x1207
+ LINEAR_ATTENUATION = 0x1208
+ QUADRATIC_ATTENUATION = 0x1209
+
+###############################################################################
+
+ListMode enum:
+ COMPILE = 0x1300
+ COMPILE_AND_EXECUTE = 0x1301
+
+###############################################################################
+
+DataType enum:
+ BYTE = 0x1400
+ UNSIGNED_BYTE = 0x1401
+ SHORT = 0x1402
+ UNSIGNED_SHORT = 0x1403
+ INT = 0x1404
+ UNSIGNED_INT = 0x1405
+ FLOAT = 0x1406
+ 2_BYTES = 0x1407
+ 3_BYTES = 0x1408
+ 4_BYTES = 0x1409
+ DOUBLE = 0x140A
+ DOUBLE_EXT = 0x140A
+
+# OES_byte_coordinates: (OpenGL ES only)
+# use DataType BYTE
+
+OES_element_index_uint enum: (OpenGL ES only)
+# use DataType UNSIGNED_INT
+
+OES_texture_float enum: (OpenGL ES only; additional; see below)
+# use DataType FLOAT
+
+VERSION_3_0 enum:
+# use ARB_half_float_vertex HALF_FLOAT
+
+ARB_half_float_vertex enum: (note: no ARB suffixes)
+ HALF_FLOAT = 0x140B # VERSION_3_0 / ARB_half_float_vertex
+
+ARB_half_float_pixel enum:
+ HALF_FLOAT_ARB = 0x140B
+
+NV_half_float enum:
+ HALF_FLOAT_NV = 0x140B
+
+APPLE_float_pixels enum: (additional; see below)
+ HALF_APPLE = 0x140B
+
+OES_fixed_point enum: (OpenGL ES only)
+ FIXED_OES = 0x140C
+
+# Leave a gap to preserve even/odd int/uint token values
+# ARB_future_use: 0x140D
+
+# Future NV extension (Khronos bug 5172)
+ INT64_NV = 0x140E
+ UNSIGNED_INT64_NV = 0x140F
+
+###############################################################################
+
+ListNameType enum:
+ use DataType BYTE
+ use DataType UNSIGNED_BYTE
+ use DataType SHORT
+ use DataType UNSIGNED_SHORT
+ use DataType INT
+ use DataType UNSIGNED_INT
+ use DataType FLOAT
+ use DataType 2_BYTES
+ use DataType 3_BYTES
+ use DataType 4_BYTES
+
+###############################################################################
+
+ListParameterName enum:
+ use SGIX_list_priority LIST_PRIORITY_SGIX
+
+###############################################################################
+
+LogicOp enum:
+ CLEAR = 0x1500
+ AND = 0x1501
+ AND_REVERSE = 0x1502
+ COPY = 0x1503
+ AND_INVERTED = 0x1504
+ NOOP = 0x1505
+ XOR = 0x1506
+ OR = 0x1507
+ NOR = 0x1508
+ EQUIV = 0x1509
+ INVERT = 0x150A
+ OR_REVERSE = 0x150B
+ COPY_INVERTED = 0x150C
+ OR_INVERTED = 0x150D
+ NAND = 0x150E
+ SET = 0x150F
+
+###############################################################################
+
+MapTarget enum:
+ use GetPName MAP1_COLOR_4
+ use GetPName MAP1_INDEX
+ use GetPName MAP1_NORMAL
+ use GetPName MAP1_TEXTURE_COORD_1
+ use GetPName MAP1_TEXTURE_COORD_2
+ use GetPName MAP1_TEXTURE_COORD_3
+ use GetPName MAP1_TEXTURE_COORD_4
+ use GetPName MAP1_VERTEX_3
+ use GetPName MAP1_VERTEX_4
+ use GetPName MAP2_COLOR_4
+ use GetPName MAP2_INDEX
+ use GetPName MAP2_NORMAL
+ use GetPName MAP2_TEXTURE_COORD_1
+ use GetPName MAP2_TEXTURE_COORD_2
+ use GetPName MAP2_TEXTURE_COORD_3
+ use GetPName MAP2_TEXTURE_COORD_4
+ use GetPName MAP2_VERTEX_3
+ use GetPName MAP2_VERTEX_4
+ use SGIX_polynomial_ffd GEOMETRY_DEFORMATION_SGIX
+ use SGIX_polynomial_ffd TEXTURE_DEFORMATION_SGIX
+
+###############################################################################
+
+MaterialFace enum:
+ use DrawBufferMode FRONT
+ use DrawBufferMode BACK
+ use DrawBufferMode FRONT_AND_BACK
+
+
+###############################################################################
+
+MaterialParameter enum:
+ EMISSION = 0x1600
+ SHININESS = 0x1601
+ AMBIENT_AND_DIFFUSE = 0x1602
+ COLOR_INDEXES = 0x1603
+ use LightParameter AMBIENT
+ use LightParameter DIFFUSE
+ use LightParameter SPECULAR
+
+###############################################################################
+
+MatrixMode enum:
+ MODELVIEW = 0x1700
+ PROJECTION = 0x1701
+ TEXTURE = 0x1702
+
+###############################################################################
+
+MeshMode1 enum:
+ use PolygonMode POINT
+ use PolygonMode LINE
+
+###############################################################################
+
+MeshMode2 enum:
+ use PolygonMode POINT
+ use PolygonMode LINE
+ use PolygonMode FILL
+
+###############################################################################
+
+MinmaxTargetEXT enum:
+ use EXT_histogram MINMAX_EXT
+
+###############################################################################
+
+NormalPointerType enum:
+ use DataType BYTE
+ use DataType SHORT
+ use DataType INT
+ use DataType FLOAT
+ use DataType DOUBLE
+
+###############################################################################
+
+PixelCopyType enum:
+ COLOR = 0x1800
+ DEPTH = 0x1801
+ STENCIL = 0x1802
+
+EXT_discard_framebuffer enum: (OpenGL ES only)
+ COLOR_EXT = 0x1800
+ DEPTH_EXT = 0x1801
+ STENCIL_EXT = 0x1802
+
+###############################################################################
+
+PixelFormat enum:
+ COLOR_INDEX = 0x1900
+ STENCIL_INDEX = 0x1901
+ DEPTH_COMPONENT = 0x1902
+ RED = 0x1903
+ GREEN = 0x1904
+ BLUE = 0x1905
+ ALPHA = 0x1906
+ RGB = 0x1907
+ RGBA = 0x1908
+ LUMINANCE = 0x1909
+ LUMINANCE_ALPHA = 0x190A
+ use EXT_abgr ABGR_EXT
+ use EXT_cmyka CMYK_EXT
+ use EXT_cmyka CMYKA_EXT
+ use SGIX_icc_texture R5_G6_B5_ICC_SGIX
+ use SGIX_icc_texture R5_G6_B5_A8_ICC_SGIX
+ use SGIX_icc_texture ALPHA16_ICC_SGIX
+ use SGIX_icc_texture LUMINANCE16_ICC_SGIX
+ use SGIX_icc_texture LUMINANCE16_ALPHA8_ICC_SGIX
+ use SGIX_ycrcb YCRCB_422_SGIX
+ use SGIX_ycrcb YCRCB_444_SGIX
+
+OES_depth_texture enum: (OpenGL ES only)
+# use DataType UNSIGNED_SHORT
+# use DataType UNSIGNED_INT
+# use PixelFormat DEPTH_COMPONENT
+
+###############################################################################
+
+PixelMap enum:
+ use GetPixelMap PIXEL_MAP_I_TO_I
+ use GetPixelMap PIXEL_MAP_S_TO_S
+ use GetPixelMap PIXEL_MAP_I_TO_R
+ use GetPixelMap PIXEL_MAP_I_TO_G
+ use GetPixelMap PIXEL_MAP_I_TO_B
+ use GetPixelMap PIXEL_MAP_I_TO_A
+ use GetPixelMap PIXEL_MAP_R_TO_R
+ use GetPixelMap PIXEL_MAP_G_TO_G
+ use GetPixelMap PIXEL_MAP_B_TO_B
+ use GetPixelMap PIXEL_MAP_A_TO_A
+
+###############################################################################
+
+PixelStoreParameter enum:
+ use GetPName UNPACK_SWAP_BYTES
+ use GetPName UNPACK_LSB_FIRST
+ use GetPName UNPACK_ROW_LENGTH
+ use GetPName UNPACK_SKIP_ROWS
+ use GetPName UNPACK_SKIP_PIXELS
+ use GetPName UNPACK_ALIGNMENT
+ use GetPName PACK_SWAP_BYTES
+ use GetPName PACK_LSB_FIRST
+ use GetPName PACK_ROW_LENGTH
+ use GetPName PACK_SKIP_ROWS
+ use GetPName PACK_SKIP_PIXELS
+ use GetPName PACK_ALIGNMENT
+ use EXT_texture3D PACK_SKIP_IMAGES_EXT
+ use EXT_texture3D PACK_IMAGE_HEIGHT_EXT
+ use EXT_texture3D UNPACK_SKIP_IMAGES_EXT
+ use EXT_texture3D UNPACK_IMAGE_HEIGHT_EXT
+ use SGIS_texture4D PACK_SKIP_VOLUMES_SGIS
+ use SGIS_texture4D PACK_IMAGE_DEPTH_SGIS
+ use SGIS_texture4D UNPACK_SKIP_VOLUMES_SGIS
+ use SGIS_texture4D UNPACK_IMAGE_DEPTH_SGIS
+ use SGIX_pixel_tiles PIXEL_TILE_WIDTH_SGIX
+ use SGIX_pixel_tiles PIXEL_TILE_HEIGHT_SGIX
+ use SGIX_pixel_tiles PIXEL_TILE_GRID_WIDTH_SGIX
+ use SGIX_pixel_tiles PIXEL_TILE_GRID_HEIGHT_SGIX
+ use SGIX_pixel_tiles PIXEL_TILE_GRID_DEPTH_SGIX
+ use SGIX_pixel_tiles PIXEL_TILE_CACHE_SIZE_SGIX
+ use SGIX_subsample PACK_SUBSAMPLE_RATE_SGIX
+ use SGIX_subsample UNPACK_SUBSAMPLE_RATE_SGIX
+ use SGIX_resample PACK_RESAMPLE_SGIX
+ use SGIX_resample UNPACK_RESAMPLE_SGIX
+
+###############################################################################
+
+PixelStoreResampleMode enum:
+ use SGIX_resample RESAMPLE_REPLICATE_SGIX
+ use SGIX_resample RESAMPLE_ZERO_FILL_SGIX
+ use SGIX_resample RESAMPLE_DECIMATE_SGIX
+
+###############################################################################
+
+PixelStoreSubsampleRate enum:
+ use SGIX_subsample PIXEL_SUBSAMPLE_4444_SGIX
+ use SGIX_subsample PIXEL_SUBSAMPLE_2424_SGIX
+ use SGIX_subsample PIXEL_SUBSAMPLE_4242_SGIX
+
+###############################################################################
+
+PixelTexGenMode enum:
+ use DrawBufferMode NONE
+ use PixelFormat RGB
+ use PixelFormat RGBA
+ use PixelFormat LUMINANCE
+ use PixelFormat LUMINANCE_ALPHA
+ use SGIX_impact_pixel_texture PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX
+ use SGIX_impact_pixel_texture PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX
+ use SGIX_impact_pixel_texture PIXEL_TEX_GEN_ALPHA_MS_SGIX
+ use SGIX_impact_pixel_texture PIXEL_TEX_GEN_ALPHA_LS_SGIX
+
+###############################################################################
+
+PixelTexGenParameterNameSGIS enum:
+ use SGIS_pixel_texture PIXEL_FRAGMENT_RGB_SOURCE_SGIS
+ use SGIS_pixel_texture PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS
+
+###############################################################################
+
+PixelTransferParameter enum:
+ use GetPName MAP_COLOR
+ use GetPName MAP_STENCIL
+ use GetPName INDEX_SHIFT
+ use GetPName INDEX_OFFSET
+ use GetPName RED_SCALE
+ use GetPName RED_BIAS
+ use GetPName GREEN_SCALE
+ use GetPName GREEN_BIAS
+ use GetPName BLUE_SCALE
+ use GetPName BLUE_BIAS
+ use GetPName ALPHA_SCALE
+ use GetPName ALPHA_BIAS
+ use GetPName DEPTH_SCALE
+ use GetPName DEPTH_BIAS
+ use EXT_convolution POST_CONVOLUTION_RED_SCALE_EXT
+ use EXT_convolution POST_CONVOLUTION_GREEN_SCALE_EXT
+ use EXT_convolution POST_CONVOLUTION_BLUE_SCALE_EXT
+ use EXT_convolution POST_CONVOLUTION_ALPHA_SCALE_EXT
+ use EXT_convolution POST_CONVOLUTION_RED_BIAS_EXT
+ use EXT_convolution POST_CONVOLUTION_GREEN_BIAS_EXT
+ use EXT_convolution POST_CONVOLUTION_BLUE_BIAS_EXT
+ use EXT_convolution POST_CONVOLUTION_ALPHA_BIAS_EXT
+ use SGI_color_matrix POST_COLOR_MATRIX_RED_SCALE_SGI
+ use SGI_color_matrix POST_COLOR_MATRIX_GREEN_SCALE_SGI
+ use SGI_color_matrix POST_COLOR_MATRIX_BLUE_SCALE_SGI
+ use SGI_color_matrix POST_COLOR_MATRIX_ALPHA_SCALE_SGI
+ use SGI_color_matrix POST_COLOR_MATRIX_RED_BIAS_SGI
+ use SGI_color_matrix POST_COLOR_MATRIX_GREEN_BIAS_SGI
+ use SGI_color_matrix POST_COLOR_MATRIX_BLUE_BIAS_SGI
+ use SGI_color_matrix POST_COLOR_MATRIX_ALPHA_BIAS_SGI
+
+###############################################################################
+
+PixelType enum:
+ BITMAP = 0x1A00
+ use DataType BYTE
+ use DataType UNSIGNED_BYTE
+ use DataType SHORT
+ use DataType UNSIGNED_SHORT
+ use DataType INT
+ use DataType UNSIGNED_INT
+ use DataType FLOAT
+ use EXT_packed_pixels UNSIGNED_BYTE_3_3_2_EXT
+ use EXT_packed_pixels UNSIGNED_SHORT_4_4_4_4_EXT
+ use EXT_packed_pixels UNSIGNED_SHORT_5_5_5_1_EXT
+ use EXT_packed_pixels UNSIGNED_INT_8_8_8_8_EXT
+ use EXT_packed_pixels UNSIGNED_INT_10_10_10_2_EXT
+
+###############################################################################
+
+PointParameterNameSGIS enum:
+ use SGIS_point_parameters POINT_SIZE_MIN_SGIS
+ use SGIS_point_parameters POINT_SIZE_MAX_SGIS
+ use SGIS_point_parameters POINT_FADE_THRESHOLD_SIZE_SGIS
+ use SGIS_point_parameters DISTANCE_ATTENUATION_SGIS
+
+###############################################################################
+
+PolygonMode enum:
+ POINT = 0x1B00
+ LINE = 0x1B01
+ FILL = 0x1B02
+
+###############################################################################
+
+ReadBufferMode enum:
+ use DrawBufferMode FRONT_LEFT
+ use DrawBufferMode FRONT_RIGHT
+ use DrawBufferMode BACK_LEFT
+ use DrawBufferMode BACK_RIGHT
+ use DrawBufferMode FRONT
+ use DrawBufferMode BACK
+ use DrawBufferMode LEFT
+ use DrawBufferMode RIGHT
+ use DrawBufferMode AUX0
+ use DrawBufferMode AUX1
+ use DrawBufferMode AUX2
+ use DrawBufferMode AUX3
+
+###############################################################################
+
+RenderingMode enum:
+ RENDER = 0x1C00
+ FEEDBACK = 0x1C01
+ SELECT = 0x1C02
+
+###############################################################################
+
+SamplePatternSGIS enum:
+ use SGIS_multisample 1PASS_SGIS
+ use SGIS_multisample 2PASS_0_SGIS
+ use SGIS_multisample 2PASS_1_SGIS
+ use SGIS_multisample 4PASS_0_SGIS
+ use SGIS_multisample 4PASS_1_SGIS
+ use SGIS_multisample 4PASS_2_SGIS
+ use SGIS_multisample 4PASS_3_SGIS
+
+###############################################################################
+
+SeparableTargetEXT enum:
+ use EXT_convolution SEPARABLE_2D_EXT
+
+###############################################################################
+
+ShadingModel enum:
+ FLAT = 0x1D00
+ SMOOTH = 0x1D01
+
+###############################################################################
+
+StencilFunction enum:
+ use AlphaFunction NEVER
+ use AlphaFunction LESS
+ use AlphaFunction EQUAL
+ use AlphaFunction LEQUAL
+ use AlphaFunction GREATER
+ use AlphaFunction NOTEQUAL
+ use AlphaFunction GEQUAL
+ use AlphaFunction ALWAYS
+
+###############################################################################
+
+StencilOp enum:
+ use BlendingFactorDest ZERO
+ KEEP = 0x1E00
+ REPLACE = 0x1E01
+ INCR = 0x1E02
+ DECR = 0x1E03
+ use LogicOp INVERT
+
+###############################################################################
+
+StringName enum:
+ VENDOR = 0x1F00
+ RENDERER = 0x1F01
+ VERSION = 0x1F02
+ EXTENSIONS = 0x1F03
+
+###############################################################################
+
+TexCoordPointerType enum:
+ use DataType SHORT
+ use DataType INT
+ use DataType FLOAT
+ use DataType DOUBLE
+
+###############################################################################
+
+TextureCoordName enum:
+ S = 0x2000
+ T = 0x2001
+ R = 0x2002
+ Q = 0x2003
+
+###############################################################################
+
+TextureEnvMode enum:
+ MODULATE = 0x2100
+ DECAL = 0x2101
+ use GetPName BLEND
+ use EXT_texture REPLACE_EXT
+ use AccumOp ADD
+ use SGIX_texture_add_env TEXTURE_ENV_BIAS_SGIX
+
+###############################################################################
+
+TextureEnvParameter enum:
+ TEXTURE_ENV_MODE = 0x2200
+ TEXTURE_ENV_COLOR = 0x2201
+
+###############################################################################
+
+TextureEnvTarget enum:
+ TEXTURE_ENV = 0x2300
+
+###############################################################################
+
+TextureFilterFuncSGIS enum:
+ use SGIS_texture_filter4 FILTER4_SGIS
+
+###############################################################################
+
+TextureGenMode enum:
+ EYE_LINEAR = 0x2400
+ OBJECT_LINEAR = 0x2401
+ SPHERE_MAP = 0x2402
+ use SGIS_point_line_texgen EYE_DISTANCE_TO_POINT_SGIS
+ use SGIS_point_line_texgen OBJECT_DISTANCE_TO_POINT_SGIS
+ use SGIS_point_line_texgen EYE_DISTANCE_TO_LINE_SGIS
+ use SGIS_point_line_texgen OBJECT_DISTANCE_TO_LINE_SGIS
+
+###############################################################################
+
+TextureGenParameter enum:
+ TEXTURE_GEN_MODE = 0x2500
+ OBJECT_PLANE = 0x2501
+ EYE_PLANE = 0x2502
+ use SGIS_point_line_texgen EYE_POINT_SGIS
+ use SGIS_point_line_texgen OBJECT_POINT_SGIS
+ use SGIS_point_line_texgen EYE_LINE_SGIS
+ use SGIS_point_line_texgen OBJECT_LINE_SGIS
+
+# Aliases TextureGenParameter enum above
+OES_texture_cube_map enum: (OpenGL ES only; additional; see below)
+ TEXTURE_GEN_MODE = 0x2500
+
+###############################################################################
+
+TextureMagFilter enum:
+ NEAREST = 0x2600
+ LINEAR = 0x2601
+ use SGIS_detail_texture LINEAR_DETAIL_SGIS
+ use SGIS_detail_texture LINEAR_DETAIL_ALPHA_SGIS
+ use SGIS_detail_texture LINEAR_DETAIL_COLOR_SGIS
+ use SGIS_sharpen_texture LINEAR_SHARPEN_SGIS
+ use SGIS_sharpen_texture LINEAR_SHARPEN_ALPHA_SGIS
+ use SGIS_sharpen_texture LINEAR_SHARPEN_COLOR_SGIS
+ use SGIS_texture_filter4 FILTER4_SGIS
+ use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_CEILING_SGIX
+ use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_ROUND_SGIX
+ use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_FLOOR_SGIX
+
+###############################################################################
+
+TextureMinFilter enum:
+ use TextureMagFilter NEAREST
+ use TextureMagFilter LINEAR
+ NEAREST_MIPMAP_NEAREST = 0x2700
+ LINEAR_MIPMAP_NEAREST = 0x2701
+ NEAREST_MIPMAP_LINEAR = 0x2702
+ LINEAR_MIPMAP_LINEAR = 0x2703
+ use SGIS_texture_filter4 FILTER4_SGIS
+ use SGIX_clipmap LINEAR_CLIPMAP_LINEAR_SGIX
+ use SGIX_clipmap NEAREST_CLIPMAP_NEAREST_SGIX
+ use SGIX_clipmap NEAREST_CLIPMAP_LINEAR_SGIX
+ use SGIX_clipmap LINEAR_CLIPMAP_NEAREST_SGIX
+ use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_CEILING_SGIX
+ use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_ROUND_SGIX
+ use SGIX_impact_pixel_texture PIXEL_TEX_GEN_Q_FLOOR_SGIX
+
+###############################################################################
+
+TextureParameterName enum:
+ TEXTURE_MAG_FILTER = 0x2800
+ TEXTURE_MIN_FILTER = 0x2801
+ TEXTURE_WRAP_S = 0x2802
+ TEXTURE_WRAP_T = 0x2803
+ use GetTextureParameter TEXTURE_BORDER_COLOR
+ use GetTextureParameter TEXTURE_PRIORITY
+ use EXT_texture3D TEXTURE_WRAP_R_EXT
+ use SGIS_detail_texture DETAIL_TEXTURE_LEVEL_SGIS
+ use SGIS_detail_texture DETAIL_TEXTURE_MODE_SGIS
+ use SGIS_generate_mipmap GENERATE_MIPMAP_SGIS
+ use SGIS_texture_select DUAL_TEXTURE_SELECT_SGIS
+ use SGIS_texture_select QUAD_TEXTURE_SELECT_SGIS
+ use SGIS_texture4D TEXTURE_WRAP_Q_SGIS
+ use SGIX_clipmap TEXTURE_CLIPMAP_CENTER_SGIX
+ use SGIX_clipmap TEXTURE_CLIPMAP_FRAME_SGIX
+ use SGIX_clipmap TEXTURE_CLIPMAP_OFFSET_SGIX
+ use SGIX_clipmap TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX
+ use SGIX_clipmap TEXTURE_CLIPMAP_LOD_OFFSET_SGIX
+ use SGIX_clipmap TEXTURE_CLIPMAP_DEPTH_SGIX
+ use SGIX_shadow TEXTURE_COMPARE_SGIX
+ use SGIX_shadow TEXTURE_COMPARE_OPERATOR_SGIX
+ use SGIX_shadow_ambient SHADOW_AMBIENT_SGIX
+ use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_S_SGIX
+ use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_T_SGIX
+ use SGIX_texture_coordinate_clamp TEXTURE_MAX_CLAMP_R_SGIX
+ use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_S_SGIX
+ use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_T_SGIX
+ use SGIX_texture_lod_bias TEXTURE_LOD_BIAS_R_SGIX
+ use SGIX_texture_scale_bias POST_TEXTURE_FILTER_BIAS_SGIX
+ use SGIX_texture_scale_bias POST_TEXTURE_FILTER_SCALE_SGIX
+
+###############################################################################
+
+TextureTarget enum:
+ use GetPName TEXTURE_1D
+ use GetPName TEXTURE_2D
+ PROXY_TEXTURE_1D = 0x8063
+ PROXY_TEXTURE_2D = 0x8064
+ use EXT_texture3D TEXTURE_3D_EXT
+ use EXT_texture3D PROXY_TEXTURE_3D_EXT
+ use SGIS_detail_texture DETAIL_TEXTURE_2D_SGIS
+ use SGIS_texture4D TEXTURE_4D_SGIS
+ use SGIS_texture4D PROXY_TEXTURE_4D_SGIS
+ use SGIS_texture_lod TEXTURE_MIN_LOD_SGIS
+ use SGIS_texture_lod TEXTURE_MAX_LOD_SGIS
+ use SGIS_texture_lod TEXTURE_BASE_LEVEL_SGIS
+ use SGIS_texture_lod TEXTURE_MAX_LEVEL_SGIS
+
+###############################################################################
+
+TextureWrapMode enum:
+ CLAMP = 0x2900
+ REPEAT = 0x2901
+ use SGIS_texture_border_clamp CLAMP_TO_BORDER_SGIS
+ use SGIS_texture_edge_clamp CLAMP_TO_EDGE_SGIS
+
+###############################################################################
+
+PixelInternalFormat enum:
+ R3_G3_B2 = 0x2A10
+ ALPHA4 = 0x803B
+ ALPHA8 = 0x803C
+ ALPHA12 = 0x803D
+ ALPHA16 = 0x803E
+ LUMINANCE4 = 0x803F
+ LUMINANCE8 = 0x8040
+ LUMINANCE12 = 0x8041
+ LUMINANCE16 = 0x8042
+ LUMINANCE4_ALPHA4 = 0x8043
+ LUMINANCE6_ALPHA2 = 0x8044
+ LUMINANCE8_ALPHA8 = 0x8045
+ LUMINANCE12_ALPHA4 = 0x8046
+ LUMINANCE12_ALPHA12 = 0x8047
+ LUMINANCE16_ALPHA16 = 0x8048
+ INTENSITY = 0x8049
+ INTENSITY4 = 0x804A
+ INTENSITY8 = 0x804B
+ INTENSITY12 = 0x804C
+ INTENSITY16 = 0x804D
+ RGB4 = 0x804F
+ RGB5 = 0x8050
+ RGB8 = 0x8051
+ RGB10 = 0x8052
+ RGB12 = 0x8053
+ RGB16 = 0x8054
+ RGBA2 = 0x8055
+ RGBA4 = 0x8056
+ RGB5_A1 = 0x8057
+ RGBA8 = 0x8058
+ RGB10_A2 = 0x8059
+ RGBA12 = 0x805A
+ RGBA16 = 0x805B
+ use EXT_texture RGB2_EXT
+ use SGIS_texture_select DUAL_ALPHA4_SGIS
+ use SGIS_texture_select DUAL_ALPHA8_SGIS
+ use SGIS_texture_select DUAL_ALPHA12_SGIS
+ use SGIS_texture_select DUAL_ALPHA16_SGIS
+ use SGIS_texture_select DUAL_LUMINANCE4_SGIS
+ use SGIS_texture_select DUAL_LUMINANCE8_SGIS
+ use SGIS_texture_select DUAL_LUMINANCE12_SGIS
+ use SGIS_texture_select DUAL_LUMINANCE16_SGIS
+ use SGIS_texture_select DUAL_INTENSITY4_SGIS
+ use SGIS_texture_select DUAL_INTENSITY8_SGIS
+ use SGIS_texture_select DUAL_INTENSITY12_SGIS
+ use SGIS_texture_select DUAL_INTENSITY16_SGIS
+ use SGIS_texture_select DUAL_LUMINANCE_ALPHA4_SGIS
+ use SGIS_texture_select DUAL_LUMINANCE_ALPHA8_SGIS
+ use SGIS_texture_select QUAD_ALPHA4_SGIS
+ use SGIS_texture_select QUAD_ALPHA8_SGIS
+ use SGIS_texture_select QUAD_LUMINANCE4_SGIS
+ use SGIS_texture_select QUAD_LUMINANCE8_SGIS
+ use SGIS_texture_select QUAD_INTENSITY4_SGIS
+ use SGIS_texture_select QUAD_INTENSITY8_SGIS
+ use SGIX_depth_texture DEPTH_COMPONENT16_SGIX
+ use SGIX_depth_texture DEPTH_COMPONENT24_SGIX
+ use SGIX_depth_texture DEPTH_COMPONENT32_SGIX
+ use SGIX_icc_texture RGB_ICC_SGIX
+ use SGIX_icc_texture RGBA_ICC_SGIX
+ use SGIX_icc_texture ALPHA_ICC_SGIX
+ use SGIX_icc_texture LUMINANCE_ICC_SGIX
+ use SGIX_icc_texture INTENSITY_ICC_SGIX
+ use SGIX_icc_texture LUMINANCE_ALPHA_ICC_SGIX
+ use SGIX_icc_texture R5_G6_B5_ICC_SGIX
+ use SGIX_icc_texture R5_G6_B5_A8_ICC_SGIX
+ use SGIX_icc_texture ALPHA16_ICC_SGIX
+ use SGIX_icc_texture LUMINANCE16_ICC_SGIX
+ use SGIX_icc_texture INTENSITY16_ICC_SGIX
+ use SGIX_icc_texture LUMINANCE16_ALPHA8_ICC_SGIX
+
+# Aliases PixelInternalFormat enums above
+OES_rgb8_rgba8 enum: (OpenGL ES only)
+ RGB8 = 0x8051
+ RGBA8 = 0x8058
+
+###############################################################################
+
+InterleavedArrayFormat enum:
+ V2F = 0x2A20
+ V3F = 0x2A21
+ C4UB_V2F = 0x2A22
+ C4UB_V3F = 0x2A23
+ C3F_V3F = 0x2A24
+ N3F_V3F = 0x2A25
+ C4F_N3F_V3F = 0x2A26
+ T2F_V3F = 0x2A27
+ T4F_V4F = 0x2A28
+ T2F_C4UB_V3F = 0x2A29
+ T2F_C3F_V3F = 0x2A2A
+ T2F_N3F_V3F = 0x2A2B
+ T2F_C4F_N3F_V3F = 0x2A2C
+ T4F_C4F_N3F_V4F = 0x2A2D
+
+###############################################################################
+
+VertexPointerType enum:
+ use DataType SHORT
+ use DataType INT
+ use DataType FLOAT
+ use DataType DOUBLE
+
+###############################################################################
+
+# 0x3000 through 0x3FFF are reserved for clip planes
+ClipPlaneName enum:
+ CLIP_PLANE0 = 0x3000 # 1 I
+ CLIP_PLANE1 = 0x3001 # 1 I
+ CLIP_PLANE2 = 0x3002 # 1 I
+ CLIP_PLANE3 = 0x3003 # 1 I
+ CLIP_PLANE4 = 0x3004 # 1 I
+ CLIP_PLANE5 = 0x3005 # 1 I
+
+VERSION_3_0 enum: (aliases)
+ CLIP_DISTANCE0 = 0x3000 # VERSION_3_0 # alias GL_CLIP_PLANE0
+ CLIP_DISTANCE1 = 0x3001 # VERSION_3_0 # alias GL_CLIP_PLANE1
+ CLIP_DISTANCE2 = 0x3002 # VERSION_3_0 # alias GL_CLIP_PLANE2
+ CLIP_DISTANCE3 = 0x3003 # VERSION_3_0 # alias GL_CLIP_PLANE3
+ CLIP_DISTANCE4 = 0x3004 # VERSION_3_0 # alias GL_CLIP_PLANE4
+ CLIP_DISTANCE5 = 0x3005 # VERSION_3_0 # alias GL_CLIP_PLANE5
+ CLIP_DISTANCE6 = 0x3006 # VERSION_3_0 # alias GL_CLIP_PLANE5
+ CLIP_DISTANCE7 = 0x3007 # VERSION_3_0 # alias GL_CLIP_PLANE5
+
+###############################################################################
+
+# 0x4000-0x4FFF are reserved for light numbers
+LightName enum:
+ LIGHT0 = 0x4000 # 1 I
+ LIGHT1 = 0x4001 # 1 I
+ LIGHT2 = 0x4002 # 1 I
+ LIGHT3 = 0x4003 # 1 I
+ LIGHT4 = 0x4004 # 1 I
+ LIGHT5 = 0x4005 # 1 I
+ LIGHT6 = 0x4006 # 1 I
+ LIGHT7 = 0x4007 # 1 I
+ use SGIX_fragment_lighting FRAGMENT_LIGHT0_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT1_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT2_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT3_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT4_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT5_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT6_SGIX
+ use SGIX_fragment_lighting FRAGMENT_LIGHT7_SGIX
+
+###############################################################################
+
+EXT_abgr enum:
+ ABGR_EXT = 0x8000
+
+###############################################################################
+
+VERSION_1_2 enum: (Promoted for OpenGL 1.2)
+ CONSTANT_COLOR = 0x8001
+ ONE_MINUS_CONSTANT_COLOR = 0x8002
+ CONSTANT_ALPHA = 0x8003
+ ONE_MINUS_CONSTANT_ALPHA = 0x8004
+ BLEND_COLOR = 0x8005 # 4 F
+
+EXT_blend_color enum:
+ CONSTANT_COLOR_EXT = 0x8001
+ ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002
+ CONSTANT_ALPHA_EXT = 0x8003
+ ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004
+ BLEND_COLOR_EXT = 0x8005 # 4 F
+
+###############################################################################
+
+VERSION_1_2 enum: (Promoted for OpenGL 1.2)
+EXT_blend_minmax enum:
+ FUNC_ADD = 0x8006
+ FUNC_ADD_EXT = 0x8006
+ MIN = 0x8007
+ MIN_EXT = 0x8007
+ MAX = 0x8008
+ MAX_EXT = 0x8008
+ BLEND_EQUATION = 0x8009 # 1 I
+ BLEND_EQUATION_EXT = 0x8009 # 1 I
+
+VERSION_2_0 enum: (Promoted for OpenGL 2.0)
+ BLEND_EQUATION_RGB = 0x8009 # VERSION_2_0 # alias GL_BLEND_EQUATION
+
+EXT_blend_equation_separate enum: (separate; see below)
+ BLEND_EQUATION_RGB_EXT = 0x8009 # alias GL_BLEND_EQUATION
+
+# Aliases EXT_blend_equation_separate enum above
+OES_blend_equation_separate enum: (OpenGL ES only; additional; see below)
+ BLEND_EQUATION_RGB_OES = 0x8009 # 1 I
+
+###############################################################################
+
+VERSION_1_2 enum: (Promoted for OpenGL 1.2)
+EXT_blend_subtract enum:
+ FUNC_SUBTRACT = 0x800A
+ FUNC_SUBTRACT_EXT = 0x800A
+ FUNC_REVERSE_SUBTRACT = 0x800B
+ FUNC_REVERSE_SUBTRACT_EXT = 0x800B
+
+# Aliases EXT_blend_minmax and EXT_blend_subtract enums above
+OES_blend_subtract enum: (OpenGL ES only)
+ FUNC_ADD_OES = 0x8006
+ BLEND_EQUATION_OES = 0x8009 # 1 I
+ FUNC_SUBTRACT_OES = 0x800A
+ FUNC_REVERSE_SUBTRACT_OES = 0x800B
+
+###############################################################################
+
+EXT_cmyka enum:
+ CMYK_EXT = 0x800C
+ CMYKA_EXT = 0x800D
+ PACK_CMYK_HINT_EXT = 0x800E # 1 I
+ UNPACK_CMYK_HINT_EXT = 0x800F # 1 I
+
+###############################################################################
+
+VERSION_1_2 enum: (Promoted for OpenGL 1.2)
+ CONVOLUTION_1D = 0x8010 # 1 I
+ CONVOLUTION_2D = 0x8011 # 1 I
+ SEPARABLE_2D = 0x8012 # 1 I
+ CONVOLUTION_BORDER_MODE = 0x8013
+ CONVOLUTION_FILTER_SCALE = 0x8014
+ CONVOLUTION_FILTER_BIAS = 0x8015
+ REDUCE = 0x8016
+ CONVOLUTION_FORMAT = 0x8017
+ CONVOLUTION_WIDTH = 0x8018
+ CONVOLUTION_HEIGHT = 0x8019
+ MAX_CONVOLUTION_WIDTH = 0x801A
+ MAX_CONVOLUTION_HEIGHT = 0x801B
+ POST_CONVOLUTION_RED_SCALE = 0x801C # 1 F
+ POST_CONVOLUTION_GREEN_SCALE = 0x801D # 1 F
+ POST_CONVOLUTION_BLUE_SCALE = 0x801E # 1 F
+ POST_CONVOLUTION_ALPHA_SCALE = 0x801F # 1 F
+ POST_CONVOLUTION_RED_BIAS = 0x8020 # 1 F
+ POST_CONVOLUTION_GREEN_BIAS = 0x8021 # 1 F
+ POST_CONVOLUTION_BLUE_BIAS = 0x8022 # 1 F
+ POST_CONVOLUTION_ALPHA_BIAS = 0x8023 # 1 F
+
+EXT_convolution enum:
+ CONVOLUTION_1D_EXT = 0x8010 # 1 I
+ CONVOLUTION_2D_EXT = 0x8011 # 1 I
+ SEPARABLE_2D_EXT = 0x8012 # 1 I
+ CONVOLUTION_BORDER_MODE_EXT = 0x8013
+ CONVOLUTION_FILTER_SCALE_EXT = 0x8014
+ CONVOLUTION_FILTER_BIAS_EXT = 0x8015
+ REDUCE_EXT = 0x8016
+ CONVOLUTION_FORMAT_EXT = 0x8017
+ CONVOLUTION_WIDTH_EXT = 0x8018
+ CONVOLUTION_HEIGHT_EXT = 0x8019
+ MAX_CONVOLUTION_WIDTH_EXT = 0x801A
+ MAX_CONVOLUTION_HEIGHT_EXT = 0x801B
+ POST_CONVOLUTION_RED_SCALE_EXT = 0x801C # 1 F
+ POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D # 1 F
+ POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E # 1 F
+ POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F # 1 F
+ POST_CONVOLUTION_RED_BIAS_EXT = 0x8020 # 1 F
+ POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021 # 1 F
+ POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022 # 1 F
+ POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023 # 1 F
+
+###############################################################################
+
+VERSION_1_2 enum: (Promoted for OpenGL 1.2)
+ HISTOGRAM = 0x8024 # 1 I
+ PROXY_HISTOGRAM = 0x8025
+ HISTOGRAM_WIDTH = 0x8026
+ HISTOGRAM_FORMAT = 0x8027
+ HISTOGRAM_RED_SIZE = 0x8028
+ HISTOGRAM_GREEN_SIZE = 0x8029
+ HISTOGRAM_BLUE_SIZE = 0x802A
+ HISTOGRAM_ALPHA_SIZE = 0x802B
+ HISTOGRAM_SINK = 0x802D
+ MINMAX = 0x802E # 1 I
+ MINMAX_FORMAT = 0x802F
+ MINMAX_SINK = 0x8030
+ TABLE_TOO_LARGE = 0x8031
+
+EXT_histogram enum:
+ HISTOGRAM_EXT = 0x8024 # 1 I
+ PROXY_HISTOGRAM_EXT = 0x8025
+ HISTOGRAM_WIDTH_EXT = 0x8026
+ HISTOGRAM_FORMAT_EXT = 0x8027
+ HISTOGRAM_RED_SIZE_EXT = 0x8028
+ HISTOGRAM_GREEN_SIZE_EXT = 0x8029
+ HISTOGRAM_BLUE_SIZE_EXT = 0x802A
+ HISTOGRAM_ALPHA_SIZE_EXT = 0x802B
+ HISTOGRAM_LUMINANCE_SIZE = 0x802C
+ HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C
+ HISTOGRAM_SINK_EXT = 0x802D
+ MINMAX_EXT = 0x802E # 1 I
+ MINMAX_FORMAT_EXT = 0x802F
+ MINMAX_SINK_EXT = 0x8030
+ TABLE_TOO_LARGE_EXT = 0x8031
+
+###############################################################################
+
+VERSION_1_2 enum: (Promoted for OpenGL 1.2)
+ UNSIGNED_BYTE_3_3_2 = 0x8032
+ UNSIGNED_SHORT_4_4_4_4 = 0x8033
+ UNSIGNED_SHORT_5_5_5_1 = 0x8034
+ UNSIGNED_INT_8_8_8_8 = 0x8035
+ UNSIGNED_INT_10_10_10_2 = 0x8036
+ UNSIGNED_BYTE_2_3_3_REV = 0x8362
+ UNSIGNED_SHORT_5_6_5 = 0x8363
+ UNSIGNED_SHORT_5_6_5_REV = 0x8364
+ UNSIGNED_SHORT_4_4_4_4_REV = 0x8365
+ UNSIGNED_SHORT_1_5_5_5_REV = 0x8366
+ UNSIGNED_INT_8_8_8_8_REV = 0x8367
+ UNSIGNED_INT_2_10_10_10_REV = 0x8368
+
+EXT_packed_pixels enum:
+ UNSIGNED_BYTE_3_3_2_EXT = 0x8032
+ UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033
+ UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034
+ UNSIGNED_INT_8_8_8_8_EXT = 0x8035
+ UNSIGNED_INT_10_10_10_2_EXT = 0x8036
+ UNSIGNED_BYTE_2_3_3_REV_EXT = 0x8362
+ UNSIGNED_SHORT_5_6_5_EXT = 0x8363
+ UNSIGNED_SHORT_5_6_5_REV_EXT = 0x8364
+ UNSIGNED_SHORT_4_4_4_4_REV_EXT = 0x8365
+ UNSIGNED_SHORT_1_5_5_5_REV_EXT = 0x8366
+ UNSIGNED_INT_8_8_8_8_REV_EXT = 0x8367
+ UNSIGNED_INT_2_10_10_10_REV_EXT = 0x8368
+
+EXT_texture_type_2_10_10_10_REV enum: (OpenGL ES only)
+# use EXT_packed_pixels UNSIGNED_INT_2_10_10_10_REV_EXT
+
+###############################################################################
+
+EXT_polygon_offset enum:
+ POLYGON_OFFSET_EXT = 0x8037
+ POLYGON_OFFSET_FACTOR_EXT = 0x8038
+ POLYGON_OFFSET_BIAS_EXT = 0x8039 # 1 F
+
+###############################################################################
+
+VERSION_1_2 enum: (Promoted for OpenGL 1.2)
+ RESCALE_NORMAL = 0x803A # 1 I
+
+EXT_rescale_normal enum:
+ RESCALE_NORMAL_EXT = 0x803A # 1 I
+
+###############################################################################
+
+EXT_texture enum:
+ ALPHA4_EXT = 0x803B
+ ALPHA8_EXT = 0x803C
+ ALPHA12_EXT = 0x803D
+ ALPHA16_EXT = 0x803E
+ LUMINANCE4_EXT = 0x803F
+ LUMINANCE8_EXT = 0x8040
+ LUMINANCE12_EXT = 0x8041
+ LUMINANCE16_EXT = 0x8042
+ LUMINANCE4_ALPHA4_EXT = 0x8043
+ LUMINANCE6_ALPHA2_EXT = 0x8044
+ LUMINANCE8_ALPHA8_EXT = 0x8045
+ LUMINANCE12_ALPHA4_EXT = 0x8046
+ LUMINANCE12_ALPHA12_EXT = 0x8047
+ LUMINANCE16_ALPHA16_EXT = 0x8048
+ INTENSITY_EXT = 0x8049
+ INTENSITY4_EXT = 0x804A
+ INTENSITY8_EXT = 0x804B
+ INTENSITY12_EXT = 0x804C
+ INTENSITY16_EXT = 0x804D
+ RGB2_EXT = 0x804E
+ RGB4_EXT = 0x804F
+ RGB5_EXT = 0x8050
+ RGB8_EXT = 0x8051
+ RGB10_EXT = 0x8052
+ RGB12_EXT = 0x8053
+ RGB16_EXT = 0x8054
+ RGBA2_EXT = 0x8055
+ RGBA4_EXT = 0x8056
+ RGB5_A1_EXT = 0x8057
+ RGBA8_EXT = 0x8058
+ RGB10_A2_EXT = 0x8059
+ RGBA12_EXT = 0x805A
+ RGBA16_EXT = 0x805B
+ TEXTURE_RED_SIZE_EXT = 0x805C
+ TEXTURE_GREEN_SIZE_EXT = 0x805D
+ TEXTURE_BLUE_SIZE_EXT = 0x805E
+ TEXTURE_ALPHA_SIZE_EXT = 0x805F
+ TEXTURE_LUMINANCE_SIZE_EXT = 0x8060
+ TEXTURE_INTENSITY_SIZE_EXT = 0x8061
+ REPLACE_EXT = 0x8062
+ PROXY_TEXTURE_1D_EXT = 0x8063
+ PROXY_TEXTURE_2D_EXT = 0x8064
+ TEXTURE_TOO_LARGE_EXT = 0x8065
+
+# Aliases EXT_texture enums above
+OES_framebuffer_object enum: (OpenGL ES only; additional; see below)
+ RGBA4_OES = 0x8056
+ RGB5_A1_OES = 0x8057
+
+###############################################################################
+
+EXT_texture_object enum:
+ TEXTURE_PRIORITY_EXT = 0x8066
+ TEXTURE_RESIDENT_EXT = 0x8067
+ TEXTURE_1D_BINDING_EXT = 0x8068
+ TEXTURE_2D_BINDING_EXT = 0x8069
+ TEXTURE_3D_BINDING_EXT = 0x806A # 1 I
+
+###############################################################################
+
+VERSION_1_2 enum: (Promoted for OpenGL 1.2)
+ PACK_SKIP_IMAGES = 0x806B # 1 I
+ PACK_IMAGE_HEIGHT = 0x806C # 1 F
+ UNPACK_SKIP_IMAGES = 0x806D # 1 I
+ UNPACK_IMAGE_HEIGHT = 0x806E # 1 F
+ TEXTURE_3D = 0x806F # 1 I
+ PROXY_TEXTURE_3D = 0x8070
+ TEXTURE_DEPTH = 0x8071
+ TEXTURE_WRAP_R = 0x8072
+ MAX_3D_TEXTURE_SIZE = 0x8073 # 1 I
+
+EXT_texture3D enum:
+ PACK_SKIP_IMAGES_EXT = 0x806B # 1 I
+ PACK_IMAGE_HEIGHT_EXT = 0x806C # 1 F
+ UNPACK_SKIP_IMAGES_EXT = 0x806D # 1 I
+ UNPACK_IMAGE_HEIGHT_EXT = 0x806E # 1 F
+ TEXTURE_3D_EXT = 0x806F # 1 I
+ PROXY_TEXTURE_3D_EXT = 0x8070
+ TEXTURE_DEPTH_EXT = 0x8071
+ TEXTURE_WRAP_R_EXT = 0x8072
+ MAX_3D_TEXTURE_SIZE_EXT = 0x8073 # 1 I
+
+# Aliases EXT_texture_object, EXT_texture3D enums above
+OES_texture3D enum: (OpenGL ES only)
+ TEXTURE_3D_BINDING_OES = 0x806A # 1 I
+ TEXTURE_3D_OES = 0x806F # 1 I
+ TEXTURE_WRAP_R_OES = 0x8072
+ MAX_3D_TEXTURE_SIZE_OES = 0x8073 # 1 I
+
+###############################################################################
+
+EXT_vertex_array enum:
+ VERTEX_ARRAY_EXT = 0x8074
+ NORMAL_ARRAY_EXT = 0x8075
+ COLOR_ARRAY_EXT = 0x8076
+ INDEX_ARRAY_EXT = 0x8077
+ TEXTURE_COORD_ARRAY_EXT = 0x8078
+ EDGE_FLAG_ARRAY_EXT = 0x8079
+ VERTEX_ARRAY_SIZE_EXT = 0x807A
+ VERTEX_ARRAY_TYPE_EXT = 0x807B
+ VERTEX_ARRAY_STRIDE_EXT = 0x807C
+ VERTEX_ARRAY_COUNT_EXT = 0x807D # 1 I
+ NORMAL_ARRAY_TYPE_EXT = 0x807E
+ NORMAL_ARRAY_STRIDE_EXT = 0x807F
+ NORMAL_ARRAY_COUNT_EXT = 0x8080 # 1 I
+ COLOR_ARRAY_SIZE_EXT = 0x8081
+ COLOR_ARRAY_TYPE_EXT = 0x8082
+ COLOR_ARRAY_STRIDE_EXT = 0x8083
+ COLOR_ARRAY_COUNT_EXT = 0x8084 # 1 I
+ INDEX_ARRAY_TYPE_EXT = 0x8085
+ INDEX_ARRAY_STRIDE_EXT = 0x8086
+ INDEX_ARRAY_COUNT_EXT = 0x8087 # 1 I
+ TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088
+ TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089
+ TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A
+ TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B # 1 I
+ EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C
+ EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D # 1 I
+ VERTEX_ARRAY_POINTER_EXT = 0x808E
+ NORMAL_ARRAY_POINTER_EXT = 0x808F
+ COLOR_ARRAY_POINTER_EXT = 0x8090
+ INDEX_ARRAY_POINTER_EXT = 0x8091
+ TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092
+ EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093
+
+###############################################################################
+
+SGIX_interlace enum:
+ INTERLACE_SGIX = 0x8094 # 1 I
+
+###############################################################################
+
+SGIS_detail_texture enum:
+ DETAIL_TEXTURE_2D_SGIS = 0x8095
+ DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096 # 1 I
+ LINEAR_DETAIL_SGIS = 0x8097
+ LINEAR_DETAIL_ALPHA_SGIS = 0x8098
+ LINEAR_DETAIL_COLOR_SGIS = 0x8099
+ DETAIL_TEXTURE_LEVEL_SGIS = 0x809A
+ DETAIL_TEXTURE_MODE_SGIS = 0x809B
+ DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C
+
+###############################################################################
+
+# Reuses some SGIS_multisample values
+VERSION_1_3 enum: (Promoted for OpenGL 1.3)
+ MULTISAMPLE = 0x809D
+ SAMPLE_ALPHA_TO_COVERAGE = 0x809E
+ SAMPLE_ALPHA_TO_ONE = 0x809F
+ SAMPLE_COVERAGE = 0x80A0
+ SAMPLE_BUFFERS = 0x80A8 # 1 I
+ SAMPLES = 0x80A9 # 1 I
+ SAMPLE_COVERAGE_VALUE = 0x80AA # 1 F
+ SAMPLE_COVERAGE_INVERT = 0x80AB # 1 I
+
+ARB_multisample enum:
+ MULTISAMPLE_ARB = 0x809D
+ SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E
+ SAMPLE_ALPHA_TO_ONE_ARB = 0x809F
+ SAMPLE_COVERAGE_ARB = 0x80A0
+ SAMPLE_BUFFERS_ARB = 0x80A8 # 1 I
+ SAMPLES_ARB = 0x80A9 # 1 I
+ SAMPLE_COVERAGE_VALUE_ARB = 0x80AA # 1 F
+ SAMPLE_COVERAGE_INVERT_ARB = 0x80AB # 1 I
+
+SGIS_multisample enum:
+ MULTISAMPLE_SGIS = 0x809D # 1 I
+ SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E # 1 I
+ SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F # 1 I
+ SAMPLE_MASK_SGIS = 0x80A0 # 1 I
+ 1PASS_SGIS = 0x80A1
+ 2PASS_0_SGIS = 0x80A2
+ 2PASS_1_SGIS = 0x80A3
+ 4PASS_0_SGIS = 0x80A4
+ 4PASS_1_SGIS = 0x80A5
+ 4PASS_2_SGIS = 0x80A6
+ 4PASS_3_SGIS = 0x80A7
+ SAMPLE_BUFFERS_SGIS = 0x80A8 # 1 I
+ SAMPLES_SGIS = 0x80A9 # 1 I
+ SAMPLE_MASK_VALUE_SGIS = 0x80AA # 1 F
+ SAMPLE_MASK_INVERT_SGIS = 0x80AB # 1 I
+ SAMPLE_PATTERN_SGIS = 0x80AC # 1 I
+
+# Reuses SGIS_multisample values.
+EXT_multisample enum:
+ MULTISAMPLE_EXT = 0x809D
+ SAMPLE_ALPHA_TO_MASK_EXT = 0x809E
+ SAMPLE_ALPHA_TO_ONE_EXT = 0x809F
+ SAMPLE_MASK_EXT = 0x80A0
+ 1PASS_EXT = 0x80A1
+ 2PASS_0_EXT = 0x80A2
+ 2PASS_1_EXT = 0x80A3
+ 4PASS_0_EXT = 0x80A4
+ 4PASS_1_EXT = 0x80A5
+ 4PASS_2_EXT = 0x80A6
+ 4PASS_3_EXT = 0x80A7
+ SAMPLE_BUFFERS_EXT = 0x80A8 # 1 I
+ SAMPLES_EXT = 0x80A9 # 1 I
+ SAMPLE_MASK_VALUE_EXT = 0x80AA # 1 F
+ SAMPLE_MASK_INVERT_EXT = 0x80AB # 1 I
+ SAMPLE_PATTERN_EXT = 0x80AC # 1 I
+ MULTISAMPLE_BIT_EXT = 0x20000000
+
+###############################################################################
+
+SGIS_sharpen_texture enum:
+ LINEAR_SHARPEN_SGIS = 0x80AD
+ LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE
+ LINEAR_SHARPEN_COLOR_SGIS = 0x80AF
+ SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0
+
+###############################################################################
+
+VERSION_1_2 enum: (Promoted for OpenGL 1.2)
+ COLOR_MATRIX = 0x80B1 # 16 F
+ COLOR_MATRIX_STACK_DEPTH = 0x80B2 # 1 I
+ MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3 # 1 I
+ POST_COLOR_MATRIX_RED_SCALE = 0x80B4 # 1 F
+ POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5 # 1 F
+ POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6 # 1 F
+ POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7 # 1 F
+ POST_COLOR_MATRIX_RED_BIAS = 0x80B8 # 1 F
+ POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9 # 1 F
+ POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA # 1 F
+ POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB # 1 F
+
+SGI_color_matrix enum:
+ COLOR_MATRIX_SGI = 0x80B1 # 16 F
+ COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2 # 1 I
+ MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3 # 1 I
+ POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4 # 1 F
+ POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5 # 1 F
+ POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6 # 1 F
+ POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7 # 1 F
+ POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8 # 1 F
+ POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9 # 1 F
+ POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA # 1 F
+ POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB # 1 F
+
+###############################################################################
+
+SGI_texture_color_table enum:
+ TEXTURE_COLOR_TABLE_SGI = 0x80BC # 1 I
+ PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD
+
+###############################################################################
+
+SGIX_texture_add_env enum:
+ TEXTURE_ENV_BIAS_SGIX = 0x80BE
+
+###############################################################################
+
+SGIX_shadow_ambient enum:
+ SHADOW_AMBIENT_SGIX = 0x80BF
+
+###############################################################################
+
+# Intergraph/Intense3D/3Dlabs: 0x80C0-0x80CF
+
+# 3Dlabs_future_use: 0x80C0-0x80C7
+
+VERSION_1_4 enum: (Promoted for OpenGL 1.4)
+ BLEND_DST_RGB = 0x80C8
+ BLEND_SRC_RGB = 0x80C9
+ BLEND_DST_ALPHA = 0x80CA
+ BLEND_SRC_ALPHA = 0x80CB
+
+EXT_blend_func_separate enum:
+ BLEND_DST_RGB_EXT = 0x80C8
+ BLEND_SRC_RGB_EXT = 0x80C9
+ BLEND_DST_ALPHA_EXT = 0x80CA
+ BLEND_SRC_ALPHA_EXT = 0x80CB
+
+# Aliases EXT_blend_func_separate enums above
+OES_blend_func_separate enum: (OpenGL ES only)
+ BLEND_DST_RGB_OES = 0x80C8
+ BLEND_SRC_RGB_OES = 0x80C9
+ BLEND_DST_ALPHA_OES = 0x80CA
+ BLEND_SRC_ALPHA_OES = 0x80CB
+
+EXT_422_pixels enum:
+ 422_EXT = 0x80CC
+ 422_REV_EXT = 0x80CD
+ 422_AVERAGE_EXT = 0x80CE
+ 422_REV_AVERAGE_EXT = 0x80CF
+
+###############################################################################
+
+VERSION_1_2 enum: (Promoted for OpenGL 1.2)
+ COLOR_TABLE = 0x80D0 # 1 I
+ POST_CONVOLUTION_COLOR_TABLE = 0x80D1 # 1 I
+ POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2 # 1 I
+ PROXY_COLOR_TABLE = 0x80D3
+ PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4
+ PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5
+ COLOR_TABLE_SCALE = 0x80D6
+ COLOR_TABLE_BIAS = 0x80D7
+ COLOR_TABLE_FORMAT = 0x80D8
+ COLOR_TABLE_WIDTH = 0x80D9
+ COLOR_TABLE_RED_SIZE = 0x80DA
+ COLOR_TABLE_GREEN_SIZE = 0x80DB
+ COLOR_TABLE_BLUE_SIZE = 0x80DC
+ COLOR_TABLE_ALPHA_SIZE = 0x80DD
+ COLOR_TABLE_LUMINANCE_SIZE = 0x80DE
+ COLOR_TABLE_INTENSITY_SIZE = 0x80DF
+
+SGI_color_table enum:
+ COLOR_TABLE_SGI = 0x80D0 # 1 I
+ POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1 # 1 I
+ POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2 # 1 I
+ PROXY_COLOR_TABLE_SGI = 0x80D3
+ PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4
+ PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5
+ COLOR_TABLE_SCALE_SGI = 0x80D6
+ COLOR_TABLE_BIAS_SGI = 0x80D7
+ COLOR_TABLE_FORMAT_SGI = 0x80D8
+ COLOR_TABLE_WIDTH_SGI = 0x80D9
+ COLOR_TABLE_RED_SIZE_SGI = 0x80DA
+ COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB
+ COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC
+ COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD
+ COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE
+ COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF
+
+###############################################################################
+
+VERSION_1_2 enum: (Promoted for OpenGL 1.2)
+ BGR = 0x80E0
+ BGRA = 0x80E1
+
+ARB_vertex_array_bgra enum:
+# use VERSION_1_2 BGRA
+
+EXT_bgra enum:
+ BGR_EXT = 0x80E0
+ BGRA_EXT = 0x80E1
+
+###############################################################################
+
+# Microsoft: 0x80E2-0x80E7
+
+###############################################################################
+
+VERSION_1_2 enum:
+ MAX_ELEMENTS_VERTICES = 0x80E8
+ MAX_ELEMENTS_INDICES = 0x80E9
+
+###############################################################################
+
+# Microsoft: 0x80EA-0x810F
+
+###############################################################################
+
+SGIS_texture_select enum:
+ DUAL_ALPHA4_SGIS = 0x8110
+ DUAL_ALPHA8_SGIS = 0x8111
+ DUAL_ALPHA12_SGIS = 0x8112
+ DUAL_ALPHA16_SGIS = 0x8113
+ DUAL_LUMINANCE4_SGIS = 0x8114
+ DUAL_LUMINANCE8_SGIS = 0x8115
+ DUAL_LUMINANCE12_SGIS = 0x8116
+ DUAL_LUMINANCE16_SGIS = 0x8117
+ DUAL_INTENSITY4_SGIS = 0x8118
+ DUAL_INTENSITY8_SGIS = 0x8119
+ DUAL_INTENSITY12_SGIS = 0x811A
+ DUAL_INTENSITY16_SGIS = 0x811B
+ DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C
+ DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D
+ QUAD_ALPHA4_SGIS = 0x811E
+ QUAD_ALPHA8_SGIS = 0x811F
+ QUAD_LUMINANCE4_SGIS = 0x8120
+ QUAD_LUMINANCE8_SGIS = 0x8121
+ QUAD_INTENSITY4_SGIS = 0x8122
+ QUAD_INTENSITY8_SGIS = 0x8123
+ DUAL_TEXTURE_SELECT_SGIS = 0x8124
+ QUAD_TEXTURE_SELECT_SGIS = 0x8125
+
+###############################################################################
+
+VERSION_1_4 enum: (Promoted for OpenGL 1.4)
+ POINT_SIZE_MIN = 0x8126 # 1 F
+ POINT_SIZE_MAX = 0x8127 # 1 F
+ POINT_FADE_THRESHOLD_SIZE = 0x8128 # 1 F
+ POINT_DISTANCE_ATTENUATION = 0x8129 # 3 F
+
+ARB_point_parameters enum:
+ POINT_SIZE_MIN_ARB = 0x8126 # 1 F
+ POINT_SIZE_MAX_ARB = 0x8127 # 1 F
+ POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128 # 1 F
+ POINT_DISTANCE_ATTENUATION_ARB = 0x8129 # 3 F
+
+EXT_point_parameters enum:
+ POINT_SIZE_MIN_EXT = 0x8126 # 1 F
+ POINT_SIZE_MAX_EXT = 0x8127 # 1 F
+ POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128 # 1 F
+ DISTANCE_ATTENUATION_EXT = 0x8129 # 3 F
+
+SGIS_point_parameters enum:
+ POINT_SIZE_MIN_SGIS = 0x8126 # 1 F
+ POINT_SIZE_MAX_SGIS = 0x8127 # 1 F
+ POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128 # 1 F
+ DISTANCE_ATTENUATION_SGIS = 0x8129 # 3 F
+
+###############################################################################
+
+SGIS_fog_function enum:
+ FOG_FUNC_SGIS = 0x812A
+ FOG_FUNC_POINTS_SGIS = 0x812B # 1 I
+ MAX_FOG_FUNC_POINTS_SGIS = 0x812C # 1 I
+
+###############################################################################
+
+VERSION_1_3 enum: (Promoted for OpenGL 1.3)
+ CLAMP_TO_BORDER = 0x812D
+
+ARB_texture_border_clamp enum:
+ CLAMP_TO_BORDER_ARB = 0x812D
+
+SGIS_texture_border_clamp enum:
+ CLAMP_TO_BORDER_SGIS = 0x812D
+
+###############################################################################
+
+SGIX_texture_multi_buffer enum:
+ TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E
+
+###############################################################################
+
+VERSION_1_2 enum: (Promoted for OpenGL 1.2)
+ CLAMP_TO_EDGE = 0x812F
+
+SGIS_texture_edge_clamp enum:
+ CLAMP_TO_EDGE_SGIS = 0x812F
+
+###############################################################################
+
+SGIS_texture4D enum:
+ PACK_SKIP_VOLUMES_SGIS = 0x8130 # 1 I
+ PACK_IMAGE_DEPTH_SGIS = 0x8131 # 1 I
+ UNPACK_SKIP_VOLUMES_SGIS = 0x8132 # 1 I
+ UNPACK_IMAGE_DEPTH_SGIS = 0x8133 # 1 I
+ TEXTURE_4D_SGIS = 0x8134 # 1 I
+ PROXY_TEXTURE_4D_SGIS = 0x8135
+ TEXTURE_4DSIZE_SGIS = 0x8136
+ TEXTURE_WRAP_Q_SGIS = 0x8137
+ MAX_4D_TEXTURE_SIZE_SGIS = 0x8138 # 1 I
+ TEXTURE_4D_BINDING_SGIS = 0x814F # 1 I
+
+###############################################################################
+
+SGIX_pixel_texture enum:
+ PIXEL_TEX_GEN_SGIX = 0x8139 # 1 I
+ PIXEL_TEX_GEN_MODE_SGIX = 0x832B # 1 I
+
+###############################################################################
+
+VERSION_1_2 enum: (Promoted for OpenGL 1.2)
+ TEXTURE_MIN_LOD = 0x813A
+ TEXTURE_MAX_LOD = 0x813B
+ TEXTURE_BASE_LEVEL = 0x813C
+ TEXTURE_MAX_LEVEL = 0x813D
+
+SGIS_texture_lod enum:
+ TEXTURE_MIN_LOD_SGIS = 0x813A
+ TEXTURE_MAX_LOD_SGIS = 0x813B
+ TEXTURE_BASE_LEVEL_SGIS = 0x813C
+ TEXTURE_MAX_LEVEL_SGIS = 0x813D
+
+###############################################################################
+
+SGIX_pixel_tiles enum:
+ PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E # 1 I
+ PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F # 1 I
+ PIXEL_TILE_WIDTH_SGIX = 0x8140 # 1 I
+ PIXEL_TILE_HEIGHT_SGIX = 0x8141 # 1 I
+ PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142 # 1 I
+ PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143 # 1 I
+ PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144 # 1 I
+ PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145 # 1 I
+
+###############################################################################
+
+SGIS_texture_filter4 enum:
+ FILTER4_SGIS = 0x8146
+ TEXTURE_FILTER4_SIZE_SGIS = 0x8147
+
+###############################################################################
+
+SGIX_sprite enum:
+ SPRITE_SGIX = 0x8148 # 1 I
+ SPRITE_MODE_SGIX = 0x8149 # 1 I
+ SPRITE_AXIS_SGIX = 0x814A # 3 F
+ SPRITE_TRANSLATION_SGIX = 0x814B # 3 F
+ SPRITE_AXIAL_SGIX = 0x814C
+ SPRITE_OBJECT_ALIGNED_SGIX = 0x814D
+ SPRITE_EYE_ALIGNED_SGIX = 0x814E
+
+###############################################################################
+
+# SGIS_texture4D (additional; see above): 0x814F
+
+###############################################################################
+
+VERSION_1_2 enum: (Promoted for OpenGL 1.2)
+ CONSTANT_BORDER = 0x8151
+# WRAP_BORDER = 0x8152 # Not actually used
+ REPLICATE_BORDER = 0x8153
+ CONVOLUTION_BORDER_COLOR = 0x8154
+
+HP_convolution_border_modes enum:
+ IGNORE_BORDER_HP = 0x8150 # Not promoted
+ CONSTANT_BORDER_HP = 0x8151
+ REPLICATE_BORDER_HP = 0x8153
+ CONVOLUTION_BORDER_COLOR_HP = 0x8154
+
+###############################################################################
+
+# HP: 0x8155-0x816F
+
+###############################################################################
+
+SGIX_clipmap enum:
+ LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170
+ TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171
+ TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172
+ TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173
+ TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174
+ TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175
+ TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176
+ MAX_CLIPMAP_DEPTH_SGIX = 0x8177 # 1 I
+ MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178 # 1 I
+ NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D
+ NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E
+ LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F
+
+###############################################################################
+
+SGIX_texture_scale_bias enum:
+ POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179
+ POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A
+ POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B # 2 F
+ POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C # 2 F
+
+###############################################################################
+
+SGIX_reference_plane enum:
+ REFERENCE_PLANE_SGIX = 0x817D # 1 I
+ REFERENCE_PLANE_EQUATION_SGIX = 0x817E # 4 F
+
+###############################################################################
+
+SGIX_ir_instrument1 enum:
+ IR_INSTRUMENT1_SGIX = 0x817F # 1 I
+
+###############################################################################
+
+SGIX_instruments enum:
+ INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180
+ INSTRUMENT_MEASUREMENTS_SGIX = 0x8181 # 1 I
+
+###############################################################################
+
+SGIX_list_priority enum:
+ LIST_PRIORITY_SGIX = 0x8182
+
+###############################################################################
+
+SGIX_calligraphic_fragment enum:
+ CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183 # 1 I
+
+###############################################################################
+
+SGIX_impact_pixel_texture enum:
+ PIXEL_TEX_GEN_Q_CEILING_SGIX = 0x8184
+ PIXEL_TEX_GEN_Q_ROUND_SGIX = 0x8185
+ PIXEL_TEX_GEN_Q_FLOOR_SGIX = 0x8186
+ PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = 0x8187
+ PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = 0x8188
+ PIXEL_TEX_GEN_ALPHA_LS_SGIX = 0x8189
+ PIXEL_TEX_GEN_ALPHA_MS_SGIX = 0x818A
+
+###############################################################################
+
+SGIX_framezoom enum:
+ FRAMEZOOM_SGIX = 0x818B # 1 I
+ FRAMEZOOM_FACTOR_SGIX = 0x818C # 1 I
+ MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D # 1 I
+
+###############################################################################
+
+SGIX_texture_lod_bias enum:
+ TEXTURE_LOD_BIAS_S_SGIX = 0x818E
+ TEXTURE_LOD_BIAS_T_SGIX = 0x818F
+ TEXTURE_LOD_BIAS_R_SGIX = 0x8190
+
+###############################################################################
+
+VERSION_1_4 enum: (Promoted for OpenGL 1.4)
+ GENERATE_MIPMAP = 0x8191
+ GENERATE_MIPMAP_HINT = 0x8192 # 1 I
+
+SGIS_generate_mipmap enum:
+ GENERATE_MIPMAP_SGIS = 0x8191
+ GENERATE_MIPMAP_HINT_SGIS = 0x8192 # 1 I
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_spotlight_cutoff: 0x8193
+# SPOT_CUTOFF_DELTA_SGIX = 0x8193
+
+###############################################################################
+
+SGIX_polynomial_ffd enum:
+ GEOMETRY_DEFORMATION_SGIX = 0x8194
+ TEXTURE_DEFORMATION_SGIX = 0x8195
+ DEFORMATIONS_MASK_SGIX = 0x8196 # 1 I
+ MAX_DEFORMATION_ORDER_SGIX = 0x8197
+
+###############################################################################
+
+SGIX_fog_offset enum:
+ FOG_OFFSET_SGIX = 0x8198 # 1 I
+ FOG_OFFSET_VALUE_SGIX = 0x8199 # 4 F
+
+###############################################################################
+
+SGIX_shadow enum:
+ TEXTURE_COMPARE_SGIX = 0x819A
+ TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B
+ TEXTURE_LEQUAL_R_SGIX = 0x819C
+ TEXTURE_GEQUAL_R_SGIX = 0x819D
+
+###############################################################################
+
+# SGI private extension, not in enumext.spec
+# SGIX_igloo_interface: 0x819E-0x81A4
+# IGLOO_FULLSCREEN_SGIX = 0x819E
+# IGLOO_VIEWPORT_OFFSET_SGIX = 0x819F
+# IGLOO_SWAPTMESH_SGIX = 0x81A0
+# IGLOO_COLORNORMAL_SGIX = 0x81A1
+# IGLOO_IRISGL_MODE_SGIX = 0x81A2
+# IGLOO_LMC_COLOR_SGIX = 0x81A3
+# IGLOO_TMESHMODE_SGIX = 0x81A4
+
+###############################################################################
+
+VERSION_1_4 enum: (Promoted for OpenGL 1.4)
+ DEPTH_COMPONENT16 = 0x81A5
+ DEPTH_COMPONENT24 = 0x81A6
+ DEPTH_COMPONENT32 = 0x81A7
+
+ARB_depth_texture enum:
+ DEPTH_COMPONENT16_ARB = 0x81A5
+ DEPTH_COMPONENT24_ARB = 0x81A6
+ DEPTH_COMPONENT32_ARB = 0x81A7
+
+SGIX_depth_texture enum:
+ DEPTH_COMPONENT16_SGIX = 0x81A5
+ DEPTH_COMPONENT24_SGIX = 0x81A6
+ DEPTH_COMPONENT32_SGIX = 0x81A7
+
+# Aliases ARB_depth_texture enum above
+OES_framebuffer_object enum: (OpenGL ES only; additional; see below)
+ DEPTH_COMPONENT16_OES = 0x81A5
+
+# Aliases ARB_depth_texture enum above
+OES_depth24 enum: (OpenGL ES only)
+ DEPTH_COMPONENT24_OES = 0x81A6
+
+# Aliases ARB_depth_texture enum above
+OES_depth32 enum: (OpenGL ES only)
+ DEPTH_COMPONENT32_OES = 0x81A7
+
+###############################################################################
+
+EXT_compiled_vertex_array enum:
+ ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8
+ ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9
+
+###############################################################################
+
+EXT_cull_vertex enum:
+ CULL_VERTEX_EXT = 0x81AA
+ CULL_VERTEX_EYE_POSITION_EXT = 0x81AB
+ CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC
+
+###############################################################################
+
+# Promoted from SGI?
+EXT_index_array_formats enum:
+ IUI_V2F_EXT = 0x81AD
+ IUI_V3F_EXT = 0x81AE
+ IUI_N3F_V2F_EXT = 0x81AF
+ IUI_N3F_V3F_EXT = 0x81B0
+ T2F_IUI_V2F_EXT = 0x81B1
+ T2F_IUI_V3F_EXT = 0x81B2
+ T2F_IUI_N3F_V2F_EXT = 0x81B3
+ T2F_IUI_N3F_V3F_EXT = 0x81B4
+
+###############################################################################
+
+# Promoted from SGI?
+EXT_index_func enum:
+ INDEX_TEST_EXT = 0x81B5
+ INDEX_TEST_FUNC_EXT = 0x81B6
+ INDEX_TEST_REF_EXT = 0x81B7
+
+###############################################################################
+
+# Promoted from SGI?
+EXT_index_material enum:
+ INDEX_MATERIAL_EXT = 0x81B8
+ INDEX_MATERIAL_PARAMETER_EXT = 0x81B9
+ INDEX_MATERIAL_FACE_EXT = 0x81BA
+
+###############################################################################
+
+SGIX_ycrcb enum:
+ YCRCB_422_SGIX = 0x81BB
+ YCRCB_444_SGIX = 0x81BC
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGI_complex_type: 0x81BD-0x81C3
+# COMPLEX_UNSIGNED_BYTE_SGI = 0x81BD
+# COMPLEX_BYTE_SGI = 0x81BE
+# COMPLEX_UNSIGNED_SHORT_SGI = 0x81BF
+# COMPLEX_SHORT_SGI = 0x81C0
+# COMPLEX_UNSIGNED_INT_SGI = 0x81C1
+# COMPLEX_INT_SGI = 0x81C2
+# COMPLEX_FLOAT_SGI = 0x81C3
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGI_fft: 0x81C4-0x81CA
+# POST_TRANSFORM_RED_SCALE_SGI = ???? # 1 F
+# POST_TRANSFORM_GREEN_SCALE_SGI = ???? # 1 F
+# POST_TRANSFORM_BLUE_SCALE_SGI = ???? # 1 F
+# POST_TRANSFORM_ALPHA_SCALE_SGI = ???? # 1 F
+# POST_TRANSFORM_RED_BIAS_SGI = ???? # 1 F
+# POST_TRANSFORM_GREEN_BIAS_SGI = ???? # 1 F
+# POST_TRANSFORM_BLUE_BIAS_SGI = ???? # 1 F
+# POST_TRANSFORM_ALPHA_BIAS_SGI = ???? # 1 F
+# PIXEL_TRANSFORM_OPERATOR_SGI = 0x81C4 # 1 I
+# CONVOLUTION_SGI = 0x81C5
+# FFT_1D_SGI = 0x81C6
+# PIXEL_TRANSFORM_SGI = 0x81C7
+# MAX_FFT_WIDTH_SGI = 0x81C8
+# SORT_SGI = 0x81C9
+# TRANSPOSE_SGI = 0x81CA
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_nurbs_eval: 0x81CB-0x81CF
+# MAP1_VERTEX_3_NURBS_SGIX = 0x81CB # 1 I
+# MAP1_VERTEX_4_NURBS_SGIX = 0x81CC # 1 I
+# MAP1_INDEX_NURBS_SGIX = 0x81CD # 1 I
+# MAP1_COLOR_4_NURBS_SGIX = 0x81CE # 1 I
+# MAP1_NORMAL_NURBS_SGIX = 0x81CF # 1 I
+# MAP1_TEXTURE_COORD_1_NURBS_SGIX = 0x81E0 # 1 I
+# MAP1_TEXTURE_COORD_2_NURBS_SGIX = 0x81E1 # 1 I
+# MAP1_TEXTURE_COORD_3_NURBS_SGIX = 0x81E2 # 1 I
+# MAP1_TEXTURE_COORD_4_NURBS_SGIX = 0x81E3 # 1 I
+# MAP2_VERTEX_3_NURBS_SGIX = 0x81E4 # 1 I
+# MAP2_VERTEX_4_NURBS_SGIX = 0x81E5 # 1 I
+# MAP2_INDEX_NURBS_SGIX = 0x81E6 # 1 I
+# MAP2_COLOR_4_NURBS_SGIX = 0x81E7 # 1 I
+# MAP2_NORMAL_NURBS_SGIX = 0x81E8 # 1 I
+# MAP2_TEXTURE_COORD_1_NURBS_SGIX = 0x81E9 # 1 I
+# MAP2_TEXTURE_COORD_2_NURBS_SGIX = 0x81EA # 1 I
+# MAP2_TEXTURE_COORD_3_NURBS_SGIX = 0x81EB # 1 I
+# MAP2_TEXTURE_COORD_4_NURBS_SGIX = 0x81EC # 1 I
+# NURBS_KNOT_COUNT_SGIX = 0x81ED
+# NURBS_KNOT_VECTOR_SGIX = 0x81EE
+
+###############################################################################
+
+# Sun: 0x81D0-0x81DF
+
+# No extension spec, not in enumext.spec
+# SUNX_surface_hint enum:
+# SURFACE_SIZE_HINT_SUNX = 0x81D2
+# LARGE_SUNX = 0x81D3
+
+SUNX_general_triangle_list enum:
+ RESTART_SUN = 0x0001
+ REPLACE_MIDDLE_SUN = 0x0002
+ REPLACE_OLDEST_SUN = 0x0003
+ WRAP_BORDER_SUN = 0x81D4
+ TRIANGLE_LIST_SUN = 0x81D7
+ REPLACEMENT_CODE_SUN = 0x81D8
+
+SUNX_constant_data enum:
+ UNPACK_CONSTANT_DATA_SUNX = 0x81D5
+ TEXTURE_CONSTANT_DATA_SUNX = 0x81D6
+
+SUN_global_alpha enum:
+ GLOBAL_ALPHA_SUN = 0x81D9
+ GLOBAL_ALPHA_FACTOR_SUN = 0x81DA
+
+###############################################################################
+
+# SGIX_nurbs_eval (additional; see above): 0x81E0-0x81EE
+
+###############################################################################
+
+SGIS_texture_color_mask enum:
+ TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF
+
+###############################################################################
+
+SGIS_point_line_texgen enum:
+ EYE_DISTANCE_TO_POINT_SGIS = 0x81F0
+ OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1
+ EYE_DISTANCE_TO_LINE_SGIS = 0x81F2
+ OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3
+ EYE_POINT_SGIS = 0x81F4
+ OBJECT_POINT_SGIS = 0x81F5
+ EYE_LINE_SGIS = 0x81F6
+ OBJECT_LINE_SGIS = 0x81F7
+
+###############################################################################
+
+VERSION_1_2 enum: (Promoted for OpenGL 1.2)
+ LIGHT_MODEL_COLOR_CONTROL = 0x81F8 # 1 I
+ SINGLE_COLOR = 0x81F9
+ SEPARATE_SPECULAR_COLOR = 0x81FA
+
+EXT_separate_specular_color enum:
+ LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8
+ SINGLE_COLOR_EXT = 0x81F9
+ SEPARATE_SPECULAR_COLOR_EXT = 0x81FA
+
+###############################################################################
+
+EXT_shared_texture_palette enum:
+ SHARED_TEXTURE_PALETTE_EXT = 0x81FB # 1 I
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_fog_scale: 0x81FC-0x81FD
+# FOG_SCALE_SGIX = 0x81FC # 1 I
+# FOG_SCALE_VALUE_SGIX = 0x81FD # 1 F
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_fog_blend: 0x81FE-0x81FF
+# FOG_BLEND_ALPHA_SGIX = 0x81FE # 1 I
+# FOG_BLEND_COLOR_SGIX = 0x81FF # 1 I
+
+###############################################################################
+
+# ATI: 0x8200-0x820F (released by Microsoft 2002/9/16)
+ATI_text_fragment_shader enum:
+ TEXT_FRAGMENT_SHADER_ATI = 0x8200
+
+###############################################################################
+
+# OpenGL ARB: 0x8210-0x823F
+
+VERSION_3_0 enum:
+ use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING
+ use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE
+ use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_RED_SIZE
+ use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_GREEN_SIZE
+ use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_BLUE_SIZE
+ use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE
+ use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE
+ use ARB_framebuffer_object FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE
+ use ARB_framebuffer_object FRAMEBUFFER_DEFAULT
+ use ARB_framebuffer_object FRAMEBUFFER_UNDEFINED
+ use ARB_framebuffer_object DEPTH_STENCIL_ATTACHMENT
+
+ARB_framebuffer_object enum: (note: no ARB suffixes)
+ FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_DEFAULT = 0x8218 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_UNDEFINED = 0x8219 # VERSION_3_0 / ARB_fbo
+ DEPTH_STENCIL_ATTACHMENT = 0x821A # VERSION_3_0 / ARB_fbo
+
+VERSION_3_0 enum:
+ MAJOR_VERSION = 0x821B # VERSION_3_0
+ MINOR_VERSION = 0x821C # VERSION_3_0
+ NUM_EXTENSIONS = 0x821D # VERSION_3_0
+ CONTEXT_FLAGS = 0x821E # VERSION_3_0
+
+# ARB_future_use: 0x821F-0x8221
+
+VERSION_3_0 enum:
+ use ARB_framebuffer_object INDEX
+
+ARB_framebuffer_object enum: (note: no ARB suffixes)
+ INDEX = 0x8222 # VERSION_3_0 / ARB_fbo
+
+VERSION_3_0 enum:
+ DEPTH_BUFFER = 0x8223 # VERSION_3_0
+ STENCIL_BUFFER = 0x8224 # VERSION_3_0
+ COMPRESSED_RED = 0x8225 # VERSION_3_0
+ COMPRESSED_RG = 0x8226 # VERSION_3_0
+
+VERSION_3_0 enum:
+ use ARB_texture_rg RG
+ use ARB_texture_rg RG_INTEGER
+ use ARB_texture_rg R8
+ use ARB_texture_rg R16
+ use ARB_texture_rg RG8
+ use ARB_texture_rg RG16
+ use ARB_texture_rg R16F
+ use ARB_texture_rg R32F
+ use ARB_texture_rg RG16F
+ use ARB_texture_rg RG32F
+ use ARB_texture_rg R8I
+ use ARB_texture_rg R8UI
+ use ARB_texture_rg R16I
+ use ARB_texture_rg R16UI
+ use ARB_texture_rg R32I
+ use ARB_texture_rg R32UI
+ use ARB_texture_rg RG8I
+ use ARB_texture_rg RG8UI
+ use ARB_texture_rg RG16I
+ use ARB_texture_rg RG16UI
+ use ARB_texture_rg RG32I
+ use ARB_texture_rg RG32UI
+
+ARB_texture_rg enum: (note: no ARB suffixes)
+ RG = 0x8227 # VERSION_3_0 / ARB_trg
+ RG_INTEGER = 0x8228 # VERSION_3_0 / ARB_trg
+ R8 = 0x8229 # VERSION_3_0 / ARB_trg
+ R16 = 0x822A # VERSION_3_0 / ARB_trg
+ RG8 = 0x822B # VERSION_3_0 / ARB_trg
+ RG16 = 0x822C # VERSION_3_0 / ARB_trg
+ R16F = 0x822D # VERSION_3_0 / ARB_trg
+ R32F = 0x822E # VERSION_3_0 / ARB_trg
+ RG16F = 0x822F # VERSION_3_0 / ARB_trg
+ RG32F = 0x8230 # VERSION_3_0 / ARB_trg
+ R8I = 0x8231 # VERSION_3_0 / ARB_trg
+ R8UI = 0x8232 # VERSION_3_0 / ARB_trg
+ R16I = 0x8233 # VERSION_3_0 / ARB_trg
+ R16UI = 0x8234 # VERSION_3_0 / ARB_trg
+ R32I = 0x8235 # VERSION_3_0 / ARB_trg
+ R32UI = 0x8236 # VERSION_3_0 / ARB_trg
+ RG8I = 0x8237 # VERSION_3_0 / ARB_trg
+ RG8UI = 0x8238 # VERSION_3_0 / ARB_trg
+ RG16I = 0x8239 # VERSION_3_0 / ARB_trg
+ RG16UI = 0x823A # VERSION_3_0 / ARB_trg
+ RG32I = 0x823B # VERSION_3_0 / ARB_trg
+ RG32UI = 0x823C # VERSION_3_0 / ARB_trg
+
+# ARB_future_use: 0x823D-0x823F
+
+###############################################################################
+
+# @@@ Any_vendor_future_use: 0x8240-0x82AF (released by Microsoft 2002/9/16)
+
+###############################################################################
+
+# ADD: 0x82B0-0x830F
+
+###############################################################################
+
+SGIX_depth_pass_instrument enum: 0x8310-0x8312
+ DEPTH_PASS_INSTRUMENT_SGIX = 0x8310
+ DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = 0x8311
+ DEPTH_PASS_INSTRUMENT_MAX_SGIX = 0x8312
+
+###############################################################################
+
+SGIX_fragments_instrument enum: 0x8313-0x8315
+ FRAGMENTS_INSTRUMENT_SGIX = 0x8313 # 1 I
+ FRAGMENTS_INSTRUMENT_COUNTERS_SGIX = 0x8314 # 1 I
+ FRAGMENTS_INSTRUMENT_MAX_SGIX = 0x8315 # 1 I
+
+###############################################################################
+
+SGIX_convolution_accuracy enum:
+ CONVOLUTION_HINT_SGIX = 0x8316 # 1 I
+
+###############################################################################
+
+# SGIX_color_matrix_accuracy: 0x8317
+
+###############################################################################
+
+# 0x8318-0x8319
+SGIX_ycrcba enum:
+ YCRCB_SGIX = 0x8318
+ YCRCBA_SGIX = 0x8319
+
+###############################################################################
+
+# 0x831A-0x831F
+SGIX_slim enum:
+ UNPACK_COMPRESSED_SIZE_SGIX = 0x831A
+ PACK_MAX_COMPRESSED_SIZE_SGIX = 0x831B
+ PACK_COMPRESSED_SIZE_SGIX = 0x831C
+ SLIM8U_SGIX = 0x831D
+ SLIM10U_SGIX = 0x831E
+ SLIM12S_SGIX = 0x831F
+
+###############################################################################
+
+SGIX_blend_alpha_minmax enum:
+ ALPHA_MIN_SGIX = 0x8320
+ ALPHA_MAX_SGIX = 0x8321
+
+###############################################################################
+
+SGIX_scalebias_hint enum:
+ SCALEBIAS_HINT_SGIX = 0x8322
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_fog_layers: 0x8323-0x8328
+# FOG_TYPE_SGIX = 0x8323 # 1 I
+# UNIFORM_SGIX = 0x8324
+# LAYERED_SGIX = 0x8325
+# FOG_GROUND_PLANE_SGIX = 0x8326 # 4 F
+# FOG_LAYERS_POINTS_SGIX = 0x8327 # 1 I
+# MAX_FOG_LAYERS_POINTS_SGIX = 0x8328 # 1 I
+
+###############################################################################
+
+SGIX_async enum:
+ ASYNC_MARKER_SGIX = 0x8329
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_texture_phase: 0x832A
+# PHASE_SGIX = 0x832A
+
+###############################################################################
+
+# SGIX_pixel_texture (additional; see above): 0x832B
+
+###############################################################################
+
+SGIX_async_histogram enum:
+ ASYNC_HISTOGRAM_SGIX = 0x832C
+ MAX_ASYNC_HISTOGRAM_SGIX = 0x832D
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_texture_mipmap_anisotropic: 0x832E-0x832F
+# TEXTURE_MIPMAP_ANISOTROPY_SGIX = 0x832E
+# MAX_MIPMAP_ANISOTROPY_SGIX = 0x832F # 1 I
+
+###############################################################################
+
+EXT_pixel_transform enum:
+ PIXEL_TRANSFORM_2D_EXT = 0x8330
+ PIXEL_MAG_FILTER_EXT = 0x8331
+ PIXEL_MIN_FILTER_EXT = 0x8332
+ PIXEL_CUBIC_WEIGHT_EXT = 0x8333
+ CUBIC_EXT = 0x8334
+ AVERAGE_EXT = 0x8335
+ PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336
+ MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337
+ PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338
+
+# SUN_future_use: 0x8339-0x833F
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_cube_map: 0x8340-0x8348
+# ENV_MAP_SGIX = 0x8340
+# CUBE_MAP_SGIX = 0x8341
+# CUBE_MAP_ZP_SGIX = 0x8342
+# CUBE_MAP_ZN_SGIX = 0x8343
+# CUBE_MAP_XN_SGIX = 0x8344
+# CUBE_MAP_XP_SGIX = 0x8345
+# CUBE_MAP_YN_SGIX = 0x8346
+# CUBE_MAP_YP_SGIX = 0x8347
+# CUBE_MAP_BINDING_SGIX = 0x8348 # 1 I
+
+###############################################################################
+
+# Unfortunately, there was a collision promoting to EXT from SGIX.
+# Use fog_coord's value of 0x8452 instead of the previously
+# assigned FRAGMENT_DEPTH_EXT -> 0x834B.
+# EXT_light_texture: 0x8349-0x8352
+EXT_light_texture enum: 0x8349-0x8352
+ FRAGMENT_MATERIAL_EXT = 0x8349
+ FRAGMENT_NORMAL_EXT = 0x834A
+ FRAGMENT_COLOR_EXT = 0x834C
+ ATTENUATION_EXT = 0x834D
+ SHADOW_ATTENUATION_EXT = 0x834E
+ TEXTURE_APPLICATION_MODE_EXT = 0x834F # 1 I
+ TEXTURE_LIGHT_EXT = 0x8350 # 1 I
+ TEXTURE_MATERIAL_FACE_EXT = 0x8351 # 1 I
+ TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352 # 1 I
+ use EXT_fog_coord FRAGMENT_DEPTH_EXT
+
+###############################################################################
+
+SGIS_pixel_texture enum:
+ PIXEL_TEXTURE_SGIS = 0x8353 # 1 I
+ PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354 # 1 I
+ PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355 # 1 I
+ PIXEL_GROUP_COLOR_SGIS = 0x8356 # 1 I
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_pixel_texture_bits: 0x8357-0x8359
+# COLOR_TO_TEXTURE_COORD_SGIX = 0x8357
+# COLOR_BIT_PATTERN_SGIX = 0x8358
+# COLOR_VALUE_SGIX = 0x8359
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_pixel_texture_lod: 0x835A
+# PIXEL_TEX_GEN_LAMBDA_SOURCE_SGIX = 0x835A
+
+###############################################################################
+
+SGIX_line_quality_hint enum:
+ LINE_QUALITY_HINT_SGIX = 0x835B
+
+###############################################################################
+
+SGIX_async_pixel enum:
+ ASYNC_TEX_IMAGE_SGIX = 0x835C
+ ASYNC_DRAW_PIXELS_SGIX = 0x835D
+ ASYNC_READ_PIXELS_SGIX = 0x835E
+ MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F
+ MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360
+ MAX_ASYNC_READ_PIXELS_SGIX = 0x8361
+
+###############################################################################
+
+# EXT_packed_pixels (additional; see above): 0x8362-0x8368
+
+###############################################################################
+
+SGIX_texture_coordinate_clamp enum:
+ TEXTURE_MAX_CLAMP_S_SGIX = 0x8369
+ TEXTURE_MAX_CLAMP_T_SGIX = 0x836A
+ TEXTURE_MAX_CLAMP_R_SGIX = 0x836B
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_fog_texture: 0x836C-0x836E
+# FRAGMENT_FOG_SGIX = 0x836C
+# TEXTURE_FOG_SGIX = 0x836D # 1 I
+# FOG_PATCHY_FACTOR_SGIX = 0x836E
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_fog_factor_to_alpha: 0x836F
+ FOG_FACTOR_TO_ALPHA_SGIX = 0x836F
+
+###############################################################################
+
+# HP: 0x8370-0x837F
+# NOTE: IBM is using values in this range, because of a bobble
+# when Pat Brown left at the same time as I assigned them the
+# next range and their registry became inconsistent. Unknown
+# whether HP has any conflicts as they have never reported using
+# any values in this range.
+
+VERSION_1_4 enum: (Promoted for OpenGL 1.4)
+ MIRRORED_REPEAT = 0x8370
+
+ARB_texture_mirrored_repeat enum:
+ MIRRORED_REPEAT_ARB = 0x8370
+
+IBM_texture_mirrored_repeat enum:
+ MIRRORED_REPEAT_IBM = 0x8370
+
+# Aliases ARB_texture_mirrored_repeat enum above
+OES_texture_mirrored_repeat enum: (OpenGL ES only)
+ MIRRORED_REPEAT_OES = 0x8370
+
+###############################################################################
+
+# IBM: 0x8380-0x839F
+
+###############################################################################
+
+# S3: 0x83A0-0x83BF
+
+S3_s3tc enum:
+ RGB_S3TC = 0x83A0
+ RGB4_S3TC = 0x83A1
+ RGBA_S3TC = 0x83A2
+ RGBA4_S3TC = 0x83A3
+
+# S3_future_use: 0x83A4-0x83BF
+
+###############################################################################
+
+# Obsolete extension, never to be put in enumext.spec
+# SGIS_multitexture: 0x83C0-0x83E5
+# SELECTED_TEXTURE_SGIS = 0x83C0 # 1 I
+# SELECTED_TEXTURE_COORD_SET_SGIS = 0x83C1 # 1 I
+# SELECTED_TEXTURE_TRANSFORM_SGIS = 0x83C2 # 1 I
+# MAX_TEXTURES_SGIS = 0x83C3 # 1 I
+# MAX_TEXTURE_COORD_SETS_SGIS = 0x83C4 # 1 I
+# TEXTURE_COORD_SET_INTERLEAVE_FACTOR_SGIS = 0x83C5 # 1 I
+# TEXTURE_ENV_COORD_SET_SGIS = 0x83C6
+# TEXTURE0_SGIS = 0x83C7
+# TEXTURE1_SGIS = 0x83C8
+# TEXTURE2_SGIS = 0x83C9
+# TEXTURE3_SGIS = 0x83CA
+#
+# SGIS_multitexture_future_use: 0x83CB-0x83E5
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_bali_g_instruments: 0x83E6-0x83E9
+# BALI_NUM_TRIS_CULLED_INSTRUMENT_SGIX = 0x83E6 # 1 I
+# BALI_NUM_PRIMS_CLIPPED_INSTRUMENT_SGIX = 0x83E7 # 1 I
+# BALI_NUM_PRIMS_REJECT_INSTRUMENT_SGIX = 0x83E8 # 1 I
+# BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT_SGIX = 0x83E9 # 1 I
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_bali_r_instruments: 0x83EA-0x83EC
+# BALI_FRAGMENTS_GENERATED_INSTRUMENT_SGIX = 0x83EA # 1 I
+# BALI_DEPTH_PASS_INSTRUMENT_SGIX = 0x83EB # 1 I
+# BALI_R_CHIP_COUNT_SGIX = 0x83EC # 1 I
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_occlusion_instrument: 0x83ED
+# OCCLUSION_INSTRUMENT_SGIX = 0x83ED # 1 I
+
+###############################################################################
+
+SGIX_vertex_preclip enum:
+ VERTEX_PRECLIP_SGIX = 0x83EE
+ VERTEX_PRECLIP_HINT_SGIX = 0x83EF
+
+###############################################################################
+
+# INTEL: 0x83F0-0x83FF
+# Note that this block was reclaimed from NTP, who never shipped it,
+# and reassigned to Intel.
+
+EXT_texture_compression_s3tc enum:
+ COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0
+ COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1
+ COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2
+ COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3
+
+INTEL_parallel_arrays enum:
+ PARALLEL_ARRAYS_INTEL = 0x83F4
+ VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5
+ NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F6
+ COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F7
+ TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F8
+
+# INTEL_future_use: 0x83F9-0x83FF
+
+###############################################################################
+
+SGIX_fragment_lighting enum:
+ FRAGMENT_LIGHTING_SGIX = 0x8400 # 1 I
+ FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401 # 1 I
+ FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402 # 1 I
+ FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403 # 1 I
+ MAX_FRAGMENT_LIGHTS_SGIX = 0x8404 # 1 I
+ MAX_ACTIVE_LIGHTS_SGIX = 0x8405 # 1 I
+ CURRENT_RASTER_NORMAL_SGIX = 0x8406 # 1 I
+ LIGHT_ENV_MODE_SGIX = 0x8407 # 1 I
+ FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408 # 1 I
+ FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409 # 1 I
+ FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A # 4 F
+ FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B # 1 I
+ FRAGMENT_LIGHT0_SGIX = 0x840C # 1 I
+ FRAGMENT_LIGHT1_SGIX = 0x840D
+ FRAGMENT_LIGHT2_SGIX = 0x840E
+ FRAGMENT_LIGHT3_SGIX = 0x840F
+ FRAGMENT_LIGHT4_SGIX = 0x8410
+ FRAGMENT_LIGHT5_SGIX = 0x8411
+ FRAGMENT_LIGHT6_SGIX = 0x8412
+ FRAGMENT_LIGHT7_SGIX = 0x8413
+
+# SGIX_fragment_lighting_future_use: 0x8414-0x842B
+
+###############################################################################
+
+SGIX_resample enum:
+ PACK_RESAMPLE_SGIX = 0x842C
+ UNPACK_RESAMPLE_SGIX = 0x842D
+ RESAMPLE_REPLICATE_SGIX = 0x842E
+ RESAMPLE_ZERO_FILL_SGIX = 0x842F
+ RESAMPLE_DECIMATE_SGIX = 0x8430
+
+# SGIX_resample_future_use: 0x8431-0x8435
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_fragment_lighting_space: 0x8436-0x8449
+# EYE_SPACE_SGIX = 0x8436
+# TANGENT_SPACE_SGIX = 0x8437
+# OBJECT_SPACE_SGIX = 0x8438
+# TANGENT_ARRAY_SGIX = 0x8439
+# BINORMAL_ARRAY_SGIX = 0x843A
+# CURRENT_TANGENT_SGIX = 0x843B # 3 F
+# CURRENT_BINORMAL_SGIX = 0x843C # 3 F
+# FRAGMENT_LIGHT_SPACE_SGIX = 0x843D # 1 I
+# TANGENT_ARRAY_TYPE_SGIX = 0x843E
+# TANGENT_ARRAY_STRIDE_SGIX = 0x843F
+# TANGENT_ARRAY_COUNT_SGIX = 0x8440
+# BINORMAL_ARRAY_TYPE_SGIX = 0x8441
+# BINORMAL_ARRAY_STRIDE_SGIX = 0x8442
+# BINORMAL_ARRAY_COUNT_SGIX = 0x8443
+# TANGENT_ARRAY_POINTER_SGIX = 0x8444
+# BINORMAL_ARRAY_POINTER_SGIX = 0x8445
+# MAP1_TANGENT_SGIX = 0x8446
+# MAP2_TANGENT_SGIX = 0x8447
+# MAP1_BINORMAL_SGIX = 0x8448
+# MAP2_BINORMAL_SGIX = 0x8449
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_bali_timer_instruments: 0x844A-0x844C
+# BALI_GEOM_TIMER_INSTRUMENT_SGIX = 0x844A # 1 I
+# BALI_RASTER_TIMER_INSTRUMENT_SGIX = 0x844B # 1 I
+# BALI_INSTRUMENT_TIME_UNIT_SGIX = 0x844C # 1 I
+
+###############################################################################
+
+# SGIX_clipmap (additional; see above): 0x844D-0x844F
+
+###############################################################################
+
+# SGI (actually brokered for Id Software): 0x8450-0x845F
+
+VERSION_1_5 enum: (Consistent naming scheme for OpenGL 1.5)
+ FOG_COORD_SRC = 0x8450 # alias GL_FOG_COORDINATE_SOURCE
+ FOG_COORD = 0x8451 # alias GL_FOG_COORDINATE
+ CURRENT_FOG_COORD = 0x8453 # alias GL_CURRENT_FOG_COORDINATE
+ FOG_COORD_ARRAY_TYPE = 0x8454 # alias GL_FOG_COORDINATE_ARRAY_TYPE
+ FOG_COORD_ARRAY_STRIDE = 0x8455 # alias GL_FOG_COORDINATE_ARRAY_STRIDE
+ FOG_COORD_ARRAY_POINTER = 0x8456 # alias GL_FOG_COORDINATE_ARRAY_POINTER
+ FOG_COORD_ARRAY = 0x8457 # alias GL_FOG_COORDINATE_ARRAY
+
+VERSION_1_4 enum: (Promoted for OpenGL 1.4)
+ FOG_COORDINATE_SOURCE = 0x8450 # 1 I
+ FOG_COORDINATE = 0x8451
+ FRAGMENT_DEPTH = 0x8452
+ CURRENT_FOG_COORDINATE = 0x8453 # 1 F
+ FOG_COORDINATE_ARRAY_TYPE = 0x8454 # 1 I
+ FOG_COORDINATE_ARRAY_STRIDE = 0x8455 # 1 I
+ FOG_COORDINATE_ARRAY_POINTER = 0x8456
+ FOG_COORDINATE_ARRAY = 0x8457 # 1 I
+
+EXT_fog_coord enum:
+ FOG_COORDINATE_SOURCE_EXT = 0x8450 # 1 I
+ FOG_COORDINATE_EXT = 0x8451
+ FRAGMENT_DEPTH_EXT = 0x8452
+ CURRENT_FOG_COORDINATE_EXT = 0x8453 # 1 F
+ FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454 # 1 I
+ FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455 # 1 I
+ FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456
+ FOG_COORDINATE_ARRAY_EXT = 0x8457 # 1 I
+
+VERSION_1_4 enum: (Promoted for OpenGL 1.4)
+ COLOR_SUM = 0x8458 # 1 I
+ CURRENT_SECONDARY_COLOR = 0x8459 # 3 F
+ SECONDARY_COLOR_ARRAY_SIZE = 0x845A # 1 I
+ SECONDARY_COLOR_ARRAY_TYPE = 0x845B # 1 I
+ SECONDARY_COLOR_ARRAY_STRIDE = 0x845C # 1 I
+ SECONDARY_COLOR_ARRAY_POINTER = 0x845D
+ SECONDARY_COLOR_ARRAY = 0x845E # 1 I
+
+EXT_secondary_color enum:
+ COLOR_SUM_EXT = 0x8458 # 1 I
+ CURRENT_SECONDARY_COLOR_EXT = 0x8459 # 3 F
+ SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A # 1 I
+ SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B # 1 I
+ SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C # 1 I
+ SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D
+ SECONDARY_COLOR_ARRAY_EXT = 0x845E # 1 I
+
+ARB_vertex_program enum:
+ COLOR_SUM_ARB = 0x8458 # 1 I # ARB_vertex_program
+
+VERSION_2_1 enum:
+ CURRENT_RASTER_SECONDARY_COLOR = 0x845F
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+SGIX_icc_texture enum:
+# RGB_ICC_SGIX = 0x8460
+# RGBA_ICC_SGIX = 0x8461
+# ALPHA_ICC_SGIX = 0x8462
+# LUMINANCE_ICC_SGIX = 0x8463
+# INTENSITY_ICC_SGIX = 0x8464
+# LUMINANCE_ALPHA_ICC_SGIX = 0x8465
+# R5_G6_B5_ICC_SGIX = 0x8466
+# R5_G6_B5_A8_ICC_SGIX = 0x8467
+# ALPHA16_ICC_SGIX = 0x8468
+# LUMINANCE16_ICC_SGIX = 0x8469
+# INTENSITY16_ICC_SGIX = 0x846A
+# LUMINANCE16_ALPHA8_ICC_SGIX = 0x846B
+
+###############################################################################
+
+# SGI_future_use: 0x846C
+
+###############################################################################
+
+# SMOOTH_* enums are new names for pre-1.2 enums.
+VERSION_1_2 enum:
+ SMOOTH_POINT_SIZE_RANGE = 0x0B12 # 2 F
+ SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13 # 1 F
+ SMOOTH_LINE_WIDTH_RANGE = 0x0B22 # 2 F
+ SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23 # 1 F
+ ALIASED_POINT_SIZE_RANGE = 0x846D # 2 F
+ ALIASED_LINE_WIDTH_RANGE = 0x846E # 2 F
+
+###############################################################################
+
+# SGI_future_use: 0x846F
+
+###############################################################################
+
+# ATI Technologies (vendor multitexture, spec not yet released): 0x8470-0x848F
+
+###############################################################################
+
+# REND (Rendition): 0x8490-0x849F
+
+REND_screen_coordinates enum:
+ SCREEN_COORDINATES_REND = 0x8490
+ INVERTED_SCREEN_W_REND = 0x8491
+
+###############################################################################
+
+# ATI Technologies (vendor multitexture, spec not yet released): 0x84A0-84BF
+
+###############################################################################
+
+# OpenGL ARB: 0x84C0-0x84EF
+
+VERSION_1_3 enum: (Promoted for OpenGL 1.3)
+ TEXTURE0 = 0x84C0
+ TEXTURE1 = 0x84C1
+ TEXTURE2 = 0x84C2
+ TEXTURE3 = 0x84C3
+ TEXTURE4 = 0x84C4
+ TEXTURE5 = 0x84C5
+ TEXTURE6 = 0x84C6
+ TEXTURE7 = 0x84C7
+ TEXTURE8 = 0x84C8
+ TEXTURE9 = 0x84C9
+ TEXTURE10 = 0x84CA
+ TEXTURE11 = 0x84CB
+ TEXTURE12 = 0x84CC
+ TEXTURE13 = 0x84CD
+ TEXTURE14 = 0x84CE
+ TEXTURE15 = 0x84CF
+ TEXTURE16 = 0x84D0
+ TEXTURE17 = 0x84D1
+ TEXTURE18 = 0x84D2
+ TEXTURE19 = 0x84D3
+ TEXTURE20 = 0x84D4
+ TEXTURE21 = 0x84D5
+ TEXTURE22 = 0x84D6
+ TEXTURE23 = 0x84D7
+ TEXTURE24 = 0x84D8
+ TEXTURE25 = 0x84D9
+ TEXTURE26 = 0x84DA
+ TEXTURE27 = 0x84DB
+ TEXTURE28 = 0x84DC
+ TEXTURE29 = 0x84DD
+ TEXTURE30 = 0x84DE
+ TEXTURE31 = 0x84DF
+ ACTIVE_TEXTURE = 0x84E0 # 1 I
+ CLIENT_ACTIVE_TEXTURE = 0x84E1 # 1 I
+ MAX_TEXTURE_UNITS = 0x84E2 # 1 I
+
+ARB_multitexture enum:
+ TEXTURE0_ARB = 0x84C0
+ TEXTURE1_ARB = 0x84C1
+ TEXTURE2_ARB = 0x84C2
+ TEXTURE3_ARB = 0x84C3
+ TEXTURE4_ARB = 0x84C4
+ TEXTURE5_ARB = 0x84C5
+ TEXTURE6_ARB = 0x84C6
+ TEXTURE7_ARB = 0x84C7
+ TEXTURE8_ARB = 0x84C8
+ TEXTURE9_ARB = 0x84C9
+ TEXTURE10_ARB = 0x84CA
+ TEXTURE11_ARB = 0x84CB
+ TEXTURE12_ARB = 0x84CC
+ TEXTURE13_ARB = 0x84CD
+ TEXTURE14_ARB = 0x84CE
+ TEXTURE15_ARB = 0x84CF
+ TEXTURE16_ARB = 0x84D0
+ TEXTURE17_ARB = 0x84D1
+ TEXTURE18_ARB = 0x84D2
+ TEXTURE19_ARB = 0x84D3
+ TEXTURE20_ARB = 0x84D4
+ TEXTURE21_ARB = 0x84D5
+ TEXTURE22_ARB = 0x84D6
+ TEXTURE23_ARB = 0x84D7
+ TEXTURE24_ARB = 0x84D8
+ TEXTURE25_ARB = 0x84D9
+ TEXTURE26_ARB = 0x84DA
+ TEXTURE27_ARB = 0x84DB
+ TEXTURE28_ARB = 0x84DC
+ TEXTURE29_ARB = 0x84DD
+ TEXTURE30_ARB = 0x84DE
+ TEXTURE31_ARB = 0x84DF
+ ACTIVE_TEXTURE_ARB = 0x84E0 # 1 I
+ CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1 # 1 I
+ MAX_TEXTURE_UNITS_ARB = 0x84E2 # 1 I
+
+# These are really core ES 1.1 enums, but haven't included
+# ES core enums in enum.spec yet
+OES_texture_env_crossbar enum: (OpenGL ES only)
+ use VERSION_1_3 TEXTURE0
+ use VERSION_1_3 TEXTURE1
+ use VERSION_1_3 TEXTURE2
+ use VERSION_1_3 TEXTURE3
+ use VERSION_1_3 TEXTURE4
+ use VERSION_1_3 TEXTURE5
+ use VERSION_1_3 TEXTURE6
+ use VERSION_1_3 TEXTURE7
+ use VERSION_1_3 TEXTURE8
+ use VERSION_1_3 TEXTURE9
+ use VERSION_1_3 TEXTURE10
+ use VERSION_1_3 TEXTURE11
+ use VERSION_1_3 TEXTURE12
+ use VERSION_1_3 TEXTURE13
+ use VERSION_1_3 TEXTURE14
+ use VERSION_1_3 TEXTURE15
+ use VERSION_1_3 TEXTURE16
+ use VERSION_1_3 TEXTURE17
+ use VERSION_1_3 TEXTURE18
+ use VERSION_1_3 TEXTURE19
+ use VERSION_1_3 TEXTURE20
+ use VERSION_1_3 TEXTURE21
+ use VERSION_1_3 TEXTURE22
+ use VERSION_1_3 TEXTURE23
+ use VERSION_1_3 TEXTURE24
+ use VERSION_1_3 TEXTURE25
+ use VERSION_1_3 TEXTURE26
+ use VERSION_1_3 TEXTURE27
+ use VERSION_1_3 TEXTURE28
+ use VERSION_1_3 TEXTURE29
+ use VERSION_1_3 TEXTURE30
+ use VERSION_1_3 TEXTURE31
+
+###############################################################################
+
+VERSION_1_3 enum: (Promoted for OpenGL 1.3)
+ TRANSPOSE_MODELVIEW_MATRIX = 0x84E3 # 16 F
+ TRANSPOSE_PROJECTION_MATRIX = 0x84E4 # 16 F
+ TRANSPOSE_TEXTURE_MATRIX = 0x84E5 # 16 F
+ TRANSPOSE_COLOR_MATRIX = 0x84E6 # 16 F
+
+ARB_transpose_matrix enum:
+ TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3 # 16 F
+ TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4 # 16 F
+ TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5 # 16 F
+ TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6 # 16 F
+
+VERSION_1_3 enum: (Promoted for OpenGL 1.3)
+ SUBTRACT = 0x84E7
+
+ARB_texture_env_combine enum:
+ SUBTRACT_ARB = 0x84E7
+
+VERSION_3_0 enum:
+ use ARB_framebuffer_object MAX_RENDERBUFFER_SIZE
+
+ARB_framebuffer_object enum: (note: no ARB suffixes)
+ MAX_RENDERBUFFER_SIZE = 0x84E8 # VERSION_3_0 / ARB_fbo
+
+EXT_framebuffer_object enum: (additional; see below):
+ MAX_RENDERBUFFER_SIZE_EXT = 0x84E8
+
+# Aliases EXT_framebuffer_object enum above
+OES_framebuffer_object enum: (OpenGL ES only; additional; see below)
+ MAX_RENDERBUFFER_SIZE_OES = 0x84E8
+
+VERSION_1_3 enum: (Promoted for OpenGL 1.3)
+ COMPRESSED_ALPHA = 0x84E9
+ COMPRESSED_LUMINANCE = 0x84EA
+ COMPRESSED_LUMINANCE_ALPHA = 0x84EB
+ COMPRESSED_INTENSITY = 0x84EC
+ COMPRESSED_RGB = 0x84ED
+ COMPRESSED_RGBA = 0x84EE
+ TEXTURE_COMPRESSION_HINT = 0x84EF
+ TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0
+ TEXTURE_COMPRESSED = 0x86A1
+ NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2
+ COMPRESSED_TEXTURE_FORMATS = 0x86A3
+
+ARB_texture_compression enum:
+ COMPRESSED_ALPHA_ARB = 0x84E9
+ COMPRESSED_LUMINANCE_ARB = 0x84EA
+ COMPRESSED_LUMINANCE_ALPHA_ARB = 0x84EB
+ COMPRESSED_INTENSITY_ARB = 0x84EC
+ COMPRESSED_RGB_ARB = 0x84ED
+ COMPRESSED_RGBA_ARB = 0x84EE
+ TEXTURE_COMPRESSION_HINT_ARB = 0x84EF
+ TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 0x86A0
+ TEXTURE_COMPRESSED_ARB = 0x86A1
+ NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2
+ COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3
+
+###############################################################################
+
+# NVIDIA: 0x84F0-0x855F
+
+# NV_future_use: 0x84F0-0x84F1
+
+NV_fence enum:
+ ALL_COMPLETED_NV = 0x84F2
+ FENCE_STATUS_NV = 0x84F3
+ FENCE_CONDITION_NV = 0x84F4
+
+VERSION_3_1 enum:
+ TEXTURE_RECTANGLE = 0x84F5
+ TEXTURE_BINDING_RECTANGLE = 0x84F6
+ PROXY_TEXTURE_RECTANGLE = 0x84F7
+ MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8
+
+ARB_texture_rectangle enum:
+ TEXTURE_RECTANGLE_ARB = 0x84F5
+ TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6
+ PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7
+ MAX_RECTANGLE_TEXTURE_SIZE_ARB = 0x84F8
+
+NV_texture_rectangle enum:
+ TEXTURE_RECTANGLE_NV = 0x84F5
+ TEXTURE_BINDING_RECTANGLE_NV = 0x84F6
+ PROXY_TEXTURE_RECTANGLE_NV = 0x84F7
+ MAX_RECTANGLE_TEXTURE_SIZE_NV = 0x84F8
+
+VERSION_3_0 enum:
+ use ARB_framebuffer_object DEPTH_STENCIL
+ use ARB_framebuffer_object UNSIGNED_INT_24_8
+
+ARB_framebuffer_object enum: (note: no ARB suffixes)
+ DEPTH_STENCIL = 0x84F9 # VERSION_3_0 / ARB_fbo
+ UNSIGNED_INT_24_8 = 0x84FA # VERSION_3_0 / ARB_fbo
+
+EXT_packed_depth_stencil enum:
+ DEPTH_STENCIL_EXT = 0x84F9
+ UNSIGNED_INT_24_8_EXT = 0x84FA
+
+NV_packed_depth_stencil enum:
+ DEPTH_STENCIL_NV = 0x84F9
+ UNSIGNED_INT_24_8_NV = 0x84FA
+
+# Aliases EXT_packed_depth_stencil enums above
+OES_packed_depth_stencil enum: (OpenGL ES only)
+ DEPTH_STENCIL_OES = 0x84F9
+ UNSIGNED_INT_24_8_OES = 0x84FA
+
+# NV_future_use: 0x84FB-0x84FC
+
+VERSION_1_4 enum: (Promoted for OpenGL 1.4)
+ MAX_TEXTURE_LOD_BIAS = 0x84FD
+
+EXT_texture_lod_bias enum:
+ MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD
+
+EXT_texture_filter_anisotropic enum:
+ TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE
+ MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF
+
+VERSION_1_4 enum: (Promoted for OpenGL 1.4)
+ TEXTURE_FILTER_CONTROL = 0x8500
+ TEXTURE_LOD_BIAS = 0x8501
+
+EXT_texture_lod_bias enum:
+ TEXTURE_FILTER_CONTROL_EXT = 0x8500
+ TEXTURE_LOD_BIAS_EXT = 0x8501
+
+EXT_vertex_weighting enum:
+ MODELVIEW1_STACK_DEPTH_EXT = 0x8502
+
+# NV_texture_env_combine4 (additional; see below): 0x8503
+
+NV_light_max_exponent enum:
+ MAX_SHININESS_NV = 0x8504
+ MAX_SPOT_EXPONENT_NV = 0x8505
+
+EXT_vertex_weighting enum:
+ MODELVIEW_MATRIX1_EXT = 0x8506
+
+VERSION_1_4 enum: (Promoted for OpenGL 1.4)
+ INCR_WRAP = 0x8507
+ DECR_WRAP = 0x8508
+
+EXT_stencil_wrap enum:
+ INCR_WRAP_EXT = 0x8507
+ DECR_WRAP_EXT = 0x8508
+
+# Aliases EXT_stencil_wrap enums above
+OES_stencil_wrap enum: (OpenGL ES only)
+ INCR_WRAP_OES = 0x8507
+ DECR_WRAP_OES = 0x8508
+
+EXT_vertex_weighting enum:
+ VERTEX_WEIGHTING_EXT = 0x8509
+ MODELVIEW1_EXT = 0x850A
+ CURRENT_VERTEX_WEIGHT_EXT = 0x850B
+ VERTEX_WEIGHT_ARRAY_EXT = 0x850C
+ VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D
+ VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E
+ VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F
+ VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510
+
+VERSION_1_3 enum: (Promoted for OpenGL 1.3)
+ NORMAL_MAP = 0x8511
+ REFLECTION_MAP = 0x8512
+ TEXTURE_CUBE_MAP = 0x8513
+ TEXTURE_BINDING_CUBE_MAP = 0x8514
+ TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515
+ TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516
+ TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517
+ TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518
+ TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519
+ TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A
+ PROXY_TEXTURE_CUBE_MAP = 0x851B
+ MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C
+
+EXT_texture_cube_map enum:
+ NORMAL_MAP_EXT = 0x8511
+ REFLECTION_MAP_EXT = 0x8512
+ TEXTURE_CUBE_MAP_EXT = 0x8513
+ TEXTURE_BINDING_CUBE_MAP_EXT = 0x8514
+ TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 0x8515
+ TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 0x8516
+ TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 0x8517
+ TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 0x8518
+ TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 0x8519
+ TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 0x851A
+ PROXY_TEXTURE_CUBE_MAP_EXT = 0x851B
+ MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C
+
+NV_texgen_reflection enum:
+ NORMAL_MAP = 0x8511
+ REFLECTION_MAP = 0x8512
+
+ARB_texture_cube_map enum:
+ NORMAL_MAP_ARB = 0x8511
+ REFLECTION_MAP_ARB = 0x8512
+ TEXTURE_CUBE_MAP_ARB = 0x8513
+ TEXTURE_BINDING_CUBE_MAP_ARB = 0x8514
+ TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x8515
+ TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x8516
+ TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x8517
+ TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x8518
+ TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x8519
+ TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x851A
+ PROXY_TEXTURE_CUBE_MAP_ARB = 0x851B
+ MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C
+
+# Aliases ARB_texture_cube_map enums above
+OES_texture_cube_map enum: (OpenGL ES only; additional; see below)
+ NORMAL_MAP_OES = 0x8511
+ REFLECTION_MAP_OES = 0x8512
+ TEXTURE_CUBE_MAP_OES = 0x8513
+ TEXTURE_BINDING_CUBE_MAP_OES = 0x8514
+ TEXTURE_CUBE_MAP_POSITIVE_X_OES = 0x8515
+ TEXTURE_CUBE_MAP_NEGATIVE_X_OES = 0x8516
+ TEXTURE_CUBE_MAP_POSITIVE_Y_OES = 0x8517
+ TEXTURE_CUBE_MAP_NEGATIVE_Y_OES = 0x8518
+ TEXTURE_CUBE_MAP_POSITIVE_Z_OES = 0x8519
+ TEXTURE_CUBE_MAP_NEGATIVE_Z_OES = 0x851A
+ MAX_CUBE_MAP_TEXTURE_SIZE_OES = 0x851C
+
+NV_vertex_array_range enum:
+ VERTEX_ARRAY_RANGE_NV = 0x851D
+ VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E
+ VERTEX_ARRAY_RANGE_VALID_NV = 0x851F
+ MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520
+ VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521
+
+# @@@ How does this interact with NV_vertex_array_range?
+APPLE_vertex_array_range enum:
+ VERTEX_ARRAY_RANGE_APPLE = 0x851D
+ VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E
+ VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F
+ VERTEX_ARRAY_RANGE_POINTER_APPLE = 0x8521
+ STORAGE_CACHED_APPLE = 0x85BE
+ STORAGE_SHARED_APPLE = 0x85BF
+
+NV_register_combiners enum:
+ REGISTER_COMBINERS_NV = 0x8522
+ VARIABLE_A_NV = 0x8523
+ VARIABLE_B_NV = 0x8524
+ VARIABLE_C_NV = 0x8525
+ VARIABLE_D_NV = 0x8526
+ VARIABLE_E_NV = 0x8527
+ VARIABLE_F_NV = 0x8528
+ VARIABLE_G_NV = 0x8529
+ CONSTANT_COLOR0_NV = 0x852A
+ CONSTANT_COLOR1_NV = 0x852B
+ PRIMARY_COLOR_NV = 0x852C
+ SECONDARY_COLOR_NV = 0x852D
+ SPARE0_NV = 0x852E
+ SPARE1_NV = 0x852F
+ DISCARD_NV = 0x8530
+ E_TIMES_F_NV = 0x8531
+ SPARE0_PLUS_SECONDARY_COLOR_NV = 0x8532
+
+# NV_vertex_array_range2:
+ VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533
+
+# NV_multisample_filter_hint:
+ MULTISAMPLE_FILTER_HINT_NV = 0x8534
+
+NV_register_combiners2 enum:
+ PER_STAGE_CONSTANTS_NV = 0x8535
+
+NV_register_combiners enum: (additional; see above):
+ UNSIGNED_IDENTITY_NV = 0x8536
+ UNSIGNED_INVERT_NV = 0x8537
+ EXPAND_NORMAL_NV = 0x8538
+ EXPAND_NEGATE_NV = 0x8539
+ HALF_BIAS_NORMAL_NV = 0x853A
+ HALF_BIAS_NEGATE_NV = 0x853B
+ SIGNED_IDENTITY_NV = 0x853C
+ UNSIGNED_NEGATE_NV = 0x853D
+ SCALE_BY_TWO_NV = 0x853E
+ SCALE_BY_FOUR_NV = 0x853F
+ SCALE_BY_ONE_HALF_NV = 0x8540
+ BIAS_BY_NEGATIVE_ONE_HALF_NV = 0x8541
+ COMBINER_INPUT_NV = 0x8542
+ COMBINER_MAPPING_NV = 0x8543
+ COMBINER_COMPONENT_USAGE_NV = 0x8544
+ COMBINER_AB_DOT_PRODUCT_NV = 0x8545
+ COMBINER_CD_DOT_PRODUCT_NV = 0x8546
+ COMBINER_MUX_SUM_NV = 0x8547
+ COMBINER_SCALE_NV = 0x8548
+ COMBINER_BIAS_NV = 0x8549
+ COMBINER_AB_OUTPUT_NV = 0x854A
+ COMBINER_CD_OUTPUT_NV = 0x854B
+ COMBINER_SUM_OUTPUT_NV = 0x854C
+ MAX_GENERAL_COMBINERS_NV = 0x854D
+ NUM_GENERAL_COMBINERS_NV = 0x854E
+ COLOR_SUM_CLAMP_NV = 0x854F
+ COMBINER0_NV = 0x8550
+ COMBINER1_NV = 0x8551
+ COMBINER2_NV = 0x8552
+ COMBINER3_NV = 0x8553
+ COMBINER4_NV = 0x8554
+ COMBINER5_NV = 0x8555
+ COMBINER6_NV = 0x8556
+ COMBINER7_NV = 0x8557
+
+
+NV_primitive_restart enum:
+ PRIMITIVE_RESTART_NV = 0x8558
+ PRIMITIVE_RESTART_INDEX_NV = 0x8559
+
+NV_fog_distance enum:
+ FOG_GEN_MODE_NV = 0x855A
+ EYE_RADIAL_NV = 0x855B
+ EYE_PLANE_ABSOLUTE_NV = 0x855C
+
+NV_texgen_emboss enum:
+ EMBOSS_LIGHT_NV = 0x855D
+ EMBOSS_CONSTANT_NV = 0x855E
+ EMBOSS_MAP_NV = 0x855F
+
+###############################################################################
+
+# Intergraph/Intense3D/3Dlabs: 0x8560-0x856F
+
+INGR_color_clamp enum:
+ RED_MIN_CLAMP_INGR = 0x8560
+ GREEN_MIN_CLAMP_INGR = 0x8561
+ BLUE_MIN_CLAMP_INGR = 0x8562
+ ALPHA_MIN_CLAMP_INGR = 0x8563
+ RED_MAX_CLAMP_INGR = 0x8564
+ GREEN_MAX_CLAMP_INGR = 0x8565
+ BLUE_MAX_CLAMP_INGR = 0x8566
+ ALPHA_MAX_CLAMP_INGR = 0x8567
+
+INGR_interlace_read enum:
+ INTERLACE_READ_INGR = 0x8568
+
+# 3Dlabs_future_use: 0x8569-0x856F
+
+###############################################################################
+
+# ATI/NVIDIA: 0x8570-0x859F
+
+VERSION_1_5 enum: (Consistent naming scheme for OpenGL 1.5)
+ SRC0_RGB = 0x8580 # alias GL_SOURCE0_RGB
+ SRC1_RGB = 0x8581 # alias GL_SOURCE1_RGB
+ SRC2_RGB = 0x8582 # alias GL_SOURCE2_RGB
+ SRC0_ALPHA = 0x8588 # alias GL_SOURCE0_ALPHA
+ SRC1_ALPHA = 0x8589 # alias GL_SOURCE1_ALPHA
+ SRC2_ALPHA = 0x858A # alias GL_SOURCE2_ALPHA
+
+VERSION_1_3 enum: (Promoted for OpenGL 1.3)
+ COMBINE = 0x8570
+ COMBINE_RGB = 0x8571
+ COMBINE_ALPHA = 0x8572
+ RGB_SCALE = 0x8573
+ ADD_SIGNED = 0x8574
+ INTERPOLATE = 0x8575
+ CONSTANT = 0x8576
+ PRIMARY_COLOR = 0x8577
+ PREVIOUS = 0x8578
+ SOURCE0_RGB = 0x8580
+ SOURCE1_RGB = 0x8581
+ SOURCE2_RGB = 0x8582
+ SOURCE0_ALPHA = 0x8588
+ SOURCE1_ALPHA = 0x8589
+ SOURCE2_ALPHA = 0x858A
+ OPERAND0_RGB = 0x8590
+ OPERAND1_RGB = 0x8591
+ OPERAND2_RGB = 0x8592
+ OPERAND0_ALPHA = 0x8598
+ OPERAND1_ALPHA = 0x8599
+ OPERAND2_ALPHA = 0x859A
+
+EXT_texture_env_combine enum:
+ COMBINE_EXT = 0x8570
+ COMBINE_RGB_EXT = 0x8571
+ COMBINE_ALPHA_EXT = 0x8572
+ RGB_SCALE_EXT = 0x8573
+ ADD_SIGNED_EXT = 0x8574
+ INTERPOLATE_EXT = 0x8575
+ CONSTANT_EXT = 0x8576
+ PRIMARY_COLOR_EXT = 0x8577
+ PREVIOUS_EXT = 0x8578
+ SOURCE0_RGB_EXT = 0x8580
+ SOURCE1_RGB_EXT = 0x8581
+ SOURCE2_RGB_EXT = 0x8582
+ SOURCE0_ALPHA_EXT = 0x8588
+ SOURCE1_ALPHA_EXT = 0x8589
+ SOURCE2_ALPHA_EXT = 0x858A
+ OPERAND0_RGB_EXT = 0x8590
+ OPERAND1_RGB_EXT = 0x8591
+ OPERAND2_RGB_EXT = 0x8592
+ OPERAND0_ALPHA_EXT = 0x8598
+ OPERAND1_ALPHA_EXT = 0x8599
+ OPERAND2_ALPHA_EXT = 0x859A
+
+NV_texture_env_combine4 enum:
+ COMBINE4_NV = 0x8503
+ SOURCE3_RGB_NV = 0x8583
+ SOURCE3_ALPHA_NV = 0x858B
+ OPERAND3_RGB_NV = 0x8593
+ OPERAND3_ALPHA_NV = 0x859B
+
+# "Future use" => "additional combiner input/output enums" only
+# ATI/NVIDIA_future_use: 0x8584-0x8587
+# ATI/NVIDIA_future_use: 0x858C-0x858F
+# ATI/NVIDIA_future_use: 0x8594-0x8597
+# ATI/NVIDIA_future_use: 0x859C-0x859F
+
+###############################################################################
+
+SGIX_subsample enum:
+ PACK_SUBSAMPLE_RATE_SGIX = 0x85A0
+ UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1
+ PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2
+ PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3
+ PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIS_color_range: 0x85A5-0x85AD
+# EXTENDED_RANGE_SGIS = 0x85A5
+# MIN_RED_SGIS = 0x85A6
+# MAX_RED_SGIS = 0x85A7
+# MIN_GREEN_SGIS = 0x85A8
+# MAX_GREEN_SGIS = 0x85A9
+# MIN_BLUE_SGIS = 0x85AA
+# MAX_BLUE_SGIS = 0x85AB
+# MIN_ALPHA_SGIS = 0x85AC
+# MAX_ALPHA_SGIS = 0x85AD
+
+###############################################################################
+
+EXT_texture_perturb_normal enum:
+ PERTURB_EXT = 0x85AE
+ TEXTURE_NORMAL_EXT = 0x85AF
+
+###############################################################################
+
+# Apple: 0x85B0-0x85BF
+
+APPLE_specular_vector enum:
+ LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0
+
+APPLE_transform_hint enum:
+ TRANSFORM_HINT_APPLE = 0x85B1
+
+APPLE_client_storage enum:
+ UNPACK_CLIENT_STORAGE_APPLE = 0x85B2
+
+# May also be part of APPLE_fence
+APPLE_object_purgeable enum: (additional; see below)
+ BUFFER_OBJECT_APPLE = 0x85B3
+
+# APPLE_future_use: 0x85B4
+
+## From Jeremy 2006/10/18 (Bugzilla bug 632) - unknown extension name
+# STORAGE_CLIENT_APPLE = 0x85B4
+
+VERSION_3_0 enum:
+ use ARB_vertex_array_object VERTEX_ARRAY_BINDING
+
+ARB_vertex_array_object enum: (note: no ARB suffixes)
+ VERTEX_ARRAY_BINDING = 0x85B5 # VERSION_3_0 / ARB_vao
+
+APPLE_vertex_array_object enum:
+ VERTEX_ARRAY_BINDING_APPLE = 0x85B5
+
+# APPLE_future_use: 0x85B6
+## From Jeremy 2006/10/18 (Bugzilla bug 632) - unknown extension name
+# TEXTURE_MINIMIZE_STORAGE_APPLE = 0x85B6
+
+APPLE_texture_range enum: (additional; see below)
+ TEXTURE_RANGE_LENGTH_APPLE = 0x85B7
+ TEXTURE_RANGE_POINTER_APPLE = 0x85B8
+
+APPLE_ycbcr_422 enum:
+ YCBCR_422_APPLE = 0x85B9
+ UNSIGNED_SHORT_8_8_APPLE = 0x85BA
+ UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB
+
+MESA_ycbcr_texture enum: (additional; see below)
+ UNSIGNED_SHORT_8_8_MESA = 0x85BA
+ UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB
+
+APPLE_texture_range enum:
+ TEXTURE_STORAGE_HINT_APPLE = 0x85BC
+ STORAGE_PRIVATE_APPLE = 0x85BD
+
+APPLE_vertex_array_range enum: (additional; see above):
+ STORAGE_CACHED_APPLE = 0x85BE
+ STORAGE_SHARED_APPLE = 0x85BF
+
+APPLE_texture_range enum:
+ use APPLE_vertex_array_range STORAGE_CACHED_APPLE
+ use APPLE_vertex_array_range STORAGE_SHARED_APPLE
+
+###############################################################################
+
+# Sun: 0x85C0-0x85CF
+
+SUNX_general_triangle_list enum: (additional; see above)
+ REPLACEMENT_CODE_ARRAY_SUN = 0x85C0
+ REPLACEMENT_CODE_ARRAY_TYPE_SUN = 0x85C1
+ REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 0x85C2
+ REPLACEMENT_CODE_ARRAY_POINTER_SUN = 0x85C3
+ R1UI_V3F_SUN = 0x85C4
+ R1UI_C4UB_V3F_SUN = 0x85C5
+ R1UI_C3F_V3F_SUN = 0x85C6
+ R1UI_N3F_V3F_SUN = 0x85C7
+ R1UI_C4F_N3F_V3F_SUN = 0x85C8
+ R1UI_T2F_V3F_SUN = 0x85C9
+ R1UI_T2F_N3F_V3F_SUN = 0x85CA
+ R1UI_T2F_C4F_N3F_V3F_SUN = 0x85CB
+
+SUN_slice_accum enum:
+ SLICE_ACCUM_SUN = 0x85CC
+
+# SUN_future_use: 0x85CD-0x85CF
+
+###############################################################################
+
+# Unknown extension name, not in enumext.spec
+# 3Dlabs/Autodesk: 0x85D0-0x85DF
+# FACET_NORMAL_AUTODESK = 0x85D0
+# FACET_NORMAL_ARRAY_AUTODESK = 0x85D1
+
+###############################################################################
+
+# Incomplete extension, not in enumext.spec
+# SGIX_texture_range: 0x85E0-0x85FB
+# RGB_SIGNED_SGIX = 0x85E0
+# RGBA_SIGNED_SGIX = 0x85E1
+# ALPHA_SIGNED_SGIX = 0x85E2
+# LUMINANCE_SIGNED_SGIX = 0x85E3
+# INTENSITY_SIGNED_SGIX = 0x85E4
+# LUMINANCE_ALPHA_SIGNED_SGIX = 0x85E5
+# RGB16_SIGNED_SGIX = 0x85E6
+# RGBA16_SIGNED_SGIX = 0x85E7
+# ALPHA16_SIGNED_SGIX = 0x85E8
+# LUMINANCE16_SIGNED_SGIX = 0x85E9
+# INTENSITY16_SIGNED_SGIX = 0x85EA
+# LUMINANCE16_ALPHA16_SIGNED_SGIX = 0x85EB
+# RGB_EXTENDED_RANGE_SGIX = 0x85EC
+# RGBA_EXTENDED_RANGE_SGIX = 0x85ED
+# ALPHA_EXTENDED_RANGE_SGIX = 0x85EE
+# LUMINANCE_EXTENDED_RANGE_SGIX = 0x85EF
+# INTENSITY_EXTENDED_RANGE_SGIX = 0x85F0
+# LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX = 0x85F1
+# RGB16_EXTENDED_RANGE_SGIX = 0x85F2
+# RGBA16_EXTENDED_RANGE_SGIX = 0x85F3
+# ALPHA16_EXTENDED_RANGE_SGIX = 0x85F4
+# LUMINANCE16_EXTENDED_RANGE_SGIX = 0x85F5
+# INTENSITY16_EXTENDED_RANGE_SGIX = 0x85F6
+# LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX = 0x85F7
+# MIN_LUMINANCE_SGIS = 0x85F8
+# MAX_LUMINANCE_SGIS = 0x85F9
+# MIN_INTENSITY_SGIS = 0x85FA
+# MAX_INTENSITY_SGIS = 0x85FB
+
+###############################################################################
+
+# SGI_future_use: 0x85FC-0x85FF
+
+###############################################################################
+
+# Sun: 0x8600-0x861F
+
+# SUN_future_use: 0x8600-0x8613
+
+SUN_mesh_array enum: 0x8614-0x8615
+ QUAD_MESH_SUN = 0x8614
+ TRIANGLE_MESH_SUN = 0x8615
+
+# SUN_future_use: 0x8614-0x861F
+
+###############################################################################
+
+# NVIDIA: 0x8620-0x867F
+
+NV_vertex_program enum:
+ VERTEX_PROGRAM_NV = 0x8620
+ VERTEX_STATE_PROGRAM_NV = 0x8621
+ ATTRIB_ARRAY_SIZE_NV = 0x8623
+ ATTRIB_ARRAY_STRIDE_NV = 0x8624
+ ATTRIB_ARRAY_TYPE_NV = 0x8625
+ CURRENT_ATTRIB_NV = 0x8626
+ PROGRAM_LENGTH_NV = 0x8627
+ PROGRAM_STRING_NV = 0x8628
+ MODELVIEW_PROJECTION_NV = 0x8629
+ IDENTITY_NV = 0x862A
+ INVERSE_NV = 0x862B
+ TRANSPOSE_NV = 0x862C
+ INVERSE_TRANSPOSE_NV = 0x862D
+ MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E
+ MAX_TRACK_MATRICES_NV = 0x862F
+ MATRIX0_NV = 0x8630
+ MATRIX1_NV = 0x8631
+ MATRIX2_NV = 0x8632
+ MATRIX3_NV = 0x8633
+ MATRIX4_NV = 0x8634
+ MATRIX5_NV = 0x8635
+ MATRIX6_NV = 0x8636
+ MATRIX7_NV = 0x8637
+##################
+#
+# Reserved:
+#
+# MATRIX8_NV = 0x8638
+# MATRIX9_NV = 0x8639
+# MATRIX10_NV = 0x863A
+# MATRIX11_NV = 0x863B
+# MATRIX12_NV = 0x863C
+# MATRIX13_NV = 0x863D
+# MATRIX14_NV = 0x863E
+# MATRIX15_NV = 0x863F
+#
+###################
+ CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640
+ CURRENT_MATRIX_NV = 0x8641
+ VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642
+ VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643
+ PROGRAM_PARAMETER_NV = 0x8644
+ ATTRIB_ARRAY_POINTER_NV = 0x8645
+ PROGRAM_TARGET_NV = 0x8646
+ PROGRAM_RESIDENT_NV = 0x8647
+ TRACK_MATRIX_NV = 0x8648
+ TRACK_MATRIX_TRANSFORM_NV = 0x8649
+ VERTEX_PROGRAM_BINDING_NV = 0x864A
+ PROGRAM_ERROR_POSITION_NV = 0x864B
+ VERTEX_ATTRIB_ARRAY0_NV = 0x8650
+ VERTEX_ATTRIB_ARRAY1_NV = 0x8651
+ VERTEX_ATTRIB_ARRAY2_NV = 0x8652
+ VERTEX_ATTRIB_ARRAY3_NV = 0x8653
+ VERTEX_ATTRIB_ARRAY4_NV = 0x8654
+ VERTEX_ATTRIB_ARRAY5_NV = 0x8655
+ VERTEX_ATTRIB_ARRAY6_NV = 0x8656
+ VERTEX_ATTRIB_ARRAY7_NV = 0x8657
+ VERTEX_ATTRIB_ARRAY8_NV = 0x8658
+ VERTEX_ATTRIB_ARRAY9_NV = 0x8659
+ VERTEX_ATTRIB_ARRAY10_NV = 0x865A
+ VERTEX_ATTRIB_ARRAY11_NV = 0x865B
+ VERTEX_ATTRIB_ARRAY12_NV = 0x865C
+ VERTEX_ATTRIB_ARRAY13_NV = 0x865D
+ VERTEX_ATTRIB_ARRAY14_NV = 0x865E
+ VERTEX_ATTRIB_ARRAY15_NV = 0x865F
+ MAP1_VERTEX_ATTRIB0_4_NV = 0x8660
+ MAP1_VERTEX_ATTRIB1_4_NV = 0x8661
+ MAP1_VERTEX_ATTRIB2_4_NV = 0x8662
+ MAP1_VERTEX_ATTRIB3_4_NV = 0x8663
+ MAP1_VERTEX_ATTRIB4_4_NV = 0x8664
+ MAP1_VERTEX_ATTRIB5_4_NV = 0x8665
+ MAP1_VERTEX_ATTRIB6_4_NV = 0x8666
+ MAP1_VERTEX_ATTRIB7_4_NV = 0x8667
+ MAP1_VERTEX_ATTRIB8_4_NV = 0x8668
+ MAP1_VERTEX_ATTRIB9_4_NV = 0x8669
+ MAP1_VERTEX_ATTRIB10_4_NV = 0x866A
+ MAP1_VERTEX_ATTRIB11_4_NV = 0x866B
+ MAP1_VERTEX_ATTRIB12_4_NV = 0x866C
+ MAP1_VERTEX_ATTRIB13_4_NV = 0x866D
+ MAP1_VERTEX_ATTRIB14_4_NV = 0x866E
+ MAP1_VERTEX_ATTRIB15_4_NV = 0x866F
+ MAP2_VERTEX_ATTRIB0_4_NV = 0x8670
+ MAP2_VERTEX_ATTRIB1_4_NV = 0x8671
+ MAP2_VERTEX_ATTRIB2_4_NV = 0x8672
+ MAP2_VERTEX_ATTRIB3_4_NV = 0x8673
+ MAP2_VERTEX_ATTRIB4_4_NV = 0x8674
+ MAP2_VERTEX_ATTRIB5_4_NV = 0x8675
+ MAP2_VERTEX_ATTRIB6_4_NV = 0x8676
+ MAP2_VERTEX_ATTRIB7_4_NV = 0x8677
+ MAP2_VERTEX_ATTRIB8_4_NV = 0x8678
+ MAP2_VERTEX_ATTRIB9_4_NV = 0x8679
+ MAP2_VERTEX_ATTRIB10_4_NV = 0x867A
+ MAP2_VERTEX_ATTRIB11_4_NV = 0x867B
+ MAP2_VERTEX_ATTRIB12_4_NV = 0x867C
+ MAP2_VERTEX_ATTRIB13_4_NV = 0x867D
+ MAP2_VERTEX_ATTRIB14_4_NV = 0x867E
+ MAP2_VERTEX_ATTRIB15_4_NV = 0x867F
+
+# NV_texture_shader (additional; see below): 0x864C-0x864E
+
+VERSION_3_2 enum:
+ PROGRAM_POINT_SIZE = 0x8642
+
+ARB_geometry_shader4 enum: (additional; see below)
+ PROGRAM_POINT_SIZE_ARB = 0x8642
+
+NV_geometry_program4 enum: (additional; see below)
+ PROGRAM_POINT_SIZE_EXT = 0x8642
+
+VERSION_3_2 enum:
+ use ARB_depth_clamp DEPTH_CLAMP
+
+ARB_depth_clamp enum:
+ DEPTH_CLAMP = 0x864F
+
+NV_depth_clamp enum:
+ DEPTH_CLAMP_NV = 0x864F
+
+VERSION_2_0 enum: (Promoted from ARB_vertex_shader; only some values)
+ VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622 # VERSION_2_0
+ VERTEX_ATTRIB_ARRAY_SIZE = 0x8623 # VERSION_2_0
+ VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624 # VERSION_2_0
+ VERTEX_ATTRIB_ARRAY_TYPE = 0x8625 # VERSION_2_0
+ CURRENT_VERTEX_ATTRIB = 0x8626 # VERSION_2_0
+ VERTEX_PROGRAM_POINT_SIZE = 0x8642 # VERSION_2_0
+ VERTEX_PROGRAM_TWO_SIDE = 0x8643 # VERSION_2_0
+ VERTEX_ATTRIB_ARRAY_POINTER = 0x8645 # VERSION_2_0
+
+ARB_vertex_program enum: (additional; see above; reuses NV_vertex_program values)
+ARB_fragment_program enum: (additional; only some values; see below)
+# (Unfortunately, PROGRAM_BINDING_ARB does accidentally reuse 0x8677)
+ VERTEX_PROGRAM_ARB = 0x8620
+ VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622
+ VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623
+ VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624
+ VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625
+ CURRENT_VERTEX_ATTRIB_ARB = 0x8626
+ PROGRAM_LENGTH_ARB = 0x8627 # ARB_fragment_program
+ PROGRAM_STRING_ARB = 0x8628 # ARB_fragment_program
+ MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E # ARB_fragment_program
+ MAX_PROGRAM_MATRICES_ARB = 0x862F # ARB_fragment_program
+ CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640 # ARB_fragment_program
+ CURRENT_MATRIX_ARB = 0x8641 # ARB_fragment_program
+ VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642
+ VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643
+ VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645
+ PROGRAM_ERROR_POSITION_ARB = 0x864B # ARB_fragment_program
+ PROGRAM_BINDING_ARB = 0x8677 # ARB_fragment_program
+
+###############################################################################
+
+# Pixelfusion: 0x8680-0x869F
+
+###############################################################################
+
+# OpenGL ARB: 0x86A0-0x86AF
+
+# ARB_texture_compression/1.3 (additional; see above): 0x86A0-0x86A3
+
+ARB_vertex_blend enum:
+ MAX_VERTEX_UNITS_ARB = 0x86A4
+ ACTIVE_VERTEX_UNITS_ARB = 0x86A5
+ WEIGHT_SUM_UNITY_ARB = 0x86A6
+ VERTEX_BLEND_ARB = 0x86A7
+ CURRENT_WEIGHT_ARB = 0x86A8
+ WEIGHT_ARRAY_TYPE_ARB = 0x86A9
+ WEIGHT_ARRAY_STRIDE_ARB = 0x86AA
+ WEIGHT_ARRAY_SIZE_ARB = 0x86AB
+ WEIGHT_ARRAY_POINTER_ARB = 0x86AC
+ WEIGHT_ARRAY_ARB = 0x86AD
+# Note: MODELVIEW0/1 are defined in other extensions, but not as ARB)
+ MODELVIEW0_ARB = 0x1700
+ MODELVIEW1_ARB = 0x850A
+ MODELVIEW2_ARB = 0x8722
+ MODELVIEW3_ARB = 0x8723
+ MODELVIEW4_ARB = 0x8724
+ MODELVIEW5_ARB = 0x8725
+ MODELVIEW6_ARB = 0x8726
+ MODELVIEW7_ARB = 0x8727
+ MODELVIEW8_ARB = 0x8728
+ MODELVIEW9_ARB = 0x8729
+ MODELVIEW10_ARB = 0x872A
+ MODELVIEW11_ARB = 0x872B
+ MODELVIEW12_ARB = 0x872C
+ MODELVIEW13_ARB = 0x872D
+ MODELVIEW14_ARB = 0x872E
+ MODELVIEW15_ARB = 0x872F
+ MODELVIEW16_ARB = 0x8730
+ MODELVIEW17_ARB = 0x8731
+ MODELVIEW18_ARB = 0x8732
+ MODELVIEW19_ARB = 0x8733
+ MODELVIEW20_ARB = 0x8734
+ MODELVIEW21_ARB = 0x8735
+ MODELVIEW22_ARB = 0x8736
+ MODELVIEW23_ARB = 0x8737
+ MODELVIEW24_ARB = 0x8738
+ MODELVIEW25_ARB = 0x8739
+ MODELVIEW26_ARB = 0x873A
+ MODELVIEW27_ARB = 0x873B
+ MODELVIEW28_ARB = 0x873C
+ MODELVIEW29_ARB = 0x873D
+ MODELVIEW30_ARB = 0x873E
+ MODELVIEW31_ARB = 0x873F
+
+# Aliases ARB_vertex_blend enums above
+OES_matrix_palette enum: (OpenGL ES only; additional; see below)
+ MAX_VERTEX_UNITS_OES = 0x86A4
+ WEIGHT_ARRAY_OES = 0x86AD
+ WEIGHT_ARRAY_TYPE_OES = 0x86A9
+ WEIGHT_ARRAY_STRIDE_OES = 0x86AA
+ WEIGHT_ARRAY_SIZE_OES = 0x86AB
+ WEIGHT_ARRAY_POINTER_OES = 0x86AC
+
+VERSION_1_3 enum: (Promoted for OpenGL 1.3)
+ DOT3_RGB = 0x86AE
+ DOT3_RGBA = 0x86AF
+
+ARB_texture_env_dot3 enum:
+ DOT3_RGB_ARB = 0x86AE
+ DOT3_RGBA_ARB = 0x86AF
+
+IMG_texture_env_enhanced_fixed_function enum: (OpenGL ES only; additional; see below)
+ DOT3_RGBA_IMG = 0x86AF
+
+###############################################################################
+
+# 3Dfx: 0x86B0-0x86BF
+
+3DFX_texture_compression_FXT1 enum:
+ COMPRESSED_RGB_FXT1_3DFX = 0x86B0
+ COMPRESSED_RGBA_FXT1_3DFX = 0x86B1
+
+3DFX_multisample enum:
+ MULTISAMPLE_3DFX = 0x86B2
+ SAMPLE_BUFFERS_3DFX = 0x86B3
+ SAMPLES_3DFX = 0x86B4
+ MULTISAMPLE_BIT_3DFX = 0x20000000
+
+# 3DFX_future_use: 0x86B5-0x86BF
+
+###############################################################################
+
+# NVIDIA: 0x86C0-0x871F
+
+NV_evaluators enum:
+ EVAL_2D_NV = 0x86C0
+ EVAL_TRIANGULAR_2D_NV = 0x86C1
+ MAP_TESSELLATION_NV = 0x86C2
+ MAP_ATTRIB_U_ORDER_NV = 0x86C3
+ MAP_ATTRIB_V_ORDER_NV = 0x86C4
+ EVAL_FRACTIONAL_TESSELLATION_NV = 0x86C5
+ EVAL_VERTEX_ATRRIB0_NV = 0x86C6
+ EVAL_VERTEX_ATRRIB1_NV = 0x86C7
+ EVAL_VERTEX_ATRRIB2_NV = 0x86C8
+ EVAL_VERTEX_ATRRIB3_NV = 0x86C9
+ EVAL_VERTEX_ATRRIB4_NV = 0x86CA
+ EVAL_VERTEX_ATRRIB5_NV = 0x86CB
+ EVAL_VERTEX_ATRRIB6_NV = 0x86CC
+ EVAL_VERTEX_ATRRIB7_NV = 0x86CD
+ EVAL_VERTEX_ATRRIB8_NV = 0x86CE
+ EVAL_VERTEX_ATRRIB9_NV = 0x86CF
+ EVAL_VERTEX_ATRRIB10_NV = 0x86D0
+ EVAL_VERTEX_ATRRIB11_NV = 0x86D1
+ EVAL_VERTEX_ATRRIB12_NV = 0x86D2
+ EVAL_VERTEX_ATRRIB13_NV = 0x86D3
+ EVAL_VERTEX_ATRRIB14_NV = 0x86D4
+ EVAL_VERTEX_ATRRIB15_NV = 0x86D5
+ MAX_MAP_TESSELLATION_NV = 0x86D6
+ MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7
+
+# NV_future_use: 0x86D8
+
+NV_texture_shader enum:
+ OFFSET_TEXTURE_RECTANGLE_NV = 0x864C
+ OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 0x864D
+ DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 0x864E
+ RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9
+ UNSIGNED_INT_S8_S8_8_8_NV = 0x86DA
+ UNSIGNED_INT_8_8_S8_S8_REV_NV = 0x86DB
+ DSDT_MAG_INTENSITY_NV = 0x86DC
+ SHADER_CONSISTENT_NV = 0x86DD
+ TEXTURE_SHADER_NV = 0x86DE
+ SHADER_OPERATION_NV = 0x86DF
+ CULL_MODES_NV = 0x86E0
+ OFFSET_TEXTURE_MATRIX_NV = 0x86E1
+ OFFSET_TEXTURE_SCALE_NV = 0x86E2
+ OFFSET_TEXTURE_BIAS_NV = 0x86E3
+ OFFSET_TEXTURE_2D_MATRIX_NV = GL_OFFSET_TEXTURE_MATRIX_NV
+ OFFSET_TEXTURE_2D_SCALE_NV = GL_OFFSET_TEXTURE_SCALE_NV
+ OFFSET_TEXTURE_2D_BIAS_NV = GL_OFFSET_TEXTURE_BIAS_NV
+ PREVIOUS_TEXTURE_INPUT_NV = 0x86E4
+ CONST_EYE_NV = 0x86E5
+ PASS_THROUGH_NV = 0x86E6
+ CULL_FRAGMENT_NV = 0x86E7
+ OFFSET_TEXTURE_2D_NV = 0x86E8
+ DEPENDENT_AR_TEXTURE_2D_NV = 0x86E9
+ DEPENDENT_GB_TEXTURE_2D_NV = 0x86EA
+ DOT_PRODUCT_NV = 0x86EC
+ DOT_PRODUCT_DEPTH_REPLACE_NV = 0x86ED
+ DOT_PRODUCT_TEXTURE_2D_NV = 0x86EE
+ DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 0x86F0
+ DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 0x86F1
+ DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 0x86F2
+ DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 0x86F3
+ HILO_NV = 0x86F4
+ DSDT_NV = 0x86F5
+ DSDT_MAG_NV = 0x86F6
+ DSDT_MAG_VIB_NV = 0x86F7
+ HILO16_NV = 0x86F8
+ SIGNED_HILO_NV = 0x86F9
+ SIGNED_HILO16_NV = 0x86FA
+ SIGNED_RGBA_NV = 0x86FB
+ SIGNED_RGBA8_NV = 0x86FC
+ SIGNED_RGB_NV = 0x86FE
+ SIGNED_RGB8_NV = 0x86FF
+ SIGNED_LUMINANCE_NV = 0x8701
+ SIGNED_LUMINANCE8_NV = 0x8702
+ SIGNED_LUMINANCE_ALPHA_NV = 0x8703
+ SIGNED_LUMINANCE8_ALPHA8_NV = 0x8704
+ SIGNED_ALPHA_NV = 0x8705
+ SIGNED_ALPHA8_NV = 0x8706
+ SIGNED_INTENSITY_NV = 0x8707
+ SIGNED_INTENSITY8_NV = 0x8708
+ DSDT8_NV = 0x8709
+ DSDT8_MAG8_NV = 0x870A
+ DSDT8_MAG8_INTENSITY8_NV = 0x870B
+ SIGNED_RGB_UNSIGNED_ALPHA_NV = 0x870C
+ SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 0x870D
+ HI_SCALE_NV = 0x870E
+ LO_SCALE_NV = 0x870F
+ DS_SCALE_NV = 0x8710
+ DT_SCALE_NV = 0x8711
+ MAGNITUDE_SCALE_NV = 0x8712
+ VIBRANCE_SCALE_NV = 0x8713
+ HI_BIAS_NV = 0x8714
+ LO_BIAS_NV = 0x8715
+ DS_BIAS_NV = 0x8716
+ DT_BIAS_NV = 0x8717
+ MAGNITUDE_BIAS_NV = 0x8718
+ VIBRANCE_BIAS_NV = 0x8719
+ TEXTURE_BORDER_VALUES_NV = 0x871A
+ TEXTURE_HI_SIZE_NV = 0x871B
+ TEXTURE_LO_SIZE_NV = 0x871C
+ TEXTURE_DS_SIZE_NV = 0x871D
+ TEXTURE_DT_SIZE_NV = 0x871E
+ TEXTURE_MAG_SIZE_NV = 0x871F
+
+NV_texture_shader2 enum:
+ DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF
+
+# NV_future_use: 0x86EB
+# NV_future_use: 0x86FD
+# NV_future_use: 0x8700
+
+###############################################################################
+
+# OpenGL ARB: 0x8720-0x873F
+
+# ARB_vertex_blend (additional; see above): 0x8720-0x873F
+
+###############################################################################
+
+# ATI: 0x8740-0x874F
+
+EXT_texture_env_dot3 enum:
+ DOT3_RGB_EXT = 0x8740
+ DOT3_RGBA_EXT = 0x8741
+
+# There's a collision between AMD_program_binary_Z400 and EXT_texture_env_dot3!
+AMD_program_binary_Z400 enum: (OpenGL ES only)
+ Z400_BINARY_AMD = 0x8740
+
+# There's a collision between OES_get_program_binary and EXT_texture_env_dot3!
+OES_get_program_binary enum: (OpenGL ES only; additional; see below)
+ PROGRAM_BINARY_LENGTH_OES = 0x8741
+
+ATI_texture_mirror_once enum:
+ MIRROR_CLAMP_ATI = 0x8742
+ MIRROR_CLAMP_TO_EDGE_ATI = 0x8743
+
+EXT_texture_mirror_clamp enum:
+ MIRROR_CLAMP_EXT = 0x8742
+ MIRROR_CLAMP_TO_EDGE_EXT = 0x8743
+
+ATI_texture_env_combine3 enum:
+ MODULATE_ADD_ATI = 0x8744
+ MODULATE_SIGNED_ADD_ATI = 0x8745
+ MODULATE_SUBTRACT_ATI = 0x8746
+
+# ATI_future_use: 0x8747-0x874F
+
+###############################################################################
+
+# MESA: 0x8750-0x875F
+
+MESA_packed_depth_stencil enum:
+ DEPTH_STENCIL_MESA = 0x8750
+ UNSIGNED_INT_24_8_MESA = 0x8751
+ UNSIGNED_INT_8_24_REV_MESA = 0x8752
+ UNSIGNED_SHORT_15_1_MESA = 0x8753
+ UNSIGNED_SHORT_1_15_REV_MESA = 0x8754
+
+MESA_trace enum:
+ TRACE_ALL_BITS_MESA = 0xFFFF
+ TRACE_OPERATIONS_BIT_MESA = 0x0001
+ TRACE_PRIMITIVES_BIT_MESA = 0x0002
+ TRACE_ARRAYS_BIT_MESA = 0x0004
+ TRACE_TEXTURES_BIT_MESA = 0x0008
+ TRACE_PIXELS_BIT_MESA = 0x0010
+ TRACE_ERRORS_BIT_MESA = 0x0020
+ TRACE_MASK_MESA = 0x8755
+ TRACE_NAME_MESA = 0x8756
+
+MESA_ycbcr_texture enum:
+ YCBCR_MESA = 0x8757
+
+MESA_pack_invert enum:
+ PACK_INVERT_MESA = 0x8758
+
+MESAX_texture_stack enum:
+ TEXTURE_1D_STACK_MESAX = 0x8759
+ TEXTURE_2D_STACK_MESAX = 0x875A
+ PROXY_TEXTURE_1D_STACK_MESAX = 0x875B
+ PROXY_TEXTURE_2D_STACK_MESAX = 0x875C
+ TEXTURE_1D_STACK_BINDING_MESAX = 0x875D
+ TEXTURE_2D_STACK_BINDING_MESAX = 0x875E
+
+MESA_shader_debug enum:
+ DEBUG_OBJECT_MESA = 0x8759
+ DEBUG_PRINT_MESA = 0x875A
+ DEBUG_ASSERT_MESA = 0x875B
+
+# MESA_future_use: 0x875F
+
+###############################################################################
+
+# ATI: 0x8760-0x883F
+
+ATI_vertex_array_object enum:
+ STATIC_ATI = 0x8760
+ DYNAMIC_ATI = 0x8761
+ PRESERVE_ATI = 0x8762
+ DISCARD_ATI = 0x8763
+ OBJECT_BUFFER_SIZE_ATI = 0x8764
+ OBJECT_BUFFER_USAGE_ATI = 0x8765
+ ARRAY_OBJECT_BUFFER_ATI = 0x8766
+ ARRAY_OBJECT_OFFSET_ATI = 0x8767
+
+VERSION_1_5 enum: (Promoted for OpenGL 1.5)
+ BUFFER_SIZE = 0x8764
+ BUFFER_USAGE = 0x8765
+
+ARB_vertex_buffer_object enum: (additional; aliases some ATI enums; see below)
+ BUFFER_SIZE_ARB = 0x8764
+ BUFFER_USAGE_ARB = 0x8765
+
+ATI_element_array enum:
+ ELEMENT_ARRAY_ATI = 0x8768
+ ELEMENT_ARRAY_TYPE_ATI = 0x8769
+ ELEMENT_ARRAY_POINTER_ATI = 0x876A
+
+# @@@ (extends ATI_element_array, I think???)
+APPLE_element_array enum:
+ ELEMENT_ARRAY_APPLE = 0x8768
+ ELEMENT_ARRAY_TYPE_APPLE = 0x8769
+ ELEMENT_ARRAY_POINTER_APPLE = 0x876A
+
+ATI_vertex_streams enum:
+ MAX_VERTEX_STREAMS_ATI = 0x876B
+ VERTEX_STREAM0_ATI = 0x876C
+ VERTEX_STREAM1_ATI = 0x876D
+ VERTEX_STREAM2_ATI = 0x876E
+ VERTEX_STREAM3_ATI = 0x876F
+ VERTEX_STREAM4_ATI = 0x8770
+ VERTEX_STREAM5_ATI = 0x8771
+ VERTEX_STREAM6_ATI = 0x8772
+ VERTEX_STREAM7_ATI = 0x8773
+ VERTEX_SOURCE_ATI = 0x8774
+
+ATI_envmap_bumpmap enum:
+ BUMP_ROT_MATRIX_ATI = 0x8775
+ BUMP_ROT_MATRIX_SIZE_ATI = 0x8776
+ BUMP_NUM_TEX_UNITS_ATI = 0x8777
+ BUMP_TEX_UNITS_ATI = 0x8778
+ DUDV_ATI = 0x8779
+ DU8DV8_ATI = 0x877A
+ BUMP_ENVMAP_ATI = 0x877B
+ BUMP_TARGET_ATI = 0x877C
+
+# ATI_future_use: 0x877D-0x877F
+
+EXT_vertex_shader enum:
+ VERTEX_SHADER_EXT = 0x8780
+ VERTEX_SHADER_BINDING_EXT = 0x8781
+ OP_INDEX_EXT = 0x8782
+ OP_NEGATE_EXT = 0x8783
+ OP_DOT3_EXT = 0x8784
+ OP_DOT4_EXT = 0x8785
+ OP_MUL_EXT = 0x8786
+ OP_ADD_EXT = 0x8787
+ OP_MADD_EXT = 0x8788
+ OP_FRAC_EXT = 0x8789
+ OP_MAX_EXT = 0x878A
+ OP_MIN_EXT = 0x878B
+ OP_SET_GE_EXT = 0x878C
+ OP_SET_LT_EXT = 0x878D
+ OP_CLAMP_EXT = 0x878E
+ OP_FLOOR_EXT = 0x878F
+ OP_ROUND_EXT = 0x8790
+ OP_EXP_BASE_2_EXT = 0x8791
+ OP_LOG_BASE_2_EXT = 0x8792
+ OP_POWER_EXT = 0x8793
+ OP_RECIP_EXT = 0x8794
+ OP_RECIP_SQRT_EXT = 0x8795
+ OP_SUB_EXT = 0x8796
+ OP_CROSS_PRODUCT_EXT = 0x8797
+ OP_MULTIPLY_MATRIX_EXT = 0x8798
+ OP_MOV_EXT = 0x8799
+ OUTPUT_VERTEX_EXT = 0x879A
+ OUTPUT_COLOR0_EXT = 0x879B
+ OUTPUT_COLOR1_EXT = 0x879C
+ OUTPUT_TEXTURE_COORD0_EXT = 0x879D
+ OUTPUT_TEXTURE_COORD1_EXT = 0x879E
+ OUTPUT_TEXTURE_COORD2_EXT = 0x879F
+ OUTPUT_TEXTURE_COORD3_EXT = 0x87A0
+ OUTPUT_TEXTURE_COORD4_EXT = 0x87A1
+ OUTPUT_TEXTURE_COORD5_EXT = 0x87A2
+ OUTPUT_TEXTURE_COORD6_EXT = 0x87A3
+ OUTPUT_TEXTURE_COORD7_EXT = 0x87A4
+ OUTPUT_TEXTURE_COORD8_EXT = 0x87A5
+ OUTPUT_TEXTURE_COORD9_EXT = 0x87A6
+ OUTPUT_TEXTURE_COORD10_EXT = 0x87A7
+ OUTPUT_TEXTURE_COORD11_EXT = 0x87A8
+ OUTPUT_TEXTURE_COORD12_EXT = 0x87A9
+ OUTPUT_TEXTURE_COORD13_EXT = 0x87AA
+ OUTPUT_TEXTURE_COORD14_EXT = 0x87AB
+ OUTPUT_TEXTURE_COORD15_EXT = 0x87AC
+ OUTPUT_TEXTURE_COORD16_EXT = 0x87AD
+ OUTPUT_TEXTURE_COORD17_EXT = 0x87AE
+ OUTPUT_TEXTURE_COORD18_EXT = 0x87AF
+ OUTPUT_TEXTURE_COORD19_EXT = 0x87B0
+ OUTPUT_TEXTURE_COORD20_EXT = 0x87B1
+ OUTPUT_TEXTURE_COORD21_EXT = 0x87B2
+ OUTPUT_TEXTURE_COORD22_EXT = 0x87B3
+ OUTPUT_TEXTURE_COORD23_EXT = 0x87B4
+ OUTPUT_TEXTURE_COORD24_EXT = 0x87B5
+ OUTPUT_TEXTURE_COORD25_EXT = 0x87B6
+ OUTPUT_TEXTURE_COORD26_EXT = 0x87B7
+ OUTPUT_TEXTURE_COORD27_EXT = 0x87B8
+ OUTPUT_TEXTURE_COORD28_EXT = 0x87B9
+ OUTPUT_TEXTURE_COORD29_EXT = 0x87BA
+ OUTPUT_TEXTURE_COORD30_EXT = 0x87BB
+ OUTPUT_TEXTURE_COORD31_EXT = 0x87BC
+ OUTPUT_FOG_EXT = 0x87BD
+ SCALAR_EXT = 0x87BE
+ VECTOR_EXT = 0x87BF
+ MATRIX_EXT = 0x87C0
+ VARIANT_EXT = 0x87C1
+ INVARIANT_EXT = 0x87C2
+ LOCAL_CONSTANT_EXT = 0x87C3
+ LOCAL_EXT = 0x87C4
+ MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5
+ MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6
+ MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7
+ MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8
+ MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9
+ MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA
+ MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB
+ MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC
+ MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD
+ MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE
+ VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF
+ VERTEX_SHADER_VARIANTS_EXT = 0x87D0
+ VERTEX_SHADER_INVARIANTS_EXT = 0x87D1
+ VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2
+ VERTEX_SHADER_LOCALS_EXT = 0x87D3
+ VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4
+ X_EXT = 0x87D5
+ Y_EXT = 0x87D6
+ Z_EXT = 0x87D7
+ W_EXT = 0x87D8
+ NEGATIVE_X_EXT = 0x87D9
+ NEGATIVE_Y_EXT = 0x87DA
+ NEGATIVE_Z_EXT = 0x87DB
+ NEGATIVE_W_EXT = 0x87DC
+ ZERO_EXT = 0x87DD
+ ONE_EXT = 0x87DE
+ NEGATIVE_ONE_EXT = 0x87DF
+ NORMALIZED_RANGE_EXT = 0x87E0
+ FULL_RANGE_EXT = 0x87E1
+ CURRENT_VERTEX_EXT = 0x87E2
+ MVP_MATRIX_EXT = 0x87E3
+ VARIANT_VALUE_EXT = 0x87E4
+ VARIANT_DATATYPE_EXT = 0x87E5
+ VARIANT_ARRAY_STRIDE_EXT = 0x87E6
+ VARIANT_ARRAY_TYPE_EXT = 0x87E7
+ VARIANT_ARRAY_EXT = 0x87E8
+ VARIANT_ARRAY_POINTER_EXT = 0x87E9
+ INVARIANT_VALUE_EXT = 0x87EA
+ INVARIANT_DATATYPE_EXT = 0x87EB
+ LOCAL_CONSTANT_VALUE_EXT = 0x87EC
+ LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED
+
+AMD_compressed_ATC_texture enum: (OpenGL ES only) (additional; see below)
+ ATC_RGBA_INTERPOLATED_ALPHA_AMD = 0x87EE
+
+ATI_pn_triangles enum:
+ PN_TRIANGLES_ATI = 0x87F0
+ MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1
+ PN_TRIANGLES_POINT_MODE_ATI = 0x87F2
+ PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3
+ PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4
+ PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5
+ PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6
+ PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7
+ PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8
+
+AMD_compressed_3DC_texture enum: (OpenGL ES only)
+ 3DC_X_AMD = 0x87F9
+ 3DC_XY_AMD = 0x87FA
+
+ATI_meminfo enum:
+ VBO_FREE_MEMORY_ATI = 0x87FB
+ TEXTURE_FREE_MEMORY_ATI = 0x87FC
+ RENDERBUFFER_FREE_MEMORY_ATI = 0x87FD
+
+OES_get_program_binary enum: (OpenGL ES only;
+ NUM_PROGRAM_BINARY_FORMATS_OES = 0x87FE
+ PROGRAM_BINARY_FORMATS_OES = 0x87FF
+
+VERSION_2_0 enum: (Promoted for OpenGL 2.0)
+ STENCIL_BACK_FUNC = 0x8800 # VERSION_2_0
+ STENCIL_BACK_FAIL = 0x8801 # VERSION_2_0
+ STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802 # VERSION_2_0
+ STENCIL_BACK_PASS_DEPTH_PASS = 0x8803 # VERSION_2_0
+ STENCIL_BACK_FAIL_ATI = 0x8801
+
+ATI_separate_stencil enum:
+ STENCIL_BACK_FUNC_ATI = 0x8800
+ STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802
+ STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803
+
+ARB_fragment_program enum:
+ FRAGMENT_PROGRAM_ARB = 0x8804
+ PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805
+ PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806
+ PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807
+ PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808
+ PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809
+ PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A
+ MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B
+ MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C
+ MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D
+ MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E
+ MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F
+ MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810
+
+# ATI_future_use: 0x8811-0x8813
+
+VERSION_3_0 enum:
+ RGBA32F = 0x8814 # VERSION_3_0
+ RGB32F = 0x8815 # VERSION_3_0
+ RGBA16F = 0x881A # VERSION_3_0
+ RGB16F = 0x881B # VERSION_3_0
+
+ARB_texture_float enum:
+ RGBA32F_ARB = 0x8814
+ RGB32F_ARB = 0x8815
+ ALPHA32F_ARB = 0x8816
+ INTENSITY32F_ARB = 0x8817
+ LUMINANCE32F_ARB = 0x8818
+ LUMINANCE_ALPHA32F_ARB = 0x8819
+ RGBA16F_ARB = 0x881A
+ RGB16F_ARB = 0x881B
+ ALPHA16F_ARB = 0x881C
+ INTENSITY16F_ARB = 0x881D
+ LUMINANCE16F_ARB = 0x881E
+ LUMINANCE_ALPHA16F_ARB = 0x881F
+
+ATI_texture_float enum:
+ RGBA_FLOAT32_ATI = 0x8814
+ RGB_FLOAT32_ATI = 0x8815
+ ALPHA_FLOAT32_ATI = 0x8816
+ INTENSITY_FLOAT32_ATI = 0x8817
+ LUMINANCE_FLOAT32_ATI = 0x8818
+ LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819
+ RGBA_FLOAT16_ATI = 0x881A
+ RGB_FLOAT16_ATI = 0x881B
+ ALPHA_FLOAT16_ATI = 0x881C
+ INTENSITY_FLOAT16_ATI = 0x881D
+ LUMINANCE_FLOAT16_ATI = 0x881E
+ LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F
+
+APPLE_float_pixels enum: (additional; see below)
+ RGBA_FLOAT32_APPLE = 0x8814
+ RGB_FLOAT32_APPLE = 0x8815
+ ALPHA_FLOAT32_APPLE = 0x8816
+ INTENSITY_FLOAT32_APPLE = 0x8817
+ LUMINANCE_FLOAT32_APPLE = 0x8818
+ LUMINANCE_ALPHA_FLOAT32_APPLE = 0x8819
+ RGBA_FLOAT16_APPLE = 0x881A
+ RGB_FLOAT16_APPLE = 0x881B
+ ALPHA_FLOAT16_APPLE = 0x881C
+ INTENSITY_FLOAT16_APPLE = 0x881D
+ LUMINANCE_FLOAT16_APPLE = 0x881E
+ LUMINANCE_ALPHA_FLOAT16_APPLE = 0x881F
+
+ARB_color_buffer_float enum:
+ RGBA_FLOAT_MODE_ARB = 0x8820 # Equivalent to TYPE_RGBA_FLOAT_ATI
+
+ATI_pixel_format_float enum: (really WGL_ATI_pixel_format_float)
+ TYPE_RGBA_FLOAT_ATI = 0x8820
+
+# ATI_future_use: 0x8821-0x8822
+
+QCOM_writeonly_rendering enum: (OpenGL ES only)
+ WRITEONLY_RENDERING_QCOM = 0x8823
+
+VERSION_2_0 enum: (Promoted for OpenGL 2.0)
+ MAX_DRAW_BUFFERS = 0x8824 # VERSION_2_0
+ DRAW_BUFFER0 = 0x8825 # VERSION_2_0
+ DRAW_BUFFER1 = 0x8826 # VERSION_2_0
+ DRAW_BUFFER2 = 0x8827 # VERSION_2_0
+ DRAW_BUFFER3 = 0x8828 # VERSION_2_0
+ DRAW_BUFFER4 = 0x8829 # VERSION_2_0
+ DRAW_BUFFER5 = 0x882A # VERSION_2_0
+ DRAW_BUFFER6 = 0x882B # VERSION_2_0
+ DRAW_BUFFER7 = 0x882C # VERSION_2_0
+ DRAW_BUFFER8 = 0x882D # VERSION_2_0
+ DRAW_BUFFER9 = 0x882E # VERSION_2_0
+ DRAW_BUFFER10 = 0x882F # VERSION_2_0
+ DRAW_BUFFER11 = 0x8830 # VERSION_2_0
+ DRAW_BUFFER12 = 0x8831 # VERSION_2_0
+ DRAW_BUFFER13 = 0x8832 # VERSION_2_0
+ DRAW_BUFFER14 = 0x8833 # VERSION_2_0
+ DRAW_BUFFER15 = 0x8834 # VERSION_2_0
+
+ARB_draw_buffers enum:
+ MAX_DRAW_BUFFERS_ARB = 0x8824
+ DRAW_BUFFER0_ARB = 0x8825
+ DRAW_BUFFER1_ARB = 0x8826
+ DRAW_BUFFER2_ARB = 0x8827
+ DRAW_BUFFER3_ARB = 0x8828
+ DRAW_BUFFER4_ARB = 0x8829
+ DRAW_BUFFER5_ARB = 0x882A
+ DRAW_BUFFER6_ARB = 0x882B
+ DRAW_BUFFER7_ARB = 0x882C
+ DRAW_BUFFER8_ARB = 0x882D
+ DRAW_BUFFER9_ARB = 0x882E
+ DRAW_BUFFER10_ARB = 0x882F
+ DRAW_BUFFER11_ARB = 0x8830
+ DRAW_BUFFER12_ARB = 0x8831
+ DRAW_BUFFER13_ARB = 0x8832
+ DRAW_BUFFER14_ARB = 0x8833
+ DRAW_BUFFER15_ARB = 0x8834
+
+ATI_draw_buffers enum:
+ MAX_DRAW_BUFFERS_ATI = 0x8824
+ DRAW_BUFFER0_ATI = 0x8825
+ DRAW_BUFFER1_ATI = 0x8826
+ DRAW_BUFFER2_ATI = 0x8827
+ DRAW_BUFFER3_ATI = 0x8828
+ DRAW_BUFFER4_ATI = 0x8829
+ DRAW_BUFFER5_ATI = 0x882A
+ DRAW_BUFFER6_ATI = 0x882B
+ DRAW_BUFFER7_ATI = 0x882C
+ DRAW_BUFFER8_ATI = 0x882D
+ DRAW_BUFFER9_ATI = 0x882E
+ DRAW_BUFFER10_ATI = 0x882F
+ DRAW_BUFFER11_ATI = 0x8830
+ DRAW_BUFFER12_ATI = 0x8831
+ DRAW_BUFFER13_ATI = 0x8832
+ DRAW_BUFFER14_ATI = 0x8833
+ DRAW_BUFFER15_ATI = 0x8834
+
+ATI_pixel_format_float enum: (really WGL_ATI_pixel_format_float) (additional; see above)
+ COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835
+
+# ATI_future_use: 0x8836-0x883F
+
+VERSION_2_0 enum: (Promoted for OpenGL 2.0)
+ BLEND_EQUATION_ALPHA = 0x883D # VERSION_2_0
+
+EXT_blend_equation_separate enum:
+ BLEND_EQUATION_ALPHA_EXT = 0x883D
+
+# Aliases EXT_blend_equation_separate enum above
+OES_blend_equation_separate enum: (OpenGL ES only)
+ BLEND_EQUATION_ALPHA_OES = 0x883D
+
+###############################################################################
+
+# OpenGL ARB: 0x8840-0x884F
+
+ARB_matrix_palette enum:
+ MATRIX_PALETTE_ARB = 0x8840
+ MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841
+ MAX_PALETTE_MATRICES_ARB = 0x8842
+ CURRENT_PALETTE_MATRIX_ARB = 0x8843
+ MATRIX_INDEX_ARRAY_ARB = 0x8844
+ CURRENT_MATRIX_INDEX_ARB = 0x8845
+ MATRIX_INDEX_ARRAY_SIZE_ARB = 0x8846
+ MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847
+ MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848
+ MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849
+
+# Aliases ARB_matrix_palette enums above
+OES_matrix_palette enum: (OpenGL ES only; additional; see below)
+ MATRIX_PALETTE_OES = 0x8840
+ MAX_PALETTE_MATRICES_OES = 0x8842
+ CURRENT_PALETTE_MATRIX_OES = 0x8843
+ MATRIX_INDEX_ARRAY_OES = 0x8844
+ MATRIX_INDEX_ARRAY_SIZE_OES = 0x8846
+ MATRIX_INDEX_ARRAY_TYPE_OES = 0x8847
+ MATRIX_INDEX_ARRAY_STRIDE_OES = 0x8848
+ MATRIX_INDEX_ARRAY_POINTER_OES = 0x8849
+
+VERSION_1_4 enum: (Promoted for OpenGL 1.4)
+ TEXTURE_DEPTH_SIZE = 0x884A
+ DEPTH_TEXTURE_MODE = 0x884B
+
+ARB_depth_texture enum:
+ TEXTURE_DEPTH_SIZE_ARB = 0x884A
+ DEPTH_TEXTURE_MODE_ARB = 0x884B
+
+VERSION_3_0 enum: (aliases)
+ COMPARE_REF_TO_TEXTURE = 0x884E # VERSION_3_0 # alias GL_COMPARE_R_TO_TEXTURE_ARB
+
+VERSION_1_4 enum: (Promoted for OpenGL 1.4)
+ TEXTURE_COMPARE_MODE = 0x884C
+ TEXTURE_COMPARE_FUNC = 0x884D
+ COMPARE_R_TO_TEXTURE = 0x884E
+
+ARB_shadow enum:
+ TEXTURE_COMPARE_MODE_ARB = 0x884C
+ TEXTURE_COMPARE_FUNC_ARB = 0x884D
+ COMPARE_R_TO_TEXTURE_ARB = 0x884E
+
+EXT_texture_array enum: (additional; see below)
+ COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E
+
+VERSION_3_2 enum:
+ use ARB_seamless_cube_map TEXTURE_CUBE_MAP_SEAMLESS
+
+ARB_seamless_cube_map enum:
+ TEXTURE_CUBE_MAP_SEAMLESS = 0x884F
+
+###############################################################################
+
+# NVIDIA: 0x8850-0x891F
+
+NV_texture_shader3 enum:
+ OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850
+ OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851
+ OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8852
+ OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 0x8853
+ OFFSET_HILO_TEXTURE_2D_NV = 0x8854
+ OFFSET_HILO_TEXTURE_RECTANGLE_NV = 0x8855
+ OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 0x8856
+ OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8857
+ DEPENDENT_HILO_TEXTURE_2D_NV = 0x8858
+ DEPENDENT_RGB_TEXTURE_3D_NV = 0x8859
+ DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 0x885A
+ DOT_PRODUCT_PASS_THROUGH_NV = 0x885B
+ DOT_PRODUCT_TEXTURE_1D_NV = 0x885C
+ DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 0x885D
+ HILO8_NV = 0x885E
+ SIGNED_HILO8_NV = 0x885F
+ FORCE_BLUE_TO_ONE_NV = 0x8860
+
+VERSION_2_0 enum: (Promoted for OpenGL 2.0)
+ POINT_SPRITE = 0x8861 # VERSION_2_0
+ COORD_REPLACE = 0x8862 # VERSION_2_0
+
+ARB_point_sprite enum:
+ POINT_SPRITE_ARB = 0x8861
+ COORD_REPLACE_ARB = 0x8862
+
+NV_point_sprite enum:
+ POINT_SPRITE_NV = 0x8861
+ COORD_REPLACE_NV = 0x8862
+
+# Aliases ARB_point_sprite enums above
+OES_point_sprite enum: (OpenGL ES only)
+ POINT_SPRITE_ARB = 0x8861
+ COORD_REPLACE_ARB = 0x8862
+
+NV_point_sprite enum:
+ POINT_SPRITE_R_MODE_NV = 0x8863
+
+VERSION_1_5 enum: (Promoted for OpenGL 1.5)
+ QUERY_COUNTER_BITS = 0x8864
+ CURRENT_QUERY = 0x8865
+ QUERY_RESULT = 0x8866
+ QUERY_RESULT_AVAILABLE = 0x8867
+
+ARB_occlusion_query enum:
+ QUERY_COUNTER_BITS_ARB = 0x8864
+ CURRENT_QUERY_ARB = 0x8865
+ QUERY_RESULT_ARB = 0x8866
+ QUERY_RESULT_AVAILABLE_ARB = 0x8867
+
+NV_occlusion_query enum:
+ PIXEL_COUNTER_BITS_NV = 0x8864
+ CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865
+ PIXEL_COUNT_NV = 0x8866
+ PIXEL_COUNT_AVAILABLE_NV = 0x8867
+
+NV_fragment_program enum:
+ MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 0x8868
+
+VERSION_2_0 enum: (Promoted from ARB_vertex_shader)
+ MAX_VERTEX_ATTRIBS = 0x8869 # VERSION_2_0
+ VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A # VERSION_2_0
+
+ARB_vertex_program enum: (additional; see above)
+ MAX_VERTEX_ATTRIBS_ARB = 0x8869
+ VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A
+
+# NV_future_use: 0x886B-0x886D
+
+NV_copy_depth_to_color enum:
+ DEPTH_STENCIL_TO_RGBA_NV = 0x886E
+ DEPTH_STENCIL_TO_BGRA_NV = 0x886F
+
+NV_fragment_program enum: (additional; see above)
+ FRAGMENT_PROGRAM_NV = 0x8870
+ MAX_TEXTURE_COORDS_NV = 0x8871
+ MAX_TEXTURE_IMAGE_UNITS_NV = 0x8872
+ FRAGMENT_PROGRAM_BINDING_NV = 0x8873
+ PROGRAM_ERROR_STRING_NV = 0x8874
+
+VERSION_2_0 enum: (Promoted from ARB_fragment_shader; only some values)
+ MAX_TEXTURE_COORDS = 0x8871 # VERSION_2_0
+ MAX_TEXTURE_IMAGE_UNITS = 0x8872 # VERSION_2_0
+
+ARB_vertex_program enum: (additional; see above)
+ARB_fragment_program enum: (additional; see above)
+ MAX_TEXTURE_COORDS_ARB = 0x8871 # ARB_fragment_program
+ MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872 # ARB_fragment_program
+ PROGRAM_ERROR_STRING_ARB = 0x8874 # ARB_vertex_program / ARB_fragment_program
+ PROGRAM_FORMAT_ASCII_ARB = 0x8875 # ARB_vertex_program / ARB_fragment_program
+ PROGRAM_FORMAT_ARB = 0x8876 # ARB_vertex_program / ARB_fragment_program
+
+# 0x8877 *should have been* assigned to PROGRAM_BINDING_ARB. Oops.
+
+NV_pixel_data_range enum:
+ WRITE_PIXEL_DATA_RANGE_NV = 0x8878
+ READ_PIXEL_DATA_RANGE_NV = 0x8879
+ WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A
+ READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B
+ WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C
+ READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D
+
+# NV_future_use: 0x887E-0x887F
+
+NV_float_buffer enum:
+ FLOAT_R_NV = 0x8880
+ FLOAT_RG_NV = 0x8881
+ FLOAT_RGB_NV = 0x8882
+ FLOAT_RGBA_NV = 0x8883
+ FLOAT_R16_NV = 0x8884
+ FLOAT_R32_NV = 0x8885
+ FLOAT_RG16_NV = 0x8886
+ FLOAT_RG32_NV = 0x8887
+ FLOAT_RGB16_NV = 0x8888
+ FLOAT_RGB32_NV = 0x8889
+ FLOAT_RGBA16_NV = 0x888A
+ FLOAT_RGBA32_NV = 0x888B
+ TEXTURE_FLOAT_COMPONENTS_NV = 0x888C
+ FLOAT_CLEAR_COLOR_VALUE_NV = 0x888D
+ FLOAT_RGBA_MODE_NV = 0x888E
+
+NV_texture_expand_normal enum:
+ TEXTURE_UNSIGNED_REMAP_MODE_NV = 0x888F
+
+EXT_depth_bounds_test enum:
+ DEPTH_BOUNDS_TEST_EXT = 0x8890
+ DEPTH_BOUNDS_EXT = 0x8891
+
+VERSION_1_5 enum: (Promoted for OpenGL 1.5)
+ ARRAY_BUFFER = 0x8892
+ ELEMENT_ARRAY_BUFFER = 0x8893
+ ARRAY_BUFFER_BINDING = 0x8894
+ ELEMENT_ARRAY_BUFFER_BINDING = 0x8895
+ VERTEX_ARRAY_BUFFER_BINDING = 0x8896
+ NORMAL_ARRAY_BUFFER_BINDING = 0x8897
+ COLOR_ARRAY_BUFFER_BINDING = 0x8898
+ INDEX_ARRAY_BUFFER_BINDING = 0x8899
+ TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A
+ EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B
+ SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C
+ FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D # alias GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING
+ FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D
+ WEIGHT_ARRAY_BUFFER_BINDING = 0x889E
+ VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F
+
+ARB_vertex_buffer_object enum:
+ ARRAY_BUFFER_ARB = 0x8892
+ ELEMENT_ARRAY_BUFFER_ARB = 0x8893
+ ARRAY_BUFFER_BINDING_ARB = 0x8894
+ ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895
+ VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896
+ NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897
+ COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898
+ INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899
+ TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A
+ EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B
+ SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C
+ FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D
+ WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E
+ VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F
+
+# Aliases ARB_vertex_buffer_object enum above
+OES_matrix_palette enum: (OpenGL ES only; additional; see below)
+ WEIGHT_ARRAY_BUFFER_BINDING_OES = 0x889E
+
+ARB_vertex_program enum: (additional; see above)
+ARB_fragment_program enum: (additional; see above)
+ PROGRAM_INSTRUCTIONS_ARB = 0x88A0
+ MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1
+ PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2
+ MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3
+ PROGRAM_TEMPORARIES_ARB = 0x88A4
+ MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5
+ PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6
+ MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7
+ PROGRAM_PARAMETERS_ARB = 0x88A8
+ MAX_PROGRAM_PARAMETERS_ARB = 0x88A9
+ PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA
+ MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB
+ PROGRAM_ATTRIBS_ARB = 0x88AC
+ MAX_PROGRAM_ATTRIBS_ARB = 0x88AD
+ PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE
+ MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF
+ PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0
+ MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1
+ PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2
+ MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3
+ MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4
+ MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5
+ PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6
+ TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7
+
+VERSION_1_5 enum: (Promoted for OpenGL 1.5)
+ READ_ONLY = 0x88B8
+ WRITE_ONLY = 0x88B9
+ READ_WRITE = 0x88BA
+ BUFFER_ACCESS = 0x88BB
+ BUFFER_MAPPED = 0x88BC
+ BUFFER_MAP_POINTER = 0x88BD
+
+ARB_vertex_buffer_object enum: (additional; see above)
+ READ_ONLY_ARB = 0x88B8
+ WRITE_ONLY_ARB = 0x88B9
+ READ_WRITE_ARB = 0x88BA
+ BUFFER_ACCESS_ARB = 0x88BB
+ BUFFER_MAPPED_ARB = 0x88BC
+ BUFFER_MAP_POINTER_ARB = 0x88BD
+
+# Aliases ARB_vertex_buffer_object enums above
+OES_mapbuffer enum: (OpenGL ES only)
+ WRITE_ONLY_OES = 0x88B9
+ BUFFER_ACCESS_OES = 0x88BB
+ BUFFER_MAPPED_OES = 0x88BC
+ BUFFER_MAP_POINTER_OES = 0x88BD
+
+# NV_future_use: 0x88BE
+
+EXT_timer_query enum:
+ TIME_ELAPSED_EXT = 0x88BF
+
+ARB_vertex_program enum: (additional; see above)
+ARB_fragment_program enum: (additional; see above)
+ MATRIX0_ARB = 0x88C0
+ MATRIX1_ARB = 0x88C1
+ MATRIX2_ARB = 0x88C2
+ MATRIX3_ARB = 0x88C3
+ MATRIX4_ARB = 0x88C4
+ MATRIX5_ARB = 0x88C5
+ MATRIX6_ARB = 0x88C6
+ MATRIX7_ARB = 0x88C7
+ MATRIX8_ARB = 0x88C8
+ MATRIX9_ARB = 0x88C9
+ MATRIX10_ARB = 0x88CA
+ MATRIX11_ARB = 0x88CB
+ MATRIX12_ARB = 0x88CC
+ MATRIX13_ARB = 0x88CD
+ MATRIX14_ARB = 0x88CE
+ MATRIX15_ARB = 0x88CF
+ MATRIX16_ARB = 0x88D0
+ MATRIX17_ARB = 0x88D1
+ MATRIX18_ARB = 0x88D2
+ MATRIX19_ARB = 0x88D3
+ MATRIX20_ARB = 0x88D4
+ MATRIX21_ARB = 0x88D5
+ MATRIX22_ARB = 0x88D6
+ MATRIX23_ARB = 0x88D7
+ MATRIX24_ARB = 0x88D8
+ MATRIX25_ARB = 0x88D9
+ MATRIX26_ARB = 0x88DA
+ MATRIX27_ARB = 0x88DB
+ MATRIX28_ARB = 0x88DC
+ MATRIX29_ARB = 0x88DD
+ MATRIX30_ARB = 0x88DE
+ MATRIX31_ARB = 0x88DF
+
+VERSION_1_5 enum: (Promoted for OpenGL 1.5)
+ STREAM_DRAW = 0x88E0
+ STREAM_READ = 0x88E1
+ STREAM_COPY = 0x88E2
+ STATIC_DRAW = 0x88E4
+ STATIC_READ = 0x88E5
+ STATIC_COPY = 0x88E6
+ DYNAMIC_DRAW = 0x88E8
+ DYNAMIC_READ = 0x88E9
+ DYNAMIC_COPY = 0x88EA
+
+ARB_vertex_buffer_object enum: (additional; see above)
+ STREAM_DRAW_ARB = 0x88E0
+ STREAM_READ_ARB = 0x88E1
+ STREAM_COPY_ARB = 0x88E2
+ STATIC_DRAW_ARB = 0x88E4
+ STATIC_READ_ARB = 0x88E5
+ STATIC_COPY_ARB = 0x88E6
+ DYNAMIC_DRAW_ARB = 0x88E8
+ DYNAMIC_READ_ARB = 0x88E9
+ DYNAMIC_COPY_ARB = 0x88EA
+
+VERSION_2_1 enum:
+ PIXEL_PACK_BUFFER = 0x88EB # VERSION_2_1
+ PIXEL_UNPACK_BUFFER = 0x88EC # VERSION_2_1
+ PIXEL_PACK_BUFFER_BINDING = 0x88ED # VERSION_2_1
+ PIXEL_UNPACK_BUFFER_BINDING = 0x88EF # VERSION_2_1
+
+ARB_pixel_buffer_object enum:
+ PIXEL_PACK_BUFFER_ARB = 0x88EB # ARB_pixel_buffer_object
+ PIXEL_UNPACK_BUFFER_ARB = 0x88EC # ARB_pixel_buffer_object
+ PIXEL_PACK_BUFFER_BINDING_ARB = 0x88ED # ARB_pixel_buffer_object
+ PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88EF # ARB_pixel_buffer_object
+
+EXT_pixel_buffer_object enum:
+ PIXEL_PACK_BUFFER_EXT = 0x88EB # EXT_pixel_buffer_object
+ PIXEL_UNPACK_BUFFER_EXT = 0x88EC # EXT_pixel_buffer_object
+ PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED # EXT_pixel_buffer_object
+ PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF # EXT_pixel_buffer_object
+
+# ARB_future_use: 0x88E3, 0x88E7, 0x88EE
+# (for extending ARB_vertex_buffer_object):
+
+VERSION_3_0 enum:
+ use ARB_framebuffer_object DEPTH24_STENCIL8
+ use ARB_framebuffer_object TEXTURE_STENCIL_SIZE
+
+ARB_framebuffer_object enum: (note: no ARB suffixes)
+ DEPTH24_STENCIL8 = 0x88F0 # VERSION_3_0 / ARB_fbo
+ TEXTURE_STENCIL_SIZE = 0x88F1 # VERSION_3_0 / ARB_fbo
+
+EXT_packed_depth_stencil enum: (additional; see above)
+ DEPTH24_STENCIL8_EXT = 0x88F0
+ TEXTURE_STENCIL_SIZE_EXT = 0x88F1
+
+# Aliases EXT_packed_depth_stencil enum above
+OES_packed_depth_stencil enum: (OpenGL ES only; additional; see above)
+ DEPTH24_STENCIL8_OES = 0x88F0
+
+EXT_stencil_clear_tag enum:
+ STENCIL_TAG_BITS_EXT = 0x88F2
+ STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3
+
+NV_vertex_program2_option enum: (duplicated in NV_fragment_prgoram2 below)
+ MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4
+ MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5
+
+NV_fragment_program2 enum:
+ MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4
+ MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5
+ MAX_PROGRAM_IF_DEPTH_NV = 0x88F6
+ MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7
+ MAX_PROGRAM_LOOP_COUNT_NV = 0x88F8
+
+# NV_future_use: 0x88F9-0x88FC
+
+VERSION_3_0 enum:
+ VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD # VERSION_3_0
+
+NV_vertex_program4 enum:
+ VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD
+
+ARB_instanced_arrays enum:
+ VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88FE
+
+VERSION_3_0 enum:
+ MAX_ARRAY_TEXTURE_LAYERS = 0x88FF # VERSION_3_0
+
+EXT_texture_array enum: (additional; see below)
+ MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF
+
+VERSION_3_0 enum:
+ MIN_PROGRAM_TEXEL_OFFSET = 0x8904 # VERSION_3_0
+ MAX_PROGRAM_TEXEL_OFFSET = 0x8905 # VERSION_3_0
+
+NV_gpu_program4 enum:
+ MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904
+ MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905
+ PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906
+ PROGRAM_RESULT_COMPONENTS_NV = 0x8907
+ MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908
+ MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909
+
+EXT_stencil_two_side enum:
+ STENCIL_TEST_TWO_SIDE_EXT = 0x8910
+ ACTIVE_STENCIL_FACE_EXT = 0x8911
+
+EXT_texture_mirror_clamp enum: (additional; see above):
+ MIRROR_CLAMP_TO_BORDER_EXT = 0x8912
+
+# NV_future_use: 0x8913
+
+VERSION_1_5 enum: (Promoted for OpenGL 1.5)
+ SAMPLES_PASSED = 0x8914
+
+ARB_occlusion_query enum: (additional; see above)
+ SAMPLES_PASSED_ARB = 0x8914
+
+# NV_future_use: 0x8915
+
+VERSION_3_2 enum:
+ GEOMETRY_VERTICES_OUT = 0x8916
+ GEOMETRY_INPUT_TYPE = 0x8917
+ GEOMETRY_OUTPUT_TYPE = 0x8918
+
+# NV_future_use: 0x8919
+
+VERSION_3_0 enum:
+ CLAMP_VERTEX_COLOR = 0x891A # VERSION_3_0
+ CLAMP_FRAGMENT_COLOR = 0x891B # VERSION_3_0
+ CLAMP_READ_COLOR = 0x891C # VERSION_3_0
+ FIXED_ONLY = 0x891D # VERSION_3_0
+
+ARB_color_buffer_float enum: (additional; see above)
+ CLAMP_VERTEX_COLOR_ARB = 0x891A
+ CLAMP_FRAGMENT_COLOR_ARB = 0x891B
+ CLAMP_READ_COLOR_ARB = 0x891C
+ FIXED_ONLY_ARB = 0x891D
+
+# NV_future_use: 0x891E-0x891F
+
+###############################################################################
+
+# ATI: 0x8920-0x897F
+
+ATI_fragment_shader enum:
+ FRAGMENT_SHADER_ATI = 0x8920
+ REG_0_ATI = 0x8921
+ REG_1_ATI = 0x8922
+ REG_2_ATI = 0x8923
+ REG_3_ATI = 0x8924
+ REG_4_ATI = 0x8925
+ REG_5_ATI = 0x8926
+ REG_6_ATI = 0x8927
+ REG_7_ATI = 0x8928
+ REG_8_ATI = 0x8929
+ REG_9_ATI = 0x892A
+ REG_10_ATI = 0x892B
+ REG_11_ATI = 0x892C
+ REG_12_ATI = 0x892D
+ REG_13_ATI = 0x892E
+ REG_14_ATI = 0x892F
+ REG_15_ATI = 0x8930
+ REG_16_ATI = 0x8931
+ REG_17_ATI = 0x8932
+ REG_18_ATI = 0x8933
+ REG_19_ATI = 0x8934
+ REG_20_ATI = 0x8935
+ REG_21_ATI = 0x8936
+ REG_22_ATI = 0x8937
+ REG_23_ATI = 0x8938
+ REG_24_ATI = 0x8939
+ REG_25_ATI = 0x893A
+ REG_26_ATI = 0x893B
+ REG_27_ATI = 0x893C
+ REG_28_ATI = 0x893D
+ REG_29_ATI = 0x893E
+ REG_30_ATI = 0x893F
+ REG_31_ATI = 0x8940
+ CON_0_ATI = 0x8941
+ CON_1_ATI = 0x8942
+ CON_2_ATI = 0x8943
+ CON_3_ATI = 0x8944
+ CON_4_ATI = 0x8945
+ CON_5_ATI = 0x8946
+ CON_6_ATI = 0x8947
+ CON_7_ATI = 0x8948
+ CON_8_ATI = 0x8949
+ CON_9_ATI = 0x894A
+ CON_10_ATI = 0x894B
+ CON_11_ATI = 0x894C
+ CON_12_ATI = 0x894D
+ CON_13_ATI = 0x894E
+ CON_14_ATI = 0x894F
+ CON_15_ATI = 0x8950
+ CON_16_ATI = 0x8951
+ CON_17_ATI = 0x8952
+ CON_18_ATI = 0x8953
+ CON_19_ATI = 0x8954
+ CON_20_ATI = 0x8955
+ CON_21_ATI = 0x8956
+ CON_22_ATI = 0x8957
+ CON_23_ATI = 0x8958
+ CON_24_ATI = 0x8959
+ CON_25_ATI = 0x895A
+ CON_26_ATI = 0x895B
+ CON_27_ATI = 0x895C
+ CON_28_ATI = 0x895D
+ CON_29_ATI = 0x895E
+ CON_30_ATI = 0x895F
+ CON_31_ATI = 0x8960
+ MOV_ATI = 0x8961
+ ADD_ATI = 0x8963
+ MUL_ATI = 0x8964
+ SUB_ATI = 0x8965
+ DOT3_ATI = 0x8966
+ DOT4_ATI = 0x8967
+ MAD_ATI = 0x8968
+ LERP_ATI = 0x8969
+ CND_ATI = 0x896A
+ CND0_ATI = 0x896B
+ DOT2_ADD_ATI = 0x896C
+ SECONDARY_INTERPOLATOR_ATI = 0x896D
+ NUM_FRAGMENT_REGISTERS_ATI = 0x896E
+ NUM_FRAGMENT_CONSTANTS_ATI = 0x896F
+ NUM_PASSES_ATI = 0x8970
+ NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971
+ NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972
+ NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973
+ NUM_LOOPBACK_COMPONENTS_ATI = 0x8974
+ COLOR_ALPHA_PAIRING_ATI = 0x8975
+ SWIZZLE_STR_ATI = 0x8976
+ SWIZZLE_STQ_ATI = 0x8977
+ SWIZZLE_STR_DR_ATI = 0x8978
+ SWIZZLE_STQ_DQ_ATI = 0x8979
+ SWIZZLE_STRQ_ATI = 0x897A
+ SWIZZLE_STRQ_DQ_ATI = 0x897B
+# ??? Not clear where to put new types of mask bits yet
+ RED_BIT_ATI = 0x00000001
+ GREEN_BIT_ATI = 0x00000002
+ BLUE_BIT_ATI = 0x00000004
+ 2X_BIT_ATI = 0x00000001
+ 4X_BIT_ATI = 0x00000002
+ 8X_BIT_ATI = 0x00000004
+ HALF_BIT_ATI = 0x00000008
+ QUARTER_BIT_ATI = 0x00000010
+ EIGHTH_BIT_ATI = 0x00000020
+ SATURATE_BIT_ATI = 0x00000040
+ 2X_BIT_ATI = 0x00000001
+ COMP_BIT_ATI = 0x00000002
+ NEGATE_BIT_ATI = 0x00000004
+ BIAS_BIT_ATI = 0x00000008
+
+# ATI_future_use: 0x897C-0x897F
+
+###############################################################################
+
+# Khronos OpenML WG / OpenGL ES WG: 0x8980-0x898F
+
+OML_interlace enum:
+ INTERLACE_OML = 0x8980
+ INTERLACE_READ_OML = 0x8981
+
+OML_subsample enum:
+ FORMAT_SUBSAMPLE_24_24_OML = 0x8982
+ FORMAT_SUBSAMPLE_244_244_OML = 0x8983
+
+OML_resample enum:
+ PACK_RESAMPLE_OML = 0x8984
+ UNPACK_RESAMPLE_OML = 0x8985
+ RESAMPLE_REPLICATE_OML = 0x8986
+ RESAMPLE_ZERO_FILL_OML = 0x8987
+ RESAMPLE_AVERAGE_OML = 0x8988
+ RESAMPLE_DECIMATE_OML = 0x8989
+
+OES_point_size_array enum: (OpenGL ES only)
+ POINT_SIZE_ARRAY_TYPE_OES = 0x898A
+ POINT_SIZE_ARRAY_STRIDE_OES = 0x898B
+ POINT_SIZE_ARRAY_POINTER_OES = 0x898C
+
+OES_matrix_get enum: (OpenGL ES only)
+ MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898D
+ PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898E
+ TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898F
+
+###############################################################################
+
+# 3dlabs: 0x8990-0x899F
+
+###############################################################################
+
+# Matrox: 0x89A0-0x89FF
+
+###############################################################################
+
+# Apple: 0x8A00-0x8A7F
+
+APPLE_vertex_program_evaluators enum:
+ VERTEX_ATTRIB_MAP1_APPLE = 0x8A00
+ VERTEX_ATTRIB_MAP2_APPLE = 0x8A01
+ VERTEX_ATTRIB_MAP1_SIZE_APPLE = 0x8A02
+ VERTEX_ATTRIB_MAP1_COEFF_APPLE = 0x8A03
+ VERTEX_ATTRIB_MAP1_ORDER_APPLE = 0x8A04
+ VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = 0x8A05
+ VERTEX_ATTRIB_MAP2_SIZE_APPLE = 0x8A06
+ VERTEX_ATTRIB_MAP2_COEFF_APPLE = 0x8A07
+ VERTEX_ATTRIB_MAP2_ORDER_APPLE = 0x8A08
+ VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = 0x8A09
+
+APPLE_fence enum:
+ DRAW_PIXELS_APPLE = 0x8A0A
+ FENCE_APPLE = 0x8A0B
+
+## From Jeremy 2006/10/18 (Bugzilla bug 632) - unknown extension name
+ ELEMENT_ARRAY_APPLE = 0x8A0C
+ ELEMENT_ARRAY_TYPE_APPLE = 0x8A0D
+ ELEMENT_ARRAY_POINTER_APPLE = 0x8A0E
+
+APPLE_float_pixels enum:
+ COLOR_FLOAT_APPLE = 0x8A0F
+
+# APPLE_future_use: 0x8A10
+## From Jeremy 2006/10/18 (Bugzilla bug 632) - unknown extension name
+# MIN_PBUFFER_VIEWPORT_DIMS_APPLE = 0x8A10
+# ELEMENT_BUFFER_BINDING_APPLE = 0x8A11
+# Apple says the extension that defined ELEMENT_BUFFER_BINDING_APPLE
+# never shipped and there's no actual collision with UNIFORM_BUFFER
+
+VERSION_3_1 enum:
+ use ARB_uniform_buffer_object UNIFORM_BUFFER
+
+ARB_uniform_buffer_object enum: (additional; see below)
+ UNIFORM_BUFFER = 0x8A11
+
+APPLE_flush_buffer_range enum:
+ BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12
+ BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13
+
+APPLE_aux_depth_stencil enum:
+ AUX_DEPTH_STENCIL_APPLE = 0x8A14
+
+APPLE_row_bytes enum:
+ PACK_ROW_BYTES_APPLE = 0x8A15
+ UNPACK_ROW_BYTES_APPLE = 0x8A16
+
+# APPLE_future_use: 0x8A17-0x8A18
+
+APPLE_object_purgeable enum:
+ RELEASED_APPLE = 0x8A19
+ VOLATILE_APPLE = 0x8A1A
+ RETAINED_APPLE = 0x8A1B
+ UNDEFINED_APPLE = 0x8A1C
+ PURGEABLE_APPLE = 0x8A1D
+
+# APPLE_future_use: 0x8A1E
+
+APPLE_rgb_422 enum:
+ RGB_422_APPLE = 0x8A1F
+ use APPLE_ycbcr_422 UNSIGNED_SHORT_8_8_APPLE
+ use APPLE_ycbcr_422 UNSIGNED_SHORT_8_8_REV_APPLE
+
+# APPLE_future_use: 0x8A20--0x8A27
+
+VERSION_3_1 enum:
+ use ARB_uniform_buffer_object UNIFORM_BUFFER_BINDING
+ use ARB_uniform_buffer_object UNIFORM_BUFFER_START
+ use ARB_uniform_buffer_object UNIFORM_BUFFER_SIZE
+ use ARB_uniform_buffer_object MAX_VERTEX_UNIFORM_BLOCKS
+ use ARB_uniform_buffer_object MAX_GEOMETRY_UNIFORM_BLOCKS
+ use ARB_uniform_buffer_object MAX_FRAGMENT_UNIFORM_BLOCKS
+ use ARB_uniform_buffer_object MAX_COMBINED_UNIFORM_BLOCKS
+ use ARB_uniform_buffer_object MAX_UNIFORM_BUFFER_BINDINGS
+ use ARB_uniform_buffer_object MAX_UNIFORM_BLOCK_SIZE
+ use ARB_uniform_buffer_object MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS
+ use ARB_uniform_buffer_object MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS
+ use ARB_uniform_buffer_object MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS
+ use ARB_uniform_buffer_object UNIFORM_BUFFER_OFFSET_ALIGNMENT
+ use ARB_uniform_buffer_object ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH
+ use ARB_uniform_buffer_object ACTIVE_UNIFORM_BLOCKS
+ use ARB_uniform_buffer_object UNIFORM_TYPE
+ use ARB_uniform_buffer_object UNIFORM_SIZE
+ use ARB_uniform_buffer_object UNIFORM_NAME_LENGTH
+ use ARB_uniform_buffer_object UNIFORM_BLOCK_INDEX
+ use ARB_uniform_buffer_object UNIFORM_OFFSET
+ use ARB_uniform_buffer_object UNIFORM_ARRAY_STRIDE
+ use ARB_uniform_buffer_object UNIFORM_MATRIX_STRIDE
+ use ARB_uniform_buffer_object UNIFORM_IS_ROW_MAJOR
+ use ARB_uniform_buffer_object UNIFORM_BLOCK_BINDING
+ use ARB_uniform_buffer_object UNIFORM_BLOCK_DATA_SIZE
+ use ARB_uniform_buffer_object UNIFORM_BLOCK_NAME_LENGTH
+ use ARB_uniform_buffer_object UNIFORM_BLOCK_ACTIVE_UNIFORMS
+ use ARB_uniform_buffer_object UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES
+ use ARB_uniform_buffer_object UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER
+ use ARB_uniform_buffer_object UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER
+ use ARB_uniform_buffer_object UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER
+ use ARB_uniform_buffer_object INVALID_INDEX
+
+ARB_uniform_buffer_object enum:
+ UNIFORM_BUFFER_BINDING = 0x8A28
+ UNIFORM_BUFFER_START = 0x8A29
+ UNIFORM_BUFFER_SIZE = 0x8A2A
+ MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B
+ MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C
+ MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D
+ MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E
+ MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F
+ MAX_UNIFORM_BLOCK_SIZE = 0x8A30
+ MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31
+ MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32
+ MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33
+ UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34
+ ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35
+ ACTIVE_UNIFORM_BLOCKS = 0x8A36
+ UNIFORM_TYPE = 0x8A37
+ UNIFORM_SIZE = 0x8A38
+ UNIFORM_NAME_LENGTH = 0x8A39
+ UNIFORM_BLOCK_INDEX = 0x8A3A
+ UNIFORM_OFFSET = 0x8A3B
+ UNIFORM_ARRAY_STRIDE = 0x8A3C
+ UNIFORM_MATRIX_STRIDE = 0x8A3D
+ UNIFORM_IS_ROW_MAJOR = 0x8A3E
+ UNIFORM_BLOCK_BINDING = 0x8A3F
+ UNIFORM_BLOCK_DATA_SIZE = 0x8A40
+ UNIFORM_BLOCK_NAME_LENGTH = 0x8A41
+ UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42
+ UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43
+ UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44
+ UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45
+ UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46
+ INVALID_INDEX = 0xFFFFFFFFu
+
+# APPLE_future_use: 0x8A47-0x8A7F
+
+###############################################################################
+
+# Matrox: 0x8A80-0x8AEF
+
+###############################################################################
+
+# Chromium (Brian Paul): 0x8AF0-0x8B2F
+
+###############################################################################
+
+# ARB HLSL shader extensions: 0x8B30-0x8B8F
+
+
+VERSION_3_1 enum: (Promoted from ARB_shader_objects + ARB_texture_rectangle)
+ SAMPLER_2D_RECT = 0x8B63 # ARB_shader_objects + ARB_texture_rectangle
+ SAMPLER_2D_RECT_SHADOW = 0x8B64 # ARB_shader_objects + ARB_texture_rectangle
+
+#@@ separate extensions
+VERSION_2_0 enum: (Promoted for OpenGL 2.0; only some values; renaming in many cases)
+ARB_shader_objects, ARB_vertex_shader, ARB_fragment_shader enum:
+NV_vertex_program3 enum: (reuses 0x8B4C)
+##Shader types + room for expansion
+ FRAGMENT_SHADER = 0x8B30 # VERSION_2_0
+ FRAGMENT_SHADER_ARB = 0x8B30 # ARB_fragment_shader
+ VERTEX_SHADER = 0x8B31 # VERSION_2_0
+ VERTEX_SHADER_ARB = 0x8B31 # ARB_vertex_shader
+# ARB_future_use: 0x8B32-0x8B3F (for shader types)
+##Container types + room for expansion
+ PROGRAM_OBJECT_ARB = 0x8B40 # ARB_shader_objects
+# ARB_future_use: 0x8B41-0x8B47 (for container types)
+##Misc. shader enums
+ SHADER_OBJECT_ARB = 0x8B48 # ARB_shader_objects
+ MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49 # VERSION_2_0
+ MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49 # ARB_fragment_shader
+ MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A # VERSION_2_0
+ MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A # ARB_vertex_shader
+ MAX_VARYING_FLOATS = 0x8B4B # VERSION_2_0
+ MAX_VARYING_FLOATS_ARB = 0x8B4B # ARB_vertex_shader
+ MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C # VERSION_2_0
+ MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C # ARB_vertex_shader, NV_vertex_program3
+ MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D # VERSION_2_0
+ MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D # ARB_vertex_shader
+ OBJECT_TYPE_ARB = 0x8B4E # ARB_shader_objects
+ SHADER_TYPE = 0x8B4F # VERSION_2_0 (renamed)
+ OBJECT_SUBTYPE_ARB = 0x8B4F # ARB_shader_objects
+##Attribute types + room for expansion.
+ FLOAT_VEC2 = 0x8B50 # VERSION_2_0
+ FLOAT_VEC2_ARB = 0x8B50 # ARB_shader_objects
+ FLOAT_VEC3 = 0x8B51 # VERSION_2_0
+ FLOAT_VEC3_ARB = 0x8B51 # ARB_shader_objects
+ FLOAT_VEC4 = 0x8B52 # VERSION_2_0
+ FLOAT_VEC4_ARB = 0x8B52 # ARB_shader_objects
+ INT_VEC2 = 0x8B53 # VERSION_2_0
+ INT_VEC2_ARB = 0x8B53 # ARB_shader_objects
+ INT_VEC3 = 0x8B54 # VERSION_2_0
+ INT_VEC3_ARB = 0x8B54 # ARB_shader_objects
+ INT_VEC4 = 0x8B55 # VERSION_2_0
+ INT_VEC4_ARB = 0x8B55 # ARB_shader_objects
+ BOOL = 0x8B56 # VERSION_2_0
+ BOOL_ARB = 0x8B56 # ARB_shader_objects
+ BOOL_VEC2 = 0x8B57 # VERSION_2_0
+ BOOL_VEC2_ARB = 0x8B57 # ARB_shader_objects
+ BOOL_VEC3 = 0x8B58 # VERSION_2_0
+ BOOL_VEC3_ARB = 0x8B58 # ARB_shader_objects
+ BOOL_VEC4 = 0x8B59 # VERSION_2_0
+ BOOL_VEC4_ARB = 0x8B59 # ARB_shader_objects
+ FLOAT_MAT2 = 0x8B5A # VERSION_2_0
+ FLOAT_MAT2_ARB = 0x8B5A # ARB_shader_objects
+ FLOAT_MAT3 = 0x8B5B # VERSION_2_0
+ FLOAT_MAT3_ARB = 0x8B5B # ARB_shader_objects
+ FLOAT_MAT4 = 0x8B5C # VERSION_2_0
+ FLOAT_MAT4_ARB = 0x8B5C # ARB_shader_objects
+ SAMPLER_1D = 0x8B5D # VERSION_2_0
+ SAMPLER_1D_ARB = 0x8B5D # ARB_shader_objects
+ SAMPLER_2D = 0x8B5E # VERSION_2_0
+ SAMPLER_2D_ARB = 0x8B5E # ARB_shader_objects
+ SAMPLER_3D = 0x8B5F # VERSION_2_0
+ SAMPLER_3D_ARB = 0x8B5F # ARB_shader_objects
+ SAMPLER_CUBE = 0x8B60 # VERSION_2_0
+ SAMPLER_CUBE_ARB = 0x8B60 # ARB_shader_objects
+ SAMPLER_1D_SHADOW = 0x8B61 # VERSION_2_0
+ SAMPLER_1D_SHADOW_ARB = 0x8B61 # ARB_shader_objects
+ SAMPLER_2D_SHADOW = 0x8B62 # VERSION_2_0
+ SAMPLER_2D_SHADOW_ARB = 0x8B62 # ARB_shader_objects
+ SAMPLER_2D_RECT_ARB = 0x8B63 # ARB_shader_objects
+ SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64 # ARB_shader_objects
+ FLOAT_MAT2x3 = 0x8B65 # VERSION_2_1
+ FLOAT_MAT2x4 = 0x8B66 # VERSION_2_1
+ FLOAT_MAT3x2 = 0x8B67 # VERSION_2_1
+ FLOAT_MAT3x4 = 0x8B68 # VERSION_2_1
+ FLOAT_MAT4x2 = 0x8B69 # VERSION_2_1
+ FLOAT_MAT4x3 = 0x8B6A # VERSION_2_1
+# ARB_future_use: 0x8B6B-0x8B7F (for attribute types)
+ DELETE_STATUS = 0x8B80 # VERSION_2_0 (renamed)
+ OBJECT_DELETE_STATUS_ARB = 0x8B80 # ARB_shader_objects
+ COMPILE_STATUS = 0x8B81 # VERSION_2_0 (renamed)
+ OBJECT_COMPILE_STATUS_ARB = 0x8B81 # ARB_shader_objects
+ LINK_STATUS = 0x8B82 # VERSION_2_0 (renamed)
+ OBJECT_LINK_STATUS_ARB = 0x8B82 # ARB_shader_objects
+ VALIDATE_STATUS = 0x8B83 # VERSION_2_0 (renamed)
+ OBJECT_VALIDATE_STATUS_ARB = 0x8B83 # ARB_shader_objects
+ INFO_LOG_LENGTH = 0x8B84 # VERSION_2_0 (renamed)
+ OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84 # ARB_shader_objects
+ ATTACHED_SHADERS = 0x8B85 # VERSION_2_0 (renamed)
+ OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85 # ARB_shader_objects
+ ACTIVE_UNIFORMS = 0x8B86 # VERSION_2_0 (renamed)
+ OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86 # ARB_shader_objects
+ ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87 # VERSION_2_0 (renamed)
+ OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87 # ARB_shader_objects
+ SHADER_SOURCE_LENGTH = 0x8B88 # VERSION_2_0 (renamed)
+ OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88 # ARB_shader_objects
+ ACTIVE_ATTRIBUTES = 0x8B89 # VERSION_2_0 (renamed)
+ OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89 # ARB_vertex_shader
+ ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A # VERSION_2_0 (renamed)
+ OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A # ARB_vertex_shader
+ FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B # VERSION_2_0
+ FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B # ARB_fragment_shader
+ SHADING_LANGUAGE_VERSION = 0x8B8C # VERSION_2_0
+ SHADING_LANGUAGE_VERSION_ARB = 0x8B8C # ARB_shading_language_100
+
+# Aliases ARB_shader_objects enum above
+OES_texture3D enum: (OpenGL ES only; additional; see above)
+ SAMPLER_3D_OES = 0x8B5F # ARB_shader_objects
+
+# Aliases ARB_fragment_shader enum above
+OES_standard_derivatives enum: (OpenGL ES only)
+ FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B
+
+VERSION_3_0 enum:
+ MAX_VARYING_COMPONENTS = 0x8B4B # VERSION_3_0 # alias GL_MAX_VARYING_FLOATS
+
+ARB_geometry_shader4 enum: (additional; see below; note: no ARB suffixes)
+ use VERSION_3_0 MAX_VARYING_COMPONENTS
+
+EXT_geometry_shader4 enum: (additional; see below)
+ MAX_VARYING_COMPONENTS_EXT = 0x8B4B
+
+VERSION_2_0 enum:
+ CURRENT_PROGRAM = 0x8B8D
+
+# Aliases CURRENT_PROGRAM
+EXT_separate_shader_objects enum:
+ ACTIVE_PROGRAM_EXT = 0x8B8D
+
+# ARB_future_use: 0x8B8E-0x8B8F
+
+###############################################################################
+
+# Khronos OpenGL ES WG: 0x8B90-0x8B9F
+
+OES_compressed_paletted_texture enum: (OpenGL ES only)
+ PALETTE4_RGB8_OES = 0x8B90
+ PALETTE4_RGBA8_OES = 0x8B91
+ PALETTE4_R5_G6_B5_OES = 0x8B92
+ PALETTE4_RGBA4_OES = 0x8B93
+ PALETTE4_RGB5_A1_OES = 0x8B94
+ PALETTE8_RGB8_OES = 0x8B95
+ PALETTE8_RGBA8_OES = 0x8B96
+ PALETTE8_R5_G6_B5_OES = 0x8B97
+ PALETTE8_RGBA4_OES = 0x8B98
+ PALETTE8_RGB5_A1_OES = 0x8B99
+
+OES_read_format enum: (OpenGL ES, also implemented in Mesa)
+ IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A
+ IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B
+
+OES_point_size_array enum: (OpenGL ES only; additional; see above)
+ POINT_SIZE_ARRAY_OES = 0x8B9C
+
+OES_draw_texture enum: (OpenGL ES only)
+ TEXTURE_CROP_RECT_OES = 0x8B9D
+
+OES_matrix_palette enum: (OpenGL ES only)
+ MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = 0x8B9E
+
+OES_point_size_array enum: (OpenGL ES only; additional; see above)
+ POINT_SIZE_ARRAY_BUFFER_BINDING_OES = 0x8B9F
+
+###############################################################################
+
+# Seaweed: 0x8BA0-0x8BAF
+
+###############################################################################
+
+# Mesa: 0x8BB0-0x8BBF
+# Probably one of the two 0x8BB4 enums should be 0x8BB5, but the
+# extension spec is not complete in any event.
+MESA_program_debug enum:
+ FRAGMENT_PROGRAM_POSITION_MESA = 0x8BB0
+ FRAGMENT_PROGRAM_CALLBACK_MESA = 0x8BB1
+ FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA = 0x8BB2
+ FRAGMENT_PROGRAM_CALLBACK_DATA_MESA = 0x8BB3
+ VERTEX_PROGRAM_CALLBACK_MESA = 0x8BB4
+ VERTEX_PROGRAM_POSITION_MESA = 0x8BB4
+ VERTEX_PROGRAM_CALLBACK_FUNC_MESA = 0x8BB6
+ VERTEX_PROGRAM_CALLBACK_DATA_MESA = 0x8BB7
+
+###############################################################################
+
+# ATI: 0x8BC0-0x8BFF
+
+AMD_performance_monitor enum:
+ COUNTER_TYPE_AMD = 0x8BC0
+ COUNTER_RANGE_AMD = 0x8BC1
+ UNSIGNED_INT64_AMD = 0x8BC2
+ PERCENTAGE_AMD = 0x8BC3
+ PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4
+ PERFMON_RESULT_SIZE_AMD = 0x8BC5
+ PERFMON_RESULT_AMD = 0x8BC6
+
+# ATI_future_use: 0x8BC7-0x8BD1
+
+QCOM_extended_get enum: (OpenGL ES only)
+ TEXTURE_WIDTH_QCOM = 0x8BD2
+ TEXTURE_HEIGHT_QCOM = 0x8BD3
+ TEXTURE_DEPTH_QCOM = 0x8BD4
+ TEXTURE_INTERNAL_FORMAT_QCOM = 0x8BD5
+ TEXTURE_FORMAT_QCOM = 0x8BD6
+ TEXTURE_TYPE_QCOM = 0x8BD7
+ TEXTURE_IMAGE_VALID_QCOM = 0x8BD8
+ TEXTURE_NUM_LEVELS_QCOM = 0x8BD9
+ TEXTURE_TARGET_QCOM = 0x8BDA
+ TEXTURE_OBJECT_VALID_QCOM = 0x8BDB
+ STATE_RESTORE = 0x8BDC
+
+# ATI_future_use: 0x8BDD-0x8BFF
+
+###############################################################################
+
+# Imagination Tech.: 0x8C00-0x8C0F
+
+IMG_texture_compression_pvrtc enum: (OpenGL ES only)
+ COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00
+ COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01
+ COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02
+ COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03
+
+IMG_texture_env_enhanced_fixed_function enum: (OpenGL ES only)
+ MODULATE_COLOR_IMG = 0x8C04
+ RECIP_ADD_SIGNED_ALPHA_IMG = 0x8C05
+ TEXTURE_ALPHA_MODULATE_IMG = 0x8C06
+ FACTOR_ALPHA_MODULATE_IMG = 0x8C07
+ FRAGMENT_ALPHA_MODULATE_IMG = 0x8C08
+ ADD_BLEND_IMG = 0x8C09
+
+IMG_shader_binary: (OpenGL ES only)
+ SGX_BINARY_IMG = 0x8C0A
+
+# IMG_future_use: 0x8C0B-0x8C0F
+
+###############################################################################
+
+# NVIDIA: 0x8C10-0x8C8F (Pat Brown)
+
+VERSION_3_0 enum:
+ use ARB_framebuffer_object TEXTURE_RED_TYPE
+ use ARB_framebuffer_object TEXTURE_GREEN_TYPE
+ use ARB_framebuffer_object TEXTURE_BLUE_TYPE
+ use ARB_framebuffer_object TEXTURE_ALPHA_TYPE
+ use ARB_framebuffer_object TEXTURE_LUMINANCE_TYPE
+ use ARB_framebuffer_object TEXTURE_INTENSITY_TYPE
+ use ARB_framebuffer_object TEXTURE_DEPTH_TYPE
+ use ARB_framebuffer_object UNSIGNED_NORMALIZED
+
+ARB_framebuffer_object enum: (note: no ARB suffixes)
+ TEXTURE_RED_TYPE = 0x8C10 # VERSION_3_0 / ARB_fbo
+ TEXTURE_GREEN_TYPE = 0x8C11 # VERSION_3_0 / ARB_fbo
+ TEXTURE_BLUE_TYPE = 0x8C12 # VERSION_3_0 / ARB_fbo
+ TEXTURE_ALPHA_TYPE = 0x8C13 # VERSION_3_0 / ARB_fbo
+ TEXTURE_LUMINANCE_TYPE = 0x8C14 # VERSION_3_0 / ARB_fbo
+ TEXTURE_INTENSITY_TYPE = 0x8C15 # VERSION_3_0 / ARB_fbo
+ TEXTURE_DEPTH_TYPE = 0x8C16 # VERSION_3_0 / ARB_fbo
+ UNSIGNED_NORMALIZED = 0x8C17 # VERSION_3_0 / ARB_fbo
+
+ARB_texture_float enum: (additional; see above)
+ TEXTURE_RED_TYPE_ARB = 0x8C10
+ TEXTURE_GREEN_TYPE_ARB = 0x8C11
+ TEXTURE_BLUE_TYPE_ARB = 0x8C12
+ TEXTURE_ALPHA_TYPE_ARB = 0x8C13
+ TEXTURE_LUMINANCE_TYPE_ARB = 0x8C14
+ TEXTURE_INTENSITY_TYPE_ARB = 0x8C15
+ TEXTURE_DEPTH_TYPE_ARB = 0x8C16
+ UNSIGNED_NORMALIZED_ARB = 0x8C17
+
+VERSION_3_0 enum:
+ TEXTURE_1D_ARRAY = 0x8C18 # VERSION_3_0
+ PROXY_TEXTURE_1D_ARRAY = 0x8C19 # VERSION_3_0
+ TEXTURE_2D_ARRAY = 0x8C1A # VERSION_3_0
+ PROXY_TEXTURE_2D_ARRAY = 0x8C1B # VERSION_3_0
+ TEXTURE_BINDING_1D_ARRAY = 0x8C1C # VERSION_3_0
+ TEXTURE_BINDING_2D_ARRAY = 0x8C1D # VERSION_3_0
+
+EXT_texture_array enum:
+ TEXTURE_1D_ARRAY_EXT = 0x8C18
+ PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19
+ TEXTURE_2D_ARRAY_EXT = 0x8C1A
+ PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B
+ TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C
+ TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D
+
+# NV_future_use: 0x8C1E-0x8C25
+
+VERSION_3_2 enum:
+ MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29
+
+ARB_geometry_shader4 enum: (additional; see below)
+ MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8C29
+
+NV_geometry_program4 enum:
+ GEOMETRY_PROGRAM_NV = 0x8C26
+ MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27
+ MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28
+ MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29
+
+VERSION_3_1 enum:
+ TEXTURE_BUFFER = 0x8C2A
+ MAX_TEXTURE_BUFFER_SIZE = 0x8C2B
+ TEXTURE_BINDING_BUFFER = 0x8C2C
+ TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D
+ TEXTURE_BUFFER_FORMAT = 0x8C2E
+
+ARB_texture_buffer_object enum:
+ TEXTURE_BUFFER_ARB = 0x8C2A
+ MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B
+ TEXTURE_BINDING_BUFFER_ARB = 0x8C2C
+ TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D
+ TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E
+
+EXT_texture_buffer_object enum:
+ TEXTURE_BUFFER_EXT = 0x8C2A
+ MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B
+ TEXTURE_BINDING_BUFFER_EXT = 0x8C2C
+ TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D
+ TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E
+
+# NV_future_use: 0x8C2F-0x8C35
+
+ARB_sample_shading enum:
+ SAMPLE_SHADING_ARB = 0x8C36
+ MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37
+
+# NV_future_use: 0x8C38-0x8C39
+
+VERSION_3_0 enum:
+ R11F_G11F_B10F = 0x8C3A # VERSION_3_0
+ UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B # VERSION_3_0
+
+EXT_packed_float enum:
+ R11F_G11F_B10F_EXT = 0x8C3A
+ UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B
+ RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C
+
+VERSION_3_0 enum:
+ RGB9_E5 = 0x8C3D # VERSION_3_0
+ UNSIGNED_INT_5_9_9_9_REV = 0x8C3E # VERSION_3_0
+ TEXTURE_SHARED_SIZE = 0x8C3F # VERSION_3_0
+
+EXT_texture_shared_exponent enum:
+ RGB9_E5_EXT = 0x8C3D
+ UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E
+ TEXTURE_SHARED_SIZE_EXT = 0x8C3F
+
+VERSION_2_1 enum: (Generic formats promoted for OpenGL 2.1)
+ SRGB = 0x8C40 # VERSION_2_1
+ SRGB8 = 0x8C41 # VERSION_2_1
+ SRGB_ALPHA = 0x8C42 # VERSION_2_1
+ SRGB8_ALPHA8 = 0x8C43 # VERSION_2_1
+ SLUMINANCE_ALPHA = 0x8C44 # VERSION_2_1
+ SLUMINANCE8_ALPHA8 = 0x8C45 # VERSION_2_1
+ SLUMINANCE = 0x8C46 # VERSION_2_1
+ SLUMINANCE8 = 0x8C47 # VERSION_2_1
+ COMPRESSED_SRGB = 0x8C48 # VERSION_2_1
+ COMPRESSED_SRGB_ALPHA = 0x8C49 # VERSION_2_1
+ COMPRESSED_SLUMINANCE = 0x8C4A # VERSION_2_1
+ COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B # VERSION_2_1
+
+EXT_texture_sRGB enum:
+ SRGB_EXT = 0x8C40 # EXT_texture_sRGB
+ SRGB8_EXT = 0x8C41 # EXT_texture_sRGB
+ SRGB_ALPHA_EXT = 0x8C42 # EXT_texture_sRGB
+ SRGB8_ALPHA8_EXT = 0x8C43 # EXT_texture_sRGB
+ SLUMINANCE_ALPHA_EXT = 0x8C44 # EXT_texture_sRGB
+ SLUMINANCE8_ALPHA8_EXT = 0x8C45 # EXT_texture_sRGB
+ SLUMINANCE_EXT = 0x8C46 # EXT_texture_sRGB
+ SLUMINANCE8_EXT = 0x8C47 # EXT_texture_sRGB
+ COMPRESSED_SRGB_EXT = 0x8C48 # EXT_texture_sRGB
+ COMPRESSED_SRGB_ALPHA_EXT = 0x8C49 # EXT_texture_sRGB
+ COMPRESSED_SLUMINANCE_EXT = 0x8C4A # EXT_texture_sRGB
+ COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B # EXT_texture_sRGB
+ COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C
+ COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D
+ COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E
+ COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F
+
+# NV_future_use: 0x8C50-0x8C6F
+
+EXT_texture_compression_latc enum:
+ COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70
+ COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71
+ COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72
+ COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73
+
+# NV_future_use: 0x8C74-0x8C75
+
+#@@ separate extensions
+VERSION_3_0 enum:
+EXT_transform_feedback enum:
+NV_transform_feedback enum:
+ TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76 # VERSION_3_0
+ TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76
+ BACK_PRIMARY_COLOR_NV = 0x8C77
+ BACK_SECONDARY_COLOR_NV = 0x8C78
+ TEXTURE_COORD_NV = 0x8C79
+ CLIP_DISTANCE_NV = 0x8C7A
+ VERTEX_ID_NV = 0x8C7B
+ PRIMITIVE_ID_NV = 0x8C7C
+ GENERIC_ATTRIB_NV = 0x8C7D
+ TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E
+ TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F # VERSION_3_0
+ TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F
+ TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F
+ MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80 # VERSION_3_0
+ MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80
+ MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80
+ ACTIVE_VARYINGS_NV = 0x8C81
+ ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82
+ TRANSFORM_FEEDBACK_VARYINGS = 0x8C83 # VERSION_3_0
+ TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83
+ TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83
+ TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84 # VERSION_3_0
+ TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84
+ TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84
+ TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85 # VERSION_3_0
+ TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85
+ TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85
+ TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86
+ PRIMITIVES_GENERATED = 0x8C87 # VERSION_3_0
+ PRIMITIVES_GENERATED_EXT = 0x8C87
+ PRIMITIVES_GENERATED_NV = 0x8C87
+ TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88 # VERSION_3_0
+ TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88
+ TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88
+ RASTERIZER_DISCARD = 0x8C89 # VERSION_3_0
+ RASTERIZER_DISCARD_EXT = 0x8C89
+ RASTERIZER_DISCARD_NV = 0x8C89
+ MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A # VERSION_3_0
+ MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A
+ MAX_TRANSFORM_FEEDBACK_INTERLEAVED_ATTRIBS_NV = 0x8C8A
+ MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B # VERSION_3_0
+ MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B
+ MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B
+ INTERLEAVED_ATTRIBS = 0x8C8C # VERSION_3_0
+ INTERLEAVED_ATTRIBS_EXT = 0x8C8C
+ INTERLEAVED_ATTRIBS_NV = 0x8C8C
+ SEPARATE_ATTRIBS = 0x8C8D # VERSION_3_0
+ SEPARATE_ATTRIBS_EXT = 0x8C8D
+ SEPARATE_ATTRIBS_NV = 0x8C8D
+ TRANSFORM_FEEDBACK_BUFFER = 0x8C8E # VERSION_3_0
+ TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E
+ TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E
+ TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F # VERSION_3_0
+ TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F
+ TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F
+
+###############################################################################
+
+# ATI: 0x8C90-0x8C9F (Affie Munshi, OpenGL ES extensions)
+
+# AMD_future_use: 0x8C90-0x8C91
+
+AMD_compressed_ATC_texture enum: (OpenGL ES only)
+ ATC_RGB_AMD = 0x8C92
+ ATC_RGBA_EXPLICIT_ALPHA_AMD = 0x8C93
+
+# AMD_future_use: 0x8C94-0x8C9F
+
+###############################################################################
+
+# OpenGL ARB: 0x8CA0-0x8CAF
+
+VERSION_2_0 enum:
+ POINT_SPRITE_COORD_ORIGIN = 0x8CA0
+ LOWER_LEFT = 0x8CA1
+ UPPER_LEFT = 0x8CA2
+ STENCIL_BACK_REF = 0x8CA3
+ STENCIL_BACK_VALUE_MASK = 0x8CA4
+ STENCIL_BACK_WRITEMASK = 0x8CA5
+
+VERSION_3_0 enum:
+ use ARB_framebuffer_object FRAMEBUFFER_BINDING
+ use ARB_framebuffer_object DRAW_FRAMEBUFFER_BINDING
+ use ARB_framebuffer_object RENDERBUFFER_BINDING
+
+ARB_framebuffer_object enum: (note: no ARB suffixes)
+ FRAMEBUFFER_BINDING = 0x8CA6 # VERSION_3_0 / ARB_fbo
+ DRAW_FRAMEBUFFER_BINDING = 0x8CA6 # VERSION_3_0 / ARB_fbo # alias GL_FRAMEBUFFER_BINDING
+ RENDERBUFFER_BINDING = 0x8CA7 # VERSION_3_0 / ARB_fbo
+
+EXT_framebuffer_object enum: (additional; see below)
+ FRAMEBUFFER_BINDING_EXT = 0x8CA6
+ RENDERBUFFER_BINDING_EXT = 0x8CA7
+
+EXT_framebuffer_blit enum: (additional; see below)
+ DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6 # EXT_framebuffer_blit # alias GL_FRAMEBUFFER_BINDING_EXT
+
+# Aliases EXT_framebuffer_object enums above
+OES_framebuffer_object enum: (OpenGL ES only; additional; see below)
+ FRAMEBUFFER_BINDING_OES = 0x8CA6
+ RENDERBUFFER_BINDING_OES = 0x8CA7
+
+VERSION_3_0 enum:
+ use ARB_framebuffer_object READ_FRAMEBUFFER
+ use ARB_framebuffer_object DRAW_FRAMEBUFFER
+ use ARB_framebuffer_object READ_FRAMEBUFFER_BINDING
+
+ARB_framebuffer_object enum: (note: no ARB suffixes)
+ READ_FRAMEBUFFER = 0x8CA8 # VERSION_3_0 / ARB_fbo
+ DRAW_FRAMEBUFFER = 0x8CA9 # VERSION_3_0 / ARB_fbo
+ READ_FRAMEBUFFER_BINDING = 0x8CAA # VERSION_3_0 / ARB_fbo
+
+EXT_framebuffer_blit enum:
+ READ_FRAMEBUFFER_EXT = 0x8CA8
+ DRAW_FRAMEBUFFER_EXT = 0x8CA9
+ DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6 # alias GL_FRAMEBUFFER_BINDING_EXT
+ READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA
+
+VERSION_3_0 enum:
+ use ARB_framebuffer_object RENDERBUFFER_SAMPLES
+
+ARB_framebuffer_object enum: (note: no ARB suffixes)
+ RENDERBUFFER_SAMPLES = 0x8CAB # VERSION_3_0 / ARB_fbo
+
+EXT_framebuffer_multisample enum:
+ RENDERBUFFER_SAMPLES_EXT = 0x8CAB
+
+NV_framebuffer_multisample_coverage enum: (additional; see below)
+ RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB
+
+# All enums except external format are incompatible with NV_depth_buffer_float
+VERSION_3_0 enum:
+ARB_depth_buffer_float enum: (note: no ARB suffixes)
+ DEPTH_COMPONENT32F = 0x8CAC
+ DEPTH32F_STENCIL8 = 0x8CAD
+
+# ARB_future_use: 0x8CAF
+
+###############################################################################
+
+# 3Dlabs: 0x8CB0-0x8CCF (Barthold Lichtenbelt, 2004/12/1)
+
+###############################################################################
+
+# OpenGL ARB: 0x8CD0-0x8D5F (Framebuffer object specification + headroom)
+
+#@@ separate extensions
+VERSION_3_0 enum:
+ARB_geometry_shader4 enum: (additional; see below; note: no ARB suffixes)
+ARB_framebuffer_object enum: (note: no ARB suffixes)
+EXT_framebuffer_object enum: (additional; see above)
+ FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0
+ FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1
+ FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2
+ FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3
+ FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4
+ FRAMEBUFFER_COMPLETE = 0x8CD5 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_COMPLETE_EXT = 0x8CD5
+ FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6
+ FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7
+## Removed 2005/09/26 in revision #117 of the extension:
+## FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = 0x8CD8
+ FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9
+ FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA
+ FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB
+ FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC
+ FRAMEBUFFER_UNSUPPORTED = 0x8CDD # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD
+## Removed 2005/05/31 in revision #113 of the extension:
+## FRAMEBUFFER_STATUS_ERROR_EXT = 0x8CDE
+ MAX_COLOR_ATTACHMENTS = 0x8CDF # VERSION_3_0 / ARB_fbo
+ MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF
+ COLOR_ATTACHMENT0 = 0x8CE0 # VERSION_3_0 / ARB_fbo
+ COLOR_ATTACHMENT0_EXT = 0x8CE0
+ COLOR_ATTACHMENT1 = 0x8CE1 # VERSION_3_0 / ARB_fbo
+ COLOR_ATTACHMENT1_EXT = 0x8CE1
+ COLOR_ATTACHMENT2 = 0x8CE2 # VERSION_3_0 / ARB_fbo
+ COLOR_ATTACHMENT2_EXT = 0x8CE2
+ COLOR_ATTACHMENT3 = 0x8CE3 # VERSION_3_0 / ARB_fbo
+ COLOR_ATTACHMENT3_EXT = 0x8CE3
+ COLOR_ATTACHMENT4 = 0x8CE4 # VERSION_3_0 / ARB_fbo
+ COLOR_ATTACHMENT4_EXT = 0x8CE4
+ COLOR_ATTACHMENT5 = 0x8CE5 # VERSION_3_0 / ARB_fbo
+ COLOR_ATTACHMENT5_EXT = 0x8CE5
+ COLOR_ATTACHMENT6 = 0x8CE6 # VERSION_3_0 / ARB_fbo
+ COLOR_ATTACHMENT6_EXT = 0x8CE6
+ COLOR_ATTACHMENT7 = 0x8CE7 # VERSION_3_0 / ARB_fbo
+ COLOR_ATTACHMENT7_EXT = 0x8CE7
+ COLOR_ATTACHMENT8 = 0x8CE8 # VERSION_3_0 / ARB_fbo
+ COLOR_ATTACHMENT8_EXT = 0x8CE8
+ COLOR_ATTACHMENT9 = 0x8CE9 # VERSION_3_0 / ARB_fbo
+ COLOR_ATTACHMENT9_EXT = 0x8CE9
+ COLOR_ATTACHMENT10 = 0x8CEA # VERSION_3_0 / ARB_fbo
+ COLOR_ATTACHMENT10_EXT = 0x8CEA
+ COLOR_ATTACHMENT11 = 0x8CEB # VERSION_3_0 / ARB_fbo
+ COLOR_ATTACHMENT11_EXT = 0x8CEB
+ COLOR_ATTACHMENT12 = 0x8CEC # VERSION_3_0 / ARB_fbo
+ COLOR_ATTACHMENT12_EXT = 0x8CEC
+ COLOR_ATTACHMENT13 = 0x8CED # VERSION_3_0 / ARB_fbo
+ COLOR_ATTACHMENT13_EXT = 0x8CED
+ COLOR_ATTACHMENT14 = 0x8CEE # VERSION_3_0 / ARB_fbo
+ COLOR_ATTACHMENT14_EXT = 0x8CEE
+ COLOR_ATTACHMENT15 = 0x8CEF # VERSION_3_0 / ARB_fbo
+ COLOR_ATTACHMENT15_EXT = 0x8CEF
+# 0x8CF0-0x8CFF reserved for color attachments 16-31, if needed
+ DEPTH_ATTACHMENT = 0x8D00 # VERSION_3_0 / ARB_fbo
+ DEPTH_ATTACHMENT_EXT = 0x8D00
+# 0x8D01-0x8D1F reserved for depth attachments 1-31, if needed
+ STENCIL_ATTACHMENT = 0x8D20 # VERSION_3_0 / ARB_fbo
+ STENCIL_ATTACHMENT_EXT = 0x8D20
+# 0x8D21-0x8D3F reserved for stencil attachments 1-31, if needed
+ FRAMEBUFFER = 0x8D40 # VERSION_3_0 / ARB_fbo
+ FRAMEBUFFER_EXT = 0x8D40
+ RENDERBUFFER = 0x8D41 # VERSION_3_0 / ARB_fbo
+ RENDERBUFFER_EXT = 0x8D41
+ RENDERBUFFER_WIDTH = 0x8D42 # VERSION_3_0 / ARB_fbo
+ RENDERBUFFER_WIDTH_EXT = 0x8D42
+ RENDERBUFFER_HEIGHT = 0x8D43 # VERSION_3_0 / ARB_fbo
+ RENDERBUFFER_HEIGHT_EXT = 0x8D43
+ RENDERBUFFER_INTERNAL_FORMAT = 0x8D44 # VERSION_3_0 / ARB_fbo
+ RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44
+# 0x8D45 unused (reserved for STENCIL_INDEX_EXT, but now use core STENCIL_INDEX instead)
+ STENCIL_INDEX1 = 0x8D46 # VERSION_3_0 / ARB_fbo
+ STENCIL_INDEX1_EXT = 0x8D46
+ STENCIL_INDEX4 = 0x8D47 # VERSION_3_0 / ARB_fbo
+ STENCIL_INDEX4_EXT = 0x8D47
+ STENCIL_INDEX8 = 0x8D48 # VERSION_3_0 / ARB_fbo
+ STENCIL_INDEX8_EXT = 0x8D48
+ STENCIL_INDEX16 = 0x8D49 # VERSION_3_0 / ARB_fbo
+ STENCIL_INDEX16_EXT = 0x8D49
+# 0x8D4A-0x8D4D reserved for additional stencil formats
+# Added 2005/05/31 in revision #113 of the extension:
+ RENDERBUFFER_RED_SIZE = 0x8D50 # VERSION_3_0 / ARB_fbo
+ RENDERBUFFER_RED_SIZE_EXT = 0x8D50
+ RENDERBUFFER_GREEN_SIZE = 0x8D51 # VERSION_3_0 / ARB_fbo
+ RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51
+ RENDERBUFFER_BLUE_SIZE = 0x8D52 # VERSION_3_0 / ARB_fbo
+ RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52
+ RENDERBUFFER_ALPHA_SIZE = 0x8D53 # VERSION_3_0 / ARB_fbo
+ RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53
+ RENDERBUFFER_DEPTH_SIZE = 0x8D54 # VERSION_3_0 / ARB_fbo
+ RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54
+ RENDERBUFFER_STENCIL_SIZE = 0x8D55 # VERSION_3_0 / ARB_fbo
+ RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55
+
+# Aliases EXT_framebuffer_object enum above
+# @@@??? does this appear in OES_texture3D, or OES_framebuffer_object?
+# extension spec & gl2ext.h disagree!
+OES_texture3D enum: (OpenGL ES only; additional; see above)
+ FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES = 0x8CD4
+
+# Aliases EXT_framebuffer_object enums above
+OES_framebuffer_object enum: (OpenGL ES only; additional; see below)
+ FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 0x8CD0
+ FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 0x8CD1
+ FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 0x8CD2
+ FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 0x8CD3
+ FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES = 0x8CD4
+ FRAMEBUFFER_COMPLETE_OES = 0x8CD5
+ FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 0x8CD6
+ FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 0x8CD7
+ FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 0x8CD9
+ FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 0x8CDA
+ FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES = 0x8CDB
+ FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES = 0x8CDC
+ FRAMEBUFFER_UNSUPPORTED_OES = 0x8CDD
+ COLOR_ATTACHMENT0_OES = 0x8CE0
+ DEPTH_ATTACHMENT_OES = 0x8D00
+ STENCIL_ATTACHMENT_OES = 0x8D20
+ FRAMEBUFFER_OES = 0x8D40
+ RENDERBUFFER_OES = 0x8D41
+ RENDERBUFFER_WIDTH_OES = 0x8D42
+ RENDERBUFFER_HEIGHT_OES = 0x8D43
+ RENDERBUFFER_INTERNAL_FORMAT_OES = 0x8D44
+ STENCIL_INDEX1_OES = 0x8D46
+ STENCIL_INDEX4_OES = 0x8D47
+ STENCIL_INDEX8_OES = 0x8D48
+ RENDERBUFFER_RED_SIZE_OES = 0x8D50
+ RENDERBUFFER_GREEN_SIZE_OES = 0x8D51
+ RENDERBUFFER_BLUE_SIZE_OES = 0x8D52
+ RENDERBUFFER_ALPHA_SIZE_OES = 0x8D53
+ RENDERBUFFER_DEPTH_SIZE_OES = 0x8D54
+ RENDERBUFFER_STENCIL_SIZE_OES = 0x8D55
+
+OES_stencil1 enum: (OpenGL ES only; additional; see below)
+ use OES_framebuffer_object STENCIL_INDEX1_OES
+
+OES_stencil4 enum: (OpenGL ES only; additional; see below)
+ use OES_framebuffer_object STENCIL_INDEX4_OES
+
+OES_stencil8 enum: (OpenGL ES only; additional; see below)
+ use OES_framebuffer_object STENCIL_INDEX8_OES
+
+VERSION_3_0 enum:
+ARB_framebuffer_object enum: (note: no ARB suffixes)
+# Added 2006/10/10 in revision #6b of the extension.
+ FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56 # VERSION_3_0 / ARB_fbo
+ MAX_SAMPLES = 0x8D57 # VERSION_3_0 / ARB_fbo
+
+EXT_framebuffer_multisample enum: (additional; see above)
+ FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56
+ MAX_SAMPLES_EXT = 0x8D57
+
+# 0x8D58-0x8D5F reserved for additional FBO enums
+
+NV_geometry_program4 enum: (additional; see above)
+ FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4
+
+###############################################################################
+
+# Khronos OpenGL ES WG: 0x8D60-0x8D6F
+
+OES_texture_cube_map enum: (OpenGL ES only)
+ TEXTURE_GEN_STR_OES = 0x8D60
+
+OES_texture_float enum: (OpenGL ES only)
+ HALF_FLOAT_OES = 0x8D61
+
+OES_vertex_half_float enum: (OpenGL ES only)
+ use OES_texture_float HALF_FLOAT_OES
+
+OES_framebuffer_object enum: (OpenGL ES only)
+ RGB565_OES = 0x8D62
+
+# Khronos_future_use: 0x8D63
+
+OES_compressed_ETC1_RGB8_texture enum: (OpenGL ES only)
+ ETC1_RGB8_OES = 0x8D64
+
+OES_EGL_image_external enum: (OpenGL ES only) (bug 4621)
+ TEXTURE_EXTERNAL_OES = 0x8D65
+ SAMPLER_EXTERNAL_OES = 0x8D66
+ TEXTURE_BINDING_EXTERNAL_OES = 0x8D67
+ REQUIRED_TEXTURE_IMAGE_UNITS_OES = 0x8D68
+
+# Khronos_future_use: 0x8D69-0x8D6F
+
+###############################################################################
+
+# NVIDIA: 0x8D70-0x8DEF
+# Reserved per email from Pat Brown 2005/10/13
+
+#@@ separate extensions
+VERSION_3_0 enum:
+EXT_texture_integer enum:
+ RGBA32UI = 0x8D70 # VERSION_3_0
+ RGBA32UI_EXT = 0x8D70
+ RGB32UI = 0x8D71 # VERSION_3_0
+ RGB32UI_EXT = 0x8D71
+ ALPHA32UI_EXT = 0x8D72
+ INTENSITY32UI_EXT = 0x8D73
+ LUMINANCE32UI_EXT = 0x8D74
+ LUMINANCE_ALPHA32UI_EXT = 0x8D75
+ RGBA16UI = 0x8D76 # VERSION_3_0
+ RGBA16UI_EXT = 0x8D76
+ RGB16UI = 0x8D77 # VERSION_3_0
+ RGB16UI_EXT = 0x8D77
+ ALPHA16UI_EXT = 0x8D78
+ INTENSITY16UI_EXT = 0x8D79
+ LUMINANCE16UI_EXT = 0x8D7A
+ LUMINANCE_ALPHA16UI_EXT = 0x8D7B
+ RGBA8UI = 0x8D7C # VERSION_3_0
+ RGBA8UI_EXT = 0x8D7C
+ RGB8UI = 0x8D7D # VERSION_3_0
+ RGB8UI_EXT = 0x8D7D
+ ALPHA8UI_EXT = 0x8D7E
+ INTENSITY8UI_EXT = 0x8D7F
+ LUMINANCE8UI_EXT = 0x8D80
+ LUMINANCE_ALPHA8UI_EXT = 0x8D81
+ RGBA32I = 0x8D82 # VERSION_3_0
+ RGBA32I_EXT = 0x8D82
+ RGB32I = 0x8D83 # VERSION_3_0
+ RGB32I_EXT = 0x8D83
+ ALPHA32I_EXT = 0x8D84
+ INTENSITY32I_EXT = 0x8D85
+ LUMINANCE32I_EXT = 0x8D86
+ LUMINANCE_ALPHA32I_EXT = 0x8D87
+ RGBA16I = 0x8D88 # VERSION_3_0
+ RGBA16I_EXT = 0x8D88
+ RGB16I = 0x8D89 # VERSION_3_0
+ RGB16I_EXT = 0x8D89
+ ALPHA16I_EXT = 0x8D8A
+ INTENSITY16I_EXT = 0x8D8B
+ LUMINANCE16I_EXT = 0x8D8C
+ LUMINANCE_ALPHA16I_EXT = 0x8D8D
+ RGBA8I = 0x8D8E # VERSION_3_0
+ RGBA8I_EXT = 0x8D8E
+ RGB8I = 0x8D8F # VERSION_3_0
+ RGB8I_EXT = 0x8D8F
+ ALPHA8I_EXT = 0x8D90
+ INTENSITY8I_EXT = 0x8D91
+ LUMINANCE8I_EXT = 0x8D92
+ LUMINANCE_ALPHA8I_EXT = 0x8D93
+ RED_INTEGER = 0x8D94 # VERSION_3_0
+ RED_INTEGER_EXT = 0x8D94
+ GREEN_INTEGER = 0x8D95 # VERSION_3_0
+ GREEN_INTEGER_EXT = 0x8D95
+ BLUE_INTEGER = 0x8D96 # VERSION_3_0
+ BLUE_INTEGER_EXT = 0x8D96
+ ALPHA_INTEGER = 0x8D97 # VERSION_3_0
+ ALPHA_INTEGER_EXT = 0x8D97
+ RGB_INTEGER = 0x8D98 # VERSION_3_0
+ RGB_INTEGER_EXT = 0x8D98
+ RGBA_INTEGER = 0x8D99 # VERSION_3_0
+ RGBA_INTEGER_EXT = 0x8D99
+ BGR_INTEGER = 0x8D9A # VERSION_3_0
+ BGR_INTEGER_EXT = 0x8D9A
+ BGRA_INTEGER = 0x8D9B # VERSION_3_0
+ BGRA_INTEGER_EXT = 0x8D9B
+ LUMINANCE_INTEGER_EXT = 0x8D9C
+ LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D
+ RGBA_INTEGER_MODE_EXT = 0x8D9E
+
+# NV_future_use: 0x8D9F
+
+NV_parameter_buffer_object enum:
+ MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 0x8DA0
+ MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 0x8DA1
+ VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2
+ GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA3
+ FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA4
+
+NV_gpu_program4 enum: (additional; see above)
+ MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5
+ MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6
+
+VERSION_3_2 enum:
+ FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7
+ FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8
+
+ARB_geometry_shader4 enum: (additional; see below)
+ FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8DA7
+ FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8
+ FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9
+
+NV_geometry_program4 enum: (additional; see above)
+ FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7
+ FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8
+ FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9
+
+# NV_future_use: 0x8DAA
+
+VERSION_3_0 enum:
+ARB_depth_buffer_float enum: (additional; see above; some values different from NV; note: no ARB suffixes)
+ FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD
+
+NV_depth_buffer_float enum:
+ DEPTH_COMPONENT32F_NV = 0x8DAB
+ DEPTH32F_STENCIL8_NV = 0x8DAC
+ FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD
+ DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF
+
+# NV_future_use: 0x8DAE
+# NV_future_use: 0x8DB0-0x8DB8
+
+VERSION_3_0 enum:
+ARB_framebuffer_sRGB enum: (note: no ARB suffixes)
+ FRAMEBUFFER_SRGB = 0x8DB9 # VERSION_3_0 / ARB_sRGB
+
+EXT_framebuffer_sRGB enum:
+ FRAMEBUFFER_SRGB_EXT = 0x8DB9
+ FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA
+
+VERSION_3_0 enum:
+ARB_texture_compression_rgtc enum: (note: no ARB suffixes)
+ COMPRESSED_RED_RGTC1 = 0x8DBB # VERSION_3_0 / ARB_tcrgtc
+ COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC # VERSION_3_0 / ARB_tcrgtc
+ COMPRESSED_RG_RGTC2 = 0x8DBD # VERSION_3_0 / ARB_tcrgtc
+ COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE # VERSION_3_0 / ARB_tcrgtc
+
+EXT_texture_compression_rgtc enum:
+ COMPRESSED_RED_RGTC1_EXT = 0x8DBB
+ COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC
+ COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD
+ COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE
+
+# NV_future_use: 0x8DBF
+
+VERSION_3_0 enum:
+ SAMPLER_1D_ARRAY = 0x8DC0 # VERSION_3_0
+ SAMPLER_2D_ARRAY = 0x8DC1 # VERSION_3_0
+ SAMPLER_1D_ARRAY_SHADOW = 0x8DC3 # VERSION_3_0
+ SAMPLER_2D_ARRAY_SHADOW = 0x8DC4 # VERSION_3_0
+ SAMPLER_CUBE_SHADOW = 0x8DC5 # VERSION_3_0
+ UNSIGNED_INT_VEC2 = 0x8DC6 # VERSION_3_0
+ UNSIGNED_INT_VEC3 = 0x8DC7 # VERSION_3_0
+ UNSIGNED_INT_VEC4 = 0x8DC8 # VERSION_3_0
+ INT_SAMPLER_1D = 0x8DC9 # VERSION_3_0
+ INT_SAMPLER_2D = 0x8DCA # VERSION_3_0
+ INT_SAMPLER_3D = 0x8DCB # VERSION_3_0
+ INT_SAMPLER_CUBE = 0x8DCC # VERSION_3_0
+ INT_SAMPLER_1D_ARRAY = 0x8DCE # VERSION_3_0
+ INT_SAMPLER_2D_ARRAY = 0x8DCF # VERSION_3_0
+ UNSIGNED_INT_SAMPLER_1D = 0x8DD1 # VERSION_3_0
+ UNSIGNED_INT_SAMPLER_2D = 0x8DD2 # VERSION_3_0
+ UNSIGNED_INT_SAMPLER_3D = 0x8DD3 # VERSION_3_0
+ UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4 # VERSION_3_0
+ UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6 # VERSION_3_0
+ UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7 # VERSION_3_0
+
+VERSION_3_1 enum: (Promoted from EXT_gpu_shader4 + ARB_texture_rectangle / ARB_uniform_buffer_object)
+ SAMPLER_BUFFER = 0x8DC2 # EXT_gpu_shader4 + ARB_texture_buffer_object
+ INT_SAMPLER_2D_RECT = 0x8DCD # EXT_gpu_shader4 + ARB_texture_rectangle
+ INT_SAMPLER_BUFFER = 0x8DD0 # EXT_gpu_shader4 + ARB_texture_buffer_object
+ UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5 # EXT_gpu_shader4 + ARB_texture_rectangle
+ UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8 # EXT_gpu_shader4 + ARB_texture_buffer_object
+
+EXT_gpu_shader4 enum:
+ SAMPLER_1D_ARRAY_EXT = 0x8DC0
+ SAMPLER_2D_ARRAY_EXT = 0x8DC1
+ SAMPLER_BUFFER_EXT = 0x8DC2
+ SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3
+ SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4
+ SAMPLER_CUBE_SHADOW_EXT = 0x8DC5
+ UNSIGNED_INT_VEC2_EXT = 0x8DC6
+ UNSIGNED_INT_VEC3_EXT = 0x8DC7
+ UNSIGNED_INT_VEC4_EXT = 0x8DC8
+ INT_SAMPLER_1D_EXT = 0x8DC9
+ INT_SAMPLER_2D_EXT = 0x8DCA
+ INT_SAMPLER_3D_EXT = 0x8DCB
+ INT_SAMPLER_CUBE_EXT = 0x8DCC
+ INT_SAMPLER_2D_RECT_EXT = 0x8DCD
+ INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE
+ INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF
+ INT_SAMPLER_BUFFER_EXT = 0x8DD0
+ UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1
+ UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2
+ UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3
+ UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4
+ UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5
+ UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6
+ UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7
+ UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8
+
+VERSION_3_2 enum:
+ GEOMETRY_SHADER = 0x8DD9
+
+ARB_geometry_shader4 enum:
+ GEOMETRY_SHADER_ARB = 0x8DD9
+
+EXT_geometry_shader4 enum:
+ GEOMETRY_SHADER_EXT = 0x8DD9
+
+ARB_geometry_shader4 enum: (additional; see above)
+ GEOMETRY_VERTICES_OUT_ARB = 0x8DDA
+ GEOMETRY_INPUT_TYPE_ARB = 0x8DDB
+ GEOMETRY_OUTPUT_TYPE_ARB = 0x8DDC
+
+NV_geometry_program4 enum: (additional; see above)
+ GEOMETRY_VERTICES_OUT_EXT = 0x8DDA
+ GEOMETRY_INPUT_TYPE_EXT = 0x8DDB
+ GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC
+
+ARB_geometry_shader4 enum: (additional; see above)
+ MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8DDD
+ MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8DDE
+ MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF
+ MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0
+ MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1
+
+VERSION_3_2 enum:
+ MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF
+ MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0
+ MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1
+
+EXT_geometry_shader4 enum: (additional; see above)
+ MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD
+ MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE
+ MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF
+ MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0
+ MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1
+
+EXT_bindable_uniform enum:
+ MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2
+ MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3
+ MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4
+
+# NV_future_use: 0x8DE5-0x8DEC
+
+EXT_bindable_uniform enum: (additional; see above)
+ MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED
+ UNIFORM_BUFFER_EXT = 0x8DEE
+ UNIFORM_BUFFER_BINDING_EXT = 0x8DEF
+
+###############################################################################
+
+# Khronos OpenGL ES WG: 0x8DF0-0x8E0F
+
+# Khronos_future_use: 0x8DF0-0x8DF5
+
+OES_vertex_type_10_10_10_2 enum: (OpenGL ES only)
+ UNSIGNED_INT_10_10_10_2_OES = 0x8DF6
+ INT_10_10_10_2_OES = 0x8DF7
+
+# Khronos_future_use: 0x8DF8-0x8E0F
+
+###############################################################################
+
+# NVIDIA: 0x8E10-0x8E8F
+# Reserved per email from Michael Gold 2006/8/7
+
+NV_framebuffer_multisample_coverage enum:
+ RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10
+ MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11
+ MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12
+
+VERSION_3_0 enum:
+ QUERY_WAIT = 0x8E13 # VERSION_3_0
+ QUERY_NO_WAIT = 0x8E14 # VERSION_3_0
+ QUERY_BY_REGION_WAIT = 0x8E15 # VERSION_3_0
+ QUERY_BY_REGION_NO_WAIT = 0x8E16 # VERSION_3_0
+
+GL_NV_conditional_render enum:
+ QUERY_WAIT_NV = 0x8E13
+ QUERY_NO_WAIT_NV = 0x8E14
+ QUERY_BY_REGION_WAIT_NV = 0x8E15
+ QUERY_BY_REGION_NO_WAIT_NV = 0x8E16
+
+# NV_future_use: 0x8E17-0x8E21
+
+NV_transform_feedback2 enum:
+ TRANSFORM_FEEDBACK_NV = 0x8E22
+ TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23
+ TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24
+ TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25
+
+NV_present_video enum:
+ FRAME_NV = 0x8E26
+ FIELDS_NV = 0x8E27
+ CURRENT_TIME_NV = 0x8E28
+ NUM_FILL_STREAMS_NV = 0x8E29
+ PRESENT_TIME_NV = 0x8E2A
+ PRESENT_DURATION_NV = 0x8E2B
+
+# NV_future_use: 0x8E2C
+
+EXT_direct_state_access enum:
+ PROGRAM_MATRIX_EXT = 0x8E2D
+ TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E
+ PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F
+
+# NV_future_use: 0x8E30-0x8E41
+
+EXT_texture_swizzle enum:
+ TEXTURE_SWIZZLE_R_EXT = 0x8E42
+ TEXTURE_SWIZZLE_G_EXT = 0x8E43
+ TEXTURE_SWIZZLE_B_EXT = 0x8E44
+ TEXTURE_SWIZZLE_A_EXT = 0x8E45
+ TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46
+
+# NV_future_use: 0x8E47-0x8E4B
+
+VERSION_3_2 enum:
+ use ARB_provoking_vertex QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION
+ use ARB_provoking_vertex FIRST_VERTEX_CONVENTION
+ use ARB_provoking_vertex LAST_VERTEX_CONVENTION
+ use ARB_provoking_vertex PROVOKING_VERTEX
+
+ARB_provoking_vertex enum:
+ QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C
+ FIRST_VERTEX_CONVENTION = 0x8E4D
+ LAST_VERTEX_CONVENTION = 0x8E4E
+ PROVOKING_VERTEX = 0x8E4F
+
+EXT_provoking_vertex enum:
+ QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 0x8E4C
+ FIRST_VERTEX_CONVENTION_EXT = 0x8E4D
+ LAST_VERTEX_CONVENTION_EXT = 0x8E4E
+ PROVOKING_VERTEX_EXT = 0x8E4F
+
+VERSION_3_2 enum:
+ use ARB_texture_multisample SAMPLE_POSITION
+ use ARB_texture_multisample SAMPLE_MASK
+ use ARB_texture_multisample SAMPLE_MASK_VALUE
+ use ARB_texture_multisample MAX_SAMPLE_MASK_WORDS
+
+ARB_texture_multisample enum:
+ SAMPLE_POSITION = 0x8E50
+ SAMPLE_MASK = 0x8E51
+ SAMPLE_MASK_VALUE = 0x8E52
+ MAX_SAMPLE_MASK_WORDS = 0x8E59
+
+NV_explicit_multisample enum:
+ SAMPLE_POSITION_NV = 0x8E50
+ SAMPLE_MASK_NV = 0x8E51
+ SAMPLE_MASK_VALUE_NV = 0x8E52
+ TEXTURE_BINDING_RENDERBUFFER_NV = 0x8E53
+ TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = 0x8E54
+ TEXTURE_RENDERBUFFER_NV = 0x8E55
+ SAMPLER_RENDERBUFFER_NV = 0x8E56
+ INT_SAMPLER_RENDERBUFFER_NV = 0x8E57
+ UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 0x8E58
+ MAX_SAMPLE_MASK_WORDS_NV = 0x8E59
+
+# NV_future_use: 0x8E5A-0x8E5D
+
+ARB_texture_gather enum:
+ MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E
+ MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F
+
+# NV_future_use: 0x8E60-0x8E8F
+
+###############################################################################
+
+# QNX: 0x8E90-0x8E9F
+# For GL_QNX_texture_tiling, GL_QNX_complex_polygon, GL_QNX_stippled_lines
+# (Khronos bug 696)
+
+# QNX_future_use: 0x8E90-0x8E9F
+
+###############################################################################
+
+# Imagination Tech.: 0x8EA0-0x8EAF
+
+###############################################################################
+
+# Khronos OpenGL ES WG: 0x8EB0-0x8EBF
+# Assigned for Affie Munshi on 2007/07/20
+
+###############################################################################
+
+# Vincent: 0x8EC0-0x8ECF
+
+###############################################################################
+
+# NVIDIA: 0x8ED0-0x8F4F
+# Assigned for Pat Brown (Khronos bug 3191)
+
+# NV_future_use: 0x8ED0-0x8F1C
+
+NV_shader_buffer_load enum:
+ BUFFER_GPU_ADDRESS_NV = 0x8F1D
+
+NV_vertex_buffer_unified_memory enum:
+ VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8F1E
+ ELEMENT_ARRAY_UNIFIED_NV = 0x8F1F
+ VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8F20
+ VERTEX_ARRAY_ADDRESS_NV = 0x8F21
+ NORMAL_ARRAY_ADDRESS_NV = 0x8F22
+ COLOR_ARRAY_ADDRESS_NV = 0x8F23
+ INDEX_ARRAY_ADDRESS_NV = 0x8F24
+ TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8F25
+ EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8F26
+ SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27
+ FOG_COORD_ARRAY_ADDRESS_NV = 0x8F28
+ ELEMENT_ARRAY_ADDRESS_NV = 0x8F29
+ VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8F2A
+ VERTEX_ARRAY_LENGTH_NV = 0x8F2B
+ NORMAL_ARRAY_LENGTH_NV = 0x8F2C
+ COLOR_ARRAY_LENGTH_NV = 0x8F2D
+ INDEX_ARRAY_LENGTH_NV = 0x8F2E
+ TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8F2F
+ EDGE_FLAG_ARRAY_LENGTH_NV = 0x8F30
+ SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8F31
+ FOG_COORD_ARRAY_LENGTH_NV = 0x8F32
+ ELEMENT_ARRAY_LENGTH_NV = 0x8F33
+
+NV_shader_buffer_load enum: (additional; see above)
+ GPU_ADDRESS_NV = 0x8F34
+ MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35
+
+ARB_copy_buffer enum:
+ COPY_READ_BUFFER = 0x8F36
+ COPY_WRITE_BUFFER = 0x8F37
+
+VERSION_3_1 enum:
+ use ARB_copy_buffer COPY_READ_BUFFER
+ use ARB_copy_buffer COPY_WRITE_BUFFER
+
+# NVIDIA_future_use: 0x8F38-0x8F4F
+
+###############################################################################
+
+# 3Dlabs: 0x8F50-0x8F5F
+# Assigned for Jon Kennedy (Khronos public bug 75)
+
+###############################################################################
+
+# ARM: 0x8F60-0x8F6F
+# Assigned for Remi Pedersen (Khronos bug 3745)
+
+###############################################################################
+
+# HI Corp: 0x8F70-0x8F7F
+# Assigned for Mark Callow (Khronos bug 4055)
+
+###############################################################################
+
+# Zebra Imaging: 0x8F80-0x8F8F
+# Assigned for Mike Weiblen (Khronos public bug 91)
+
+###############################################################################
+
+# OpenGL ARB: 0x8F90-0x8F9F (SNORM textures, 3.1 primitive restart server state)
+
+VERSION_3_1 enum:
+ RED_SNORM = 0x8F90 # VERSION_3_1
+ RG_SNORM = 0x8F91 # VERSION_3_1
+ RGB_SNORM = 0x8F92 # VERSION_3_1
+ RGBA_SNORM = 0x8F93 # VERSION_3_1
+ R8_SNORM = 0x8F94 # VERSION_3_1
+ RG8_SNORM = 0x8F95 # VERSION_3_1
+ RGB8_SNORM = 0x8F96 # VERSION_3_1
+ RGBA8_SNORM = 0x8F97 # VERSION_3_1
+ R16_SNORM = 0x8F98 # VERSION_3_1
+ RG16_SNORM = 0x8F99 # VERSION_3_1
+ RGB16_SNORM = 0x8F9A # VERSION_3_1
+ RGBA16_SNORM = 0x8F9B # VERSION_3_1
+ SIGNED_NORMALIZED = 0x8F9C # VERSION_3_1
+ PRIMITIVE_RESTART = 0x8F9D # Different from NV_primitive_restart value
+ PRIMITIVE_RESTART_INDEX = 0x8F9E # Different from NV_primitive_restart value
+
+ARB_texture_gather enum: (additional; see above)
+ MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS = 0x8F9F
+
+###############################################################################
+
+# Qualcomm: 0x8FA0-0x8FBF
+# Assigned for Maurice Ribble (Khronos bug 4512)
+
+QCOM_driver_control enum: (OpenGL ES only)
+ PERFMON_GLOBAL_MODE_QCOM = 0x8FA0
+
+# QCOM_future_use: 0x8FA1-0x8FBF
+
+###############################################################################
+
+# Vivante: 0x8FC0-0x8FDF
+# Assigned for Frido Garritsen (Khronos bug 4526)
+
+###############################################################################
+
+# NVIDIA: 0x8FE0-0x8FFF
+# Assigned for Pat Brown (Khronos bug 4935)
+
+# NV_future_use: 0x8FE0-0x8FFF
+
+###############################################################################
+
+# AMD: 0x9000-0x901F
+# Assigned for Bill Licea-Kane
+
+AMD_vertex_shader_tesselator enum:
+ SAMPLER_BUFFER_AMD = 0x9001
+ INT_SAMPLER_BUFFER_AMD = 0x9002
+ UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003
+ TESSELLATION_MODE_AMD = 0x9004
+ TESSELLATION_FACTOR_AMD = 0x9005
+ DISCRETE_AMD = 0x9006
+ CONTINUOUS_AMD = 0x9007
+
+ARB_texture_cube_map_array enum:
+ TEXTURE_CUBE_MAP_ARRAY = 0x9009
+ TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A
+ PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B
+ SAMPLER_CUBE_MAP_ARRAY = 0x900C
+ SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D
+ INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E
+ UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F
+
+# AMD_future_use: 0x9008-0x900F
+
+EXT_texture_snorm enum:
+ ALPHA_SNORM = 0x9010
+ LUMINANCE_SNORM = 0x9011
+ LUMINANCE_ALPHA_SNORM = 0x9012
+ INTENSITY_SNORM = 0x9013
+ ALPHA8_SNORM = 0x9014
+ LUMINANCE8_SNORM = 0x9015
+ LUMINANCE8_ALPHA8_SNORM = 0x9016
+ INTENSITY8_SNORM = 0x9017
+ ALPHA16_SNORM = 0x9018
+ LUMINANCE16_SNORM = 0x9019
+ LUMINANCE16_ALPHA16_SNORM = 0x901A
+ INTENSITY16_SNORM = 0x901B
+
+# AMD_future_use: 0x901C-0x901F
+
+###############################################################################
+
+# NVIDIA: 0x9020-0x90FF
+# Assigned for Pat Brown (Khronos bug 4935)
+
+NV_video_capture enum:
+ VIDEO_BUFFER_NV = 0x9020
+ VIDEO_BUFFER_BINDING_NV = 0x9021
+ FIELD_UPPER_NV = 0x9022
+ FIELD_LOWER_NV = 0x9023
+ NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024
+ NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = 0x9025
+ VIDEO_CAPTURE_TO_422_SUPPORTED_NV = 0x9026
+ LAST_VIDEO_CAPTURE_STATUS_NV = 0x9027
+ VIDEO_BUFFER_PITCH_NV = 0x9028
+ VIDEO_COLOR_CONVERSION_MATRIX_NV = 0x9029
+ VIDEO_COLOR_CONVERSION_MAX_NV = 0x902A
+ VIDEO_COLOR_CONVERSION_MIN_NV = 0x902B
+ VIDEO_COLOR_CONVERSION_OFFSET_NV = 0x902C
+ VIDEO_BUFFER_INTERNAL_FORMAT_NV = 0x902D
+ PARTIAL_SUCCESS_NV = 0x902E
+ SUCCESS_NV = 0x902F
+ FAILURE_NV = 0x9030
+ YCBYCR8_422_NV = 0x9031
+ YCBAYCR8A_4224_NV = 0x9032
+ Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = 0x9033
+ Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = 0x9034
+ Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = 0x9035
+ Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = 0x9036
+ Z4Y12Z4CB12Z4CR12_444_NV = 0x9037
+ VIDEO_CAPTURE_FRAME_WIDTH_NV = 0x9038
+ VIDEO_CAPTURE_FRAME_HEIGHT_NV = 0x9039
+ VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = 0x903A
+ VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = 0x903B
+ VIDEO_CAPTURE_SURFACE_ORIGIN_NV = 0x903C
+
+# NV_future_use: 0x903D-0x90FF
+
+###############################################################################
+
+# OpenGL ARB: 0x9100-0x912F
+
+VERSION_3_2 enum:
+ use ARB_texture_multisample TEXTURE_2D_MULTISAMPLE
+ use ARB_texture_multisample PROXY_TEXTURE_2D_MULTISAMPLE
+ use ARB_texture_multisample TEXTURE_2D_MULTISAMPLE_ARRAY
+ use ARB_texture_multisample PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY
+ use ARB_texture_multisample TEXTURE_BINDING_2D_MULTISAMPLE
+ use ARB_texture_multisample TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY
+ use ARB_texture_multisample TEXTURE_SAMPLES
+ use ARB_texture_multisample TEXTURE_FIXED_SAMPLE_LOCATIONS
+ use ARB_texture_multisample SAMPLER_2D_MULTISAMPLE
+ use ARB_texture_multisample INT_SAMPLER_2D_MULTISAMPLE
+ use ARB_texture_multisample UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE
+ use ARB_texture_multisample SAMPLER_2D_MULTISAMPLE_ARRAY
+ use ARB_texture_multisample INT_SAMPLER_2D_MULTISAMPLE_ARRAY
+ use ARB_texture_multisample UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY
+ use ARB_texture_multisample MAX_COLOR_TEXTURE_SAMPLES
+ use ARB_texture_multisample MAX_DEPTH_TEXTURE_SAMPLES
+ use ARB_texture_multisample MAX_INTEGER_SAMPLES
+
+ARB_texture_multisample enum:
+ TEXTURE_2D_MULTISAMPLE = 0x9100
+ PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101
+ TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102
+ PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103
+ TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104
+ TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105
+ TEXTURE_SAMPLES = 0x9106
+ TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107
+ SAMPLER_2D_MULTISAMPLE = 0x9108
+ INT_SAMPLER_2D_MULTISAMPLE = 0x9109
+ UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A
+ SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B
+ INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C
+ UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D
+ MAX_COLOR_TEXTURE_SAMPLES = 0x910E
+ MAX_DEPTH_TEXTURE_SAMPLES = 0x910F
+ MAX_INTEGER_SAMPLES = 0x9110
+
+VERSION_3_2 enum:
+ use ARB_sync MAX_SERVER_WAIT_TIMEOUT
+ use ARB_sync OBJECT_TYPE
+ use ARB_sync SYNC_CONDITION
+ use ARB_sync SYNC_STATUS
+ use ARB_sync SYNC_FLAGS
+ use ARB_sync SYNC_FENCE
+ use ARB_sync SYNC_GPU_COMMANDS_COMPLETE
+ use ARB_sync UNSIGNALED
+ use ARB_sync SIGNALED
+ use ARB_sync ALREADY_SIGNALED
+ use ARB_sync TIMEOUT_EXPIRED
+ use ARB_sync CONDITION_SATISFIED
+ use ARB_sync WAIT_FAILED
+ use ARB_sync TIMEOUT_IGNORED
+ use ARB_sync SYNC_FLUSH_COMMANDS_BIT
+ use ARB_sync TIMEOUT_IGNORED
+
+ARB_sync enum:
+ MAX_SERVER_WAIT_TIMEOUT = 0x9111
+ OBJECT_TYPE = 0x9112
+ SYNC_CONDITION = 0x9113
+ SYNC_STATUS = 0x9114
+ SYNC_FLAGS = 0x9115
+ SYNC_FENCE = 0x9116
+ SYNC_GPU_COMMANDS_COMPLETE = 0x9117
+ UNSIGNALED = 0x9118
+ SIGNALED = 0x9119
+ ALREADY_SIGNALED = 0x911A
+ TIMEOUT_EXPIRED = 0x911B
+ CONDITION_SATISFIED = 0x911C
+ WAIT_FAILED = 0x911D
+ SYNC_FLUSH_COMMANDS_BIT = 0x00000001
+ TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFFull
+
+VERSION_3_0 enum:
+ BUFFER_ACCESS_FLAGS = 0x911F
+ BUFFER_MAP_LENGTH = 0x9120
+ BUFFER_MAP_OFFSET = 0x9121
+
+VERSION_3_2 enum:
+ MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122
+ MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123
+ MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124
+ MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125
+
+VERSION_3_2 enum:
+ CONTEXT_CORE_PROFILE_BIT = 0x00000001
+ CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002
+ CONTEXT_PROFILE_MASK = 0x9126
+
+# ARB_future_use: 0x9127-0x912F
+
+###############################################################################
+
+# Imagination Tech.: 0x9130-0x913F (bug 882)
+
+IMG_program_binary: (OpenGL ES only)
+ SGX_PROGRAM_BINARY_IMG = 0x9130
+
+# IMG_future_use: 0x9131-0x913F
+
+###############################################################################
+### Please remember that new enumerant allocations must be obtained by request
+### to the Khronos API registrar (see comments at the top of this file)
+### File requests in the Khronos Bugzilla, OpenGL project, Registry component.
+###############################################################################
+
+# Any_vendor_future_use: 0x9140-0xFFFF
+#
+# This range must be the last range in the file. To generate a new
+# range, allocate multiples of 16 from the beginning of the
+# Any_vendor_future_use range and update enum.spec
+
+# (NOTE: first fill the gap from 0x8FE0-0x8FFF before proceeding here)
+
+###############################################################################
+
+# ARB: 100000-100999 (GLU enumerants only)
+# ARB: 101000-101999 (Conformance tests only)
+
+###############################################################################
+
+# IBM: 103000-103999
+# CULL_VERTEX_IBM = 103050
+# VERTEX_ARRAY_LIST_IBM = 103070
+# NORMAL_ARRAY_LIST_IBM = 103071
+# COLOR_ARRAY_LIST_IBM = 103072
+# INDEX_ARRAY_LIST_IBM = 103073
+# TEXTURE_COORD_ARRAY_LIST_IBM = 103074
+# EDGE_FLAG_ARRAY_LIST_IBM = 103075
+# FOG_COORDINATE_ARRAY_LIST_IBM = 103076
+# SECONDARY_COLOR_ARRAY_LIST_IBM = 103077
+# VERTEX_ARRAY_LIST_STRIDE_IBM = 103080
+# NORMAL_ARRAY_LIST_STRIDE_IBM = 103081
+# COLOR_ARRAY_LIST_STRIDE_IBM = 103082
+# INDEX_ARRAY_LIST_STRIDE_IBM = 103083
+# TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084
+# EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085
+# FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086
+# SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087
+
+###############################################################################
+
+# NEC: 104000-104999
+# Compaq: 105000-105999 (Compaq was acquired by HP)
+# KPC: 106000-106999 (Kubota is out of business)
+# PGI: 107000-107999 (Portable was acquired by Template Graphics)
+# E&S: 108000-108999
+
+###############################################################################