Commits

Anonymous committed 4d99779

OpenGL 4.3 support (updated gl specs)

Additional extensions support
GL_AMD_pinned_memory
GL_AMD_query_buffer_object
GL_AMD_stencil_operation_extended
GL_AMD_vertex_shader_layer
GL_AMD_vertex_shader_viewport_index
GL_ARB_arrays_of_arrays
GL_ARB_clear_buffer_object
GL_ARB_compute_shader
GL_ARB_copy_image
GL_ARB_ES3_compatibility
GL_ARB_explicit_uniform_location
GL_ARB_fragment_layer_viewport
GL_ARB_framebuffer_no_attachments
GL_ARB_internalformat_query2
GL_ARB_invalidate_subdata
GL_ARB_multi_draw_indirect
GL_ARB_program_interface_query
GL_ARB_robust_buffer_access_behavior
GL_ARB_robustness_isolation
GL_ARB_shader_image_size
GL_ARB_shader_storage_buffer_object
GL_ARB_stencil_texturing
GL_ARB_texture_buffer_range
GL_ARB_texture_query_levels
GL_ARB_texture_storage_multisample
GL_ARB_texture_view
GL_ARB_vertex_attrib_binding
GL_KHR_debug
GL_KHR_texture_compression_astc_ldr
GL_NV_bindless_texture
GL_NV_path_rendering
GL_NV_shader_atomic_float
GLX_EXT_swap_control_tear
WGL_EXT_swap_control_tear
WGL_NV_DX_interop2

Comments (0)

Files changed (83)

generator/glxx.py

 GLXX_EXPORT bool has_gl_4_0_compatibility() { return glxxIsVersionSupported(4, 0); }
 GLXX_EXPORT bool has_gl_4_1_compatibility() { return glxxIsVersionSupported(4, 1); }
 GLXX_EXPORT bool has_gl_4_2_compatibility() { return glxxIsVersionSupported(4, 2); }
+GLXX_EXPORT bool has_gl_4_3_compatibility() { return glxxIsVersionSupported(4, 3); }
 GLXX_EXPORT bool has_gl_3_1_core() { return glxxIsVersionSupported(3, 1); }
 GLXX_EXPORT bool has_gl_3_2_core() { return glxxIsVersionSupported(3, 2); }
 GLXX_EXPORT bool has_gl_3_3_core() { return glxxIsVersionSupported(3, 3); }
 GLXX_EXPORT bool has_gl_4_0_core() { return glxxIsVersionSupported(4, 0); }
 GLXX_EXPORT bool has_gl_4_1_core() { return glxxIsVersionSupported(4, 1); }
 GLXX_EXPORT bool has_gl_4_2_core() { return glxxIsVersionSupported(4, 2); }
+GLXX_EXPORT bool has_gl_4_3_core() { return glxxIsVersionSupported(4, 3); }
 
 GLXX_EXPORT bool load_gl_1_1() { return load_gl_version_1_1() && load_gl_version_1_1_deprecated(); }
 GLXX_EXPORT bool load_gl_1_2() { return load_gl_1_1() && load_gl_version_1_2() && load_gl_version_1_2_deprecated(); }
 GLXX_EXPORT bool load_gl_4_0_compatibility() { return load_gl_3_3_compatibility() && load_gl_version_4_0(); }
 GLXX_EXPORT bool load_gl_4_1_compatibility() { return load_gl_4_0_compatibility() && load_gl_version_4_1(); }
 GLXX_EXPORT bool load_gl_4_2_compatibility() { return load_gl_4_1_compatibility() && load_gl_version_4_2(); }
+GLXX_EXPORT bool load_gl_4_3_compatibility() { return load_gl_4_2_compatibility() && load_gl_version_4_3(); }
 GLXX_EXPORT bool load_gl_3_1_core() { return load_gl_version_1_1() && load_gl_version_1_2() && load_gl_version_1_3() &&
                                  load_gl_version_1_4() && load_gl_version_1_5() && load_gl_version_2_0() &&
                                  load_gl_version_2_1() && load_gl_version_3_0() && load_gl_version_3_1(); }
 GLXX_EXPORT bool load_gl_4_0_core() { return load_gl_3_3_core() && load_gl_version_4_0(); }
 GLXX_EXPORT bool load_gl_4_1_core() { return load_gl_4_0_core() && load_gl_version_4_1(); }
 GLXX_EXPORT bool load_gl_4_2_core() { return load_gl_4_1_core() && load_gl_version_4_2(); }
+GLXX_EXPORT bool load_gl_4_3_core() { return load_gl_4_2_core() && load_gl_version_4_3(); }
 
 GLXX_EXPORT bool has_gl_arb_framebuffer_object_compatibility() { return has_gl_arb_framebuffer_object(); }
 GLXX_EXPORT bool has_gl_arb_framebuffer_object_core() { return has_gl_arb_framebuffer_object(); }

generator/include_proto/glxx/gl_4_3_compatibility.h

+#ifndef GLXX_4_3_COMPATIBILITY
+#define GLXX_4_3_COMPATIBILITY
+
+#include "private/gl_version_1_1.h"
+#include "private/gl_version_1_1_deprecated.h"
+#include "private/gl_version_1_2.h"
+#include "private/gl_version_1_2_deprecated.h"
+#include "private/gl_version_1_3.h"
+#include "private/gl_version_1_3_deprecated.h"
+#include "private/gl_version_1_4.h"
+#include "private/gl_version_1_4_deprecated.h"
+#include "private/gl_version_1_5.h"
+#include "private/gl_version_1_5_deprecated.h"
+#include "private/gl_version_2_0.h"
+#include "private/gl_version_2_0_deprecated.h"
+#include "private/gl_version_2_1.h"
+#include "private/gl_version_2_1_deprecated.h"
+#include "private/gl_version_3_0.h"
+#include "private/gl_version_3_0_deprecated.h"
+#include "private/gl_version_3_1.h"
+#include "private/gl_version_3_2.h"
+#include "private/gl_version_3_3.h"
+#include "private/gl_version_4_0.h"
+#include "private/gl_version_4_1.h"
+#include "private/gl_version_4_2.h"
+#include "private/gl_version_4_3.h"
+
+namespace gl_4_3_compatibility
+{
+    using namespace gl_version_1_1;
+    using namespace gl_version_1_1_deprecated;
+    using namespace gl_version_1_2;
+    using namespace gl_version_1_2_deprecated;
+    using namespace gl_version_1_3;
+    using namespace gl_version_1_3_deprecated;
+    using namespace gl_version_1_4;
+    using namespace gl_version_1_4_deprecated;
+    using namespace gl_version_1_5;
+    using namespace gl_version_2_0;
+    using namespace gl_version_2_1;
+    using namespace gl_version_3_0;
+    using namespace gl_version_3_1;
+    using namespace gl_version_3_2;
+    using namespace gl_version_3_3;
+    using namespace gl_version_4_0;
+    using namespace gl_version_4_1;
+    using namespace gl_version_4_2;
+    using namespace gl_version_4_3;
+}
+
+GLXX_EXPORT bool has_gl_4_3_compatibility();
+GLXX_EXPORT bool load_gl_4_3_compatibility();
+
+#endif

generator/include_proto/glxx/gl_4_3_core.h

+#ifndef GLXX_4_3_CORE
+#define GLXX_4_3_CORE
+
+#include "private/gl_version_1_1.h"
+#include "private/gl_version_1_2.h"
+#include "private/gl_version_1_3.h"
+#include "private/gl_version_1_4.h"
+#include "private/gl_version_1_5.h"
+#include "private/gl_version_2_0.h"
+#include "private/gl_version_2_1.h"
+#include "private/gl_version_3_0.h"
+#include "private/gl_version_3_1.h"
+#include "private/gl_version_3_2.h"
+#include "private/gl_version_3_3.h"
+#include "private/gl_version_4_0.h"
+#include "private/gl_version_4_1.h"
+#include "private/gl_version_4_2.h"
+#include "private/gl_version_4_3.h"
+
+namespace gl_4_3_core
+{
+    using namespace gl_version_1_1;
+    using namespace gl_version_1_2;
+    using namespace gl_version_1_3;
+    using namespace gl_version_1_4;
+    using namespace gl_version_1_5;
+    using namespace gl_version_2_0;
+    using namespace gl_version_2_1;
+    using namespace gl_version_3_0;
+    using namespace gl_version_3_1;
+    using namespace gl_version_3_2;
+    using namespace gl_version_3_3;
+    using namespace gl_version_4_0;
+    using namespace gl_version_4_1;
+    using namespace gl_version_4_2;
+    using namespace gl_version_4_3;
+}
+
+GLXX_EXPORT bool has_gl_4_3_core();
+GLXX_EXPORT bool load_gl_4_3_core();
+
+#endif

generator/parse.py

             m = re_section_begin.search(line)
             if m:
                 current_block = m.group('extension')
+                # Handle spec bugs...
                 if current_block == 'SGI_depth_pass_instrument' : current_block = 'SGIX_depth_pass_instrument' # bypass enumext.spec bug
                 elif current_block == 'FfdMaskSGIX': current_block = 'SGIX_polynomial_ffd' # Inconsistent spec sytntax..
                 elif current_block == 'INTEL_texture_scissor': continue # never implemented
                 elif current_block == 'INGR_palette_buffer': continue # no specs for this one
                 elif current_block == 'WGL_NV_video_out': current_block = 'WGL_NV_video_output' # spec inconsistency
                 elif current_block == 'NV_video_out': current_block = 'NV_video_output'
+                # end of spec bugs...
                 type = 'extension'
                 if current_block.endswith('_DEPRECATED'):
                     type += '_deprecated'
             m = re_use.search(line)
             if m:
                 name = m.group('name')
+                # Handle the spec bugs...
                 if current_block == 'VERSION_4_0':
                     if name in ('TRANSFORM_FEEDBACK', 'TRANSFORM_FEEDBACK_BUFFER_PAUSED','TRANSFORM_FEEDBACK_BUFFER_ACTIVE','TRANSFORM_FEEDBACK_BINDING'):
                         blocks[current_block].reuses.append(('ARB_transform_feedback2', name))
                 elif current_block == 'ARB_gpu_shader5':
                     if name == 'MAX_VERTEX_STREAMS':
                         blocks[current_block].reuses.append(('ARB_transform_feedback3', name))
+                elif current_block == 'ARB_internalformat_query2':
+                    if name == 'RENDERBUFFER':
+                        blocks[current_block].reuses.append(('ARB_framebuffer_object', name))
+                    elif name == 'TEXTURE_CUBE_MAP_ARRAY':
+                        blocks[current_block].reuses.append(('VERSION_4_0', name))
+                # end of spec bug hunting...
                 else:
                     blocks[current_block].reuses.append((m.group('section'), name))
         
             if blocks[block_name].defines or blocks[block_name].reuses:
                 bf.write('\n')
             for (name, value) in blocks[block_name].defines:
+                # More spec weirdness.. 
+                # (ARB_copy_buffer - GL_VERSION_3_1)
+                if name == 'COPY_READ_BUFFER': value = '0x8F36'
+                if name == 'COPY_WRITE_BUFFER': value = '0x8F37'
+                # GL_ARB_shader_storage_buffer_object
+                if name == 'MAX_COMBINED_SHADER_OUTPUT_RESOURCES': value = '0x8F39' 
+                # ...
                 bf.write('#define %s%s %s\n' % (prefix, name, value))
             for (section, name) in blocks[block_name].reuses:
                 the_value = ''
                 the_section = ''
-                if section in ('BlendingFactorDest', 'DrawBufferMode', 'GetPName', 'TextureGenParameter'): the_section = 'VERSION_1_1'
+                if section in ('BlendingFactorDest', 'DrawBufferMode', 'GetPName', 'TextureGenParameter', 'ErrorCode'): the_section = 'VERSION_1_1'
                 else: the_section = section
                 for (d_name, value) in blocks[the_section].defines:
                     if d_name == name: the_value = value
                 if not the_value and blocks.has_key(the_section + '_DEPRECATED'):
                     for (d_name, value) in blocks[the_section + '_DEPRECATED'].defines:
-                        if d_name == name: the_value = value
+                        if d_name == name: the_value = value             
+                # More spec weirdness.. 
+                # (ARB_copy_buffer - GL_VERSION_3_1)
+                if name == 'COPY_READ_BUFFER': the_value = '0x8F36'
+                if name == 'COPY_WRITE_BUFFER': the_value = '0x8F37'
+                # GL_VERSION_4_3
+                if name == 'MAX_COMBINED_SHADER_OUTPUT_RESOURCES': the_value = '0x8F39'
+                # ...
                 if not the_value: print('SPEC Bug??: %s:%s-%s' % (block_name, the_section, name))
                 bf.write('#define %s%s %s\n' % (prefix, name, the_value))
 

generator/specs/enumext.spec

 # enumext.spec - list of GL enumerants for glext.h header
 #
-# $Revision: 15267 $ on $Date: 2011-08-08 00:37:03 -0700 (Mon, 08 Aug 2011) $
+# $Revision: 18887 $ on $Date: 2012-08-13 16:25:45 -0700 (Mon, 13 Aug 2012) $
 
 # This is derived from the master GL enumerant registry (enum.spec).
 #
 	UNSIGNED_INT					= 0x1405	# DataType
 	FLOAT						= 0x1406	# DataType
 	DOUBLE						= 0x140A	# DataType
+# Deprecated in GL 3.0; undeprecated in GL 4.3 / KHR_debug
+passthru: /* ErrorCode */
+	STACK_OVERFLOW					= 0x0503	# ErrorCode
+	STACK_UNDERFLOW					= 0x0504	# ErrorCode
 passthru: /* LogicOp */
 	CLEAR						= 0x1500	# LogicOp
 	AND						= 0x1501	# LogicOp
 	AUX1						= 0x040A	# DrawBufferMode
 	AUX2						= 0x040B	# DrawBufferMode
 	AUX3						= 0x040C	# DrawBufferMode
-passthru: /* ErrorCode */
-	STACK_OVERFLOW					= 0x0503	# ErrorCode
-	STACK_UNDERFLOW					= 0x0504	# ErrorCode
 passthru: /* FeedbackType */
 	2D						= 0x0600	# FeedbackType
 	3D						= 0x0601	# FeedbackType
 	use ARB_ES2_compatibility	    MAX_VERTEX_UNIFORM_VECTORS
 	use ARB_ES2_compatibility	    MAX_VARYING_VECTORS
 	use ARB_ES2_compatibility	    MAX_FRAGMENT_UNIFORM_VECTORS
