enum.spec   [plain text]


# 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

###############################################################################