-# 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.
-#
-# $Revision: 20466 $ on $Date: 2013-02-06 04:09:36 -0800 (Wed, 06 Feb 2013) $
+# THIS FILE IS OBSOLETE. Please migrate away from using the
+# ".spec" files to the XML Registry. See
+# http://www.opengl.org/registry/api/README.txt
+# for more information.
-###############################################################################
-#
-# 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.
-#
-###############################################################################
+# This is the old (no longer canonical) OpenGL and OpenGL ES enumerant
+# registry. It is no longer maintained or used for current header file
+# generation.
+
+# $Revision: 22136 $ on $Date: 2013-06-24 04:04:33 -0700 (Mon, 24 Jun 2013) $
Extensions define:
VERSION_1_1 = 1
###############################################################################
-BeginMode enum:
+PrimitiveType enum:
POINTS = 0x0000
LINES = 0x0001
LINE_LOOP = 0x0002
NV_gpu_shader5 enum:
use ARB_tessellation_shader PATCHES
-# BeginMode_future_use: 0x000F
+# PrimitiveType_future_use: 0x000F
###############################################################################
use SGI_texture_color_table TEXTURE_COLOR_TABLE_SGI
# Aliases OpenGL 1.0 core enums above
+EXT_vertex_weighting enum: (additional)
+ MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3 # GL_MODELVIEW_STACK_DEPTH
+ MODELVIEW0_MATRIX_EXT = 0x0BA6 # GL_MODELVIEW_MATRIX
+
QCOM_alpha_test enum: (OpenGL ES only)
ALPHA_TEST_QCOM = 0x0BC0
ALPHA_TEST_FUNC_QCOM = 0x0BC1
PROJECTION = 0x1701
TEXTURE = 0x1702
+# Aliases OpenGL 1.0 core enums above
+EXT_vertex_weighting enum: (additional)
+ MODELVIEW0_EXT = 0x1700 # GL_MODELVIEW
+
###############################################################################
MeshMode1 enum:
###############################################################################
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
RGBA4_OES = 0x8056
RGB5_A1_OES = 0x8057
+# Aliases EXT_texture enums above
+ARM_rgba8 enum: (OpenGL ES only)
+ RGBA8_OES = 0x8058
+
###############################################################################
EXT_texture_object enum:
SAMPLE_PATTERN_EXT = 0x80AC # 1 I
MULTISAMPLE_BIT_EXT = 0x20000000
-# Reuses SAMPLES enum as COVERAGE_SAMPLES
-NV_multisample_coverage enum: (additional; see below)
- COVERAGE_SAMPLES_NV = 0x80A9
-
###############################################################################
SGIS_sharpen_texture enum:
###############################################################################
+ARB_shadow_ambient enum:
+ TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF
+
SGIX_shadow_ambient enum:
SHADOW_AMBIENT_SGIX = 0x80BF
###############################################################################
+# Microsoft: 0x80E0-0x810F
+
VERSION_1_2 enum: (Promoted for OpenGL 1.2)
BGR = 0x80E0
BGRA = 0x80E1
BGR_EXT = 0x80E0
BGRA_EXT = 0x80E1
-###############################################################################
-
-# Microsoft: 0x80E2-0x80E7
-
-###############################################################################
+EXT_paletted_texture enum:
+ COLOR_INDEX1_EXT = 0x80E2
+ COLOR_INDEX2_EXT = 0x80E3
+ COLOR_INDEX4_EXT = 0x80E4
+ COLOR_INDEX8_EXT = 0x80E5
+ COLOR_INDEX12_EXT = 0x80E6
+ COLOR_INDEX16_EXT = 0x80E7
VERSION_1_2 enum:
MAX_ELEMENTS_VERTICES = 0x80E8
MAX_ELEMENTS_INDICES = 0x80E9
-###############################################################################
+EXT_draw_range_elements enum:
+ MAX_ELEMENTS_VERTICES_EXT = 0x80E8
+ MAX_ELEMENTS_INDICES_EXT = 0x80E9
+
+WIN_phong_shading enum:
+ PHONG_WIN = 0x80EA
+ PHONG_HINT_WIN = 0x80EB
-# Microsoft: 0x80EA-0x810F
+WIN_specular_fog enum:
+ FOG_SPECULAR_TEXTURE_WIN = 0x80EC
+
+EXT_paletted_texture enum:
+ TEXTURE_INDEX_SIZE_EXT = 0x80ED
+
+# MS_future_use: 0x80EE-0x80EF
+
+EXT_clip_volume_hint enum:
+ CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0
+
+# MS_future_use: 0x80F1-0x810F
###############################################################################
+# SGI: 0x8110-0x814F
+
SGIS_texture_select enum:
DUAL_ALPHA4_SGIS = 0x8110
DUAL_ALPHA8_SGIS = 0x8111
REPLICATE_BORDER = 0x8153
CONVOLUTION_BORDER_COLOR = 0x8154
+###############################################################################
+
+# HP: 0x8150-0x816F
+
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_image_transform enum:
+ IMAGE_SCALE_X_HP = 0x8155
+ IMAGE_SCALE_Y_HP = 0x8156
+ IMAGE_TRANSLATE_X_HP = 0x8157
+ IMAGE_TRANSLATE_Y_HP = 0x8158
+ IMAGE_ROTATE_ANGLE_HP = 0x8159
+ IMAGE_ROTATE_ORIGIN_X_HP = 0x815A
+ IMAGE_ROTATE_ORIGIN_Y_HP = 0x815B
+ IMAGE_MAG_FILTER_HP = 0x815C
+ IMAGE_MIN_FILTER_HP = 0x815D
+ IMAGE_CUBIC_WEIGHT_HP = 0x815E
+ CUBIC_HP = 0x815F
+ AVERAGE_HP = 0x8160
+ IMAGE_TRANSFORM_2D_HP = 0x8161
+ POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8162
+ PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8163
+
+# HP_future_use: 0x8164
-# HP: 0x8155-0x816F
+HP_occlusion_test enum:
+ OCCLUSION_TEST_HP = 0x8165
+ OCCLUSION_TEST_RESULT_HP = 0x8166
+
+HP_texture_lighting enum:
+ TEXTURE_LIGHTING_MODE_HP = 0x8167
+ TEXTURE_POST_SPECULAR_HP = 0x8168
+ TEXTURE_PRE_SPECULAR_HP = 0x8169
+
+# HP_future_use: 0x816A-0x816F
###############################################################################
+# SGI: 0x8170-0x81CF
+
SGIX_clipmap enum:
LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170
TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171
###############################################################################
-# Incomplete extension, not in enumext.spec
+# Incomplete extension
# SGIX_fog_scale: 0x81FC-0x81FD
-# FOG_SCALE_SGIX = 0x81FC # 1 I
-# FOG_SCALE_VALUE_SGIX = 0x81FD # 1 F
+# 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
+# Incomplete extension
+# SGIX_fog_blend:
+# FOG_BLEND_ALPHA_SGIX = 0x81FE # 1 I
+# FOG_BLEND_COLOR_SGIX = 0x81FF # 1 I
###############################################################################
PROGRAM_PIPELINE_BINDING = 0x825A
# Aliases ARB_separate_shader_objects enum above
+# Used to list ACTIVE_PROGRAM_EXT = 0x8259 but this was a bogus
+# redefinition and never shipped in the Khronos header.
EXT_separate_shader_objects enum: (OpenGL ES only)
PROGRAM_SEPARABLE_EXT = 0x8258
- ACTIVE_PROGRAM_EXT = 0x8259
PROGRAM_PIPELINE_BINDING_EXT = 0x825A
ARB_viewport_array enum:
###############################################################################
+# SGI: 0x8310-0x832F
+
SGIX_depth_pass_instrument enum: 0x8310-0x8312
DEPTH_PASS_INSTRUMENT_SGIX = 0x8310
DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = 0x8311
###############################################################################
+# SUN: 0x8330-0x833F
+
EXT_pixel_transform enum:
PIXEL_TRANSFORM_2D_EXT = 0x8330
PIXEL_MAG_FILTER_EXT = 0x8331
###############################################################################
+# SGI: 0x8340-0x836F
# Incomplete extension, not in enumext.spec
# SGIX_cube_map: 0x8340-0x8348
# ENV_MAP_SGIX = 0x8340
# Incomplete extension, not in enumext.spec
# SGIX_fog_factor_to_alpha: 0x836F
- FOG_FACTOR_TO_ALPHA_SGIX = 0x836F
+# FOG_FACTOR_TO_ALPHA_SGIX = 0x836F
###############################################################################
###############################################################################
+# SGI: 0x8400-0x846F
+
SGIX_fragment_lighting enum:
FRAGMENT_LIGHTING_SGIX = 0x8400 # 1 I
FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401 # 1 I
###############################################################################
-# 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
+# Incomplete extension
+# SGIX_fragment_lighting_space enum:
+# 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
+
+EXT_coordinate_frame enum:
+ TANGENT_ARRAY_EXT = 0x8439
+ BINORMAL_ARRAY_EXT = 0x843A
+ CURRENT_TANGENT_EXT = 0x843B
+ CURRENT_BINORMAL_EXT = 0x843C
+ TANGENT_ARRAY_TYPE_EXT = 0x843E
+ TANGENT_ARRAY_STRIDE_EXT = 0x843F
+ BINORMAL_ARRAY_TYPE_EXT = 0x8440
+ BINORMAL_ARRAY_STRIDE_EXT = 0x8441
+ TANGENT_ARRAY_POINTER_EXT = 0x8442
+ BINORMAL_ARRAY_POINTER_EXT = 0x8443
+ MAP1_TANGENT_EXT = 0x8444
+ MAP2_TANGENT_EXT = 0x8445
+ MAP1_BINORMAL_EXT = 0x8446
+ MAP2_BINORMAL_EXT = 0x8447
+
+###############################################################################
+
+# Incomplete extension
# SGIX_bali_timer_instruments: 0x844A-0x844C
# BALI_GEOM_TIMER_INSTRUMENT_SGIX = 0x844A # 1 I
# BALI_RASTER_TIMER_INSTRUMENT_SGIX = 0x844B # 1 I
###############################################################################
# Incomplete extension, not in enumext.spec
-SGIX_icc_texture enum:
+# SGIX_icc_texture enum:
# RGB_ICC_SGIX = 0x8460
# RGBA_ICC_SGIX = 0x8461
# ALPHA_ICC_SGIX = 0x8462
EXT_vertex_weighting enum:
MODELVIEW1_STACK_DEPTH_EXT = 0x8502
-# NV_texture_env_combine4 (additional; see below): 0x8503
+NV_texture_env_combine4 enum: (additional; see below):
+ COMBINE4_NV = 0x8503
NV_light_max_exponent enum:
MAX_SHININESS_NV = 0x8504
MAX_SPOT_EXPONENT_NV = 0x8505
EXT_vertex_weighting enum:
- MODELVIEW_MATRIX1_EXT = 0x8506
+ MODELVIEW1_MATRIX_EXT = 0x8506
VERSION_1_4 enum: (Promoted for OpenGL 1.4)
INCR_WRAP = 0x8507
MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C
NV_texgen_reflection enum:
- NORMAL_MAP = 0x8511
- REFLECTION_MAP = 0x8512
+ NORMAL_MAP_NV = 0x8511
+ REFLECTION_MAP_NV = 0x8512
ARB_texture_cube_map enum:
NORMAL_MAP_ARB = 0x8511
HALF_BIAS_NORMAL_NV = 0x853A
HALF_BIAS_NEGATE_NV = 0x853B
SIGNED_IDENTITY_NV = 0x853C
- UNSIGNED_NEGATE_NV = 0x853D
+ SIGNED_NEGATE_NV = 0x853D
SCALE_BY_TWO_NV = 0x853E
SCALE_BY_FOUR_NV = 0x853F
SCALE_BY_ONE_HALF_NV = 0x8540
PRIMITIVE_RESTART_INDEX_NV = 0x8559
NV_fog_distance enum:
- FOG_GEN_MODE_NV = 0x855A
+ FOG_DISTANCE_MODE_NV = 0x855A
EYE_RADIAL_NV = 0x855B
EYE_PLANE_ABSOLUTE_NV = 0x855C
OPERAND1_ALPHA = 0x8599
OPERAND2_ALPHA = 0x859A
+ARB_texture_env_combine enum:
+ COMBINE_ARB = 0x8570
+ COMBINE_RGB_ARB = 0x8571
+ COMBINE_ALPHA_ARB = 0x8572
+ RGB_SCALE_ARB = 0x8573
+ ADD_SIGNED_ARB = 0x8574
+ INTERPOLATE_ARB = 0x8575
+ CONSTANT_ARB = 0x8576
+ PRIMARY_COLOR_ARB = 0x8577
+ PREVIOUS_ARB = 0x8578
+ SOURCE0_RGB_ARB = 0x8580
+ SOURCE1_RGB_ARB = 0x8581
+ SOURCE2_RGB_ARB = 0x8582
+ SOURCE0_ALPHA_ARB = 0x8588
+ SOURCE1_ALPHA_ARB = 0x8589
+ SOURCE2_ALPHA_ARB = 0x858A
+ OPERAND0_RGB_ARB = 0x8590
+ OPERAND1_RGB_ARB = 0x8591
+ OPERAND2_RGB_ARB = 0x8592
+ OPERAND0_ALPHA_ARB = 0x8598
+ OPERAND1_ALPHA_ARB = 0x8599
+ OPERAND2_ALPHA_ARB = 0x859A
+ SUBTRACT_ARB = 0x84E7
+
EXT_texture_env_combine enum:
COMBINE_EXT = 0x8570
COMBINE_RGB_EXT = 0x8571
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: 0x8579-0x857F
# ATI/NVIDIA_future_use: 0x8584-0x8587
# ATI/NVIDIA_future_use: 0x858C-0x858F
# ATI/NVIDIA_future_use: 0x8594-0x8597
###############################################################################
+# SGI: 0x85A0-0x85AF
+
SGIX_subsample enum:
PACK_SUBSAMPLE_RATE_SGIX = 0x85A0
UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1
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
+ EVAL_VERTEX_ATTRIB0_NV = 0x86C6
+ EVAL_VERTEX_ATTRIB1_NV = 0x86C7
+ EVAL_VERTEX_ATTRIB2_NV = 0x86C8
+ EVAL_VERTEX_ATTRIB3_NV = 0x86C9
+ EVAL_VERTEX_ATTRIB4_NV = 0x86CA
+ EVAL_VERTEX_ATTRIB5_NV = 0x86CB
+ EVAL_VERTEX_ATTRIB6_NV = 0x86CC
+ EVAL_VERTEX_ATTRIB7_NV = 0x86CD
+ EVAL_VERTEX_ATTRIB8_NV = 0x86CE
+ EVAL_VERTEX_ATTRIB9_NV = 0x86CF
+ EVAL_VERTEX_ATTRIB10_NV = 0x86D0
+ EVAL_VERTEX_ATTRIB11_NV = 0x86D1
+ EVAL_VERTEX_ATTRIB12_NV = 0x86D2
+ EVAL_VERTEX_ATTRIB13_NV = 0x86D3
+ EVAL_VERTEX_ATTRIB14_NV = 0x86D4
+ EVAL_VERTEX_ATTRIB15_NV = 0x86D5
MAX_MAP_TESSELLATION_NV = 0x86D6
MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7
SHADER_OPERATION_NV = 0x86DF
CULL_MODES_NV = 0x86E0
OFFSET_TEXTURE_MATRIX_NV = 0x86E1
+ OFFSET_TEXTURE_2D_MATRIX_NV = 0x86E1 # alias OFFSET_TEXTURE_MATRIX_NV
OFFSET_TEXTURE_SCALE_NV = 0x86E2
+ OFFSET_TEXTURE_2D_SCALE_NV = 0x86E2 # alias OFFSET_TEXTURE_SCALE_NV
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
+ OFFSET_TEXTURE_2D_BIAS_NV = 0x86E3 # alias OFFSET_TEXTURE_BIAS_NV
PREVIOUS_TEXTURE_INPUT_NV = 0x86E4
CONST_EYE_NV = 0x86E5
PASS_THROUGH_NV = 0x86E6
RGB16F_EXT = 0x881B
ARB_color_buffer_float enum:
- RGBA_FLOAT_MODE_ARB = 0x8820 # Equivalent to TYPE_RGBA_FLOAT_ATI
+ RGBA_FLOAT_MODE_ARB = 0x8820
-ATI_pixel_format_float enum: (really WGL_ATI_pixel_format_float)
- TYPE_RGBA_FLOAT_ATI = 0x8820
+ATI_pixel_format_float enum:
+ RGBA_FLOAT_MODE_ATI = 0x8820
# AMD_future_use: 0x8821-0x8822
DRAW_BUFFER14_NV = 0x8833
DRAW_BUFFER15_NV = 0x8834
-ATI_pixel_format_float enum: (really WGL_ATI_pixel_format_float) (additional; see above)
+ATI_pixel_format_float enum: (additional; see above)
COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835
# AMD_future_use: 0x8836-0x883C
ARB_transform_feedback2 enum:
TRANSFORM_FEEDBACK = 0x8E22
TRANSFORM_FEEDBACK_PAUSED = 0x8E23
- TRANSFORM_FEEDBACK_BUFFER_PAUSED = GL_TRANSFORM_FEEDBACK_PAUSED
+ TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23 # alias TRANSFORM_FEEDBACK_PAUSED
TRANSFORM_FEEDBACK_ACTIVE = 0x8E24
- TRANSFORM_FEEDBACK_BUFFER_ACTIVE = GL_TRANSFORM_FEEDBACK_ACTIVE
+ TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24 # alias TRANSFORM_FEEDBACK_ACTIVE
TRANSFORM_FEEDBACK_BINDING = 0x8E25
NV_transform_feedback2 enum:
MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5C
FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = 0x8E5D
-ARB_texture_gather enum:
+VERSION_4_0 enum:
MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E
MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F
- MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F
+
+ARB_texture_gather enum:
+ MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E
+ MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F
NV_gpu_program5 enum:
MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5E
ARB_copy_buffer enum:
COPY_READ_BUFFER_BINDING = 0x8F36
- COPY_READ_BUFFER = GL_COPY_READ_BUFFER_BINDING
+ COPY_READ_BUFFER = 0x8F36 # alias COPY_READ_BUFFER_BINDING
COPY_WRITE_BUFFER_BINDING = 0x8F37
- COPY_WRITE_BUFFER = GL_COPY_WRITE_BUFFER_BINDING
+ COPY_WRITE_BUFFER = 0x8F37 # alias COPY_WRITE_BUFFER_BINDING
VERSION_3_1 enum:
use ARB_copy_buffer COPY_READ_BUFFER
ARM_mali_shader_binary enum: (OpenGL ES only)
MALI_SHADER_BINARY_ARM = 0x8F60
-# ARM_future_use: 0x8F61-0x8F6F
+ARM_mali_program_binary enum: (OpenGL ES only)
+ MALI_PROGRAM_BINARY_ARM = 0x8F61
+
+# ARM_future_use: 0x8F62-0x8F6F
###############################################################################
PRIMITIVE_RESTART_INDEX = 0x8F9E # Different from NV_primitive_restart value
ARB_texture_gather enum: (additional; see above)
- MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS = 0x8F9F
+ MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F
###############################################################################
# AMD: 0x9000-0x901F
# Assigned for Bill Licea-Kane
-AMD_vertex_shader_tesselator enum:
+AMD_vertex_shader_tessellator enum:
SAMPLER_BUFFER_AMD = 0x9001
INT_SAMPLER_BUFFER_AMD = 0x9002
UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003
# AMD_future_use: 0x9008
+VERSION_4_0 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
+
ARB_texture_cube_map_array enum:
TEXTURE_CUBE_MAP_ARRAY = 0x9009
TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A
CIRCULAR_TANGENT_ARC_TO_NV = 0xFC
ARC_TO_NV = 0xFE
RELATIVE_ARC_TO_NV = 0xFF
+# Bitfield values for this extension
BOLD_BIT_NV = 0x01
ITALIC_BIT_NV = 0x02
GLYPH_WIDTH_BIT_NV = 0x01
MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD
MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE
SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF
- MAX_COMBINED_SHADER_OUTPUT_RESOURCES = GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS
+ MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39 # alias MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS
use ARB_shader_image_load_store MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS
# NV_future_use: 0x90E0
MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6
MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7
MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8
- MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC
ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9
UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA
UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB
+ MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC
-# NV_future_use: 0x92DC-0x92DF
+# NV_future_use: 0x92DD-0x92DF
# Also VERSION_4_3
KHR_debug enum: (additional; see above)
###############################################################################
-# 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
+# IBM: 103000-103999 (0x19258-0x1963F)
+
+IBM_rasterpos_clip enum:
+ RASTER_POSITION_UNCLIPPED_IBM = 0x19262
+
+IBM_cull_vertex enum:
+ CULL_VERTEX_IBM = 103050
+
+IBM_static_data enum:
+ ALL_STATIC_DATA_IBM = 103060
+ STATIC_VERTEX_ARRAY_IBM = 103061
+ 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
+
+# Most of this range is available, but calculating IBM_future_use figures is
+# tedious and pointless since they're no longer building graphics hardware
+IBM_future_use: lots
###############################################################################
# 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)
+
+###############################################################################
+
+# PGI: 107000-107999 (0x1A1F8-0x1A5DF) (Portable was acquired by Template Graphics)
+
+PGI_misc_hints enum:
+ PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8
+ CONSERVE_MEMORY_HINT_PGI = 0x1A1FD
+ RECLAIM_MEMORY_HINT_PGI = 0x1A1FE
+ NATIVE_GRAPHICS_HANDLE_PGI = 0x1A202
+ NATIVE_GRAPHICS_BEGIN_HINT_PGI = 0x1A203
+ NATIVE_GRAPHICS_END_HINT_PGI = 0x1A204
+ ALWAYS_FAST_HINT_PGI = 0x1A20C
+ ALWAYS_SOFT_HINT_PGI = 0x1A20D
+ ALLOW_DRAW_OBJ_HINT_PGI = 0x1A20E
+ ALLOW_DRAW_WIN_HINT_PGI = 0x1A20F
+ ALLOW_DRAW_FRG_HINT_PGI = 0x1A210
+ ALLOW_DRAW_MEM_HINT_PGI = 0x1A211
+ STRICT_DEPTHFUNC_HINT_PGI = 0x1A216
+ STRICT_LIGHTING_HINT_PGI = 0x1A217
+ STRICT_SCISSOR_HINT_PGI = 0x1A218
+ FULL_STIPPLE_HINT_PGI = 0x1A219
+ CLIP_NEAR_HINT_PGI = 0x1A220
+ CLIP_FAR_HINT_PGI = 0x1A221
+ WIDE_LINE_HINT_PGI = 0x1A222
+ BACK_NORMALS_HINT_PGI = 0x1A223
+
+PGI_vertex_hints enum:
+ VERTEX_DATA_HINT_PGI = 0x1A22A
+ VERTEX_CONSISTENT_HINT_PGI = 0x1A22B
+ MATERIAL_SIDE_HINT_PGI = 0x1A22C
+ MAX_VERTEX_HINT_PGI = 0x1A22D
+# Bitfield values for HintPGI <mode>
+ VERTEX23_BIT_PGI = 0x00000004
+ VERTEX4_BIT_PGI = 0x00000008
+ COLOR3_BIT_PGI = 0x00010000
+ COLOR4_BIT_PGI = 0x00020000
+ EDGEFLAG_BIT_PGI = 0x00040000
+ INDEX_BIT_PGI = 0x00080000
+ MAT_AMBIENT_BIT_PGI = 0x00100000
+ MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = 0x00200000
+ MAT_DIFFUSE_BIT_PGI = 0x00400000
+ MAT_EMISSION_BIT_PGI = 0x00800000
+ MAT_COLOR_INDEXES_BIT_PGI = 0x01000000
+ MAT_SHININESS_BIT_PGI = 0x02000000
+ MAT_SPECULAR_BIT_PGI = 0x04000000
+ NORMAL_BIT_PGI = 0x08000000
+ TEXCOORD1_BIT_PGI = 0x10000000
+ TEXCOORD2_BIT_PGI = 0x20000000
+ TEXCOORD3_BIT_PGI = 0x40000000
+ TEXCOORD4_BIT_PGI = 0x80000000
+
+# Most of this range is available, but calculating PGI_future_use
+# figures is tedious and pointless since they're out of business.
+PGI_future_use: lots
+
+###############################################################################
+
# E&S: 108000-108999
###############################################################################