+	use ARB_ES2_compatibility	    RGB565
 passthru: /* Reuse tokens from ARB_get_program_binary */
 	use ARB_get_program_binary	    PROGRAM_BINARY_RETRIEVABLE_HINT
 	use ARB_get_program_binary	    PROGRAM_BINARY_LENGTH
 passthru: /* Reuse tokens from ARB_texture_storage */
 	use ARB_texture_storage		    TEXTURE_IMMUTABLE_FORMAT
 
+###############################################################################
+#
+# OpenGL 4.3 enums
+#
+###############################################################################
+
+VERSION_4_3 enum:
+	NUM_SHADING_LANGUAGE_VERSIONS			= 0x82E9
+	VERTEX_ATTRIB_ARRAY_LONG			= 0x874E
+passthru: /* Reuse tokens from ARB_arrays_of_arrays (none, GLSL only) */
+passthru: /* Reuse tokens from ARB_fragment_layer_viewport (none, GLSL only) */
+passthru: /* Reuse tokens from ARB_shader_image_size (none, GLSL only) */
+passthru: /* Reuse tokens from ARB_ES3_compatibility */
+	use ARB_ES3_compatibility		    COMPRESSED_RGB8_ETC2
+	use ARB_ES3_compatibility		    COMPRESSED_SRGB8_ETC2
+	use ARB_ES3_compatibility		    COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
+	use ARB_ES3_compatibility		    COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
+	use ARB_ES3_compatibility		    COMPRESSED_RGBA8_ETC2_EAC
+	use ARB_ES3_compatibility		    COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
+	use ARB_ES3_compatibility		    COMPRESSED_R11_EAC
+	use ARB_ES3_compatibility		    COMPRESSED_SIGNED_R11_EAC
+	use ARB_ES3_compatibility		    COMPRESSED_RG11_EAC
+	use ARB_ES3_compatibility		    COMPRESSED_SIGNED_RG11_EAC
+	use ARB_ES3_compatibility		    PRIMITIVE_RESTART_FIXED_INDEX
+	use ARB_ES3_compatibility		    ANY_SAMPLES_PASSED_CONSERVATIVE
+	use ARB_ES3_compatibility		    MAX_ELEMENT_INDEX
+passthru: /* Reuse tokens from ARB_clear_buffer_object (none) */
+passthru: /* Reuse tokens from ARB_compute_shader */
+	use ARB_compute_shader			    COMPUTE_SHADER
+	use ARB_compute_shader			    MAX_COMPUTE_UNIFORM_BLOCKS
+	use ARB_compute_shader			    MAX_COMPUTE_TEXTURE_IMAGE_UNITS
+	use ARB_compute_shader			    MAX_COMPUTE_IMAGE_UNIFORMS
+	use ARB_compute_shader			    MAX_COMPUTE_SHARED_MEMORY_SIZE
+	use ARB_compute_shader			    MAX_COMPUTE_UNIFORM_COMPONENTS
+	use ARB_compute_shader			    MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS
+	use ARB_compute_shader			    MAX_COMPUTE_ATOMIC_COUNTERS
+	use ARB_compute_shader			    MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS
+	use ARB_compute_shader			    MAX_COMPUTE_LOCAL_INVOCATIONS
+	use ARB_compute_shader			    MAX_COMPUTE_WORK_GROUP_COUNT
+	use ARB_compute_shader			    MAX_COMPUTE_WORK_GROUP_SIZE
+	use ARB_compute_shader			    COMPUTE_LOCAL_WORK_SIZE
+	use ARB_compute_shader			    UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER
+	use ARB_compute_shader			    ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER
+	use ARB_compute_shader			    DISPATCH_INDIRECT_BUFFER
+	use ARB_compute_shader			    DISPATCH_INDIRECT_BUFFER_BINDING
+passthru: /* Reuse tokens from ARB_copy_image (none) */
+passthru: /* Reuse tokens from KHR_debug */
+	use KHR_debug				    DEBUG_OUTPUT_SYNCHRONOUS
+	use KHR_debug				    DEBUG_NEXT_LOGGED_MESSAGE_LENGTH
+	use KHR_debug				    DEBUG_CALLBACK_FUNCTION
+	use KHR_debug				    DEBUG_CALLBACK_USER_PARAM
+	use KHR_debug				    DEBUG_SOURCE_API
+	use KHR_debug				    DEBUG_SOURCE_WINDOW_SYSTEM
+	use KHR_debug				    DEBUG_SOURCE_SHADER_COMPILER
+	use KHR_debug				    DEBUG_SOURCE_THIRD_PARTY
+	use KHR_debug				    DEBUG_SOURCE_APPLICATION
+	use KHR_debug				    DEBUG_SOURCE_OTHER
+	use KHR_debug				    DEBUG_TYPE_ERROR
+	use KHR_debug				    DEBUG_TYPE_DEPRECATED_BEHAVIOR
+	use KHR_debug				    DEBUG_TYPE_UNDEFINED_BEHAVIOR
+	use KHR_debug				    DEBUG_TYPE_PORTABILITY
+	use KHR_debug				    DEBUG_TYPE_PERFORMANCE
+	use KHR_debug				    DEBUG_TYPE_OTHER
+	use KHR_debug				    MAX_DEBUG_MESSAGE_LENGTH
+	use KHR_debug				    MAX_DEBUG_LOGGED_MESSAGES
+	use KHR_debug				    DEBUG_LOGGED_MESSAGES
+	use KHR_debug				    DEBUG_SEVERITY_HIGH
+	use KHR_debug				    DEBUG_SEVERITY_MEDIUM
+	use KHR_debug				    DEBUG_SEVERITY_LOW
+	use KHR_debug				    DEBUG_TYPE_MARKER
+	use KHR_debug				    DEBUG_TYPE_PUSH_GROUP
+	use KHR_debug				    DEBUG_TYPE_POP_GROUP
+	use KHR_debug				    DEBUG_SEVERITY_NOTIFICATION
+	use KHR_debug				    MAX_DEBUG_GROUP_STACK_DEPTH
+	use KHR_debug				    DEBUG_GROUP_STACK_DEPTH
+	use KHR_debug				    BUFFER
+	use KHR_debug				    SHADER
+	use KHR_debug				    PROGRAM
+	use KHR_debug				    QUERY
+	use KHR_debug				    PROGRAM_PIPELINE
+	use KHR_debug				    SAMPLER
+	use KHR_debug				    DISPLAY_LIST
+	use KHR_debug				    MAX_LABEL_LENGTH
+	use KHR_debug				    DEBUG_OUTPUT
+	use KHR_debug				    CONTEXT_FLAG_DEBUG_BIT
+	use ErrorCode				    STACK_UNDERFLOW
+	use ErrorCode				    STACK_OVERFLOW
+passthru: /* Reuse tokens from ARB_explicit_uniform_location */
+	use ARB_explicit_uniform_location	    MAX_UNIFORM_LOCATIONS
+passthru: /* Reuse tokens from ARB_framebuffer_no_attachments */
+	use ARB_framebuffer_no_attachments	    FRAMEBUFFER_DEFAULT_WIDTH
+	use ARB_framebuffer_no_attachments	    FRAMEBUFFER_DEFAULT_HEIGHT
+	use ARB_framebuffer_no_attachments	    FRAMEBUFFER_DEFAULT_LAYERS
+	use ARB_framebuffer_no_attachments	    FRAMEBUFFER_DEFAULT_SAMPLES
+	use ARB_framebuffer_no_attachments	    FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS
+	use ARB_framebuffer_no_attachments	    MAX_FRAMEBUFFER_WIDTH
+	use ARB_framebuffer_no_attachments	    MAX_FRAMEBUFFER_HEIGHT
+	use ARB_framebuffer_no_attachments	    MAX_FRAMEBUFFER_LAYERS
+	use ARB_framebuffer_no_attachments	    MAX_FRAMEBUFFER_SAMPLES
+passthru: /* Reuse tokens from ARB_internalformat_query2 */
+	use ARB_internalformat_query2		    INTERNALFORMAT_SUPPORTED
+	use ARB_internalformat_query2		    INTERNALFORMAT_PREFERRED
+	use ARB_internalformat_query2		    INTERNALFORMAT_RED_SIZE
+	use ARB_internalformat_query2		    INTERNALFORMAT_GREEN_SIZE
+	use ARB_internalformat_query2		    INTERNALFORMAT_BLUE_SIZE
+	use ARB_internalformat_query2		    INTERNALFORMAT_ALPHA_SIZE
+	use ARB_internalformat_query2		    INTERNALFORMAT_DEPTH_SIZE
+	use ARB_internalformat_query2		    INTERNALFORMAT_STENCIL_SIZE
+	use ARB_internalformat_query2		    INTERNALFORMAT_SHARED_SIZE
+	use ARB_internalformat_query2		    INTERNALFORMAT_RED_TYPE
+	use ARB_internalformat_query2		    INTERNALFORMAT_GREEN_TYPE
+	use ARB_internalformat_query2		    INTERNALFORMAT_BLUE_TYPE
+	use ARB_internalformat_query2		    INTERNALFORMAT_ALPHA_TYPE
+	use ARB_internalformat_query2		    INTERNALFORMAT_DEPTH_TYPE
+	use ARB_internalformat_query2		    INTERNALFORMAT_STENCIL_TYPE
+	use ARB_internalformat_query2		    MAX_WIDTH
+	use ARB_internalformat_query2		    MAX_HEIGHT
+	use ARB_internalformat_query2		    MAX_DEPTH
+	use ARB_internalformat_query2		    MAX_LAYERS
+	use ARB_internalformat_query2		    MAX_COMBINED_DIMENSIONS
+	use ARB_internalformat_query2		    COLOR_COMPONENTS
+	use ARB_internalformat_query2		    DEPTH_COMPONENTS
+	use ARB_internalformat_query2		    STENCIL_COMPONENTS
+	use ARB_internalformat_query2		    COLOR_RENDERABLE
+	use ARB_internalformat_query2		    DEPTH_RENDERABLE
+	use ARB_internalformat_query2		    STENCIL_RENDERABLE
+	use ARB_internalformat_query2		    FRAMEBUFFER_RENDERABLE
+	use ARB_internalformat_query2		    FRAMEBUFFER_RENDERABLE_LAYERED
+	use ARB_internalformat_query2		    FRAMEBUFFER_BLEND
+	use ARB_internalformat_query2		    READ_PIXELS
+	use ARB_internalformat_query2		    READ_PIXELS_FORMAT
+	use ARB_internalformat_query2		    READ_PIXELS_TYPE
+	use ARB_internalformat_query2		    TEXTURE_IMAGE_FORMAT
+	use ARB_internalformat_query2		    TEXTURE_IMAGE_TYPE
+	use ARB_internalformat_query2		    GET_TEXTURE_IMAGE_FORMAT
+	use ARB_internalformat_query2		    GET_TEXTURE_IMAGE_TYPE
+	use ARB_internalformat_query2		    MIPMAP
+	use ARB_internalformat_query2		    MANUAL_GENERATE_MIPMAP
+	use ARB_internalformat_query2		    AUTO_GENERATE_MIPMAP
+	use ARB_internalformat_query2		    COLOR_ENCODING
+	use ARB_internalformat_query2		    SRGB_READ
+	use ARB_internalformat_query2		    SRGB_WRITE
+	use ARB_internalformat_query2		    FILTER
+	use ARB_internalformat_query2		    VERTEX_TEXTURE
+	use ARB_internalformat_query2		    TESS_CONTROL_TEXTURE
+	use ARB_internalformat_query2		    TESS_EVALUATION_TEXTURE
+	use ARB_internalformat_query2		    GEOMETRY_TEXTURE
+	use ARB_internalformat_query2		    FRAGMENT_TEXTURE
+	use ARB_internalformat_query2		    COMPUTE_TEXTURE
+	use ARB_internalformat_query2		    TEXTURE_SHADOW
+	use ARB_internalformat_query2		    TEXTURE_GATHER
+	use ARB_internalformat_query2		    TEXTURE_GATHER_SHADOW
+	use ARB_internalformat_query2		    SHADER_IMAGE_LOAD
+	use ARB_internalformat_query2		    SHADER_IMAGE_STORE
+	use ARB_internalformat_query2		    SHADER_IMAGE_ATOMIC
+	use ARB_internalformat_query2		    IMAGE_TEXEL_SIZE
+	use ARB_internalformat_query2		    IMAGE_COMPATIBILITY_CLASS
+	use ARB_internalformat_query2		    IMAGE_PIXEL_FORMAT
+	use ARB_internalformat_query2		    IMAGE_PIXEL_TYPE
+	use ARB_internalformat_query2		    SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST
+	use ARB_internalformat_query2		    SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST
+	use ARB_internalformat_query2		    SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE
+	use ARB_internalformat_query2		    SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE
+	use ARB_internalformat_query2		    TEXTURE_COMPRESSED_BLOCK_WIDTH
+	use ARB_internalformat_query2		    TEXTURE_COMPRESSED_BLOCK_HEIGHT
+	use ARB_internalformat_query2		    TEXTURE_COMPRESSED_BLOCK_SIZE
+	use ARB_internalformat_query2		    CLEAR_BUFFER
+	use ARB_internalformat_query2		    TEXTURE_VIEW
+	use ARB_internalformat_query2		    VIEW_COMPATIBILITY_CLASS
+	use ARB_internalformat_query2		    FULL_SUPPORT
+	use ARB_internalformat_query2		    CAVEAT_SUPPORT
+	use ARB_internalformat_query2		    IMAGE_CLASS_4_X_32
+	use ARB_internalformat_query2		    IMAGE_CLASS_2_X_32
+	use ARB_internalformat_query2		    IMAGE_CLASS_1_X_32
+	use ARB_internalformat_query2		    IMAGE_CLASS_4_X_16
+	use ARB_internalformat_query2		    IMAGE_CLASS_2_X_16
+	use ARB_internalformat_query2		    IMAGE_CLASS_1_X_16
+	use ARB_internalformat_query2		    IMAGE_CLASS_4_X_8
+	use ARB_internalformat_query2		    IMAGE_CLASS_2_X_8
+	use ARB_internalformat_query2		    IMAGE_CLASS_1_X_8
+	use ARB_internalformat_query2		    IMAGE_CLASS_11_11_10
+	use ARB_internalformat_query2		    IMAGE_CLASS_10_10_10_2
+	use ARB_internalformat_query2		    VIEW_CLASS_128_BITS
+	use ARB_internalformat_query2		    VIEW_CLASS_96_BITS
+	use ARB_internalformat_query2		    VIEW_CLASS_64_BITS
+	use ARB_internalformat_query2		    VIEW_CLASS_48_BITS
+	use ARB_internalformat_query2		    VIEW_CLASS_32_BITS
+	use ARB_internalformat_query2		    VIEW_CLASS_24_BITS
+	use ARB_internalformat_query2		    VIEW_CLASS_16_BITS
+	use ARB_internalformat_query2		    VIEW_CLASS_8_BITS
+	use ARB_internalformat_query2		    VIEW_CLASS_S3TC_DXT1_RGB
+	use ARB_internalformat_query2		    VIEW_CLASS_S3TC_DXT1_RGBA
+	use ARB_internalformat_query2		    VIEW_CLASS_S3TC_DXT3_RGBA
+	use ARB_internalformat_query2		    VIEW_CLASS_S3TC_DXT5_RGBA
+	use ARB_internalformat_query2		    VIEW_CLASS_RGTC1_RED
+	use ARB_internalformat_query2		    VIEW_CLASS_RGTC2_RG
+	use ARB_internalformat_query2		    VIEW_CLASS_BPTC_UNORM
+	use ARB_internalformat_query2		    VIEW_CLASS_BPTC_FLOAT
+passthru: /* Reuse tokens from ARB_invalidate_subdata (none) */
+passthru: /* Reuse tokens from ARB_multi_draw_indirect (none) */
+passthru: /* Reuse tokens from ARB_program_interface_query */
+	use ARB_program_interface_query		    UNIFORM
+	use ARB_program_interface_query		    UNIFORM_BLOCK
+	use ARB_program_interface_query		    PROGRAM_INPUT
+	use ARB_program_interface_query		    PROGRAM_OUTPUT
+	use ARB_program_interface_query		    BUFFER_VARIABLE
+	use ARB_program_interface_query		    SHADER_STORAGE_BLOCK
+	use ARB_program_interface_query		    VERTEX_SUBROUTINE
+	use ARB_program_interface_query		    TESS_CONTROL_SUBROUTINE
+	use ARB_program_interface_query		    TESS_EVALUATION_SUBROUTINE
+	use ARB_program_interface_query		    GEOMETRY_SUBROUTINE
+	use ARB_program_interface_query		    FRAGMENT_SUBROUTINE
+	use ARB_program_interface_query		    COMPUTE_SUBROUTINE
+	use ARB_program_interface_query		    VERTEX_SUBROUTINE_UNIFORM
+	use ARB_program_interface_query		    TESS_CONTROL_SUBROUTINE_UNIFORM
+	use ARB_program_interface_query		    TESS_EVALUATION_SUBROUTINE_UNIFORM
+	use ARB_program_interface_query		    GEOMETRY_SUBROUTINE_UNIFORM
+	use ARB_program_interface_query		    FRAGMENT_SUBROUTINE_UNIFORM
+	use ARB_program_interface_query		    COMPUTE_SUBROUTINE_UNIFORM
+	use ARB_program_interface_query		    TRANSFORM_FEEDBACK_VARYING
+	use ARB_program_interface_query		    ACTIVE_RESOURCES
+	use ARB_program_interface_query		    MAX_NAME_LENGTH
+	use ARB_program_interface_query		    MAX_NUM_ACTIVE_VARIABLES
+	use ARB_program_interface_query		    MAX_NUM_COMPATIBLE_SUBROUTINES
+	use ARB_program_interface_query		    NAME_LENGTH
+	use ARB_program_interface_query		    TYPE
+	use ARB_program_interface_query		    ARRAY_SIZE
+	use ARB_program_interface_query		    OFFSET
+	use ARB_program_interface_query		    BLOCK_INDEX
+	use ARB_program_interface_query		    ARRAY_STRIDE
+	use ARB_program_interface_query		    MATRIX_STRIDE
+	use ARB_program_interface_query		    IS_ROW_MAJOR
+	use ARB_program_interface_query		    ATOMIC_COUNTER_BUFFER_INDEX
+	use ARB_program_interface_query		    BUFFER_BINDING
+	use ARB_program_interface_query		    BUFFER_DATA_SIZE
+	use ARB_program_interface_query		    NUM_ACTIVE_VARIABLES
+	use ARB_program_interface_query		    ACTIVE_VARIABLES
+	use ARB_program_interface_query		    REFERENCED_BY_VERTEX_SHADER
+	use ARB_program_interface_query		    REFERENCED_BY_TESS_CONTROL_SHADER
+	use ARB_program_interface_query		    REFERENCED_BY_TESS_EVALUATION_SHADER
+	use ARB_program_interface_query		    REFERENCED_BY_GEOMETRY_SHADER
+	use ARB_program_interface_query		    REFERENCED_BY_FRAGMENT_SHADER
+	use ARB_program_interface_query		    REFERENCED_BY_COMPUTE_SHADER
+	use ARB_program_interface_query		    TOP_LEVEL_ARRAY_SIZE
+	use ARB_program_interface_query		    TOP_LEVEL_ARRAY_STRIDE
+	use ARB_program_interface_query		    LOCATION
+	use ARB_program_interface_query		    LOCATION_INDEX
+	use ARB_program_interface_query		    IS_PER_PATCH
+passthru: /* Reuse tokens from ARB_robust_buffer_access_behavior (none) */
+passthru: /* Reuse tokens from ARB_shader_storage_buffer_object */
+	use ARB_shader_storage_buffer_object	    SHADER_STORAGE_BUFFER
+	use ARB_shader_storage_buffer_object	    SHADER_STORAGE_BUFFER_BINDING
+	use ARB_shader_storage_buffer_object	    SHADER_STORAGE_BUFFER_START
+	use ARB_shader_storage_buffer_object	    SHADER_STORAGE_BUFFER_SIZE
+	use ARB_shader_storage_buffer_object	    MAX_VERTEX_SHADER_STORAGE_BLOCKS
+	use ARB_shader_storage_buffer_object	    MAX_GEOMETRY_SHADER_STORAGE_BLOCKS
+	use ARB_shader_storage_buffer_object	    MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS
+	use ARB_shader_storage_buffer_object	    MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS
+	use ARB_shader_storage_buffer_object	    MAX_FRAGMENT_SHADER_STORAGE_BLOCKS
+	use ARB_shader_storage_buffer_object	    MAX_COMPUTE_SHADER_STORAGE_BLOCKS
+	use ARB_shader_storage_buffer_object	    MAX_COMBINED_SHADER_STORAGE_BLOCKS
+	use ARB_shader_storage_buffer_object	    MAX_SHADER_STORAGE_BUFFER_BINDINGS
+	use ARB_shader_storage_buffer_object	    MAX_SHADER_STORAGE_BLOCK_SIZE
+	use ARB_shader_storage_buffer_object	    SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT
+	use ARB_shader_storage_buffer_object	    SHADER_STORAGE_BARRIER_BIT
+	use ARB_shader_storage_buffer_object	    MAX_COMBINED_SHADER_OUTPUT_RESOURCES
+passthru: /* Reuse tokens from ARB_stencil_texturing */
+	use ARB_stencil_texturing		    DEPTH_STENCIL_TEXTURE_MODE
+passthru: /* Reuse tokens from ARB_texture_buffer_range */
+	use ARB_texture_buffer_range		    TEXTURE_BUFFER_OFFSET
+	use ARB_texture_buffer_range		    TEXTURE_BUFFER_SIZE
+	use ARB_texture_buffer_range		    TEXTURE_BUFFER_OFFSET_ALIGNMENT
+passthru: /* Reuse tokens from ARB_texture_query_levels (none) */
+passthru: /* Reuse tokens from ARB_texture_storage_multisample (none) */
+passthru: /* Reuse tokens from ARB_texture_view */
+	use ARB_texture_view			    TEXTURE_VIEW_MIN_LEVEL
+	use ARB_texture_view			    TEXTURE_VIEW_NUM_LEVELS
+	use ARB_texture_view			    TEXTURE_VIEW_MIN_LAYER
+	use ARB_texture_view			    TEXTURE_VIEW_NUM_LAYERS
+	use ARB_texture_view			    TEXTURE_IMMUTABLE_LEVELS
+passthru: /* Reuse tokens from ARB_vertex_attrib_binding */
+	use ARB_vertex_attrib_binding		    VERTEX_ATTRIB_BINDING
+	use ARB_vertex_attrib_binding		    VERTEX_ATTRIB_RELATIVE_OFFSET
+	use ARB_vertex_attrib_binding		    VERTEX_BINDING_DIVISOR
+	use ARB_vertex_attrib_binding		    VERTEX_BINDING_OFFSET
+	use ARB_vertex_attrib_binding		    VERTEX_BINDING_STRIDE
+	use ARB_vertex_attrib_binding		    MAX_VERTEX_ATTRIB_RELATIVE_OFFSET
+	use ARB_vertex_attrib_binding		    MAX_VERTEX_ATTRIB_BINDINGS
+
 
 ###############################################################################
 #
 
 # ARB Extension #59
 ARB_copy_buffer enum:
-	COPY_READ_BUFFER				= 0x8F36
-	COPY_WRITE_BUFFER				= 0x8F37
+	COPY_READ_BUFFER_BINDING			= 0x8F36
+	COPY_READ_BUFFER				= GL_COPY_READ_BUFFER_BINDING
+	COPY_WRITE_BUFFER_BINDING			= 0x8F37
+	COPY_WRITE_BUFFER				= GL_COPY_WRITE_BUFFER_BINDING
 
 ###############################################################################
 
 # ARB Extension #93
 ARB_transform_feedback2 enum:
 	TRANSFORM_FEEDBACK				= 0x8E22
-	TRANSFORM_FEEDBACK_BUFFER_PAUSED		= 0x8E23
-	TRANSFORM_FEEDBACK_BUFFER_ACTIVE		= 0x8E24
+	TRANSFORM_FEEDBACK_PAUSED			= 0x8E23
+	TRANSFORM_FEEDBACK_BUFFER_PAUSED		= GL_TRANSFORM_FEEDBACK_PAUSED
+	TRANSFORM_FEEDBACK_ACTIVE			= 0x8E24
+	TRANSFORM_FEEDBACK_BUFFER_ACTIVE		= GL_TRANSFORM_FEEDBACK_ACTIVE
 	TRANSFORM_FEEDBACK_BINDING			= 0x8E25
 
 ###############################################################################
 	MAX_VERTEX_UNIFORM_VECTORS			= 0x8DFB
 	MAX_VARYING_VECTORS				= 0x8DFC
 	MAX_FRAGMENT_UNIFORM_VECTORS			= 0x8DFD
+	RGB565						= 0x8D62
 
 ###############################################################################
 
 ARB_texture_storage enum:
 	TEXTURE_IMMUTABLE_FORMAT			= 0x912F
 
+###############################################################################
+
+# ARB Extension #118
+KHR_texture_compression_astc_ldr enum:
+	COMPRESSED_RGBA_ASTC_4x4_KHR			= 0x93B0
+	COMPRESSED_RGBA_ASTC_5x4_KHR			= 0x93B1
+	COMPRESSED_RGBA_ASTC_5x5_KHR			= 0x93B2
+	COMPRESSED_RGBA_ASTC_6x5_KHR			= 0x93B3
+	COMPRESSED_RGBA_ASTC_6x6_KHR			= 0x93B4
+	COMPRESSED_RGBA_ASTC_8x5_KHR			= 0x93B5
+	COMPRESSED_RGBA_ASTC_8x6_KHR			= 0x93B6
+	COMPRESSED_RGBA_ASTC_8x8_KHR			= 0x93B7
+	COMPRESSED_RGBA_ASTC_10x5_KHR			= 0x93B8
+	COMPRESSED_RGBA_ASTC_10x6_KHR			= 0x93B9
+	COMPRESSED_RGBA_ASTC_10x8_KHR			= 0x93BA
+	COMPRESSED_RGBA_ASTC_10x10_KHR			= 0x93BB
+	COMPRESSED_RGBA_ASTC_12x10_KHR			= 0x93BC
+	COMPRESSED_RGBA_ASTC_12x12_KHR			= 0x93BD
+	COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR		= 0x93D0
+	COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR		= 0x93D1
+	COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR		= 0x93D2
+	COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR		= 0x93D3
+	COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR		= 0x93D4
+	COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR		= 0x93D5
+	COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR		= 0x93D6
+	COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR		= 0x93D7
+	COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR		= 0x93D8
+	COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR		= 0x93D9
+	COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR		= 0x93DA
+	COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR		= 0x93DB
+	COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR		= 0x93DC
+	COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR		= 0x93DD
+
+###############################################################################
+
+# ARB Extension #119
+KHR_debug enum:
+	DEBUG_OUTPUT_SYNCHRONOUS			= 0x8242
+	DEBUG_NEXT_LOGGED_MESSAGE_LENGTH		= 0x8243
+	DEBUG_CALLBACK_FUNCTION				= 0x8244
+	DEBUG_CALLBACK_USER_PARAM			= 0x8245
+	DEBUG_SOURCE_API				= 0x8246
+	DEBUG_SOURCE_WINDOW_SYSTEM			= 0x8247
+	DEBUG_SOURCE_SHADER_COMPILER			= 0x8248
+	DEBUG_SOURCE_THIRD_PARTY			= 0x8249
+	DEBUG_SOURCE_APPLICATION			= 0x824A
+	DEBUG_SOURCE_OTHER				= 0x824B
+	DEBUG_TYPE_ERROR				= 0x824C
+	DEBUG_TYPE_DEPRECATED_BEHAVIOR			= 0x824D
+	DEBUG_TYPE_UNDEFINED_BEHAVIOR			= 0x824E
+	DEBUG_TYPE_PORTABILITY				= 0x824F
+	DEBUG_TYPE_PERFORMANCE				= 0x8250
+	DEBUG_TYPE_OTHER				= 0x8251
+	DEBUG_TYPE_MARKER				= 0x8268
+	DEBUG_TYPE_PUSH_GROUP				= 0x8269
+	DEBUG_TYPE_POP_GROUP				= 0x826A
+	DEBUG_SEVERITY_NOTIFICATION			= 0x826B
+	MAX_DEBUG_GROUP_STACK_DEPTH			= 0x826C
+	DEBUG_GROUP_STACK_DEPTH				= 0x826D
+	BUFFER						= 0x82E0
+	SHADER						= 0x82E1
+	PROGRAM						= 0x82E2
+	QUERY						= 0x82E3
+	PROGRAM_PIPELINE				= 0x82E4
+# SYNC = 0x82E5 no longer used in extension
+	SAMPLER						= 0x82E6
+	DISPLAY_LIST					= 0x82E7
+passthru: /* DISPLAY_LIST used in compatibility profile only */
+	MAX_LABEL_LENGTH				= 0x82E8
+	MAX_DEBUG_MESSAGE_LENGTH			= 0x9143
+	MAX_DEBUG_LOGGED_MESSAGES			= 0x9144
+	DEBUG_LOGGED_MESSAGES				= 0x9145
+	DEBUG_SEVERITY_HIGH				= 0x9146
+	DEBUG_SEVERITY_MEDIUM				= 0x9147
+	DEBUG_SEVERITY_LOW				= 0x9148
+	DEBUG_OUTPUT					= 0x92E0
+	CONTEXT_FLAG_DEBUG_BIT				= 0x00000002
+	use ErrorCode STACK_UNDERFLOW
+	use ErrorCode STACK_OVERFLOW
+
+###############################################################################
+
+# No new tokens
+# ARB Extension #120
+ARB_arrays_of_arrays enum:
+
+###############################################################################
+
+# No new tokens
+# ARB Extension #121
+ARB_clear_buffer_object enum:
+
+###############################################################################
+
+# ARB Extension #122
+ARB_compute_shader enum:
+	COMPUTE_SHADER					= 0x91B9
+	MAX_COMPUTE_UNIFORM_BLOCKS			= 0x91BB
+	MAX_COMPUTE_TEXTURE_IMAGE_UNITS			= 0x91BC
+	MAX_COMPUTE_IMAGE_UNIFORMS			= 0x91BD
+	MAX_COMPUTE_SHARED_MEMORY_SIZE			= 0x8262
+	MAX_COMPUTE_UNIFORM_COMPONENTS			= 0x8263
+	MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS		= 0x8264
+	MAX_COMPUTE_ATOMIC_COUNTERS			= 0x8265
+	MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS		= 0x8266
+	MAX_COMPUTE_LOCAL_INVOCATIONS			= 0x90EB
+	MAX_COMPUTE_WORK_GROUP_COUNT			= 0x91BE
+	MAX_COMPUTE_WORK_GROUP_SIZE			= 0x91BF
+	COMPUTE_LOCAL_WORK_SIZE				= 0x8267
+	UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER	= 0x90EC
+	ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED
+	DISPATCH_INDIRECT_BUFFER			= 0x90EE
+	DISPATCH_INDIRECT_BUFFER_BINDING		= 0x90EF
+	COMPUTE_SHADER_BIT				= 0x00000020	# UseProgramStages <stage> bitfield
+
+###############################################################################
+
+# No new tokens
+# ARB Extension #123
+ARB_copy_image enum:
+
+###############################################################################
+
+# ARB Extension #124 (renumbered from 142)
+ARB_texture_view enum:
+	TEXTURE_VIEW_MIN_LEVEL				= 0x82DB
+	TEXTURE_VIEW_NUM_LEVELS				= 0x82DC
+	TEXTURE_VIEW_MIN_LAYER				= 0x82DD
+	TEXTURE_VIEW_NUM_LAYERS				= 0x82DE
+	TEXTURE_IMMUTABLE_LEVELS			= 0x82DF
+
+###############################################################################
+
+# ARB Extension #125 (renumbered from 143)
+ARB_vertex_attrib_binding enum:
+	VERTEX_ATTRIB_BINDING				= 0x82D4
+	VERTEX_ATTRIB_RELATIVE_OFFSET			= 0x82D5
+	VERTEX_BINDING_DIVISOR				= 0x82D6
+	VERTEX_BINDING_OFFSET				= 0x82D7
+	VERTEX_BINDING_STRIDE				= 0x82D8
+	MAX_VERTEX_ATTRIB_RELATIVE_OFFSET		= 0x82D9
+	MAX_VERTEX_ATTRIB_BINDINGS			= 0x82DA
+
+###############################################################################
+
+# No new tokens
+# ARB Extension #126 (renumbered from 144)
+ARB_robustness_isolation enum:
+
+###############################################################################
+
+# ARB Extension #127
+ARB_ES3_compatibility enum:
+	COMPRESSED_RGB8_ETC2				= 0x9274
+	COMPRESSED_SRGB8_ETC2				= 0x9275
+	COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2	= 0x9276
+	COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2	= 0x9277
+	COMPRESSED_RGBA8_ETC2_EAC			= 0x9278
+	COMPRESSED_SRGB8_ALPHA8_ETC2_EAC		= 0x9279
+	COMPRESSED_R11_EAC				= 0x9270
+	COMPRESSED_SIGNED_R11_EAC			= 0x9271
+	COMPRESSED_RG11_EAC				= 0x9272
+	COMPRESSED_SIGNED_RG11_EAC			= 0x9273
+	PRIMITIVE_RESTART_FIXED_INDEX			= 0x8D69
+	ANY_SAMPLES_PASSED_CONSERVATIVE			= 0x8D6A
+	MAX_ELEMENT_INDEX				= 0x8D6B
+
+###############################################################################
+
+# ARB Extension #128
+ARB_explicit_uniform_location enum:
+	MAX_UNIFORM_LOCATIONS				= 0x826E
+
+###############################################################################
+
+# No new tokens
+# ARB Extension #129
+ARB_fragment_layer_viewport enum:
+
+###############################################################################
+
+# ARB Extension #130
+ARB_framebuffer_no_attachments enum:
+	FRAMEBUFFER_DEFAULT_WIDTH			= 0x9310
+	FRAMEBUFFER_DEFAULT_HEIGHT			= 0x9311
+	FRAMEBUFFER_DEFAULT_LAYERS			= 0x9312
+	FRAMEBUFFER_DEFAULT_SAMPLES			= 0x9313
+	FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS	= 0x9314
+	MAX_FRAMEBUFFER_WIDTH				= 0x9315
+	MAX_FRAMEBUFFER_HEIGHT				= 0x9316
+	MAX_FRAMEBUFFER_LAYERS				= 0x9317
+	MAX_FRAMEBUFFER_SAMPLES				= 0x9318
+
+###############################################################################
+
+# ARB Extension #131
+ARB_internalformat_query2 enum:
+	use ARB_shader_image_load_store IMAGE_FORMAT_COMPATIBILITY_TYPE
+	use ARB_internalformat_query NUM_SAMPLE_COUNTS
+	use VERSION_3_0 RENDERBUFFER
+	use VERSION_1_3 SAMPLES
+	use GetPName TEXTURE_1D
+	use VERSION_3_0 TEXTURE_1D_ARRAY
+	use GetPName TEXTURE_2D
+	use VERSION_3_0 TEXTURE_2D_ARRAY
+	use VERSION_1_2 TEXTURE_3D
+	use VERSION_1_3 TEXTURE_CUBE_MAP
+	use ARB_texture_cube_map TEXTURE_CUBE_MAP_ARRAY
+	use VERSION_3_1 TEXTURE_RECTANGLE
+	use VERSION_3_1 TEXTURE_BUFFER
+	use ARB_texture_multisample TEXTURE_2D_MULTISAMPLE
+	use ARB_texture_multisample TEXTURE_2D_MULTISAMPLE_ARRAY
+	use VERSION_1_3 TEXTURE_COMPRESSED
+	INTERNALFORMAT_SUPPORTED			= 0x826F
+	INTERNALFORMAT_PREFERRED			= 0x8270
+	INTERNALFORMAT_RED_SIZE				= 0x8271
+	INTERNALFORMAT_GREEN_SIZE			= 0x8272
+	INTERNALFORMAT_BLUE_SIZE			= 0x8273
+	INTERNALFORMAT_ALPHA_SIZE			= 0x8274
+	INTERNALFORMAT_DEPTH_SIZE			= 0x8275
+	INTERNALFORMAT_STENCIL_SIZE			= 0x8276
+	INTERNALFORMAT_SHARED_SIZE			= 0x8277
+	INTERNALFORMAT_RED_TYPE				= 0x8278
+	INTERNALFORMAT_GREEN_TYPE			= 0x8279
+	INTERNALFORMAT_BLUE_TYPE			= 0x827A
+	INTERNALFORMAT_ALPHA_TYPE			= 0x827B
+	INTERNALFORMAT_DEPTH_TYPE			= 0x827C
+	INTERNALFORMAT_STENCIL_TYPE			= 0x827D
+	MAX_WIDTH					= 0x827E
+	MAX_HEIGHT					= 0x827F
+	MAX_DEPTH					= 0x8280
+	MAX_LAYERS					= 0x8281
+	MAX_COMBINED_DIMENSIONS				= 0x8282
+	COLOR_COMPONENTS				= 0x8283
+	DEPTH_COMPONENTS				= 0x8284
+	STENCIL_COMPONENTS				= 0x8285
+	COLOR_RENDERABLE				= 0x8286
+	DEPTH_RENDERABLE				= 0x8287
+	STENCIL_RENDERABLE				= 0x8288
+	FRAMEBUFFER_RENDERABLE				= 0x8289
+	FRAMEBUFFER_RENDERABLE_LAYERED			= 0x828A
+	FRAMEBUFFER_BLEND				= 0x828B
+	READ_PIXELS					= 0x828C
+	READ_PIXELS_FORMAT				= 0x828D
+	READ_PIXELS_TYPE				= 0x828E
+	TEXTURE_IMAGE_FORMAT				= 0x828F
+	TEXTURE_IMAGE_TYPE				= 0x8290
+	GET_TEXTURE_IMAGE_FORMAT			= 0x8291
+	GET_TEXTURE_IMAGE_TYPE				= 0x8292
+	MIPMAP						= 0x8293
+	MANUAL_GENERATE_MIPMAP				= 0x8294
+# Should be deprecated
+	AUTO_GENERATE_MIPMAP				= 0x8295
+	COLOR_ENCODING					= 0x8296
+	SRGB_READ					= 0x8297
+	SRGB_WRITE					= 0x8298
+	SRGB_DECODE_ARB					= 0x8299
+	FILTER						= 0x829A
+	VERTEX_TEXTURE					= 0x829B
+	TESS_CONTROL_TEXTURE				= 0x829C
+	TESS_EVALUATION_TEXTURE				= 0x829D
+	GEOMETRY_TEXTURE				= 0x829E
+	FRAGMENT_TEXTURE				= 0x829F
+	COMPUTE_TEXTURE					= 0x82A0
+	TEXTURE_SHADOW					= 0x82A1
+	TEXTURE_GATHER					= 0x82A2
+	TEXTURE_GATHER_SHADOW				= 0x82A3
+	SHADER_IMAGE_LOAD				= 0x82A4
+	SHADER_IMAGE_STORE				= 0x82A5
+	SHADER_IMAGE_ATOMIC				= 0x82A6
+	IMAGE_TEXEL_SIZE				= 0x82A7
+	IMAGE_COMPATIBILITY_CLASS			= 0x82A8
+	IMAGE_PIXEL_FORMAT				= 0x82A9
+	IMAGE_PIXEL_TYPE				= 0x82AA
+	SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST		= 0x82AC
+	SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST		= 0x82AD
+	SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE		= 0x82AE
+	SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE		= 0x82AF
+	TEXTURE_COMPRESSED_BLOCK_WIDTH			= 0x82B1
+	TEXTURE_COMPRESSED_BLOCK_HEIGHT			= 0x82B2
+	TEXTURE_COMPRESSED_BLOCK_SIZE			= 0x82B3
+	CLEAR_BUFFER					= 0x82B4
+	TEXTURE_VIEW					= 0x82B5
+	VIEW_COMPATIBILITY_CLASS			= 0x82B6
+	FULL_SUPPORT					= 0x82B7
+	CAVEAT_SUPPORT					= 0x82B8
+	IMAGE_CLASS_4_X_32				= 0x82B9
+	IMAGE_CLASS_2_X_32				= 0x82BA
+	IMAGE_CLASS_1_X_32				= 0x82BB
+	IMAGE_CLASS_4_X_16				= 0x82BC
+	IMAGE_CLASS_2_X_16				= 0x82BD
+	IMAGE_CLASS_1_X_16				= 0x82BE
+	IMAGE_CLASS_4_X_8				= 0x82BF
+	IMAGE_CLASS_2_X_8				= 0x82C0
+	IMAGE_CLASS_1_X_8				= 0x82C1
+	IMAGE_CLASS_11_11_10				= 0x82C2
+	IMAGE_CLASS_10_10_10_2				= 0x82C3
+	VIEW_CLASS_128_BITS				= 0x82C4
+	VIEW_CLASS_96_BITS				= 0x82C5
+	VIEW_CLASS_64_BITS				= 0x82C6
+	VIEW_CLASS_48_BITS				= 0x82C7
+	VIEW_CLASS_32_BITS				= 0x82C8
+	VIEW_CLASS_24_BITS				= 0x82C9
+	VIEW_CLASS_16_BITS				= 0x82CA
+	VIEW_CLASS_8_BITS				= 0x82CB
+	VIEW_CLASS_S3TC_DXT1_RGB			= 0x82CC
+	VIEW_CLASS_S3TC_DXT1_RGBA			= 0x82CD
+	VIEW_CLASS_S3TC_DXT3_RGBA			= 0x82CE
+	VIEW_CLASS_S3TC_DXT5_RGBA			= 0x82CF
+	VIEW_CLASS_RGTC1_RED				= 0x82D0
+	VIEW_CLASS_RGTC2_RG				= 0x82D1
+	VIEW_CLASS_BPTC_UNORM				= 0x82D2
+	VIEW_CLASS_BPTC_FLOAT				= 0x82D3
+
+###############################################################################
+
+# No new tokens
+# ARB Extension #132
+ARB_invalidate_subdata enum:
+
+###############################################################################
+
+# No new tokens ; might not exist as an ARB extension
+# ARB Extension #133
+ARB_multi_draw_indirect enum:
+
+###############################################################################
+
+# ARB Extension #134
+ARB_program_interface_query enum:
+	UNIFORM						= 0x92E1
+	UNIFORM_BLOCK					= 0x92E2
+	PROGRAM_INPUT					= 0x92E3
+	PROGRAM_OUTPUT					= 0x92E4
+	BUFFER_VARIABLE					= 0x92E5
+	SHADER_STORAGE_BLOCK				= 0x92E6
+	use ARB_shader_atomic_counters ATOMIC_COUNTER_BUFFER
+	VERTEX_SUBROUTINE				= 0x92E8
+	TESS_CONTROL_SUBROUTINE				= 0x92E9
+	TESS_EVALUATION_SUBROUTINE			= 0x92EA
+	GEOMETRY_SUBROUTINE				= 0x92EB
+	FRAGMENT_SUBROUTINE				= 0x92EC
+	COMPUTE_SUBROUTINE				= 0x92ED
+	VERTEX_SUBROUTINE_UNIFORM			= 0x92EE
+	TESS_CONTROL_SUBROUTINE_UNIFORM			= 0x92EF
+	TESS_EVALUATION_SUBROUTINE_UNIFORM		= 0x92F0
+	GEOMETRY_SUBROUTINE_UNIFORM			= 0x92F1
+	FRAGMENT_SUBROUTINE_UNIFORM			= 0x92F2
+	COMPUTE_SUBROUTINE_UNIFORM			= 0x92F3
+	TRANSFORM_FEEDBACK_VARYING			= 0x92F4
+	ACTIVE_RESOURCES				= 0x92F5
+	MAX_NAME_LENGTH					= 0x92F6
+	MAX_NUM_ACTIVE_VARIABLES			= 0x92F7
+	MAX_NUM_COMPATIBLE_SUBROUTINES			= 0x92F8
+	NAME_LENGTH					= 0x92F9
+	TYPE						= 0x92FA
+	ARRAY_SIZE					= 0x92FB
+	OFFSET						= 0x92FC
+	BLOCK_INDEX					= 0x92FD
+	ARRAY_STRIDE					= 0x92FE
+	MATRIX_STRIDE					= 0x92FF
+	IS_ROW_MAJOR					= 0x9300
+	ATOMIC_COUNTER_BUFFER_INDEX			= 0x9301
+	BUFFER_BINDING					= 0x9302
+	BUFFER_DATA_SIZE				= 0x9303
+	NUM_ACTIVE_VARIABLES				= 0x9304
+	ACTIVE_VARIABLES				= 0x9305
+	REFERENCED_BY_VERTEX_SHADER			= 0x9306
+	REFERENCED_BY_TESS_CONTROL_SHADER		= 0x9307
+	REFERENCED_BY_TESS_EVALUATION_SHADER		= 0x9308
+	REFERENCED_BY_GEOMETRY_SHADER			= 0x9309
+	REFERENCED_BY_FRAGMENT_SHADER			= 0x930A
+	REFERENCED_BY_COMPUTE_SHADER			= 0x930B
+	TOP_LEVEL_ARRAY_SIZE				= 0x930C
+	TOP_LEVEL_ARRAY_STRIDE				= 0x930D
+	LOCATION					= 0x930E
+	LOCATION_INDEX					= 0x930F
+	IS_PER_PATCH					= 0x92E7
+	use ARB_shader_subroutine NUM_COMPATIBLE_SUBROUTINES
+	use ARB_shader_subroutine COMPATIBLE_SUBROUTINES
+
+###############################################################################
+
+# No new tokens
+# ARB Extension #135
+ARB_robust_buffer_access_behavior enum:
+
+###############################################################################
+
+# No new tokens
+# ARB Extension #136
+ARB_shader_image_size enum:
+
+###############################################################################
+
+# ARB Extension #137
+ARB_shader_storage_buffer_object enum:
+	SHADER_STORAGE_BUFFER				= 0x90D2
+	SHADER_STORAGE_BUFFER_BINDING			= 0x90D3
+	SHADER_STORAGE_BUFFER_START			= 0x90D4
+	SHADER_STORAGE_BUFFER_SIZE			= 0x90D5
+	MAX_VERTEX_SHADER_STORAGE_BLOCKS		= 0x90D6
+	MAX_GEOMETRY_SHADER_STORAGE_BLOCKS		= 0x90D7
+	MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS		= 0x90D8
+	MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS	= 0x90D9
+	MAX_FRAGMENT_SHADER_STORAGE_BLOCKS		= 0x90DA
+	MAX_COMPUTE_SHADER_STORAGE_BLOCKS		= 0x90DB
+	MAX_COMBINED_SHADER_STORAGE_BLOCKS		= 0x90DC
+	MAX_SHADER_STORAGE_BUFFER_BINDINGS		= 0x90DD
+	MAX_SHADER_STORAGE_BLOCK_SIZE			= 0x90DE
+	SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT		= 0x90DF
+	SHADER_STORAGE_BARRIER_BIT			= 0x2000
+	MAX_COMBINED_SHADER_OUTPUT_RESOURCES		= GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS
+	use ARB_shader_image_load_store			MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS
+
+###############################################################################
+
+# ARB Extension #138
+ARB_stencil_texturing enum:
+	DEPTH_STENCIL_TEXTURE_MODE			= 0x90EA
+
+###############################################################################
+
+# ARB Extension #139
+ARB_texture_buffer_range enum:
+	TEXTURE_BUFFER_OFFSET				= 0x919D
+	TEXTURE_BUFFER_SIZE				= 0x919E
+	TEXTURE_BUFFER_OFFSET_ALIGNMENT			= 0x919F
+
+###############################################################################
+
+# No new tokens
+# ARB Extension #140
+ARB_texture_query_levels enum:
+
+###############################################################################
+
+# No new tokens
+# ARB Extension #141
+ARB_texture_storage_multisample enum:
+
+###############################################################################
+
+# Extension #142 - GLX_ARB_robustness_application_isolation
+# Extension #143 - WGL_ARB_robustness_application_isolation
+
+###############################################################################
+
 
 ###############################################################################
 #
-# non-ARB extensions follow, in registry order
+# Non-ARB extensions follow, in registry order
 #
 ###############################################################################
 
 EXT_framebuffer_multisample_blit_scaled enum:
 	SCALED_RESOLVE_FASTEST_EXT			= 0x90BA
 	SCALED_RESOLVE_NICEST_EXT			= 0x90BB
+
+###############################################################################
+
+# Extension #410
+NV_path_rendering enum:
+	PATH_FORMAT_SVG_NV				= 0x9070
+	PATH_FORMAT_PS_NV				= 0x9071
+	STANDARD_FONT_NAME_NV				= 0x9072
+	SYSTEM_FONT_NAME_NV				= 0x9073
+	FILE_NAME_NV					= 0x9074
+	PATH_STROKE_WIDTH_NV				= 0x9075
+	PATH_END_CAPS_NV				= 0x9076
+	PATH_INITIAL_END_CAP_NV				= 0x9077
+	PATH_TERMINAL_END_CAP_NV			= 0x9078
+	PATH_JOIN_STYLE_NV				= 0x9079
+	PATH_MITER_LIMIT_NV				= 0x907A
+	PATH_DASH_CAPS_NV				= 0x907B
+	PATH_INITIAL_DASH_CAP_NV			= 0x907C
+	PATH_TERMINAL_DASH_CAP_NV			= 0x907D
+	PATH_DASH_OFFSET_NV				= 0x907E
+	PATH_CLIENT_LENGTH_NV				= 0x907F
+	PATH_FILL_MODE_NV				= 0x9080
+	PATH_FILL_MASK_NV				= 0x9081
+	PATH_FILL_COVER_MODE_NV				= 0x9082
+	PATH_STROKE_COVER_MODE_NV			= 0x9083
+	PATH_STROKE_MASK_NV				= 0x9084
+	PATH_SAMPLE_QUALITY_NV				= 0x9085
+	PATH_STROKE_BOUND_NV				= 0x9086
+	PATH_STROKE_OVERSAMPLE_COUNT_NV			= 0x9087
+	COUNT_UP_NV					= 0x9088
+	COUNT_DOWN_NV					= 0x9089
+	PATH_OBJECT_BOUNDING_BOX_NV			= 0x908A
+	CONVEX_HULL_NV					= 0x908B
+	MULTI_HULLS_NV					= 0x908C
+	BOUNDING_BOX_NV					= 0x908D
+	TRANSLATE_X_NV					= 0x908E
+	TRANSLATE_Y_NV					= 0x908F
+	TRANSLATE_2D_NV					= 0x9090
+	TRANSLATE_3D_NV					= 0x9091
+	AFFINE_2D_NV					= 0x9092
+	PROJECTIVE_2D_NV				= 0x9093
+	AFFINE_3D_NV					= 0x9094
+	PROJECTIVE_3D_NV				= 0x9095
+	TRANSPOSE_AFFINE_2D_NV				= 0x9096
+	TRANSPOSE_PROJECTIVE_2D_NV			= 0x9097
+	TRANSPOSE_AFFINE_3D_NV				= 0x9098
+	TRANSPOSE_PROJECTIVE_3D_NV			= 0x9099
+	UTF8_NV						= 0x909A
+	UTF16_NV					= 0x909B
+	BOUNDING_BOX_OF_BOUNDING_BOXES_NV		= 0x909C
+	PATH_COMMAND_COUNT_NV				= 0x909D
+	PATH_COORD_COUNT_NV				= 0x909E
+	PATH_DASH_ARRAY_COUNT_NV			= 0x909F
+	PATH_COMPUTED_LENGTH_NV				= 0x90A0
+	PATH_FILL_BOUNDING_BOX_NV			= 0x90A1
+	PATH_STROKE_BOUNDING_BOX_NV			= 0x90A2
+	SQUARE_NV					= 0x90A3
+	ROUND_NV					= 0x90A4
+	TRIANGULAR_NV					= 0x90A5
+	BEVEL_NV					= 0x90A6
+	MITER_REVERT_NV					= 0x90A7
+	MITER_TRUNCATE_NV				= 0x90A8
+	SKIP_MISSING_GLYPH_NV				= 0x90A9
+	USE_MISSING_GLYPH_NV				= 0x90AA
+	PATH_ERROR_POSITION_NV				= 0x90AB
+	PATH_FOG_GEN_MODE_NV				= 0x90AC
+	ACCUM_ADJACENT_PAIRS_NV				= 0x90AD
+	ADJACENT_PAIRS_NV				= 0x90AE
+	FIRST_TO_REST_NV				= 0x90AF
+	PATH_GEN_MODE_NV				= 0x90B0
+	PATH_GEN_COEFF_NV				= 0x90B1
+	PATH_GEN_COLOR_FORMAT_NV			= 0x90B2
+	PATH_GEN_COMPONENTS_NV				= 0x90B3
+	PATH_STENCIL_FUNC_NV				= 0x90B7
+	PATH_STENCIL_REF_NV				= 0x90B8
+	PATH_STENCIL_VALUE_MASK_NV			= 0x90B9
+	PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV		= 0x90BD
+	PATH_STENCIL_DEPTH_OFFSET_UNITS_NV		= 0x90BE
+	PATH_COVER_DEPTH_FUNC_NV			= 0x90BF
+	PATH_DASH_OFFSET_RESET_NV			= 0x90B4
+	MOVE_TO_RESETS_NV				= 0x90B5
+	MOVE_TO_CONTINUES_NV				= 0x90B6
+	CLOSE_PATH_NV					= 0x00
+	MOVE_TO_NV					= 0x02
+	RELATIVE_MOVE_TO_NV				= 0x03
+	LINE_TO_NV					= 0x04
+	RELATIVE_LINE_TO_NV				= 0x05
+	HORIZONTAL_LINE_TO_NV				= 0x06
+	RELATIVE_HORIZONTAL_LINE_TO_NV			= 0x07
+	VERTICAL_LINE_TO_NV				= 0x08
+	RELATIVE_VERTICAL_LINE_TO_NV			= 0x09
+	QUADRATIC_CURVE_TO_NV				= 0x0A
+	RELATIVE_QUADRATIC_CURVE_TO_NV			= 0x0B
+	CUBIC_CURVE_TO_NV				= 0x0C
+	RELATIVE_CUBIC_CURVE_TO_NV			= 0x0D
+	SMOOTH_QUADRATIC_CURVE_TO_NV			= 0x0E
+	RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV		= 0x0F
+	SMOOTH_CUBIC_CURVE_TO_NV			= 0x10
+	RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV		= 0x11
+	SMALL_CCW_ARC_TO_NV				= 0x12
+	RELATIVE_SMALL_CCW_ARC_TO_NV			= 0x13
+	SMALL_CW_ARC_TO_NV				= 0x14
+	RELATIVE_SMALL_CW_ARC_TO_NV			= 0x15
+	LARGE_CCW_ARC_TO_NV				= 0x16
+	RELATIVE_LARGE_CCW_ARC_TO_NV			= 0x17
+	LARGE_CW_ARC_TO_NV				= 0x18
+	RELATIVE_LARGE_CW_ARC_TO_NV			= 0x19
+	RESTART_PATH_NV					= 0xF0
+	DUP_FIRST_CUBIC_CURVE_TO_NV			= 0xF2
+	DUP_LAST_CUBIC_CURVE_TO_NV			= 0xF4
+	RECT_NV						= 0xF6
+	CIRCULAR_CCW_ARC_TO_NV				= 0xF8
+	CIRCULAR_CW_ARC_TO_NV				= 0xFA
+	CIRCULAR_TANGENT_ARC_TO_NV			= 0xFC
+	ARC_TO_NV					= 0xFE
+	RELATIVE_ARC_TO_NV				= 0xFF
+	BOLD_BIT_NV					= 0x01
+	ITALIC_BIT_NV					= 0x02
+	GLYPH_WIDTH_BIT_NV				= 0x01
+	GLYPH_HEIGHT_BIT_NV				= 0x02
+	GLYPH_HORIZONTAL_BEARING_X_BIT_NV		= 0x04
+	GLYPH_HORIZONTAL_BEARING_Y_BIT_NV		= 0x08
+	GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV		= 0x10
+	GLYPH_VERTICAL_BEARING_X_BIT_NV			= 0x20
+	GLYPH_VERTICAL_BEARING_Y_BIT_NV			= 0x40
+	GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV		= 0x80
+	GLYPH_HAS_KERNING_NV				= 0x100
+	FONT_X_MIN_BOUNDS_NV				= 0x00010000
+	FONT_Y_MIN_BOUNDS_NV				= 0x00020000
+	FONT_X_MAX_BOUNDS_NV				= 0x00040000
+	FONT_Y_MAX_BOUNDS_NV				= 0x00080000
+	FONT_UNITS_PER_EM_NV				= 0x00100000
+	FONT_ASCENDER_NV				= 0x00200000
+	FONT_DESCENDER_NV				= 0x00400000
+	FONT_HEIGHT_NV					= 0x00800000
+	FONT_MAX_ADVANCE_WIDTH_NV			= 0x01000000
+	FONT_MAX_ADVANCE_HEIGHT_NV			= 0x02000000
+	FONT_UNDERLINE_POSITION_NV			= 0x04000000
+	FONT_UNDERLINE_THICKNESS_NV			= 0x08000000
+	FONT_HAS_KERNING_NV				= 0x10000000
+
+###############################################################################
+
+# Extension #411
+AMD_pinned_memory enum:
+	EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD		= 0x9160
+
+###############################################################################
+
+# Extension #412 - WGL_NV_DX_interop2
+
+###############################################################################
+
+# Extension #413
+AMD_stencil_operation_extended enum:
+	SET_AMD						= 0x874A
+	REPLACE_VALUE_AMD				= 0x874B
+	STENCIL_OP_VALUE_AMD				= 0x874C
+	STENCIL_BACK_OP_VALUE_AMD			= 0x874D
+
+###############################################################################
+
+# Extension #414 - GLX_EXT_swap_control_tear
+# Extension #415 - WGL_EXT_swap_control_tear
+
+###############################################################################
+
+# No new tokens
+# Extension #416
+AMD_vertex_shader_viewport_index enum:
+
+###############################################################################
+
+# No new tokens
+# Extension #417
+AMD_vertex_shader_layer enum:
+
+###############################################################################
+
+# No new tokens
+# Extension #418
+NV_bindless_texture enum:
+
+###############################################################################
+
+# No new tokens
+# Extension #419
+NV_shader_atomic_float enum:
+
+###############################################################################
+
+# Extension #420
+AMD_query_buffer_object enum:
+	QUERY_BUFFER_AMD				= 0x9192
+	QUERY_BUFFER_BINDING_AMD			= 0x9193
+	QUERY_RESULT_NO_WAIT_AMD			= 0x9194

generator/specs/gl.spec

 # DON'T REMOVE PREVIOUS LINE!!! libspec depends on it!
 #
 # Copyright (c) 1991-2005 Silicon Graphics, Inc. All Rights Reserved.
-# Copyright (c) 2006-2010 The Khronos Group Inc.
+# Copyright (c) 2006-2012 The Khronos Group Inc.
 #
 # This document is licensed under the SGI Free Software B License Version
 # 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
 #
-# $Revision: 15267 $ on $Date: 2011-08-08 00:37:03 -0700 (Mon, 08 Aug 2011) $
+# $Revision: 18887 $ on $Date: 2012-08-13 16:25:45 -0700 (Mon, 13 Aug 2012) $
 
 required-props:
 # Description of a parameter
 param:		retval retained
 # Display list flags
-dlflags:	notlistable handcode
+dlflags:	notlistable handcode prepad
 # GLX implementation flags
 glxflags:	client-intercept client-handcode server-handcode EXT SGI ignore ARB
 # Vector ('v') equivalent form of a command taking 1-4 explicit xyzw/rgba arguments
 vectorequiv:	*
-# Category this function falls in. While there are many categories for
+# Category a function falls in. While there are many categories for
 # early GL 1.0 functions, later functions just have a core version
 # (e.g. VERSION_major_minor) or extension name for the category.
-category:	display-list drawing drawing-control feedback framebuf misc modeling pixel-op pixel-rw state-req xform VERSION_1_0 VERSION_1_0_DEPRECATED VERSION_1_1 VERSION_1_1_DEPRECATED VERSION_1_2 VERSION_1_2_DEPRECATED VERSION_1_3 VERSION_1_3_DEPRECATED VERSION_1_4 VERSION_1_4_DEPRECATED VERSION_1_5 VERSION_2_0 VERSION_2_1 VERSION_3_0 VERSION_3_0_DEPRECATED VERSION_3_1 VERSION_3_2 VERSION_3_3 VERSION_4_0 VERSION_4_1 VERSION_4_1_DEPRECATED ATI_element_array ATI_envmap_bumpmap ATI_fragment_shader ATI_pn_triangles ATI_vertex_array_object ATI_vertex_streams EXT_blend_color EXT_blend_minmax EXT_convolution EXT_copy_texture EXT_histogram EXT_polygon_offset EXT_subtexture EXT_texture3D EXT_texture_object EXT_vertex_array EXT_vertex_shader SGIS_detail_texture SGIS_multisample SGIS_pixel_texture ARB_point_parameters EXT_point_parameters SGIS_point_parameters SGIS_sharpen_texture SGIS_texture4D SGIS_texture_filter4 SGIX_async SGIX_flush_raster SGIX_fragment_lighting SGIX_framezoom SGIX_igloo_interface SGIX_instruments SGIX_list_priority SGIX_pixel_texture SGIX_polynomial_ffd SGIX_reference_plane SGIX_sprite SGIX_tag_sample_buffer SGI_color_table ARB_multitexture ARB_multisample ARB_texture_compression ARB_transpose_matrix ARB_vertex_blend ARB_matrix_palette EXT_compiled_vertex_array EXT_cull_vertex EXT_index_func EXT_index_material EXT_draw_range_elements EXT_vertex_weighting INGR_blend_func_separate NV_evaluators NV_fence NV_occlusion_query NV_point_sprite NV_register_combiners NV_register_combiners2 NV_vertex_array_range NV_vertex_program NV_vertex_program1_1_dcc MESA_resize_buffers MESA_window_pos PGI_misc_hints EXT_fog_coord EXT_blend_func_separate EXT_color_subtable EXT_coordinate_frame EXT_light_texture EXT_multi_draw_arrays EXT_paletted_texture EXT_pixel_transform EXT_secondary_color EXT_texture_perturb_normal HP_image_transform IBM_multimode_draw_arrays IBM_vertex_array_lists INTEL_parallel_arrays SUNX_constant_data SUN_global_alpha SUN_mesh_array SUN_triangle_list SUN_vertex 3DFX_tbuffer EXT_multisample SGIS_fog_function SGIS_texture_color_mask ARB_window_pos EXT_stencil_two_side EXT_depth_bounds_test EXT_blend_equation_separate ARB_vertex_program ARB_fragment_program ARB_vertex_buffer_object ARB_occlusion_query ARB_shader_objects ARB_vertex_shader ARB_fragment_shader S3_s3tc ATI_draw_buffers ATI_texture_env_combine3 ATI_texture_float NV_float_buffer NV_fragment_program NV_half_float NV_pixel_data_range NV_primitive_restart NV_texture_expand_normal NV_texture_expand_normal NV_vertex_program2 APPLE_element_array APPLE_fence APPLE_vertex_array_object APPLE_vertex_array_range ATI_draw_buffers NV_fragment_program NV_half_float NV_pixel_data_range NV_primitive_restart ATI_map_object_buffer ATI_separate_stencil ATI_vertex_attrib_array_object ARB_draw_buffers ARB_texture_rectangle ARB_color_buffer_float EXT_framebuffer_object GREMEDY_string_marker EXT_stencil_clear_tag EXT_framebuffer_blit EXT_framebuffer_multisample MESAX_texture_stack EXT_timer_query EXT_gpu_program_parameters APPLE_flush_buffer_range NV_gpu_program4 NV_geometry_program4 EXT_geometry_shader4 NV_vertex_program4 EXT_gpu_shader4 EXT_draw_instanced EXT_texture_buffer_object NV_depth_buffer_float NV_framebuffer_multisample_coverage NV_parameter_buffer_object EXT_draw_buffers2 NV_transform_feedback EXT_bindable_uniform EXT_texture_integer GREMEDY_frame_terminator NV_conditional_render NV_present_video EXT_transform_feedback ARB_depth_buffer_float ARB_draw_instanced ARB_framebuffer_object ARB_framebuffer_sRGB ARB_geometry_shader4 ARB_half_float_vertex ARB_instanced_arrays ARB_map_buffer_range ARB_texture_buffer_object ARB_texture_compression_rgtc ARB_texture_rg ARB_vertex_array_object EXT_direct_state_access EXT_vertex_array_bgra EXT_texture_swizzle NV_explicit_multisample NV_transform_feedback2 ATI_meminfo AMD_performance_monitor AMD_vertex_shader_tesselator EXT_provoking_vertex ARB_uniform_buffer_object ARB_copy_buffer EXT_texture_snorm AMD_draw_buffers_blend APPLE_texture_range APPLE_float_pixels APPLE_vertex_program_evaluators APPLE_aux_depth_stencil APPLE_object_purgeable APPLE_row_bytes ARB_draw_elements_base_vertex ARB_provoking_vertex ARB_sync ARB_texture_multisample ARB_draw_buffers_blend ARB_sample_shading NV_video_capture NV_copy_image EXT_separate_shader_objects NV_parameter_buffer_object2 NV_shader_buffer_load NV_vertex_buffer_unified_memory NV_texture_barrier ARB_shading_language_include ARB_blend_func_extended ARB_sampler_objects ARB_timer_query ARB_vertex_type_2_10_10_10_rev ARB_draw_indirect ARB_gpu_shader_fp64 ARB_shader_subroutine ARB_tessellation_shader ARB_transform_feedback2 ARB_transform_feedback3 AMD_conservative_depth NV_vdpau_interop ARB_ES2_compatibility ARB_get_program_binary ARB_separate_shader_objects ARB_vertex_attrib_64bit ARB_viewport_array ARB_cl_event ARB_debug_output ARB_robustness EXT_shader_image_load_store EXT_vertex_attrib_64bit NV_gpu_shader5 NV_vertex_attrib_integer_64bit AMD_name_gen_delete AMD_debug_output NV_vdpau_interop NV_gpu_program5 NV_texture_multisample AMD_sample_positions EXT_x11_sync_object AMD_multi_draw_indirect ARB_base_instance ARB_transform_feedback_instanced ARB_internalformat_query ARB_shader_atomic_counters ARB_shader_image_load_store ARB_texture_storage commands
+category: display-list drawing drawing-control feedback framebuf misc modeling pixel-op pixel-rw state-req xform
+category: VERSION_1_0 VERSION_1_0_DEPRECATED VERSION_1_1 VERSION_1_1_DEPRECATED VERSION_1_2 VERSION_1_2_DEPRECATED VERSION_1_3 VERSION_1_3_DEPRECATED VERSION_1_4 VERSION_1_4_DEPRECATED VERSION_1_5 VERSION_2_0 VERSION_2_1 VERSION_3_0 VERSION_3_0_DEPRECATED VERSION_3_1 VERSION_3_2 VERSION_3_3 VERSION_4_0 VERSION_4_1 VERSION_4_1_DEPRECATED VERSION_4_2 VERSION_4_3
+category: 3DFX_tbuffer
+category: AMD_conservative_depth AMD_debug_output AMD_draw_buffers_blend AMD_multi_draw_indirect AMD_name_gen_delete AMD_performance_monitor AMD_sample_positions AMD_stencil_operation_extended AMD_vertex_shader_tesselator
+category: APPLE_aux_depth_stencil APPLE_element_array APPLE_fence APPLE_float_pixels APPLE_flush_buffer_range APPLE_object_purgeable APPLE_row_bytes APPLE_texture_range APPLE_vertex_array_object APPLE_vertex_array_range APPLE_vertex_program_evaluators
+category: ARB_ES2_compatibility ARB_base_instance ARB_blend_func_extended ARB_cl_event ARB_color_buffer_float ARB_copy_buffer ARB_debug_output ARB_depth_buffer_float ARB_draw_buffers ARB_draw_buffers_blend ARB_draw_elements_base_vertex ARB_draw_indirect ARB_draw_instanced ARB_fragment_program ARB_fragment_shader ARB_framebuffer_object ARB_framebuffer_sRGB ARB_geometry_shader4 ARB_get_program_binary ARB_gpu_shader_fp64 ARB_half_float_vertex ARB_instanced_arrays ARB_internalformat_query ARB_map_buffer_range ARB_matrix_palette ARB_multisample ARB_multitexture ARB_occlusion_query ARB_point_parameters ARB_provoking_vertex ARB_robustness ARB_sample_shading ARB_sampler_objects ARB_separate_shader_objects ARB_shader_atomic_counters ARB_shader_image_load_store ARB_shader_objects ARB_shader_subroutine ARB_shading_language_include ARB_sync ARB_tessellation_shader ARB_texture_buffer_object ARB_texture_compression ARB_texture_compression_rgtc ARB_texture_multisample ARB_texture_rectangle ARB_texture_rg ARB_texture_storage ARB_timer_query ARB_transform_feedback2 ARB_transform_feedback3 ARB_transform_feedback_instanced ARB_transpose_matrix ARB_uniform_buffer_object ARB_vertex_array_object ARB_vertex_attrib_64bit ARB_vertex_blend ARB_vertex_buffer_object ARB_vertex_program ARB_vertex_shader ARB_vertex_type_2_10_10_10_rev ARB_viewport_array ARB_window_pos
+category: ARB_clear_buffer_object ARB_compute_shader ARB_copy_image ARB_framebuffer_no_attachments ARB_internalformat_query2 ARB_invalidate_subdata ARB_multi_draw_indirect ARB_program_interface_query ARB_shader_storage_buffer_object ARB_texture_buffer_range ARB_texture_storage_multisample ARB_texture_view ARB_vertex_attrib_binding
+category: ATI_draw_buffers ATI_draw_buffers ATI_element_array ATI_envmap_bumpmap ATI_fragment_shader ATI_map_object_buffer ATI_meminfo ATI_pn_triangles ATI_separate_stencil ATI_texture_env_combine3 ATI_texture_float ATI_vertex_array_object ATI_vertex_attrib_array_object ATI_vertex_streams
+category: EXT_bindable_uniform EXT_blend_color EXT_blend_equation_separate EXT_blend_func_separate EXT_blend_minmax EXT_color_subtable EXT_compiled_vertex_array EXT_convolution EXT_coordinate_frame EXT_copy_texture EXT_cull_vertex EXT_depth_bounds_test EXT_direct_state_access EXT_draw_buffers2 EXT_draw_instanced EXT_draw_range_elements EXT_fog_coord EXT_framebuffer_blit EXT_framebuffer_multisample EXT_framebuffer_object EXT_geometry_shader4 EXT_gpu_program_parameters EXT_gpu_shader4 EXT_histogram EXT_index_func EXT_index_material EXT_light_texture EXT_multi_draw_arrays EXT_multisample EXT_paletted_texture EXT_pixel_transform EXT_point_parameters EXT_polygon_offset EXT_provoking_vertex EXT_secondary_color EXT_separate_shader_objects EXT_shader_image_load_store EXT_stencil_clear_tag EXT_stencil_two_side EXT_subtexture EXT_texture3D EXT_texture_buffer_object EXT_texture_integer EXT_texture_object EXT_texture_perturb_normal EXT_texture_snorm EXT_texture_swizzle EXT_timer_query EXT_transform_feedback EXT_vertex_array EXT_vertex_array_bgra EXT_vertex_attrib_64bit EXT_vertex_shader EXT_vertex_weighting EXT_x11_sync_object
+category: GREMEDY_frame_terminator GREMEDY_string_marker
+category: HP_image_transform
+category: IBM_multimode_draw_arrays IBM_vertex_array_lists
+category: INGR_blend_func_separate
+category: INTEL_parallel_arrays
+category: KHR_debug
+category: MESAX_texture_stack MESA_resize_buffers MESA_window_pos
+category: NV_bindless_texture NV_conditional_render NV_copy_image NV_depth_buffer_float NV_evaluators NV_explicit_multisample NV_fence NV_float_buffer NV_fragment_program NV_fragment_program NV_framebuffer_multisample_coverage NV_geometry_program4 NV_gpu_program4 NV_gpu_program5 NV_gpu_shader5 NV_half_float NV_half_float NV_occlusion_query NV_parameter_buffer_object NV_parameter_buffer_object2 NV_path_rendering NV_pixel_data_range NV_pixel_data_range NV_point_sprite NV_present_video NV_primitive_restart NV_primitive_restart NV_register_combiners NV_register_combiners2 NV_shader_buffer_load NV_texture_barrier NV_texture_expand_normal NV_texture_expand_normal NV_texture_multisample NV_transform_feedback NV_transform_feedback2 NV_vdpau_interop NV_vdpau_interop NV_vertex_array_range NV_vertex_attrib_integer_64bit NV_vertex_buffer_unified_memory NV_vertex_program NV_vertex_program1_1_dcc NV_vertex_program2 NV_vertex_program4 NV_video_capture
+category: PGI_misc_hints
+category: S3_s3tc
+category: SGIS_detail_texture SGIS_fog_function SGIS_multisample SGIS_pixel_texture SGIS_point_parameters SGIS_sharpen_texture SGIS_texture4D SGIS_texture_color_mask SGIS_texture_filter4 SGIX_async SGIX_flush_raster SGIX_fragment_lighting SGIX_framezoom SGIX_igloo_interface SGIX_instruments SGIX_list_priority SGIX_pixel_texture SGIX_polynomial_ffd SGIX_reference_plane SGIX_sprite SGIX_tag_sample_buffer SGI_color_table
+category: SUNX_constant_data SUN_global_alpha SUN_mesh_array SUN_triangle_list SUN_vertex
 
 # Categories for extensions with no functions - need not be included now
-# ARB_texture_env_add ARB_texture_cube_map ARB_texture_border_clamp
-# ARB_shading_language_100 ARB_texture_non_power_of_two ARB_point_sprite
-# ARB_half_float_pixel ARB_texture_float ARB_pixel_buffer_object EXT_abgr
-# EXT_texture SGI_color_matrix SGI_texture_color_table EXT_cmyka
-# EXT_packed_pixels SGIS_texture_lod EXT_rescale_normal EXT_misc_attribute
-# SGIS_generate_mipmap SGIX_clipmap SGIX_shadow SGIS_texture_edge_clamp
-# SGIS_texture_border_clamp EXT_blend_subtract EXT_blend_logic_op
-# SGIX_async_histogram SGIX_async_pixel SGIX_interlace SGIX_pixel_tiles
-# SGIX_texture_select SGIX_texture_multi_buffer SGIX_texture_scale_bias
-# SGIX_depth_texture SGIX_fog_offset HP_convolution_border_modes
-# SGIX_texture_add_env PGI_vertex_hints EXT_clip_volume_hint
-# SGIX_ir_instrument1 SGIX_calligraphic_fragment SGIX_texture_lod_bias
-# SGIX_shadow_ambient EXT_index_texture EXT_index_array_formats SGIX_ycrcb
-# IBM_rasterpos_clip HP_texture_lighting WIN_phong_shading
-# WIN_specular_fog SGIX_blend_alpha_minmax EXT_bgra HP_occlusion_test
-# EXT_pixel_transform_color_table EXT_shared_texture_palette
-# EXT_separate_specular_color EXT_texture_env REND_screen_coordinates
-# EXT_texture_env_combine APPLE_specular_vector APPLE_transform_hint
-# SGIX_fog_scale INGR_color_clamp INGR_interlace_read EXT_stencil_wrap
-# EXT_422_pixels NV_texgen_reflection SUN_convolution_border_modes
-# SUN_slice_accum EXT_texture_env_add EXT_texture_lod_bias
-# EXT_texture_filter_anisotropic NV_light_max_exponent NV_fog_distance
-# NV_texgen_emboss NV_blend_square NV_texture_env_combine4
-# NV_packed_depth_stencil NV_texture_compression_vtc NV_texture_rectangle
-# NV_texture_shader NV_texture_shader2 NV_vertex_array_range2
-# IBM_cull_vertex SGIX_subsample SGIX_ycrcba SGIX_ycrcb_subsample
-# SGIX_depth_pass_instrument 3DFX_texture_compression_FXT1
-# 3DFX_multisample SGIX_vertex_preclip SGIX_convolution_accuracy
-# SGIX_resample SGIX_scalebias_hint SGIX_texture_coordinate_clamp
-# EXT_shadow_funcs MESA_pack_invert MESA_ycbcr_texture EXT_packed_float
-# EXT_texture_array EXT_texture_compression_latc
-# EXT_texture_compression_rgtc EXT_texture_shared_exponent
-# NV_fragment_program4 EXT_framebuffer_sRGB NV_geometry_shader4
-# EXT_vertex_array_bgra ARB_depth_clamp ARB_fragment_coord_conventions
-# ARB_seamless_cube_map ARB_vertex_array_bgra ARB_texture_cube_map_array
-# ARB_texture_gather ARB_texture_query_lod AMD_shader_stencil_export
-# AMD_seamless_cubemap_per_texture AMD_blend_minmax_factor
-# ARB_shading_language_420pack ARB_compressed_texture_pixel_storage
-# ARB_conservative_depth ARB_map_buffer_alignment
-# ARB_shading_language_packing
+#
+# 3DFX_multisample 3DFX_texture_compression_FXT1
+# AMD_blend_minmax_factor AMD_pinned_memory AMD_seamless_cubemap_per_texture AMD_shader_stencil_export AMD_vertex_shader_layer AMD_vertex_shader_viewport_index
+# APPLE_specular_vector APPLE_transform_hint
+# ARB_ES3_compatibility ARB_arrays_of_arrays ARB_compressed_texture_pixel_storage ARB_conservative_depth ARB_debug_output2 ARB_depth_clamp ARB_explicit_uniform_location ARB_fragment_coord_conventions ARB_fragment_layer_viewport ARB_half_float_pixel ARB_map_buffer_alignment ARB_pixel_buffer_object ARB_point_sprite ARB_robust_buffer_access_behavior ARB_robustness_isolation ARB_seamless_cube_map ARB_shader_image_size ARB_shading_language_100 ARB_shading_language_420pack ARB_shading_language_packing ARB_stencil_texturing ARB_texture_border_clamp ARB_texture_cube_map ARB_texture_cube_map_array ARB_texture_env_add ARB_texture_float ARB_texture_gather ARB_texture_non_power_of_two ARB_texture_query_levels ARB_texture_query_lod ARB_vertex_array_bgra
+# EXT_422_pixels EXT_abgr EXT_bgra EXT_blend_logic_op EXT_blend_subtract EXT_clip_volume_hint EXT_cmyka EXT_framebuffer_sRGB EXT_index_array_formats EXT_index_texture EXT_misc_attribute EXT_packed_float EXT_packed_pixels EXT_pixel_transform_color_table EXT_rescale_normal EXT_separate_specular_color EXT_shadow_funcs EXT_shared_texture_palette EXT_stencil_wrap EXT_texture EXT_texture_array EXT_texture_compression_latc EXT_texture_compression_rgtc EXT_texture_env EXT_texture_env_add EXT_texture_env_combine EXT_texture_filter_anisotropic EXT_texture_lod_bias EXT_texture_shared_exponent EXT_vertex_array_bgra
+# HP_convolution_border_modes HP_occlusion_test HP_texture_lighting
+# IBM_cull_vertex IBM_rasterpos_clip
+# INGR_color_clamp INGR_interlace_read
+# KHR_texture_compression_astc_ldr
+# MESA_pack_invert MESA_ycbcr_texture
+# NV_blend_square NV_fog_distance NV_fragment_program4 NV_geometry_shader4 NV_light_max_exponent NV_packed_depth_stencil NV_shader_atomic_float NV_texgen_emboss NV_texgen_reflection NV_texture_compression_vtc NV_texture_env_combine4 NV_texture_rectangle NV_texture_shader NV_texture_shader2 NV_vertex_array_range2
+# PGI_vertex_hints
+# REND_screen_coordinates
+# SGIS_generate_mipmap SGIS_texture_border_clamp SGIS_texture_edge_clamp SGIS_texture_lod SGIX_async_histogram SGIX_async_pixel SGIX_blend_alpha_minmax SGIX_calligraphic_fragment SGIX_clipmap SGIX_convolution_accuracy SGIX_depth_pass_instrument SGIX_depth_texture SGIX_fog_offset SGIX_fog_scale SGIX_interlace SGIX_ir_instrument1 SGIX_pixel_tiles SGIX_resample SGIX_scalebias_hint SGIX_shadow SGIX_shadow_ambient SGIX_subsample SGIX_texture_add_env SGIX_texture_coordinate_clamp SGIX_texture_lod_bias SGIX_texture_multi_buffer SGIX_texture_scale_bias SGIX_texture_select SGIX_vertex_preclip SGIX_ycrcb SGIX_ycrcb_subsample SGIX_ycrcba SGI_color_matrix SGI_texture_color_table
+# SUN_convolution_border_modes SUN_slice_accum
+# WIN_phong_shading WIN_specular_fog
 
 # Core version in which a function was introduced, or against
 # which an extension can be implemented
-version:	1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.1 3.0 3.1 3.2 3.3 4.0 4.1 4.2
+version:	1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.1 3.0 3.1 3.2 3.3 4.0 4.1 4.2 4.3
 # Core version in which a function was removed
 deprecated:	3.1
 # GLX Single, Rendering, or Vendor Private opcode
 passthru: typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
 passthru: #endif
 passthru:
+passthru: #ifndef GL_KHR_debug
+passthru: typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
+passthru: #endif
+passthru:
 passthru: #ifndef GL_NV_vdpau_interop
 passthru: typedef GLintptr GLvdpauSurfaceNV;
 passthru: #endif
 
 ClearColor(red, green, blue, alpha)
 	return		void
-	param		red		ClampedColorF in value
-	param		green		ClampedColorF in value
-	param		blue		ClampedColorF in value
-	param		alpha		ClampedColorF in value
+	param		red		ColorF in value
+	param		green		ColorF in value
+	param		blue		ColorF in value
+	param		alpha		ColorF in value
 	category	VERSION_1_0		   # old: framebuf
 	version		1.0
 	glxropcode	130
 
 ClearDepth(depth)
 	return		void
-	param		depth		ClampedFloat64 in value
+	param		depth		Float64 in value
 	category	VERSION_1_0		   # old: framebuf
 	version		1.0
 	glxropcode	132
 StencilFunc(func, ref, mask)
 	return		void
 	param		func		StencilFunction in value
-	param		ref		ClampedStencilValue in value
+	param		ref		StencilValue in value
 	param		mask		MaskedStencilValue in value
 	category	VERSION_1_0		   # old: pixel-op
 	version		1.0
 
 DepthRange(near, far)
 	return		void
-	param		near		ClampedFloat64 in value
-	param		far		ClampedFloat64 in value
+	param		near		Float64 in value
+	param		far		Float64 in value
 	category	VERSION_1_0		   # old: xform
 	version		1.0
 	glxropcode	174
 
 EdgeFlagv(flag)
 	return		void
-	param		flag		Boolean in array [1]
+	param		flag		Boolean in reference
 	category	VERSION_1_0_DEPRECATED	   # old: drawing
 	version		1.0
 	deprecated	3.1
 AlphaFunc(func, ref)
 	return		void
 	param		func		AlphaFunction in value
-	param		ref		ClampedFloat32 in value
+	param		ref		Float32 in value
 	category	VERSION_1_0_DEPRECATED	   # old: pixel-op
 	version		1.0
 	deprecated	3.1
 GetPointerv(pname, params)
 	return		void
 	param		pname		GetPointervPName in value
-	param		params		VoidPointer out array [1]
+	param		params		VoidPointer out reference
 	category	VERSION_1_1
 	dlflags		notlistable
 	glxflags	client-handcode client-intercept server-handcode
 	return		void
 	param		n		SizeI in value
 	param		textures	Texture in array [n]
-	param		priorities	ClampedFloat32 in array [n]
+	param		priorities	Float32 in array [n]
 	category	VERSION_1_1_DEPRECATED
 	version		1.1
 	deprecated	3.1
 
 BlendColor(red, green, blue, alpha)
 	return		void
-	param		red		ClampedColorF in value
-	param		green		ClampedColorF in value
-	param		blue		ClampedColorF in value
-	param		alpha		ClampedColorF in value
+	param		red		ColorF in value
+	param		green		ColorF in value
+	param		blue		ColorF in value
+	param		alpha		ColorF in value
 	category	VERSION_1_2
 	glxflags	EXT
 	version		1.2
 
 SampleCoverage(value, invert)
 	return		void
-	param		value		ClampedFloat32 in value
+	param		value		Float32 in value
 	param		invert		Boolean in value
 	category	VERSION_1_3
 	glxflags	ARB
 # OpenGL 1.4 (EXT_multi_draw_arrays) commands
 
 # first and count are really 'in'
-MultiDrawArrays(mode, first, count, primcount)
+MultiDrawArrays(mode, first, count, drawcount)
 	return		void
 	param		mode		BeginMode in value
 	param		first		Int32 in array [COMPSIZE(count)]
-	param		count		SizeI in array [COMPSIZE(primcount)]
-	param		primcount	SizeI in value
+	param		count		SizeI in array [COMPSIZE(drawcount)]
+	param		drawcount	SizeI in value
 	category	VERSION_1_4
 	version		1.4
 	glxropcode	?
 	offset		644
 
-MultiDrawElements(mode, count, type, indices, primcount)
+MultiDrawElements(mode, count, type, indices, drawcount)
 	return		void
 	param		mode		BeginMode in value
-	param		count		SizeI in array [COMPSIZE(primcount)]
+	param		count		SizeI in array [COMPSIZE(drawcount)]
 	param		type		DrawElementsType in value
-	param		indices		VoidPointer in array [COMPSIZE(primcount)]
-	param		primcount	SizeI in value
+	param		indices		ConstVoidPointer in array [COMPSIZE(drawcount)]
+	param		drawcount	SizeI in value
 	category	VERSION_1_4
 	version		1.4
 	glxropcode	?
 	return		void
 	param		face		StencilFaceDirection in value
 	param		func		StencilFunction in value
-	param		ref		ClampedStencilValue in value
+	param		ref		StencilValue in value
 	param		mask		MaskedStencilValue in value
 	category	VERSION_2_0
 	version		2.0
 	category	VERSION_2_0
 	version		2.0
 	extension
-	glxropcode	?
-	glxflags	ignore
+	glxsingle	202
 	offset		?
 
 DeleteShader(shader)
 	category	VERSION_2_0
 	version		2.0
 	extension
-	glxropcode	?
-	glxflags	ignore
+	glxsingle	195
 	offset		?
 
 DetachShader(program, shader)
 	dlflags		notlistable
 	version		2.0
 	extension
-	glxsingle	?
-	glxflags	ignore
+	glxsingle	199
 	offset		?
 
 GetProgramInfoLog(program, bufSize, length, infoLog)
 	dlflags		notlistable
 	version		2.0
 	extension
-	glxsingle	?
-	glxflags	ignore
+	glxsingle	201
 	offset		?
 
 GetShaderiv(shader, pname, params)
 	dlflags		notlistable
 	version		2.0
 	extension
-	glxsingle	?
-	glxflags	ignore
+	glxsingle	198
 	offset		?
 
 GetShaderInfoLog(shader, bufSize, length, infoLog)
 	dlflags		notlistable
 	version		2.0
 	extension
-	glxsingle	?
-	glxflags	ignore
+	glxsingle	200
 	offset		?
 
 GetShaderSource(shader, bufSize, length, source)
 	category	VERSION_2_0
 	version		2.0
 	extension	soft WINSOFT NV10
-	glxvendorpriv	1304
+	glxsingle	197
 	offset		592
 
 IsShader(shader)
 	category	VERSION_2_0
 	version		2.0
 	extension	soft WINSOFT NV10
-	glxvendorpriv	?
+	glxsingle	196
 	offset		?
 
 LinkProgram(program)
 	return		void
 	param		shader		UInt32 in value
 	param		count		SizeI in value
-	param		string		CharPointer in array [count]
+	param		string		ConstCharPointer in array [count]
 	param		length		Int32 in array [1]
 	category	VERSION_2_0
 	version		2.0
 	category	VERSION_2_1
 	version		2.1
 	extension
-	glxropcode	?
+	glxropcode	305
 	glxflags	ignore
 	offset		?
 
 	category	VERSION_2_1
 	version		2.1
 	extension
-	glxropcode	?
-	glxflags	ignore
+	glxropcode	306
 	offset		?
 
 UniformMatrix2x4fv(location, count, transpose, value)
 	category	VERSION_2_1
 	version		2.1
 	extension
-	glxropcode	?
-	glxflags	ignore
+	glxropcode	307
 	offset		?
 
 UniformMatrix4x2fv(location, count, transpose, value)
 	category	VERSION_2_1
 	version		2.1
 	extension
-	glxropcode	?
-	glxflags	ignore
+	glxropcode	308
 	offset		?
 
 UniformMatrix3x4fv(location, count, transpose, value)
 	category	VERSION_2_1
 	version		2.1
 	extension
-	glxropcode	?
-	glxflags	ignore
+	glxropcode	309
 	offset		?
 
 UniformMatrix4x3fv(location, count, transpose, value)
 	category	VERSION_2_1
 	version		2.1
 	extension
-	glxropcode	?
-	glxflags	ignore
+	glxropcode	310
 	offset		?
 
 ###############################################################################
 	return		void
 	param		program		UInt32 in value
 	param		count		SizeI in value
-	param		varyings	CharPointer in array [count]
+	param		varyings	ConstCharPointer in array [count]
 	param		bufferMode	GLenum in value
 	category	VERSION_3_0
 	version		3.0
 
 # OpenGL 3.1 (ARB_draw_instanced) commands
 
-DrawArraysInstanced(mode, first, count, primcount)
+DrawArraysInstanced(mode, first, count, instancecount)
 	return		void
 	param		mode		BeginMode in value
 	param		first		Int32 in value
 	param		count		SizeI in value
-	param		primcount	SizeI in value
+	param		instancecount	SizeI in value
 	category	VERSION_3_1
 	version		3.1
 	extension
 	glfflags	ignore
 	glxflags	ignore
 
-DrawElementsInstanced(mode, count, type, indices, primcount)
+DrawElementsInstanced(mode, count, type, indices, instancecount)
 	return		void
 	param		mode		BeginMode in value
 	param		count		SizeI in value
 	param		type		DrawElementsType in value
 	param		indices		Void in array [COMPSIZE(count/type)]
-	param		primcount	SizeI in value
+	param		instancecount	SizeI in value
 	category	VERSION_3_1
 	version		3.1
 	extension
 
 MinSampleShading(value)
 	return		void
-	param		value		ClampedColorF in value
+	param		value		ColorF in value
 	category	VERSION_4_0
 	version		1.2
 	extension
 ###############################################################################
 ###############################################################################
 #
+# OpenGL 4.3 commands
+#
+###############################################################################
+###############################################################################
+
+# New commands in OpenGL 4.3 - none
+newcategory: VERSION_4_3
+
+passthru: /* OpenGL 4.3 reuses entry points from these extensions: */
+passthru: /* ARB_arrays_of_arrays (no entry points, GLSL only) */
+passthru: /* ARB_fragment_layer_viewport (no entry points, GLSL only) */
+passthru: /* ARB_shader_image_size (no entry points, GLSL only) */
+passthru: /* ARB_ES3_compatibility (no entry points) */
+passthru: /* ARB_clear_buffer_object */
+passthru: /* ARB_compute_shader */
+passthru: /* ARB_copy_image */
+passthru: /* KHR_debug (includes ARB_debug_output commands promoted to KHR without suffixes) */
+passthru: /* ARB_explicit_uniform_location (no entry points) */
+passthru: /* ARB_framebuffer_no_attachments */
+passthru: /* ARB_internalformat_query2 */
+passthru: /* ARB_invalidate_subdata */
+passthru: /* ARB_multi_draw_indirect */
+passthru: /* ARB_program_interface_query */
+passthru: /* ARB_robust_buffer_access_behavior (no entry points) */
+passthru: /* ARB_shader_storage_buffer_object */
+passthru: /* ARB_stencil_texturing (no entry points) */
+passthru: /* ARB_texture_buffer_range */
+passthru: /* ARB_texture_query_levels (no entry points) */
+passthru: /* ARB_texture_storage_multisample */
+passthru: /* ARB_texture_view */
+passthru: /* ARB_vertex_attrib_binding */
+
+###############################################################################
+###############################################################################
+#
 # ARB extensions, in order by ARB extension number
 #
 ###############################################################################
 
 SampleCoverageARB(value, invert)
 	return		void
-	param		value		ClampedFloat32 in value
+	param		value		Float32 in value
 	param		invert		Boolean in value
 	category	ARB_multisample
 	glxflags	ARB
 	return		void
 	param		program		UInt32 in value
 	param		uniformCount	SizeI in value
-	param		uniformNames	CharPointer in array [COMPSIZE(uniformCount)]
+	param		uniformNames	ConstCharPointer in array [COMPSIZE(uniformCount)]
 	param		uniformIndices	UInt32 out array [COMPSIZE(uniformCount)]
 	category	ARB_uniform_buffer_object
 	dlflags		notlistable
 	glxflags	ignore
 	offset		?
 
-DrawElementsInstancedBaseVertex(mode, count, type, indices, primcount, basevertex)
+DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex)
 	return		void
 	param		mode		GLenum in value
 	param		count		SizeI in value
 	param		type		DrawElementsType in value
 	param		indices		Void in array [COMPSIZE(count/type)]
-	param		primcount	SizeI in value
+	param		instancecount	SizeI in value
 	param		basevertex	Int32 in value
 	category	ARB_draw_elements_base_vertex
 	version		1.2
 	glxflags	ignore
 	offset		?
 
-MultiDrawElementsBaseVertex(mode, count, type, indices, primcount, basevertex)
+MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex)
 	return		void
 	param		mode		GLenum in value
-	param		count		SizeI in array [COMPSIZE(primcount)]
+	param		count		SizeI in array [COMPSIZE(drawcount)]
 	param		type		DrawElementsType in value
-	param		indices		VoidPointer in array [COMPSIZE(primcount)]
-	param		primcount	SizeI in value
-	param		basevertex	Int32 in array [COMPSIZE(primcount)]
+	param		indices		ConstVoidPointer in array [COMPSIZE(drawcount)]
+	param		drawcount	SizeI in value
+	param		basevertex	Int32 in array [COMPSIZE(drawcount)]
 	category	ARB_draw_elements_base_vertex
 	version		1.2
 	extension
 
 MinSampleShadingARB(value)
 	return		void
-	param		value		ClampedColorF in value
+	param		value		ColorF in value
 	category	ARB_sample_shading
 	version		1.2
 	extension
 
 DepthRangef(n, f)
 	return		void
-	param		n		ClampedFloat32 in value
-	param		f		ClampedFloat32 in value
+	param		n		Float32 in value
+	param		f		Float32 in value
 	category	ARB_ES2_compatibility
 	version		4.1
 	extension
 
 ClearDepthf(d)
 	return		void
-	param		d		ClampedFloat32 in value
+	param		d		Float32 in value
 	category	ARB_ES2_compatibility
 	version		4.1
 	extension
 	return		UInt32
 	param		type		GLenum in value
 	param		count		SizeI in value
-	param		strings		CharPointer in array [count]
+	param		strings		ConstCharPointer in array [count]
 	category	ARB_separate_shader_objects
 	version		4.1
 	extension
 	return		void
 	param		first		UInt32 in value
 	param		count		SizeI in value
-	param		v		ClampedFloat64 in array [COMPSIZE(count)]
+	param		v		Float64 in array [COMPSIZE(count)]
 	category	ARB_viewport_array
 	version		4.1
 	extension
 DepthRangeIndexed(index, n, f)
 	return		void
 	param		index		UInt32 in value
-	param		n		ClampedFloat64 in value
-	param		f		ClampedFloat64 in value
+	param		n		Float64 in value
+	param		f		Float64 in value
 	category	ARB_viewport_array
 	version		4.1
 	extension
 	glxflags	ignore
 	offset		?
 
-#@ GetPointerv is redeclared in this extension
+# GetPointerv is redeclared in this extension
 
 ###############################################################################
 #
 #
 ###############################################################################
 
-DrawArraysInstancedBaseInstance(mode, first, count, primcount, baseinstance)
+DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance)
 	return		void
 	param		mode		GLenum in value
 	param		first		Int32 in value
 	param		count		SizeI in value
-	param		primcount	SizeI in value
+	param		instancecount	SizeI in value
 	param		baseinstance	UInt32 in value
 	category	ARB_base_instance
 	version		4.2
 	glxflags	ignore
 	offset		?
 
-DrawElementsInstancedBaseInstance(mode, count, type, indices, primcount, baseinstance)
+DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance)
 	return		void
 	param		mode		GLenum in value
 	param		count		SizeI in value
 	param		type		GLenum in value
 	param		indices		void in array [count]
-	param		primcount	SizeI in value
+	param		instancecount	SizeI in value
 	param		baseinstance	UInt32 in value
 	category	ARB_base_instance
 	version		4.2
 	glxflags	ignore
 	offset		?
 
-DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, primcount, basevertex, baseinstance)
+DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance)
 	return		void
 	param		mode		GLenum in value
 	param		count		SizeI in value
 	param		type		GLenum in value
 	param		indices		void in array [count]
-	param		primcount	SizeI in value
+	param		instancecount	SizeI in value
 	param		basevertex	Int32 in value
 	param		baseinstance	UInt32 in value
 	category	ARB_base_instance
 #
 ###############################################################################
 
-DrawTransformFeedbackInstanced(mode, id, primcount)
+DrawTransformFeedbackInstanced(mode, id, instancecount)
 	return		void
 	param		mode		GLenum in value
 	param		id		UInt32 in value
-	param		primcount	SizeI in value
+	param		instancecount	SizeI in value
 	category	ARB_transform_feedback_instanced
 	version		4.2
 	extension
 	glxflags	ignore
 	offset		?
 
-DrawTransformFeedbackStreamInstanced(mode, id, stream, primcount)
+DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount)
 	return		void
 	param		mode		GLenum in value
 	param		id		UInt32 in value
 	param		stream		UInt32 in value
-	param		primcount	SizeI in value
+	param		instancecount	SizeI in value
 	category	ARB_transform_feedback_instanced
 	version		4.2
 	extension
 	glxflags	ignore
 	offset		?