local ffi = require("ffi")
local gl = {}

ffi.cdef([[
typedef unsigned int GLenum;
typedef unsigned char GLboolean;
typedef unsigned int GLbitfield;
typedef void GLvoid;
typedef signed char GLbyte;
typedef short GLshort;
typedef int GLint;
typedef int GLclampx;
typedef unsigned char GLubyte;
typedef unsigned short GLushort;
typedef unsigned int GLuint;
typedef int GLsizei;
typedef float GLfloat;
typedef float GLclampf;
typedef double GLdouble;
typedef double GLclampd;
typedef void *GLeglImageOES;
typedef char GLchar;
typedef char GLcharARB;
typedef unsigned short GLhalfARB;
typedef unsigned short GLhalf;
typedef GLint GLfixed;
typedef ptrdiff_t GLintptr;
typedef ptrdiff_t GLsizeiptr;
typedef int64_t GLint64;
typedef uint64_t GLuint64;
typedef ptrdiff_t GLintptrARB;
typedef ptrdiff_t GLsizeiptrARB;
typedef int64_t GLint64EXT;
typedef uint64_t GLuint64EXT;
typedef struct __GLsync *GLsync;
typedef void ( *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
typedef void ( *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
typedef void ( *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
typedef void ( *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);
typedef unsigned short GLhalfNV;
typedef GLintptr GLvdpauSurfaceNV;
typedef enum GL_LUA_ENUMS {
	GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES = 37588,
	GL_INTERPOLATE = 34165,
	GL_TEXTURE_4DSIZE_SGIS = 33078,
	GL_NORMAL_ARRAY_ADDRESS_NV = 36642,
	GL_UNSIGNED_INT_10_10_10_2 = 32822,
	GL_IMAGE_1D_ARRAY_EXT = 36946,
	GL_CLAMP_VERTEX_COLOR = 35098,
	GL_CURRENT_QUERY_EXT = 34917,
	GL_DT_BIAS_NV = 34583,
	GL_PIXEL_MAG_FILTER_EXT = 33585,
	GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = 36901,
	GL_NO_RESET_NOTIFICATION = 33377,
	GL_PIXEL_MAP_I_TO_A_SIZE = 3253,
	GL_RGB8UI = 36221,
	GL_TEXTURE6 = 33990,
	GL_CONSTANT_ALPHA_EXT = 32771,
	GL_STORAGE_CACHED_APPLE = 34238,
	GL_EVAL_VERTEX_ATTRIB11_NV = 34513,
	GL_NUM_INSTRUCTIONS_TOTAL_ATI = 35186,
	GL_TEXTURE_BINDING_3D_OES = 32874,
	GL_PROXY_TEXTURE_1D_ARRAY = 35865,
	GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 36423,
	GL_COLOR_ATTACHMENT8 = 36072,
	GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 35976,
	GL_SHADER_IMAGE_ATOMIC = 33446,
	GL_DRAW_FRAMEBUFFER_APPLE = 36009,
	GL_MAX_TESS_GEN_LEVEL = 36478,
	GL_FRAMEBUFFER_BINDING_OES = 36006,
	GL_TEXTURE_LIGHTING_MODE_HP = 33127,
	GL_CMYK_EXT = 32780,
	GL_UNPACK_ALIGNMENT = 3317,
	GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE = 33778,
	GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 36320,
	GL_PREVIOUS_ARB = 34168,
	GL_GEQUAL = 518,
	GL_COLOR_ARRAY = 32886,
	GL_FOG_COORD_ARRAY_TYPE = 33876,
	GL_ALPHA8 = 32828,
	GL_TEXTURE_BINDING_RENDERBUFFER_NV = 36435,
	GL_LOCATION = 37646,
	GL_LIGHTEN_NV = 37528,
	GL_RENDER_MODE = 3136,
	GL_DST_ATOP_NV = 37519,
	GL_RGB5_A1_EXT = 32855,
	GL_DOT4_ATI = 35175,
	GL_TRIANGLES_ADJACENCY_EXT = 12,
	GL_TRANSFORM_FEEDBACK_BARRIER_BIT = 2048,
	GL_COLOR_ATTACHMENT12_NV = 36076,
	GL_ALPHA_EXTENDED_RANGE_SGIX = 34286,
	GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE = 36182,
	GL_TOP_LEVEL_ARRAY_SIZE = 37644,
	GL_COLOR_TABLE_LUMINANCE_SIZE = 32990,
	GL_POST_CONVOLUTION_BLUE_SCALE = 32798,
	GL_MAX_PROGRAM_TEXEL_OFFSET = 35077,
	GL_GEOMETRY_DEFORMATION_BIT_SGIX = 2,
	GL_MIN_PROGRAM_TEXEL_OFFSET = 35076,
	GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 35881,
	GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 33300,
	GL_TEXTURE_DEPTH_EXT = 32881,
	GL_STENCIL_COMPONENTS = 33413,
	GL_UNPACK_RESAMPLE_SGIX = 33839,
	GL_BLUE = 6405,
	GL_GREEN_BITS = 3411,
	GL_TEXTURE7_ARB = 33991,
	GL_PERFQUERY_WAIT_INTEL = 33787,
	GL_UNIFORM_BUFFER_EXT = 36334,
	GL_CULL_VERTEX_OBJECT_POSITION_EXT = 33196,
	GL_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT = 33375,
	GL_RENDERBUFFER_HEIGHT_OES = 36163,
	GL_COLOR_BUFFER_BIT5_QCOM = 32,
	GL_POLYGON_OFFSET_POINT = 10753,
	GL_FRAMEBUFFER_BINDING_EXT = 36006,
	GL_COLOR_SUM_ARB = 33880,
	GL_SHADER_TYPE = 35663,
	GL_TEXTURE_COMPARE_MODE = 34892,
	GL_RG32I = 33339,
	GL_COLOR_ATTACHMENT0_EXT = 36064,
	GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 33296,
	GL_TRANSPOSE_SGI = 33226,
	GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 36665,
	GL_SECONDARY_COLOR_ARRAY_STRIDE = 33884,
	GL_LUMINANCE4_ALPHA4_OES = 32835,
	GL_DRAW_INDIRECT_BUFFER = 36671,
	GL_SOURCE1_ALPHA_EXT = 34185,
	GL_TEXTURE14 = 33998,
	GL_FONT_NUM_GLYPH_INDICES_BIT_NV = 536870912,
	GL_SIGNED_ALPHA_NV = 34565,
	GL_CLAMP_TO_EDGE_SGIS = 33071,
	GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 36442,
	GL_INTERNALFORMAT_STENCIL_TYPE = 33405,
	GL_OBJECT_ACTIVE_UNIFORMS_ARB = 35718,
	GL_QUERY_RESULT_ARB = 34918,
	GL_LINES_ADJACENCY_OES = 10,
	GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = 33160,
	GL_PATH_GEN_COMPONENTS_NV = 37043,
	GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES = 36200,
	GL_RETURN = 258,
	GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 33794,
	GL_UNSIGNED_SHORT_1_15_REV_MESA = 34644,
	GL_MAX_FRAMEBUFFER_LAYERS = 37655,
	GL_TEXTURE19 = 34003,
	GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 33621,
	GL_SAMPLE_COVERAGE = 32928,
	GL_RIGHT = 1031,
	GL_HI_BIAS_NV = 34580,
	GL_LIST_BIT = 131072,
	GL_DECR = 7683,
	GL_MAX_TRACK_MATRICES_NV = 34351,
	GL_MAX_WIDTH = 33406,
	GL_RED_NV = 6403,
	GL_SCREEN_KHR = 37525,
	GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 37069,
	GL_MAX_LIGHTS = 3377,
	GL_DISPLAY_LIST = 33511,
	GL_VARIABLE_B_NV = 34084,
	GL_UNSIGNED_SHORT_1_5_5_5_REV = 33638,
	GL_RGB8UI_EXT = 36221,
	GL_GLOBAL_ALPHA_SUN = 33241,
	GL_TEXTURE_ALPHA_SIZE = 32863,
	GL_DEPTH_COMPONENT = 6402,
	GL_GEOMETRY_INPUT_TYPE = 35095,
	GL_REPLACE = 7681,
	GL_PALETTE4_R5_G6_B5_OES = 35730,
	GL_ADD_SIGNED_ARB = 34164,
	GL_OPERAND0_ALPHA_EXT = 34200,
	GL_LOW_INT = 36339,
	GL_DEBUG_SOURCE_API = 33350,
	GL_PROXY_TEXTURE_3D = 32880,
	GL_PROGRAM_OUTPUT = 37604,
	GL_CULL_FRAGMENT_NV = 34535,
	GL_OP_CLAMP_EXT = 34702,
	GL_CURRENT_PALETTE_MATRIX_ARB = 34883,
	GL_DEPTH_FUNC = 2932,
	GL_TESS_GEN_POINT_MODE_EXT = 36473,
	GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 36428,
	GL_VERTEX_ID_NV = 35963,
	GL_COMPRESSED_SRGB_S3TC_DXT1_NV = 35916,
	GL_IMAGE_1D = 36940,
	GL_DRAW_BUFFER12_NV = 34865,
	GL_DOUBLE_VEC2 = 36860,
	GL_INT_IMAGE_2D_ARRAY_EXT = 36958,
	GL_BINORMAL_ARRAY_TYPE_EXT = 33856,
	GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 36879,
	GL_COMPRESSED_SRGB_EXT = 35912,
	GL_ZERO_TO_ONE = 37727,
	GL_EVAL_TRIANGULAR_2D_NV = 34497,
	GL_IMAGE_PIXEL_TYPE = 33450,
	GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES = 36480,
	GL_NAME_LENGTH = 37625,
	GL_DRAW_BUFFER12 = 34865,
	GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 37575,
	GL_LUMINANCE_ALPHA32F_ARB = 34841,
	GL_TEXTURE_TARGET = 4102,
	GL_PROVOKING_VERTEX_EXT = 36431,
	GL_OPERAND0_ALPHA_ARB = 34200,
	GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG = 37172,
	GL_COLOR = 6144,
	GL_BUFFER_MAP_LENGTH = 37152,
	GL_SHADER_OBJECT_ARB = 35656,
	GL_ACTIVE_ATTRIBUTES = 35721,
	GL_UNSIGNED_INT8_VEC2_NV = 36845,
	GL_FOG_COORDINATE_ARRAY_POINTER = 33878,
	GL_SYNC_FLUSH_COMMANDS_BIT_APPLE = 1,
	GL_NURBS_KNOT_VECTOR_SGIX = 33262,
	GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 34071,
	GL_COLOR_ARRAY_COUNT_EXT = 32900,
	GL_ELEMENT_ARRAY_BUFFER = 34963,
	GL_INTENSITY_ICC_SGIX = 33892,
	GL_MAX_ASYNC_TEX_IMAGE_SGIX = 33631,
	GL_COLOR_SUM_CLAMP_NV = 34127,
	GL_VIEWPORT_SUBPIXEL_BITS = 33372,
	GL_MAX_SPARSE_TEXTURE_SIZE_AMD = 37272,
	GL_TEXTURE_COORD_ARRAY = 32888,
	GL_INTERNALFORMAT_BLUE_TYPE = 33402,
	GL_COLOR_TABLE_BLUE_SIZE = 32988,
	GL_PATH_FILL_MASK_NV = 36993,
	GL_TEXTURE_TYPE_QCOM = 35799,
	GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = 34974,
	GL_WRAP_BORDER_SUN = 33236,
	GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = 37196,
	GL_RG32F = 33328,
	GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = 33087,
	GL_IMAGE_BINDING_LAYERED = 36668,
	GL_SEPARABLE_2D = 32786,
	GL_TEXTURE25 = 34009,
	GL_RGBA16_SNORM = 36763,
	GL_FOG_COORD_SRC = 33872,
	GL_QUADS_EXT = 7,
	GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 34828,
	GL_OP_RECIP_SQRT_EXT = 34709,
	GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 1,
	GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 35394,
	GL_COLOR_INDEXES = 5635,
	GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 33493,
	GL_R16UI = 33332,
	GL_LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX = 34289,
	GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 34995,
	GL_DOT3_RGB = 34478,
	GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 36640,
	GL_VERTEX_SHADER_INVOCATIONS_ARB = 33520,
	GL_RGB_SCALE_ARB = 34163,
	GL_VIDEO_BUFFER_BINDING_NV = 36897,
	GL_TEXTURE_RED_TYPE = 35856,
	GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES = 35881,
	GL_STENCIL_INDEX16_EXT = 36169,
	GL_ALPHA_MIN_CLAMP_INGR = 34147,
	GL_FENCE_CONDITION_NV = 34036,
	GL_MULTIPLY_NV = 37524,
	GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES = 34076,
	GL_RGB5_A1_OES = 32855,
	GL_BLEND_SRC_RGB = 32969,
	GL_FRAGMENT_FOG_SGIX = 33644,
	GL_TEXTURE_WRAP_R_OES = 32882,
	GL_PROGRAM_MATRIX_EXT = 36397,
	GL_INT_2_10_10_10_REV = 36255,
	GL_LUMINANCE8_OES = 32832,
	GL_MAP1_TEXTURE_COORD_2_NURBS_SGIX = 33249,
	GL_TEXTURE_MAG_FILTER = 10240,
	GL_RGB565 = 36194,
	GL_ROUND_NV = 37028,
	GL_ALPHA_TEST = 3008,
	GL_RENDERBUFFER_SAMPLES = 36011,
	GL_FONT_UNINTELLIGIBLE_NV = 37739,
	GL_TEXTURE22_ARB = 34006,
	GL_RGBA4_OES = 32854,
	GL_QUERY_COUNTER_BITS_ARB = 34916,
	GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = 34819,
	GL_INDEX_ARRAY_LENGTH_NV = 36654,
	GL_ALPHA16_SIGNED_SGIX = 34280,
	GL_FRAMEBUFFER_BLEND = 33419,
	GL_WRITE_ONLY = 35001,
	GL_DEBUG_SOURCE_SHADER_COMPILER_KHR = 33352,
	GL_MATRIX10_ARB = 35018,
	GL_MULTISAMPLE_COVERAGE_MODES_NV = 36370,
	GL_MINMAX = 32814,
	GL_WAIT_FAILED_APPLE = 37149,
	GL_INDEX_LOGIC_OP = 3057,
	GL_INT_SAMPLER_BUFFER_EXT = 36304,
	GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = 33070,
	GL_IGLOO_VIEWPORT_OFFSET_SGIX = 33183,
	GL_EMISSION = 5632,
	GL_BLUE_BIAS = 3355,
	GL_RGB16_EXT = 32852,
	GL_INSTRUMENT_BUFFER_POINTER_SGIX = 33152,
	GL_MAP1_NORMAL_NURBS_SGIX = 33231,
	GL_VERTEX_ATTRIB_ARRAY_DIVISOR = 35070,
	GL_PIXEL_TILE_GRID_HEIGHT_SGIX = 33091,
	GL_RELATIVE_ROUNDED_RECT8_NV = 239,
	GL_FRAGMENT_SHADER_BIT = 2,
	GL_TESSELLATION_FACTOR_AMD = 36869,
	GL_VERTICES_SUBMITTED_ARB = 33518,
	GL_TEXTURE_BINDING_CUBE_MAP_EXT = 34068,
	GL_POLYGON_TOKEN = 1795,
	GL_RGB9_E5 = 35901,
	GL_COLOR_BIT_PATTERN_SGIX = 33624,
	GL_INVALID_ENUM = 1280,
	GL_FLOAT_MAT3x2_NV = 35687,
	GL_OBJECT_LINEAR = 9217,
	GL_COLOR_INDEX2_EXT = 32995,
	GL_INVARIANT_DATATYPE_EXT = 34795,
	GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 36494,
	GL_UNIFORM_BARRIER_BIT_EXT = 4,
	GL_CLIPPING_OUTPUT_PRIMITIVES_ARB = 33527,
	GL_POINT_SMOOTH_HINT = 3153,
	GL_TEXTURE_STORAGE_HINT_APPLE = 34236,
	GL_R11F_G11F_B10F = 35898,
	GL_STACK_OVERFLOW = 1283,
	GL_RELATIVE_CUBIC_CURVE_TO_NV = 13,
	GL_4_BYTES = 5129,
	GL_BUFFER_STORAGE_FLAGS = 33312,
	GL_POINT_SPRITE_OES = 34913,
	GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT = 36483,
	GL_CURRENT_RASTER_NORMAL_SGIX = 33798,
	GL_OFFSET_TEXTURE_2D_SCALE_NV = 34530,
	GL_MATRIX9_NV = 34361,
	GL_VERTEX_ARRAY_BUFFER_BINDING = 34966,
	GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG = 33637,
	GL_VIDEO_CAPTURE_FRAME_WIDTH_NV = 36920,
	GL_NUM_SPARSE_LEVELS_ARB = 37290,
	GL_HALF_FLOAT_NV = 5131,
	GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD = 2,
	GL_BGRA = 32993,
	GL_MULTI_HULLS_NV = 37004,
	GL_SAMPLES_ARB = 32937,
	GL_TEXTURE_UPDATE_BARRIER_BIT_EXT = 256,
	GL_CONSTANT_ALPHA = 32771,
	GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB = 33516,
	GL_OFFSET = 37628,
	GL_SMOOTH = 7425,
	GL_FIXED_OES = 5132,
	GL_LINEARLIGHT_NV = 37543,
	GL_FRONT_LEFT = 1024,
	GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 35214,
	GL_MAX_CLIP_PLANES = 3378,
	GL_DEPTH_WRITEMASK = 2930,
	GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = 34040,
	GL_RGBA8I_EXT = 36238,
	GL_UNSIGNED_NORMALIZED = 35863,
	GL_RGB9_E5_APPLE = 35901,
	GL_ALPHA16_EXTENDED_RANGE_SGIX = 34292,
	GL_SAMPLER_BINDING = 35097,
	GL_RENDERBUFFER_BLUE_SIZE_EXT = 36178,
	GL_UNIFORM_BLOCK_INDEX = 35386,
	GL_BUFFER_MAP_POINTER = 35005,
	GL_LUMINANCE16_ALPHA16_SIGNED_SGIX = 34283,
	GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = 36445,
	GL_ALWAYS_FAST_HINT_PGI = 107020,
	GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = 35071,
	GL_MAX_GEOMETRY_OUTPUT_VERTICES = 36320,
	GL_OFFSET_TEXTURE_RECTANGLE_NV = 34380,
	GL_MAX_UNIFORM_BUFFER_BINDINGS = 35375,
	GL_RELEASED_APPLE = 35353,
	GL_POST_CONVOLUTION_ALPHA_BIAS = 32803,
	GL_READ_FRAMEBUFFER = 36008,
	GL_COMBINE_RGB_EXT = 34161,
	GL_R8UI = 33330,
	GL_QUADS = 7,
	GL_COLOR_ALPHA_PAIRING_ATI = 35189,
	GL_PERFQUERY_COUNTER_RAW_INTEL = 38132,
	GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 32944,
	GL_MULTISAMPLE_ARB = 32925,
	GL_MULTISAMPLE_BIT_3DFX = 536870912,
	GL_COLORBURN_KHR = 37530,
	GL_RESET_NOTIFICATION_STRATEGY_ARB = 33366,
	GL_BALI_RASTER_TIMER_INSTRUMENT_SGIX = 33867,
	GL_UNSIGNED_INT_ATOMIC_COUNTER = 37595,
	GL_COLOR_ATTACHMENT15_NV = 36079,
	GL_PIXEL_UNPACK_BUFFER_ARB = 35052,
	GL_FIXED_ONLY_ARB = 35101,
	GL_TEXTURE_COORD_ARRAY_SIZE = 32904,
	GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES = 36481,
	GL_GEOMETRY_SHADER_INVOCATIONS = 34943,
	GL_OP_MAX_EXT = 34698,
	GL_VARIANT_EXT = 34753,
	GL_RENDER = 7168,
	GL_MIRROR_CLAMP_TO_EDGE_ATI = 34627,
	GL_MAP_STENCIL = 3345,
	GL_DEPTH_PASS_INSTRUMENT_SGIX = 33552,
	GL_PRIMARY_COLOR_NV = 34092,
	GL_SMOOTH_LINE_WIDTH_GRANULARITY = 2851,
	GL_RGBA32I = 36226,
	GL_LUMINANCE12_ALPHA12 = 32839,
	GL_RENDERBUFFER_RED_SIZE = 36176,
	GL_MAP_WRITE_BIT_EXT = 2,
	GL_SINGLE_COLOR_EXT = 33273,
	GL_CURRENT_RASTER_COLOR = 2820,
	GL_POST_COLOR_MATRIX_BLUE_SCALE = 32950,
	GL_SAMPLE_MASK_SGIS = 32928,
	GL_SIGNED_RGBA8_NV = 34556,
	GL_MAX_ASYNC_HISTOGRAM_SGIX = 33581,
	GL_COLOR_ARRAY_BUFFER_BINDING = 34968,
	GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 34983,
	GL_MAP2_COLOR_4_NURBS_SGIX = 33255,
	GL_CUBE_MAP_BINDING_SGIX = 33608,
	GL_INTENSITY16_SIGNED_SGIX = 34282,
	GL_TEXTURE_GEN_S = 3168,
	GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 36387,
	GL_RGB8I_EXT = 36239,
	GL_COLOR_MATRIX_HINT = 33559,
	GL_MAX_VERTEX_ATTRIB_STRIDE = 33509,
	GL_TEXTURE_VIEW_NUM_LAYERS = 33502,
	GL_PATH_COVER_DEPTH_FUNC_NV = 37055,
	GL_PROGRAM_BINDING_ARB = 34423,
	GL_HISTOGRAM_GREEN_SIZE_EXT = 32809,
	GL_MAX_CLIPMAP_DEPTH_SGIX = 33143,
	GL_MULT = 259,
	GL_WEIGHT_ARRAY_POINTER_OES = 34476,
	GL_LEFT = 1030,
	GL_SHININESS = 5633,
	GL_ORDER = 2561,
	GL_RGB_SNORM = 36754,
	GL_INDEX_ARRAY_TYPE = 32901,
	GL_COLOR4_BIT_PGI = 131072,
	GL_MAP2_NORMAL_NURBS_SGIX = 33256,
	GL_R5_G6_B5_ICC_SGIX = 33894,
	GL_RGB_ICC_SGIX = 33888,
	GL_LINE_SMOOTH_HINT = 3154,
	GL_TEXTURE8 = 33992,
	GL_NEGATE_BIT_ATI = 4,
	GL_SPRITE_TRANSLATION_SGIX = 33099,
	GL_UNPACK_IMAGE_HEIGHT_EXT = 32878,
	GL_UNIFORM_BUFFER_ADDRESS_NV = 37743,
	GL_FLOAT_R_NV = 34944,
	GL_TRANSLATE_Y_NV = 37007,
	GL_PALETTE8_RGB8_OES = 35733,
	GL_REG_6_ATI = 35111,
	GL_INTERLACE_READ_INGR = 34152,
	GL_ONE_MINUS_SRC_COLOR = 769,
	GL_BLEND_DST_RGB = 32968,
	GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES = 36877,
	GL_TEXTURE_1D_ARRAY_EXT = 35864,
	GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = 36310,
	GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 35979,
	GL_SPARE1_NV = 34095,
	GL_COMBINE_ARB = 34160,
	GL_DRAW_BUFFER15_NV = 34868,
	GL_OBJECT_DELETE_STATUS_ARB = 35712,
	GL_ALL_SHADER_BITS_EXT = 4294967295,
	GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 38142,
	GL_VERTEX_ATTRIB_ARRAY_ENABLED = 34338,
	GL_422_AVERAGE_EXT = 32974,
	GL_FRAMEBUFFER_DEFAULT_HEIGHT = 37649,
	GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 34069,
	GL_RGB5_A1 = 32855,
	GL_DEBUG_LOGGED_MESSAGES_ARB = 37189,
	GL_STENCIL_TAG_BITS_EXT = 35058,
	GL_TEXTURE_DEPTH_QCOM = 35796,
	GL_DEBUG_CALLBACK_USER_PARAM_ARB = 33349,
	GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 35843,
	GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 37594,
	GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = 33357,
	GL_PARALLEL_ARRAYS_INTEL = 33780,
	GL_CLIPPING_INPUT_PRIMITIVES_ARB = 33526,
	GL_READ_PIXELS = 33420,
	GL_MAP2_TEXTURE_COORD_1 = 3507,
	GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 34971,
	GL_MAP1_TEXTURE_COORD_1 = 3475,
	GL_MAX_PATCH_VERTICES_OES = 36477,
	GL_POST_CONVOLUTION_COLOR_TABLE = 32977,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 37851,
	GL_SCALE_BY_FOUR_NV = 34111,
	GL_UNSIGNED_INT_IMAGE_3D = 36964,
	GL_RESAMPLE_ZERO_FILL_OML = 35207,
	GL_RED_SCALE = 3348,
	GL_PIXEL_SUBSAMPLE_4444_SGIX = 34210,
	GL_LUMINANCE16_ALPHA8_ICC_SGIX = 33899,
	GL_MATRIX_INDEX_ARRAY_SIZE_OES = 34886,
	GL_PIXEL_PACK_BUFFER_BINDING_EXT = 35053,
	GL_FIXED_ONLY = 35101,
	GL_SRGB8_ALPHA8 = 35907,
	GL_MAX_COMPUTE_ATOMIC_COUNTERS = 33381,
	GL_MAX_CONVOLUTION_WIDTH_EXT = 32794,
	GL_VIEWPORT_BIT = 2048,
	GL_DEPTH_STENCIL_TO_RGBA_NV = 34926,
	GL_TEXTURE_BUFFER = 35882,
	GL_PATH_STENCIL_FUNC_NV = 37047,
	GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR = 33358,
	GL_TEXTURE_GEN_MODE_OES = 9472,
	GL_DOT_PRODUCT_NV = 34540,
	GL_TEXTURE_WIDTH_QCOM = 35794,
	GL_INDEX_ARRAY_ADDRESS_NV = 36644,
	GL_SAMPLE_ALPHA_TO_COVERAGE = 32926,
	GL_COLOR_ATTACHMENT15 = 36079,
	GL_POINT_SIZE_ARRAY_STRIDE_OES = 35211,
	GL_MAX_NUM_COMPATIBLE_SUBROUTINES = 37624,
	GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 36877,
	GL_PALETTE4_RGB8_OES = 35728,
	GL_IMAGE_CLASS_10_10_10_2 = 33475,
	GL_VIEWPORT_BOUNDS_RANGE_NV = 33373,
	GL_VERTEX_ARRAY_COUNT_EXT = 32893,
	GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES = 36059,
	GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 36494,
	GL_UNSIGNED_INT_24_8_NV = 34042,
	GL_PIXEL_TILE_GRID_WIDTH_SGIX = 33090,
	GL_TEXTURE_STENCIL_SIZE_EXT = 35057,
	GL_CUBIC_HP = 33119,
	GL_CLIP_DISTANCE5 = 12293,
	GL_DEPTH = 6145,
	GL_INT_SAMPLER_BUFFER_AMD = 36866,
	GL_COMBINE_ALPHA_ARB = 34162,
	GL_MAX_SAMPLE_MASK_WORDS = 36441,
	GL_BLEND_EQUATION_ALPHA = 34877,
	GL_TEXTURE2 = 33986,
	GL_UNSIGNED_SHORT_5_5_5_1 = 32820,
	GL_N3F_V3F = 10789,
	GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = 33159,
	GL_LUMINANCE_ALPHA_INTEGER_EXT = 36253,
	GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 33517,
	GL_RGBA16UI_EXT = 36214,
	GL_AMBIENT = 4608,
	GL_MODULATE = 8448,
	GL_SHADER_STORAGE_BLOCK = 37606,
	GL_RELATIVE_MOVE_TO_NV = 3,
	GL_GPU_DISJOINT_EXT = 36795,
	GL_LINE_LOOP = 2,
	GL_R32I = 33333,
	GL_MAP_INVALIDATE_BUFFER_BIT = 8,
	GL_BUFFER_SIZE_ARB = 34660,
	GL_FONT_HAS_KERNING_BIT_NV = 268435456,
	GL_VIEWPORT_BOUNDS_RANGE_EXT = 33373,
	GL_UNIFORM_OFFSET = 35387,
	GL_SYNC_FENCE = 37142,
	GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 36446,
	GL_NUM_COMPATIBLE_SUBROUTINES = 36426,
	GL_RGB32I = 36227,
	GL_ROUNDED_RECT4_NV = 236,
	GL_SHADER_CONSISTENT_NV = 34525,
	GL_MAX_VERTEX_UNIFORM_BLOCKS = 35371,
	GL_RGBA16_EXTENDED_RANGE_SGIX = 34291,
	GL_3D = 1537,
	GL_NEVER = 512,
	GL_INDEX_TEST_FUNC_EXT = 33206,
	GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 35976,
	GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL = 38133,
	GL_PRIMARY_COLOR_EXT = 34167,
	GL_INCR = 7682,
	GL_ACCUM_BLUE_BITS = 3418,
	GL_POST_CONVOLUTION_COLOR_TABLE_SGI = 32977,
	GL_TEXTURE_COMPRESSION_HINT_ARB = 34031,
	GL_EQUIV = 5385,
	GL_SPRITE_AXIS_SGIX = 33098,
	GL_PROGRAM_PARAMETERS_ARB = 34984,
	GL_LIGHTING_BIT = 64,
	GL_TEXTURE_RED_SIZE = 32860,
	GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 34903,
	GL_FOG_COORD_ARRAY_BUFFER_BINDING = 34973,
	GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 36322,
	GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = 34243,
	GL_SIGNED_ALPHA8_NV = 34566,
	GL_POLYGON_OFFSET_FACTOR_EXT = 32824,
	GL_COMPRESSED_LUMINANCE_LATC1_EXT = 35952,
	GL_SAMPLE_MASK_VALUE_NV = 36434,
	GL_PERSPECTIVE_CORRECTION_HINT = 3152,
	GL_DEBUG_SOURCE_SHADER_COMPILER = 33352,
	GL_VERTEX_PROGRAM_NV = 34336,
	GL_CLIENT_PIXEL_STORE_BIT = 1,
	GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = 35055,
	GL_AND = 5377,
	GL_STENCIL_FAIL = 2964,
	GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = 34888,
	GL_IMAGE_SCALE_X_HP = 33109,
	GL_EMBOSS_CONSTANT_NV = 34142,
	GL_COLOR_ATTACHMENT4 = 36068,
	GL_ALPHA_SCALE = 3356,
	GL_TRIANGLES_ADJACENCY = 12,
	GL_CLIP_ORIGIN = 37724,
	GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = 32926,
	GL_IMPLEMENTATION_COLOR_READ_TYPE = 35738,
	GL_DRAW_BUFFER0 = 34853,
	GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 34808,
	GL_LINE_RESET_TOKEN = 1799,
	GL_CON_24_ATI = 35161,
	GL_DOUBLE = 5130,
	GL_IR_INSTRUMENT1_SGIX = 33151,
	GL_WRITEONLY_RENDERING_QCOM = 34851,
	GL_DUAL_ALPHA8_SGIS = 33041,
	GL_PATH_GEN_COLOR_FORMAT_NV = 37042,
	GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = 36967,
	GL_LINEAR_DETAIL_SGIS = 32919,
	GL_FOG_COORDINATE_ARRAY_TYPE_EXT = 33876,
	GL_POLYGON_SMOOTH = 2881,
	GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 34224,
	GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 36877,
	GL_COLOR_ATTACHMENT5_NV = 36069,
	GL_VIEWPORT_SUBPIXEL_BITS_EXT = 33372,
	GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 38144,
	GL_TEXTURE_GATHER_SHADOW = 33443,
	GL_TEXTURE_INTENSITY_SIZE = 32865,
	GL_MAX_CULL_DISTANCES = 33529,
	GL_MAX_ALPHA_SGIS = 34221,
	GL_CONVOLUTION_SGI = 33221,
	GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 34970,
	GL_ATOMIC_COUNTER_BARRIER_BIT_EXT = 4096,
	GL_UNSIGNED_INT_8_8_8_8_EXT = 32821,
	GL_DUDV_ATI = 34681,
	GL_PATH_PROJECTION_STACK_DEPTH_NV = 2980,
	GL_TEXTURE2_SGIS = 33737,
	GL_IMAGE_TRANSLATE_Y_HP = 33112,
	GL_MIRROR_CLAMP_TO_EDGE_EXT = 34627,
	GL_SRC1_ALPHA = 34185,
	GL_KEEP = 7680,
	GL_UNIFORM_BUFFER_START = 35369,
	GL_TEXTURE_COORD_ARRAY_STRIDE = 32906,
	GL_POINT_SMOOTH = 2832,
	GL_MATRIX7_NV = 34359,
	GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 36055,
	GL_INTERPOLATE_EXT = 34165,
	GL_RG16_SNORM = 36761,
	GL_EQUAL = 514,
	GL_BUFFER_UPDATE_BARRIER_BIT = 512,
	GL_CLAMP_TO_BORDER = 33069,
	GL_R5_G6_B5_A8_ICC_SGIX = 33895,
	GL_COLOR_ATTACHMENT13 = 36077,
	GL_CLIP_DISTANCE3_APPLE = 12291,
	GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 33303,
	GL_HISTOGRAM_FORMAT_EXT = 32807,
	GL_BACK_LEFT = 1026,
	GL_STENCIL_PASS_DEPTH_FAIL = 2965,
	GL_RGB_S3TC = 33696,
	GL_T2F_C4F_N3F_V3F = 10796,
	GL_TEXTURE_BORDER = 4101,
	GL_FUNC_ADD_EXT = 32774,
	GL_YCBCR_MESA = 34647,
	GL_EXP = 2048,
	GL_AND_REVERSE = 5378,
	GL_PIXEL_MAP_B_TO_B_SIZE = 3256,
	GL_VERTEX_ARRAY_STRIDE = 32892,
	GL_BLEND_EQUATION = 32777,
	GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 36878,
	GL_CONVOLUTION_BORDER_MODE_EXT = 32787,
	GL_TEXTURE_MATERIAL_PARAMETER_EXT = 33618,
	GL_MAX_PALETTE_MATRICES_ARB = 34882,
	GL_NUM_EXTENSIONS = 33309,
	GL_FLOAT16_VEC4_NV = 36859,
	GL_ACCUM_GREEN_BITS = 3417,
	GL_IMAGE_ROTATE_ORIGIN_X_HP = 33114,
	GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 33123,
	GL_SRGB_ALPHA = 35906,
	GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 34906,
	GL_GEOMETRY_SHADER_ARB = 36313,
	GL_GEOMETRY_LINKED_INPUT_TYPE_OES = 35095,
	GL_RG16F = 33327,
	GL_TEXTURE_FLOAT_COMPONENTS_NV = 34956,
	GL_DEPTH24_STENCIL8_OES = 35056,
	GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 34382,
	GL_UNSIGNED_SHORT_5_6_5 = 33635,
	GL_SAMPLER_1D = 35677,
	GL_SOURCE2_RGB_ARB = 34178,
	GL_DITHER = 3024,
	GL_LINE_WIDTH_RANGE = 2850,
	GL_TEXTURE_BINDING_RECTANGLE_NV = 34038,
	GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 34825,
	GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = 36902,
	GL_UNIFORM_SIZE = 35384,
	GL_INTENSITY_SNORM = 36883,
	GL_IMAGE_2D_RECT = 36943,
	GL_FLOAT_MAT4 = 35676,
	GL_ALPHA8_EXT = 32828,
	GL_DSDT8_MAG8_NV = 34570,
	GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM = 36710,
	GL_INVARIANT_EXT = 34754,
	GL_RENDERBUFFER_SAMPLES_ANGLE = 36011,
	GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 34869,
	GL_LIGHTEN_KHR = 37528,
	GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 34898,
	GL_SPARSE_BUFFER_PAGE_SIZE_ARB = 33528,
	GL_HISTOGRAM_BLUE_SIZE = 32810,
	GL_SATURATE_BIT_ATI = 64,
	GL_INT_IMAGE_BUFFER_EXT = 36956,
	GL_TEXTURE_WRAP_Q_SGIS = 33079,
	GL_DEPTH_BUFFER_BIT = 256,
	GL_SHARED_EDGE_NV = 192,
	GL_FRAMEBUFFER_UNDEFINED = 33305,
	GL_MAP2_VERTEX_ATTRIB14_4_NV = 34430,
	GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080,
	GL_SOURCE1_ALPHA_ARB = 34185,
	GL_2_BYTES = 5127,
	GL_TEXTURE_BUFFER_SIZE = 37278,
	GL_CONJOINT_NV = 37508,
	GL_SMOOTH_POINT_SIZE_GRANULARITY = 2835,
	GL_DECR_WRAP_OES = 34056,
	GL_PIXEL_PACK_BUFFER_ARB = 35051,
	GL_UNIFORM_IS_ROW_MAJOR = 35390,
	GL_WEIGHT_ARRAY_TYPE_ARB = 34473,
	GL_TEXTURE_2D_STACK_MESAX = 34650,
	GL_LAST_VERTEX_CONVENTION_EXT = 36430,
	GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX = 33554,
	GL_NONE_OES = 0,
	GL_PROGRAM_ATTRIBS_ARB = 34988,
	GL_UNIFORM_BUFFER_UNIFIED_NV = 37742,
	GL_INTENSITY16_EXTENDED_RANGE_SGIX = 34294,
	GL_POINT_SIZE_ARRAY_OES = 35740,
	GL_SLUMINANCE8_ALPHA8_EXT = 35909,
	GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 36961,
	GL_CURRENT_BIT = 1,
	GL_ACCUM_ALPHA_BITS = 3419,
	GL_COLOR_ARRAY_STRIDE = 32899,
	GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = 35983,
	GL_VERTEX_ARRAY_KHR = 32884,
	GL_MAX_PROGRAM_INSTRUCTIONS_ARB = 34977,
	GL_POLYGON = 9,
	GL_TEXTURE_POST_SPECULAR_HP = 33128,
	GL_ACCUM_BUFFER_BIT = 512,
	GL_TEXTURE_BUFFER_EXT = 35882,
	GL_BGRA_IMG = 32993,
	GL_MAX_MODELVIEW_STACK_DEPTH = 3382,
	GL_PACK_REVERSE_ROW_ORDER_ANGLE = 37796,
	GL_TEXTURE_1D_BINDING_EXT = 32872,
	GL_INT8_VEC2_NV = 36833,
	GL_VIEWPORT = 2978,
	GL_PROJECTION_MATRIX = 2983,
	GL_VERTEX_TEXTURE = 33435,
	GL_DRAW_BUFFER9_NV = 34862,
	GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 36446,
	GL_LUMINANCE16_EXTENDED_RANGE_SGIX = 34293,
	GL_IMAGE_BINDING_LAYERED_EXT = 36668,
	GL_DEBUG_SOURCE_OTHER_KHR = 33355,
	GL_OCCLUSION_QUERY_EVENT_MASK_AMD = 34639,
	GL_STENCIL_TEST = 2960,
	GL_FLOAT_VEC4 = 35666,
	GL_LAYER_PROVOKING_VERTEX = 33374,
	GL_CLIP_DISTANCE7 = 12295,
	GL_LUMINANCE6_ALPHA2 = 32836,
	GL_MALI_SHADER_BINARY_ARM = 36704,
	GL_SAMPLE_SHADING = 35894,
	GL_LINE_STIPPLE_REPEAT = 2854,
	GL_ALIASED_LINE_WIDTH_RANGE = 33902,
	GL_COMPRESSED_RGB = 34029,
	GL_SRGB_ALPHA_EXT = 35906,
	GL_COMBINER_INPUT_NV = 34114,
	GL_COLORBURN_NV = 37530,
	GL_FONT_UNDERLINE_THICKNESS_BIT_NV = 134217728,
	GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = 35720,
	GL_DECODE_EXT = 35401,
	GL_ROUNDED_RECT_NV = 232,
	GL_OP_SET_LT_EXT = 34701,
	GL_MIRRORED_REPEAT_IBM = 33648,
	GL_READ_FRAMEBUFFER_BINDING_APPLE = 36010,
	GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 32947,
	GL_NORMAL_MAP_ARB = 34065,
	GL_ATC_RGB_AMD = 35986,
	GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37494,
	GL_FACTOR_MIN_AMD = 36892,
	GL_CLIP_PLANE4 = 12292,
	GL_TRANSPOSE_COLOR_MATRIX = 34022,
	GL_MAX_TEXTURE_COORD_SETS_SGIS = 33732,
	GL_TRANSFORM_FEEDBACK = 36386,
	GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES = 34925,
	GL_CLIENT_STORAGE_BIT = 512,
	GL_ALPHA_BIAS = 3357,
	GL_OP_DOT4_EXT = 34693,
	GL_DEPTH_CLAMP_NEAR_AMD = 36894,
	GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 37583,
	GL_PALETTE8_RGB5_A1_OES = 35737,
	GL_TRANSFORM_FEEDBACK_VARYINGS_EXT = 35971,
	GL_TEXTURE_GATHER = 33442,
	GL_TESS_GEN_POINT_MODE = 36473,
	GL_LIGHT_MODEL_COLOR_CONTROL = 33272,
	GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = 33346,
	GL_BUMP_ROT_MATRIX_ATI = 34677,
	GL_REFERENCE_PLANE_SGIX = 33149,
	GL_TABLE_TOO_LARGE_EXT = 32817,
	GL_SAMPLE_BUFFERS_EXT = 32936,
	GL_UNPACK_COMPRESSED_BLOCK_SIZE = 37162,
	GL_LAYOUT_LINEAR_CPU_CACHED_INTEL = 2,
	GL_LOSE_CONTEXT_ON_RESET_EXT = 33362,
	GL_PIXEL_PACK_BUFFER = 35051,
	GL_PARAMETER_BUFFER_ARB = 33006,
	GL_FOG_COORD = 33873,
	GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT = 36707,
	GL_PERFMON_RESULT_AVAILABLE_AMD = 35780,
	GL_VERTEX_ARRAY_BINDING = 34229,
	GL_CONDITION_SATISFIED = 37148,
	GL_TEXTURE_DEPTH_TYPE_ARB = 35862,
	GL_SAMPLE_SHADING_OES = 35894,
	GL_PROGRAM_PIPELINE = 33508,
	GL_HALF_FLOAT = 5131,
	GL_TEXTURE_BINDING_2D = 32873,
	GL_E_TIMES_F_NV = 34097,
	GL_ELEMENT_ARRAY_UNIFIED_NV = 36639,
	GL_FLOAT_RG_NV = 34945,
	GL_QUAD_INTENSITY4_SGIS = 33058,
	GL_CURRENT_ATTRIB_NV = 34342,
	GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 33453,
	GL_MAX_FRAMEZOOM_FACTOR_SGIX = 33165,
	GL_CON_9_ATI = 35146,
	GL_COLOR_RENDERABLE = 33414,
	GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 33554432,
	GL_RGBA4_EXT = 32854,
	GL_PACK_IMAGE_HEIGHT = 32876,
	GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV = 37073,
	GL_EVAL_FRACTIONAL_TESSELLATION_NV = 34501,
	GL_R8_SNORM = 36756,
	GL_PACK_COMPRESSED_BLOCK_HEIGHT = 37164,
	GL_FUNC_SUBTRACT = 32778,
	GL_COLOR_ATTACHMENT13_NV = 36077,
	GL_COORD_REPLACE_OES = 34914,
	GL_INTERLACE_OML = 35200,
	GL_R1UI_T2F_C4F_N3F_V3F_SUN = 34251,
	GL_ACTIVE_VARYING_MAX_LENGTH_NV = 35970,
	GL_COMBINER_CD_OUTPUT_NV = 34123,
	GL_VERTEX_SHADER_BINDING_EXT = 34689,
	GL_FULL_SUPPORT = 33463,
	GL_SAMPLER_2D_SHADOW_ARB = 35682,
	GL_TEXTURE_LUMINANCE_SIZE_EXT = 32864,
	GL_MAX_TEXTURE_COORDS = 34929,
	GL_GLYPH_VERTICAL_BEARING_X_BIT_NV = 32,
	GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES = 37081,
	GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = 34966,
	GL_RG = 33319,
	GL_NO_RESET_NOTIFICATION_KHR = 33377,
	GL_CON_7_ATI = 35144,
	GL_TRANSFORM_FEEDBACK_VARYINGS = 35971,
	GL_MAX_PROGRAM_SUBROUTINE_NUM_NV = 36677,
	GL_INT64_VEC2_NV = 36841,
	GL_DECR_WRAP_EXT = 34056,
	GL_MAX_COMBINED_UNIFORM_BLOCKS = 35374,
	GL_TEXTURE_COORD_ARRAY_POINTER = 32914,
	GL_LOAD = 257,
	GL_NEAREST_MIPMAP_NEAREST = 9984,
	GL_POINT_FADE_THRESHOLD_SIZE_ARB = 33064,
	GL_TESS_GEN_SPACING_OES = 36471,
	GL_UNSIGNED_INT16_NV = 36848,
	GL_FOG_INDEX = 2913,
	GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = 34064,
	GL_DRAW_BUFFER4_EXT = 34857,
	GL_PRIMITIVES_GENERATED = 35975,
	GL_SAMPLES_3DFX = 34484,
	GL_STACK_UNDERFLOW = 1284,
	GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 35954,
	GL_PROGRAM_STRING_ARB = 34344,
	GL_TEXTURE_ALPHA_MODULATE_IMG = 35846,
	GL_INTERNALFORMAT_RED_SIZE = 33393,
	GL_REG_1_ATI = 35106,
	GL_TEXTURE29 = 34013,
	GL_TEXTURE13 = 33997,
	GL_LUMINANCE16F_EXT = 34846,
	GL_QUAD_TEXTURE_SELECT_SGIS = 33061,
	GL_HSL_LUMINOSITY_NV = 37552,
	GL_COMPUTE_SHADER_BIT = 32,
	GL_GEOMETRY_OUTPUT_TYPE_EXT = 36316,
	GL_PROXY_TEXTURE_RECTANGLE_NV = 34039,
	GL_CLIP_DISTANCE_NV = 35962,
	GL_ACTIVE_UNIFORMS = 35718,
	GL_ALPHA4 = 32827,
	GL_COMPILE_AND_EXECUTE = 4865,
	GL_COLOR_TABLE_ALPHA_SIZE_SGI = 32989,
	GL_FOG_OFFSET_VALUE_SGIX = 33177,
	GL_COPY_WRITE_BUFFER_NV = 36663,
	GL_SLUMINANCE8_NV = 35911,
	GL_CMYKA_EXT = 32781,
	GL_DEBUG_SOURCE_API_KHR = 33350,
	GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 34032,
	GL_READ_FRAMEBUFFER_BINDING = 36010,
	GL_EXCLUSION_KHR = 37536,
	GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 34824,
	GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 33358,
	GL_CONSTANT_BORDER_HP = 33105,
	GL_VARIABLE_E_NV = 34087,
	GL_LIGHT6 = 16390,
	GL_DRAW_BUFFER2_NV = 34855,
	GL_MAX_VERTEX_IMAGE_UNIFORMS = 37066,
	GL_CIRCULAR_CCW_ARC_TO_NV = 248,
	GL_MAP_COHERENT_BIT = 128,
	GL_ALPHA_ICC_SGIX = 33890,
	GL_DOT3_RGB_EXT = 34624,
	GL_OUTPUT_COLOR1_EXT = 34716,
	GL_FLOAT_MAT4x3 = 35690,
	GL_SAMPLE_BUFFERS = 32936,
	GL_TRANSFORM_FEEDBACK_BUFFER_NV = 35982,
	GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 4,
	GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 35840,
	GL_SIGNED_LUMINANCE_ALPHA_NV = 34563,
	GL_BLEND_EQUATION_OES = 32777,
	GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 33382,
	GL_RGBA_DXT5_S3TC = 33700,
	GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 35723,
	GL_DEBUG_CALLBACK_USER_PARAM_KHR = 33349,
	GL_FFT_1D_SGI = 33222,
	GL_RGB16F_EXT = 34843,
	GL_SAMPLER_1D_SHADOW = 35681,
	GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 35658,
	GL_QUAD_ALPHA4_SGIS = 33054,
	GL_TEXTURE_NUM_LEVELS_QCOM = 35801,
	GL_STENCIL_ATTACHMENT = 36128,
	GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 35377,
	GL_VIEWPORT_INDEX_PROVOKING_VERTEX = 33375,
	GL_TESS_GEN_VERTEX_ORDER_EXT = 36472,
	GL_BUFFER_MAP_OFFSET = 37153,
	GL_LIST_BASE = 2866,
	GL_FOG_SPECULAR_TEXTURE_WIN = 33004,
	GL_FLOAT_RG32_NV = 34951,
	GL_RELATIVE_ARC_TO_NV = 255,
	GL_RGB16 = 32852,
	GL_NORMAL_MAP_EXT = 34065,
	GL_BOOL_VEC4 = 35673,
	GL_LOSE_CONTEXT_ON_RESET = 33362,
	GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA = 35762,
	GL_MAT_COLOR_INDEXES_BIT_PGI = 16777216,
	GL_NORMAL_ARRAY_STRIDE_EXT = 32895,
	GL_RGBA16_SNORM_EXT = 36763,
	GL_MINMAX_FORMAT = 32815,
	GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 36382,
	GL_TEXTURE_BUFFER_FORMAT_ARB = 35886,
	GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 34909,
	GL_ARRAY_OBJECT_BUFFER_ATI = 34662,
	GL_RGBA16_SIGNED_SGIX = 34279,
	GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL = 38129,
	GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 37100,
	GL_OP_INDEX_EXT = 34690,
	GL_RGBA = 6408,
	GL_VIRTUAL_PAGE_SIZE_X_ARB = 37269,
	GL_BUFFER = 33504,
	GL_UNSIGNED_INT_IMAGE_CUBE = 36966,
	GL_COLOR_TABLE_RED_SIZE_SGI = 32986,
	GL_TEXTURE_BINDING_BUFFER_ARB = 35884,
	GL_COLOR_ARRAY_POINTER_EXT = 32912,
	GL_ELEMENT_ARRAY_BARRIER_BIT = 2,
	GL_CON_5_ATI = 35142,
	GL_RASTER_SAMPLES_EXT = 37672,
	GL_FOG_FACTOR_TO_ALPHA_SGIX = 33647,
	GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES = 37497,
	GL_POINT_FADE_THRESHOLD_SIZE_SGIS = 33064,
	GL_PIXEL_TRANSFORM_OPERATOR_SGI = 33220,
	GL_MAP2_GRID_DOMAIN = 3538,
	GL_TEXTURE_COMPONENTS = 4099,
	GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 37573,
	GL_DUAL_LUMINANCE4_SGIS = 33044,
	GL_RG_EXT = 33319,
	GL_RENDERBUFFER_SAMPLES_EXT = 36011,
	GL_DEPTH_COMPONENT32F = 36012,
	GL_MAP_PERSISTENT_BIT = 64,
	GL_NEAREST_MIPMAP_LINEAR = 9986,
	GL_TEXTURE11 = 33995,
	GL_STENCIL_INDEX = 6401,
	GL_DEPTH_CLAMP_NV = 34383,
	GL_VERTEX_ATTRIB_ARRAY_TYPE = 34341,
	GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = 35978,
	GL_CONVOLUTION_BORDER_COLOR = 33108,
	GL_RGB10_EXT = 32850,
	GL_TESS_GEN_MODE = 36470,
	GL_EYE_LINEAR = 9216,
	GL_GREEN_MIN_CLAMP_INGR = 34145,
	GL_QUERY_WAIT_INVERTED = 36375,
	GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 34975,
	GL_IMAGE_CLASS_11_11_10 = 33474,
	GL_SYNC_CL_EVENT_ARB = 33344,
	GL_BLEND_EQUATION_ALPHA_OES = 34877,
	GL_MIRROR_CLAMP_EXT = 34626,
	GL_MAX_FRAMEBUFFER_WIDTH = 37653,
	GL_QUERY_KHR = 33507,
	GL_COLOR_ENCODING = 33430,
	GL_INTENSITY16_SNORM = 36891,
	GL_NEAREST_CLIPMAP_LINEAR_SGIX = 33870,
	GL_TEXTURE_COORD_ARRAY_LENGTH_NV = 36655,
	GL_VERTEX_ATTRIB_ARRAY11_NV = 34395,
	GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT = 35415,
	GL_COLOR_TABLE = 32976,
	GL_EVAL_VERTEX_ATTRIB8_NV = 34510,
	GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 35723,
	GL_PACK_SWAP_BYTES = 3328,
	GL_PIXEL_MAP_B_TO_B = 3192,
	GL_FACET_NORMAL_ARRAY_AUTODESK = 34257,
	GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 37081,
	GL_SKIP_COMPONENTS3_NV = -4,
	GL_MAX_VERTEX_UNITS_OES = 34468,
	GL_COMPRESSED_RGBA_ARB = 34030,
	GL_FLOAT_MAT2x3_NV = 35685,
	GL_T4F_V4F = 10792,
	GL_TEXTURE_LIGHT_EXT = 33616,
	GL_IMAGE_2D_ARRAY = 36947,
	GL_BGRA_INTEGER = 36251,
	GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 35722,
	GL_MIPMAP = 33427,
	GL_DEBUG_SEVERITY_NOTIFICATION = 33387,
	GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = 34901,
	GL_PACK_CMYK_HINT_EXT = 32782,
	GL_UNPACK_COMPRESSED_SIZE_SGIX = 33562,
	GL_ADJACENT_PAIRS_NV = 37038,
	GL_TEXTURE_BUFFER_FORMAT_EXT = 35886,
	GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 34920,
	GL_PHONG_HINT_WIN = 33003,
	GL_SHADER_OPERATION_NV = 34527,
	GL_PACK_SKIP_VOLUMES_SGIS = 33072,
	GL_TRIANGLES_ADJACENCY_ARB = 12,
	GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = 32,
	GL_RGB565_OES = 36194,
	GL_STENCIL_INDEX16 = 36169,
	GL_PROGRAM_BINARY_ANGLE = 37798,
	GL_COUNT_DOWN_NV = 37001,
	GL_PACK_LSB_FIRST = 3329,
	GL_TEXTURE_VIEW_MIN_LAYER_OES = 33501,
	GL_CONVOLUTION_HINT_SGIX = 33558,
	GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = 36492,
	GL_CLAMP_VERTEX_COLOR_ARB = 35098,
	GL_COMPRESSED_RGBA8_ETC2_EAC_OES = 37496,
	GL_FRAMEBUFFER_DEFAULT_LAYERS = 37650,
	GL_RESAMPLE_ZERO_FILL_SGIX = 33844,
	GL_TRANSPOSE_NV = 34348,
	GL_COLOR_TABLE_GREEN_SIZE = 32987,
	GL_BLEND_DST_RGB_EXT = 32968,
	GL_CONDITION_SATISFIED_APPLE = 37148,
	GL_IGLOO_TMESHMODE_SGIX = 33188,
	GL_DIFFERENCE_NV = 37534,
	GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = 36011,
	GL_OPERAND2_ALPHA_ARB = 34202,
	GL_FLOAT_VEC3 = 35665,
	GL_DEPENDENT_RGB_TEXTURE_3D_NV = 34905,
	GL_NUM_FRAGMENT_REGISTERS_ATI = 35182,
	GL_POLYGON_OFFSET_FACTOR = 32824,
	GL_ATTENUATION_EXT = 33613,
	GL_OP_LOG_BASE_2_EXT = 34706,
	GL_MAX_PROGRAM_PARAMETERS_ARB = 34985,
	GL_PATCHES_OES = 14,
	GL_INTENSITY8_EXT = 32843,
	GL_PATH_JOIN_STYLE_NV = 36985,
	GL_CURRENT_MATRIX_INDEX_ARB = 34885,
	GL_WARPS_PER_SM_NV = 37690,
	GL_DEPTH_BITS = 3414,
	GL_TEXTURE_COORD_ARRAY_EXT = 32888,
	GL_VERTEX_ARRAY_TYPE = 32891,
	GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 35968,
	GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = 107011,
	GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 36440,
	GL_PIXEL_TILE_CACHE_SIZE_SGIX = 33093,
	GL_TESS_CONTROL_SHADER_BIT_OES = 8,
	GL_TEXTURE30 = 34014,
	GL_ATTACHED_SHADERS = 35717,
	GL_FRAGMENT_PROGRAM_BINDING_NV = 34931,
	GL_MUL_ATI = 35172,
	GL_LUMINANCE12_ALPHA4 = 32838,
	GL_MAX_TEXTURE_COORDS_NV = 34929,
	GL_MAP1_GRID_DOMAIN = 3536,
	GL_BOLD_BIT_NV = 1,
	GL_STENCIL_WRITEMASK = 2968,
	GL_CURRENT_RASTER_INDEX = 2821,
	GL_MAX_TESS_PATCH_COMPONENTS_OES = 36484,
	GL_LINE_TOKEN = 1794,
	GL_COLOR_ATTACHMENT0 = 36064,
	GL_FRAMEBUFFER_UNSUPPORTED = 36061,
	GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT = 36442,
	GL_MANUAL_GENERATE_MIPMAP = 33428,
	GL_VERTEX_PROGRAM_BINDING_NV = 34378,
	GL_ATTRIB_STACK_DEPTH = 2992,
	GL_FUNC_SUBTRACT_OES = 32778,
	GL_INVERT_OVG_NV = 37556,
	GL_NORMAL_MAP_NV = 34065,
	GL_TEXTURE_MAX_LOD_SGIS = 33083,
	GL_TEXTURE_VIEW_MIN_LAYER_EXT = 33501,
	GL_LUMINANCE4 = 32831,
	GL_AVERAGE_EXT = 33589,
	GL_EVAL_VERTEX_ATTRIB15_NV = 34517,
	GL_CLAMP = 10496,
	GL_CURRENT_FOG_COORDINATE_EXT = 33875,
	GL_INT_SAMPLER_BUFFER = 36304,
	GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 34806,
	GL_GEOMETRY_SHADER_BIT = 4,
	GL_VERTEX_SHADER_BIT_EXT = 1,
	GL_POSITION = 4611,
	GL_VERTEX_WEIGHTING_EXT = 34057,
	GL_COMPRESSED_RGBA8_ETC2_EAC = 37496,
	GL_AUX0 = 1033,
	GL_GENERIC_ATTRIB_NV = 35965,
	GL_OFFSET_TEXTURE_MATRIX_NV = 34529,
	GL_INTERLEAVED_ATTRIBS_EXT = 35980,
	GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT = 36485,
	GL_RELATIVE_ROUNDED_RECT2_NV = 235,
	GL_INT_VEC2 = 35667,
	GL_LOW_FLOAT = 36336,
	GL_CONST_EYE_NV = 34533,
	GL_SRC1_RGB = 34177,
	GL_SELECTION_BUFFER_POINTER = 3571,
	GL_SOURCE1_RGB_EXT = 34177,
	GL_SAMPLER_1D_ARRAY_SHADOW = 36291,
	GL_TEXTURE_COLOR_WRITEMASK_SGIS = 33263,
	GL_FLOAT_RGB16_NV = 34952,
	GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV = 36369,
	GL_COVERAGE_BUFFERS_NV = 36563,
	GL_INVALID_OPERATION = 1282,
	GL_3DC_XY_AMD = 34810,
	GL_CURRENT_BINORMAL_EXT = 33852,
	GL_SHADER_SOURCE_LENGTH = 35720,
	GL_UNSIGNED_SHORT_8_8_REV_APPLE = 34235,
	GL_PATH_MODELVIEW_MATRIX_NV = 2982,
	GL_PROGRAM_INPUT = 37603,
	GL_TEXTURE_CLIPMAP_DEPTH_SGIX = 33142,
	GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR = 33388,
	GL_PATH_INITIAL_DASH_CAP_NV = 36988,
	GL_TEXTURE_RECTANGLE_ARB = 34037,
	GL_FRACTIONAL_EVEN_OES = 36476,
	GL_LUMINANCE32UI_EXT = 36212,
	GL_COLOR_EXT = 6144,
	GL_TRIANGLE_FAN = 6,
	GL_OBJECT_SUBTYPE_ARB = 35663,
	GL_RELATIVE_ROUNDED_RECT_NV = 233,
	GL_GENERATE_MIPMAP_HINT = 33170,
	GL_VERTEX_SHADER_ARB = 35633,
	GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 36049,
	GL_WEIGHT_ARRAY_STRIDE_OES = 34474,
	GL_MAP1_VERTEX_4 = 3480,
	GL_RG8UI = 33336,
	GL_TEXTURE_BUFFER_ARB = 35882,
	GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 37694,
	GL_TEXTURE_HI_SIZE_NV = 34587,
	GL_TEXTURE_BORDER_COLOR_OES = 4100,
	GL_RGBA_FLOAT_MODE_ATI = 34848,
	GL_TEXTURE = 5890,
	GL_MAX_PROGRAM_TEMPORARIES_ARB = 34981,
	GL_TEXTURE_IMAGE_TYPE = 33424,
	GL_TEXTURE17 = 34001,
	GL_OBJECT_LINK_STATUS_ARB = 35714,
	GL_MAX_TESS_PATCH_COMPONENTS_EXT = 36484,
	GL_BINORMAL_ARRAY_POINTER_EXT = 33859,
	GL_LUMINANCE32F_ARB = 34840,
	GL_MAX_TEXTURE_UNITS = 34018,
	GL_TEXTURE_SAMPLES = 37126,
	GL_ASYNC_HISTOGRAM_SGIX = 33580,
	GL_FRAMEBUFFER_DEFAULT = 33304,
	GL_COLOR_VALUE_SGIX = 33625,
	GL_IGNORE_BORDER_HP = 33104,
	GL_FACET_NORMAL_AUTODESK = 34256,
	GL_READ_PIXELS_TYPE = 33422,
	GL_UNIFORM = 37601,
	GL_DRAW_FRAMEBUFFER_BINDING_ANGLE = 36006,
	GL_DRAW_BUFFER7_NV = 34860,
	GL_MAP2_TEXTURE_COORD_3 = 3509,
	GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 33147,
	GL_MAP1_TEXTURE_COORD_3 = 3477,
	GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 16,
	GL_FIRST_VERTEX_CONVENTION_EXT = 36429,
	GL_UNSIGNED_INT_IMAGE_CUBE_EXT = 36966,
	GL_CLIP_PLANE0 = 12288,
	GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 37123,
	GL_INT8_VEC4_NV = 36835,
	GL_TEXTURE_BINDING_RECTANGLE_ARB = 34038,
	GL_MAX_COLOR_MATRIX_STACK_DEPTH = 32947,
	GL_TEXTURE_SWIZZLE_R_EXT = 36418,
	GL_INDEX_ARRAY_BUFFER_BINDING_ARB = 34969,
	GL_MAX_ELEMENTS_VERTICES = 33000,
	GL_COLOR_TABLE_INTENSITY_SIZE = 32991,
	GL_INT16_VEC2_NV = 36837,
	GL_VERTEX_ELEMENT_SWIZZLE_AMD = 37284,
	GL_NEXT_BUFFER_NV = -2,
	GL_COMPRESSED_SIGNED_R11_EAC_OES = 37489,
	GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 34763,
	GL_DEPTH_COMPONENT16 = 33189,
	GL_ACTIVE_RESOURCES = 37621,
	GL_SAMPLER_CUBE_SHADOW_NV = 36293,
	GL_TESS_CONTROL_OUTPUT_VERTICES_OES = 36469,
	GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 37131,
	GL_DUAL_TEXTURE_SELECT_SGIS = 33060,
	GL_ALPHA_TEST_FUNC_QCOM = 3009,
	GL_TESS_GEN_MODE_OES = 36470,
	GL_COMMAND_BARRIER_BIT = 64,
	GL_INDEX_ARRAY_STRIDE = 32902,
	GL_FRAMEBUFFER_COMPLETE_OES = 36053,
	GL_UNPACK_SUBSAMPLE_RATE_SGIX = 34209,
	GL_MAX_COMPUTE_UNIFORM_BLOCKS = 37307,
	GL_FONT_TARGET_UNAVAILABLE_NV = 37737,
	GL_READ_PIXELS_FORMAT = 33421,
	GL_DEBUG_SEVERITY_LOW_ARB = 37192,
	GL_CLIENT_ACTIVE_TEXTURE_ARB = 34017,
	GL_INTERNALFORMAT_ALPHA_SIZE = 33396,
	GL_RGB12_EXT = 32851,
	GL_CURRENT_RASTER_TEXTURE_COORDS = 2822,
	GL_POINT_SIZE_ARRAY_POINTER_OES = 35212,
	GL_OUTPUT_FOG_EXT = 34749,
	GL_MAX_ELEMENTS_INDICES_EXT = 33001,
	GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 32906,
	GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = 36328,
	GL_RGBA4_S3TC = 33699,
	GL_MODELVIEW_MATRIX = 2982,
	GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 33380,
	GL_IMPLEMENTATION_COLOR_READ_FORMAT = 35739,
	GL_LEQUAL = 515,
	GL_ZERO = 0,
	GL_INDEX_MATERIAL_EXT = 33208,
	GL_SLUMINANCE8_EXT = 35911,
	GL_RESET_NOTIFICATION_STRATEGY_KHR = 33366,
	GL_TEXTURE_GEN_T = 3169,
	GL_SRC_ALPHA = 770,
	GL_TEXTURE_VIEW_NUM_LEVELS = 33500,
	GL_DRAW_BUFFER5 = 34858,
	GL_RG16 = 33324,
	GL_TEXCOORD2_BIT_PGI = 536870912,
	GL_STENCIL_BACK_REF = 36003,
	GL_LINE_QUALITY_HINT_SGIX = 33627,
	GL_TEXTURE_MATERIAL_FACE_EXT = 33617,
	GL_DEPTH_TEXTURE_MODE = 34891,
	GL_RGBA32F_EXT = 34836,
	GL_CALLIGRAPHIC_FRAGMENT_SGIX = 33155,
	GL_VERTEX_ARRAY_SIZE = 32890,
	GL_COMBINE = 34160,
	GL_INDEX_ARRAY_BUFFER_BINDING = 34969,
	GL_MAX_COMBINED_ATOMIC_COUNTERS = 37591,
	GL_WRITE_ONLY_OES = 35001,
	GL_CLIP_DISTANCE3 = 12291,
	GL_LOCAL_CONSTANT_EXT = 34755,
	GL_FLOAT_VEC4_ARB = 35666,
	GL_INVALID_INDEX = 4294967295,
	GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 34573,
	GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 33803,
	GL_UNIFORM_NAME_LENGTH = 35385,
	GL_DEPTH_ATTACHMENT_OES = 36096,
	GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 34881,
	GL_LINEARDODGE_NV = 37540,
	GL_INTERLEAVED_ATTRIBS_NV = 35980,
	GL_TEXTURE_BIT = 262144,
	GL_FRAMEBUFFER = 36160,
	GL_DEBUG_SOURCE_APPLICATION = 33354,
	GL_CONSTANT_COLOR0_NV = 34090,
	GL_EVAL_VERTEX_ATTRIB10_NV = 34512,
	GL_MAX_RENDERBUFFER_SIZE_EXT = 34024,
	GL_PACK_IMAGE_DEPTH_SGIS = 33073,
	GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 35060,
	GL_QUERY_TARGET = 33514,
	GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT = 35096,
	GL_CURRENT_QUERY_ARB = 34917,
	GL_FASTEST = 4353,
	GL_INTENSITY4 = 32842,
	GL_UNDEFINED_APPLE = 35356,
	GL_CLIP_PLANE5_IMG = 12293,
	GL_NUM_INSTRUCTIONS_PER_PASS_ATI = 35185,
	GL_1PASS_SGIS = 32929,
	GL_TEXTURE_RECTANGLE = 34037,
	GL_MULTISAMPLES_NV = 37745,
	GL_GLYPH_WIDTH_BIT_NV = 1,
	GL_VERSION_ES_CL_1_0 = 1,
	GL_STENCIL_INDEX_OES = 6401,
	GL_DEBUG_CATEGORY_DEPRECATION_AMD = 37195,
	GL_QUERY_ALL_EVENT_BITS_AMD = 4294967295,
	GL_DOUBLEBUFFER = 3122,
	GL_PIXEL_MAP_S_TO_S = 3185,
	GL_OPERAND1_RGB_EXT = 34193,
	GL_BLEND_DST = 3040,
	GL_LO_SCALE_NV = 34575,
	GL_POST_CONVOLUTION_GREEN_SCALE = 32797,
	GL_MAX_LIST_NESTING = 2865,
	GL_IMAGE_ROTATE_ANGLE_HP = 33113,
	GL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES = 35372,
	GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 36382,
	GL_VERTEX_ATTRIB_ARRAY_INTEGER = 35069,
	GL_FLOAT_MAT2_ARB = 35674,
	GL_CAVEAT_SUPPORT = 33464,
	GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 35885,
	GL_MULTISAMPLE = 32925,
	GL_TRANSPOSE_TEXTURE_MATRIX_ARB = 34021,
	GL_DELETE_STATUS = 35712,
	GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 35661,
	GL_MAX_HEIGHT = 33407,
	GL_COLOR_ATTACHMENT2_NV = 36066,
	GL_MAX_GREEN_SGIS = 34217,
	GL_CULL_VERTEX_EXT = 33194,
	GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT = 33296,
	GL_TEXTURE_BINDING_2D_ARRAY = 35869,
	GL_SAMPLE_SHADING_ARB = 35894,
	GL_INDEX_TEST_REF_EXT = 33207,
	GL_MATERIAL_SIDE_HINT_PGI = 107052,
	GL_RGB_INTEGER_EXT = 36248,
	GL_UNPACK_ROW_LENGTH = 3314,
	GL_POST_COLOR_MATRIX_RED_BIAS = 32952,
	GL_DEBUG_ASSERT_MESA = 34651,
	GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = 34040,
	GL_TABLE_TOO_LARGE = 32817,
	GL_IMAGE_TRANSLATE_X_HP = 33111,
	GL_COMPILE = 4864,
	GL_PROGRAM_POINT_SIZE_ARB = 34370,
	GL_MEDIUM_INT = 36340,
	GL_MULTISAMPLE_EXT = 32925,
	GL_INT_SAMPLER_2D = 36298,
	GL_EYE_DISTANCE_TO_POINT_SGIS = 33264,
	GL_SAMPLER_CUBE_MAP_ARRAY_OES = 36876,
	GL_POINT_SPRITE_R_MODE_NV = 34915,
	GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = 36308,
	GL_CLIP_PLANE3 = 12291,
	GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 34076,
	GL_HISTOGRAM_WIDTH_EXT = 32806,
	GL_PROXY_TEXTURE_1D_STACK_MESAX = 34651,
	GL_FRAGMENT_LIGHT5_SGIX = 33809,
	GL_AUX2 = 1035,
	GL_BGRA_EXT = 32993,
	GL_FILE_NAME_NV = 36980,
	GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 34464,
	GL_VERTEX_SHADER_OPTIMIZED_EXT = 34772,
	GL_SPRITE_OBJECT_ALIGNED_SGIX = 33101,
	GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 37133,
	GL_HSL_LUMINOSITY_KHR = 37552,
	GL_OFFSET_TEXTURE_2D_NV = 34536,
	GL_COLOR_TABLE_FORMAT = 32984,
	GL_SHADER_INCLUDE_ARB = 36270,
	GL_DEPTH_SCALE = 3358,
	GL_COMBINE_RGB = 34161,
	GL_SYNC_FENCE_APPLE = 37142,
	GL_TEXTURE_SHARED_SIZE = 35903,
	GL_STENCIL_BACK_OP_VALUE_AMD = 34637,
	GL_COPY_INVERTED = 5388,
	GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV = 36921,
	GL_DEBUG_SOURCE_APPLICATION_KHR = 33354,
	GL_TEXTURE_MAG_SIZE_NV = 34591,
	GL_OR_INVERTED = 5389,
	GL_MITER_REVERT_NV = 37031,
	GL_DSDT8_MAG8_INTENSITY8_NV = 34571,
	GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 34973,
	GL_RENDERBUFFER_SAMPLES_IMG = 37171,
	GL_POLYGON_OFFSET_LINE = 10754,
	GL_MATRIX0_NV = 34352,
	GL_DEBUG_SEVERITY_NOTIFICATION_KHR = 33387,
	GL_TEXTURE_3D_BINDING_EXT = 32874,
	GL_TEXTURE_COORD_ARRAY_ADDRESS_NV = 36645,
	GL_PROXY_TEXTURE_2D = 32868,
	GL_DEPTH32F_STENCIL8_NV = 36268,
	GL_REG_2_ATI = 35107,
	GL_INT_SAMPLER_1D_ARRAY = 36302,
	GL_TRACE_NAME_MESA = 34646,
	GL_MAX_DEBUG_LOGGED_MESSAGES = 37188,
	GL_TEXTURE_ENV = 8960,
	GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES = 36445,
	GL_LINE_STRIP_ADJACENCY_OES = 11,
	GL_IMAGE_TEXEL_SIZE = 33447,
	GL_ALPHA16F_ARB = 34844,
	GL_SAMPLER_KHR = 33510,
	GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 36874,
	GL_DEBUG_TYPE_PORTABILITY = 33359,
	GL_TIMESTAMP = 36392,
	GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 32980,
	GL_VIEW_CLASS_128_BITS = 33476,
	GL_RENDERBUFFER_INTERNAL_FORMAT_OES = 36164,
	GL_MODELVIEW1_EXT = 34058,
	GL_STENCIL_INDEX8 = 36168,
	GL_BOOL_VEC2_ARB = 35671,
	GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081,
	GL_FOG_SCALE_SGIX = 33276,
	GL_R1UI_T2F_N3F_V3F_SUN = 34250,
	GL_DEPTH_STENCIL_NV = 34041,
	GL_CUBE_MAP_SGIX = 33601,
	GL_COLOR_ARRAY_STRIDE_EXT = 32899,
	GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV = 37693,
	GL_FAILURE_NV = 36912,
	GL_STRICT_LIGHTING_HINT_PGI = 107031,
	GL_FOG_COORDINATE_ARRAY_STRIDE = 33877,
	GL_MAX_TESS_GEN_LEVEL_OES = 36478,
	GL_TRIANGLE_STRIP_ADJACENCY = 13,
	GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES = 36490,
	GL_TEXTURE_BUFFER_OES = 35882,
	GL_OP_MUL_EXT = 34694,
	GL_SCISSOR_BIT = 524288,
	GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 16,
	GL_DRAW_BUFFER3 = 34856,
	GL_ISOLINES = 36474,
	GL_EMBOSS_MAP_NV = 34143,
	GL_QUERY_RESULT_NO_WAIT_AMD = 37268,
	GL_ALPHA_FLOAT32_APPLE = 34838,
	GL_COLOR_ATTACHMENT9_NV = 36073,
	GL_SEPARATE_SPECULAR_COLOR = 33274,
	GL_LUMINANCE4_EXT = 32831,
	GL_VERTEX_ARRAY_BINDING_APPLE = 34229,
	GL_UNPACK_SKIP_ROWS_EXT = 3315,
	GL_TEXTURE_COMPRESSION_HINT = 34031,
	GL_STENCIL_BACK_FUNC = 34816,
	GL_RGBA16_EXT = 32859,
	GL_PIXEL_UNPACK_BUFFER = 35052,
	GL_COLOR_TABLE_GREEN_SIZE_SGI = 32987,
	GL_BUFFER_FLUSHING_UNMAP_APPLE = 35347,
	GL_READ_FRAMEBUFFER_EXT = 36008,
	GL_LIGHT2 = 16386,
	GL_TEXTURE_SAMPLES_IMG = 37174,
	GL_ROUNDED_RECT8_NV = 238,
	GL_REFLECTION_MAP_NV = 34066,
	GL_DRAW_BUFFER8_NV = 34861,
	GL_FULL_RANGE_EXT = 34785,
	GL_COMBINER3_NV = 34131,
	GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 37067,
	GL_TEXTURE15 = 33999,
	GL_MAX_TEXTURE_STACK_DEPTH = 3385,
	GL_TRACE_PIXELS_BIT_MESA = 16,
	GL_DECR_WRAP = 34056,
	GL_ADD_SIGNED_EXT = 34164,
	GL_MAP1_INDEX = 3473,
	GL_VBO_FREE_MEMORY_ATI = 34811,
	GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 34076,
	GL_COVERAGE_MODULATION_TABLE_SIZE_NV = 37683,
	GL_SLUMINANCE8 = 35911,
	GL_R32F = 33326,
	GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 34521,
	GL_POLYGON_OFFSET_EXT = 32823,
	GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = 34759,
	GL_COLOR_ATTACHMENT7 = 36071,
	GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT = 37639,
	GL_SAMPLE_MASK_INVERT_EXT = 32939,
	GL_LUMINANCE16_SIGNED_SGIX = 34281,
	GL_EDGE_FLAG = 2883,
	GL_PATCHES_EXT = 14,
	GL_POINT_SIZE = 2833,
	GL_UNSIGNED_INT64_AMD = 35778,
	GL_FALSE = 0,
	GL_WEIGHT_ARRAY_OES = 34477,
	GL_SOURCE0_ALPHA_EXT = 34184,
	GL_BLEND_DST_RGB_OES = 32968,
	GL_PHASE_SGIX = 33578,
	GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = 35081,
	GL_TRANSFORM_FEEDBACK_PAUSED = 36387,
	GL_PROGRAM_NATIVE_PARAMETERS_ARB = 34986,
	GL_ATTRIB_ARRAY_POINTER_NV = 34373,
	GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 33620,
	GL_SYNC_CONDITION_APPLE = 37139,
	GL_PURGEABLE_APPLE = 35357,
	GL_PRIMITIVE_BOUNDING_BOX_OES = 37566,
	GL_TESSELLATION_MODE_AMD = 36868,
	GL_RELATIVE_QUADRATIC_CURVE_TO_NV = 11,
	GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = 1,
	GL_ELEMENT_ARRAY_BUFFER_ARB = 34963,
	GL_RGB_422_APPLE = 35359,
	GL_QUERY = 33507,
	GL_LAST_VIDEO_CAPTURE_STATUS_NV = 36903,
	GL_VERTEX_BINDING_STRIDE = 33496,
	GL_TRACE_ERRORS_BIT_MESA = 32,
	GL_PRIMITIVE_RESTART_INDEX_NV = 34137,
	GL_GEOMETRY_SHADER = 36313,
	GL_TEXTURE_INTERNAL_FORMAT_QCOM = 35797,
	GL_SIGNED_INTENSITY_NV = 34567,
	GL_TEXTURE_4D_SGIS = 33076,
	GL_MATRIX14_NV = 34366,
	GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = 33532,
	GL_COMPRESSED_ALPHA = 34025,
	GL_TEXTURE_STORAGE_SPARSE_BIT_AMD = 1,
	GL_INTERNALFORMAT_RED_TYPE = 33400,
	GL_INSTRUMENT_MEASUREMENTS_SGIX = 33153,
	GL_Z400_BINARY_AMD = 34624,
	GL_NUM_COMPRESSED_TEXTURE_FORMATS = 34466,
	GL_LIGHT_MODEL_COLOR_CONTROL_EXT = 33272,
	GL_BLEND_COLOR = 32773,
	GL_LIGHT_MODEL_AMBIENT = 2899,
	GL_LINE = 6913,
	GL_BLEND_EQUATION_RGB_EXT = 32777,
	GL_MIN_BLUE_SGIS = 34218,
	GL_RGB32UI_EXT = 36209,
	GL_PERFQUERY_GLOBAL_CONTEXT_INTEL = 1,
	GL_TESS_EVALUATION_SHADER_BIT_OES = 16,
	GL_TEXTURE_DEFORMATION_SGIX = 33173,
	GL_TEXTURE26 = 34010,
	GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 33297,
	GL_REPLACE_EXT = 32866,
	GL_IMAGE_CUBE_MAP_ARRAY_OES = 36948,
	GL_MAX_ELEMENT_INDEX = 36203,
	GL_VIDEO_COLOR_CONVERSION_MIN_NV = 36907,
	GL_DOUBLE_VEC2_EXT = 36860,
	GL_OP_ADD_EXT = 34695,
	GL_COLOR_MATRIX_STACK_DEPTH_SGI = 32946,
	GL_FOG_GROUND_PLANE_SGIX = 33574,
	GL_TRANSFORM_FEEDBACK_ACTIVE = 36388,
	GL_RGB16F_ARB = 34843,
	GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 36388,
	GL_R16I = 33331,
	GL_GEOMETRY_SHADER_INVOCATIONS_EXT = 34943,
	GL_LINE_STRIP_ADJACENCY_ARB = 11,
	GL_TRACE_PRIMITIVES_BIT_MESA = 2,
	GL_BGRA_INTEGER_EXT = 36251,
	GL_MVP_MATRIX_EXT = 34787,
	GL_MIN_ALPHA_SGIS = 34220,
	GL_TEXTURE_CUBE_MAP_POSITIVE_X = 34069,
	GL_BACK_RIGHT = 1027,
	GL_MAX_SAMPLES_NV = 36183,
	GL_FRONT_FACE = 2886,
	GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 33784,
	GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 36665,
	GL_TEXTURE_LOD_BIAS_R_SGIX = 33168,
	GL_SUBTRACT_ARB = 34023,
	GL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES = 36263,
	GL_GUILTY_CONTEXT_RESET_ARB = 33363,
	GL_LINES_ADJACENCY_EXT = 10,
	GL_MAP_FLUSH_EXPLICIT_BIT_EXT = 16,
	GL_SMALL_CW_ARC_TO_NV = 20,
	GL_UNSIGNED_INT_SAMPLER_BUFFER_OES = 36312,
	GL_POINT_FADE_THRESHOLD_SIZE_EXT = 33064,
	GL_RELATIVE_LARGE_CW_ARC_TO_NV = 25,
	GL_MAX_FRAMEBUFFER_SAMPLES = 37656,
	GL_MAX_VARYING_FLOATS_ARB = 35659,
	GL_READ_WRITE = 35002,
	GL_TEXTURE_TOO_LARGE_EXT = 32869,
	GL_GEOMETRY_PROGRAM_NV = 35878,
	GL_EVAL_VERTEX_ATTRIB1_NV = 34503,
	GL_PATH_COMMAND_COUNT_NV = 37021,
	GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 36879,
	GL_SAMPLE_BUFFERS_ARB = 32936,
	GL_VALIDATE_STATUS = 35715,
	GL_INDEX_BITS = 3409,
	GL_DEPTH_ATTACHMENT = 36096,
	GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = 34998,
	GL_RGB16UI = 36215,
	GL_DEPTH_STENCIL_ATTACHMENT = 33306,
	GL_SAMPLES_EXT = 32937,
	GL_FRAGMENT_PROGRAM_NV = 34928,
	GL_SIGNED_HILO_NV = 34553,
	GL_TESS_CONTROL_PROGRAM_NV = 35102,
	GL_FUNC_REVERSE_SUBTRACT_EXT = 32779,
	GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 36319,
	GL_SRGB8_EXT = 35905,
	GL_TEXTURE23 = 34007,
	GL_SCREEN_COORDINATES_REND = 33936,
	GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 1,
	GL_TRACE_TEXTURES_BIT_MESA = 8,
	GL_DS_BIAS_NV = 34582,
	GL_NORMAL_ARRAY = 32885,
	GL_UNPACK_CMYK_HINT_EXT = 32783,
	GL_MAX_LABEL_LENGTH = 33512,
	GL_Q = 8195,
	GL_TEXTURE_VIEW_NUM_LAYERS_EXT = 33502,
	GL_PROGRAM_BINARY_LENGTH_OES = 34625,
	GL_PLUS_CLAMPED_ALPHA_NV = 37554,
	GL_SCISSOR_TEST = 3089,
	GL_ENV_MAP_SGIX = 33600,
	GL_TEXTURE_INTENSITY_SIZE_EXT = 32865,
	GL_REG_5_ATI = 35110,
	GL_TEXTURE_CUBE_MAP_OES = 34067,
	GL_SLUMINANCE_EXT = 35910,
	GL_COORD_REPLACE = 34914,
	GL_UNSIGNED_BYTE_2_3_3_REV_EXT = 33634,
	GL_POST_CONVOLUTION_RED_BIAS_EXT = 32800,
	GL_ELEMENT_ARRAY_APPLE = 35340,
	GL_UNPACK_ROW_LENGTH_EXT = 3314,
	GL_AFFINE_2D_NV = 37010,
	GL_MAX_LUMINANCE_SGIS = 34297,
	GL_SPECULAR = 4610,
	GL_UNDEFINED_VERTEX = 33376,
	GL_OP_RECIP_EXT = 34708,
	GL_TEXTURE_4D_BINDING_SGIS = 33103,
	GL_REFERENCED_BY_TESS_CONTROL_SHADER_OES = 37639,
	GL_RED_BIAS = 3349,
	GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES = 36482,
	GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 37696,
	GL_SECONDARY_COLOR_NV = 34093,
	GL_SAMPLE_PATTERN_EXT = 32940,
	GL_T4F_C4F_N3F_V4F = 10797,
	GL_VERTEX_STREAM6_ATI = 34674,
	GL_COPY_WRITE_BUFFER_BINDING = 36663,
	GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 36058,
	GL_SPRITE_MODE_SGIX = 33097,
	GL_CONTEXT_LOST = 1287,
	GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = 34113,
	GL_RGB2_EXT = 32846,
	GL_GREEN_BIAS = 3353,
	GL_VERTEX_ARRAY_RANGE_POINTER_NV = 34081,
	GL_SHADER_IMAGE_STORE = 33445,
	GL_RECT_NV = 246,
	GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR = 33351,
	GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES = 37279,
	GL_COVERAGE_COMPONENT4_NV = 36561,
	GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT = 36489,
	GL_TEXTURE_NORMAL_EXT = 34223,
	GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 34080,
	GL_DRAW_BUFFER11 = 34864,
	GL_COLOR_ARRAY_LIST_IBM = 103072,
	GL_UNIFORM_BUFFER_BINDING_EXT = 36335,
	GL_OBJECT_BUFFER_SIZE_ATI = 34660,
	GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 32914,
	GL_SHADER_BINARY_DMP = 37456,
	GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 35958,
	GL_DRAW_INDIRECT_UNIFIED_NV = 36672,
	GL_SOFTLIGHT_NV = 37532,
	GL_DEBUG_OUTPUT = 37600,
	GL_POST_CONVOLUTION_BLUE_SCALE_EXT = 32798,
	GL_REPLACEMENT_CODE_SUN = 33240,
	GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = 35899,
	GL_TRUE = 1,
	GL_MAX_DEBUG_MESSAGE_LENGTH_KHR = 37187,
	GL_BITMAP_TOKEN = 1796,
	GL_GUILTY_CONTEXT_RESET = 33363,
	GL_VERTEX_PROGRAM_POINT_SIZE_ARB = 34370,
	GL_DEBUG_OUTPUT_SYNCHRONOUS = 33346,
	GL_MULTISAMPLE_FILTER_HINT_NV = 34100,
	GL_BLEND_DST_ALPHA_OES = 32970,
	GL_COMPRESSED_RGBA_FXT1_3DFX = 34481,
	GL_LINES = 1,
	GL_VERTEX_SUBROUTINE = 37608,
	GL_GET_TEXTURE_IMAGE_TYPE = 33426,
	GL_SAMPLER_2D_ARRAY_EXT = 36289,
	GL_EXPAND_NEGATE_NV = 34105,
	GL_TRACE_ALL_BITS_MESA = 65535,
	GL_OFFSET_TEXTURE_2D_BIAS_NV = 34531,
	GL_NUM_SHADER_BINARY_FORMATS = 36345,
	GL_RGB8_SNORM = 36758,
	GL_PIXEL_MAP_R_TO_R_SIZE = 3254,
	GL_PIXEL_MAP_A_TO_A_SIZE = 3257,
	GL_DARKEN_KHR = 37527,
	GL_FRAMEBUFFER_RENDERABLE = 33417,
	GL_VERSION = 7938,
	GL_TESS_GEN_VERTEX_ORDER_OES = 36472,
	GL_DEBUG_TYPE_ERROR = 33356,
	GL_PROGRAM_INSTRUCTIONS_ARB = 34976,
	GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = 36915,
	GL_ALPHA12 = 32829,
	GL_MAX_VERTEX_SHADER_LOCALS_EXT = 34761,
	GL_OPERAND1_ALPHA_EXT = 34201,
	GL_MATRIX_INDEX_ARRAY_OES = 34884,
	GL_REDUCE_EXT = 32790,
	GL_VERTEX_PROGRAM_POINT_SIZE = 34370,
	GL_SLUMINANCE_ALPHA_NV = 35908,
	GL_HSL_HUE_NV = 37549,
	GL_MAP_INVALIDATE_BUFFER_BIT_EXT = 8,
	GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 17,
	GL_CLAMP_READ_COLOR_ARB = 35100,
	GL_UNPACK_IMAGE_HEIGHT = 32878,
	GL_PATH_GEN_COEFF_NV = 37041,
	GL_MODELVIEW3_ARB = 34595,
	GL_PIXEL_TEX_GEN_LAMBDA_SOURCE_SGIX = 33626,
	GL_SUB_ATI = 35173,
	GL_TEXTURE_COLOR_SAMPLES_NV = 36934,
	GL_FORMAT_SUBSAMPLE_24_24_OML = 35202,
	GL_BGR = 32992,
	GL_ATTRIB_ARRAY_STRIDE_NV = 34340,
	GL_MULTISAMPLE_BIT_EXT = 536870912,
	GL_GLYPH_HAS_KERNING_BIT_NV = 256,
	GL_SRC_IN_NV = 37514,
	GL_R32F_EXT = 33326,
	GL_PATH_FILL_BOUNDING_BOX_NV = 37025,
	GL_UNSIGNED_INVERT_NV = 34103,
	GL_VERTEX_ARRAY_RANGE_VALID_NV = 34079,
	GL_CLAMP_TO_BORDER_ARB = 33069,
	GL_COLOR_ATTACHMENT5 = 36069,
	GL_MAX_CONVOLUTION_HEIGHT_EXT = 32795,
	GL_C4F_N3F_V3F = 10790,
	GL_UNSIGNED_INT_SAMPLER_1D_EXT = 36305,
	GL_MAP_ATTRIB_U_ORDER_NV = 34499,
	GL_TRANSFORM_FEEDBACK_BUFFER_START = 35972,
	GL_MULTISAMPLE_BUFFER_BIT7_QCOM = 2147483648,
	GL_FACTOR_ALPHA_MODULATE_IMG = 35847,
	GL_VERTEX_ATTRIB_ARRAY9_NV = 34393,
	GL_NOR = 5384,
	GL_PALETTE4_RGBA8_OES = 35729,
	GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = 34523,
	GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 33357,
	GL_TEXTURE_MIPMAP_ANISOTROPY_SGIX = 33582,
	GL_MAX_TEXTURE_BUFFER_SIZE = 35883,
	GL_SAMPLE_MASK_EXT = 32928,
	GL_SAMPLER_CUBE = 35680,
	GL_MAX_CLIP_DISTANCES_APPLE = 3378,
	GL_SAMPLES = 32937,
	GL_TEXTURE_3D_OES = 32879,
	GL_SAMPLE_COVERAGE_INVERT_ARB = 32939,
	GL_UNSIGNED_INT_10_10_10_2_EXT = 32822,
	GL_STENCIL_INDEX1_EXT = 36166,
	GL_VERTEX_SHADER_BIT = 1,
	GL_MAX_4D_TEXTURE_SIZE_SGIS = 33080,
	GL_SEPARATE_ATTRIBS_NV = 35981,
	GL_MAX_NUM_ACTIVE_VARIABLES = 37623,
	GL_SAMPLE_ALPHA_TO_ONE_SGIS = 32927,
	GL_SLIM12S_SGIX = 33567,
	GL_RGB16_EXTENDED_RANGE_SGIX = 34290,
	GL_LIGHT4 = 16388,
	GL_MOVE_TO_RESETS_NV = 37045,
	GL_RGBA_FLOAT32_ATI = 34836,
	GL_FOG_COORDINATE_ARRAY = 33879,
	GL_COLOR_INDEX16_EXT = 32999,
	GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES = 37079,
	GL_VARIABLE_A_NV = 34083,
	GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 37087,
	GL_INT_10_10_10_2_OES = 36343,
	GL_BITMAP = 6656,
	GL_ITALIC_BIT_NV = 2,
	GL_LUMINANCE_FLOAT32_APPLE = 34840,
	GL_DEBUG_TYPE_PORTABILITY_KHR = 33359,
	GL_SAMPLER_BUFFER_AMD = 36865,
	GL_AUTO_GENERATE_MIPMAP = 33429,
	GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 34242,
	GL_REPLACEMENT_CODE_ARRAY_SUN = 34240,
	GL_SHADER_STORAGE_BUFFER_BINDING = 37075,
	GL_COMPRESSED_RGB_FXT1_3DFX = 34480,
	GL_MULTISAMPLE_3DFX = 34482,
	GL_READ_ONLY_ARB = 35000,
	GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 37078,
	GL_TEXTURE_BUFFER_BINDING_EXT = 35882,
	GL_DEBUG_SOURCE_THIRD_PARTY_ARB = 33353,
	GL_SECONDARY_COLOR_ARRAY_TYPE = 33883,
	GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 35657,
	GL_NORMAL_ARRAY_POINTER = 32911,
	GL_CPU_OPTIMIZED_QCOM = 36785,
	GL_GENERATE_MIPMAP_SGIS = 33169,
	GL_TEXTURE_COMPRESSED_BLOCK_SIZE = 33459,
	GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = 35915,
	GL_TEXTURE_IMMUTABLE_FORMAT = 37167,
	GL_VERTEX_ARRAY_TYPE_EXT = 32891,
	GL_REDUCE = 32790,
	GL_BUFFER_ACCESS_OES = 35003,
	GL_DEBUG_CALLBACK_FUNCTION_ARB = 33348,
	GL_COMPRESSED_SIGNED_RED_RGTC1 = 36284,
	GL_EVAL_VERTEX_ATTRIB6_NV = 34508,
	GL_COMPRESSED_LUMINANCE_ALPHA = 34027,
	GL_DRAW_BUFFER = 3073,
	GL_TEXTURE_GEN_MODE = 9472,
	GL_TEXTURE_BINDING_CUBE_MAP_ARB = 34068,
	GL_RESAMPLE_DECIMATE_OML = 35209,
	GL_RGBA_SNORM = 36755,
	GL_TEXTURE_WRAP_T = 10243,
	GL_POLYGON_STIPPLE_BIT = 16,
	GL_HISTOGRAM_WIDTH = 32806,
	GL_BUFFER_KHR = 33504,
	GL_UNSIGNED_INT_8_8_8_8 = 32821,
	GL_QUADS_OES = 7,
	GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 34979,
	GL_POINT_SPRITE_COORD_ORIGIN = 36000,
	GL_MAX_TEXTURE_LOD_BIAS_EXT = 34045,
	GL_INVERTED_SCREEN_W_REND = 33937,
	GL_CONTEXT_FLAGS = 33310,
	GL_MAX_LAYERS = 33409,
	GL_UNPACK_PREMULTIPLY_ALPHA_WEBGL = 37441,
	GL_TEXTURE_HEIGHT = 4097,
	GL_QUADRATIC_ATTENUATION = 4617,
	GL_SOURCE0_RGB_EXT = 34176,
	GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 37020,
	GL_YCRCB_SGIX = 33560,
	GL_UNIFORM_MATRIX_STRIDE = 35389,
	GL_PROGRAM_LENGTH_ARB = 34343,
	GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 36309,
	GL_WRITE_PIXEL_DATA_RANGE_NV = 34936,
	GL_DYNAMIC_COPY = 35050,
	GL_LUMINANCE_ALPHA8I_EXT = 36243,
	GL_EXTENDED_RANGE_SGIS = 34213,
	GL_COMBINER_MUX_SUM_NV = 34119,
	GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 37068,
	GL_IMAGE_ROTATE_ORIGIN_Y_HP = 33115,
	GL_QUERY_BUFFER_AMD = 37266,
	GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 37577,
	GL_VERTEX_PRECLIP_HINT_SGIX = 33775,
	GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 8,
	GL_TEXTURE_3D = 32879,
	GL_COLOR_ARRAY_POINTER = 32912,
	GL_LUMINANCE4_ALPHA4 = 32835,
	GL_TEXTURE_FORMAT_QCOM = 35798,
	GL_HISTOGRAM_GREEN_SIZE = 32809,
	GL_NEGATIVE_X_EXT = 34777,
	GL_R32UI = 33334,
	GL_COLOR_MATERIAL = 2903,
	GL_TRANSPOSE_COLOR_MATRIX_ARB = 34022,
	GL_DETAIL_TEXTURE_LEVEL_SGIS = 32922,
	GL_STENCIL_BACK_PASS_DEPTH_PASS = 34819,
	GL_QUAD_LUMINANCE8_SGIS = 33057,
	GL_2X_BIT_ATI = 1,
	GL_DEBUG_SOURCE_SHADER_COMPILER_ARB = 33352,
	GL_UNSIGNED_INT_SAMPLER_1D = 36305,
	GL_GEOMETRY_LINKED_OUTPUT_TYPE_OES = 35096,
	GL_CURRENT_RASTER_SECONDARY_COLOR = 33887,
	GL_ALIASED_POINT_SIZE_RANGE = 33901,
	GL_COMPRESSED_RG11_EAC_OES = 37490,
	GL_MAX_TESS_PATCH_COMPONENTS = 36484,
	GL_TEXTURE_BORDER_COLOR = 4100,
	GL_EMBOSS_LIGHT_NV = 34141,
	GL_FRAGMENT_SHADER = 35632,
	GL_SHARED_TEXTURE_PALETTE_EXT = 33275,
	GL_SWIZZLE_STR_ATI = 35190,
	GL_LUMINANCE8_SNORM = 36885,
	GL_TEXTURE1 = 33985,
	GL_MAX_DEBUG_MESSAGE_LENGTH = 37187,
	GL_CONTEXT_ROBUST_ACCESS = 37107,
	GL_MODELVIEW1_STACK_DEPTH_EXT = 34050,
	GL_FRACTIONAL_EVEN = 36476,
	GL_PERFQUERY_DONOT_FLUSH_INTEL = 33785,
	GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 4,
	GL_ANY_SAMPLES_PASSED_EXT = 35887,
	GL_UNSIGNED_SHORT_5_6_5_REV = 33636,
	GL_STANDARD_FONT_NAME_NV = 36978,
	GL_MAX_PALETTE_MATRICES_OES = 34882,
	GL_OP_CROSS_PRODUCT_EXT = 34711,
	GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = 34971,
	GL_UNSIGNED_INT_SAMPLER_2D = 36306,
	GL_MAP_READ_BIT = 1,
	GL_CURRENT_TIME_NV = 36392,
	GL_BGR_EXT = 32992,
	GL_QUERY_BY_REGION_WAIT_INVERTED = 36377,
	GL_MAX_ASYNC_READ_PIXELS_SGIX = 33633,
	GL_POST_CONVOLUTION_RED_SCALE = 32796,
	GL_STENCIL_INDEX1 = 36166,
	GL_ALPHA32UI_EXT = 36210,
	GL_RETAINED_APPLE = 35355,
	GL_COMPUTE_TEXTURE = 33440,
	GL_BLUE_MIN_CLAMP_INGR = 34146,
	GL_MAP1_GRID_SEGMENTS = 3537,
	GL_MAP2_GRID_SEGMENTS = 3539,
	GL_DRAW_BUFFER6_NV = 34859,
	GL_3_BYTES_NV = 5128,
	GL_MAP_WRITE_BIT = 2,
	GL_RENDERBUFFER_SAMPLES_APPLE = 36011,
	GL_ALPHA_TEST_QCOM = 3008,
	GL_RGB = 6407,
	GL_ALPHA16F_EXT = 34844,
	GL_DOUBLE_MAT3x2 = 36683,
	GL_MAX_DEBUG_LOGGED_MESSAGES_AMD = 37188,
	GL_INDEX_ARRAY_STRIDE_EXT = 32902,
	GL_TEXTURE_RESIDENT = 32871,
	GL_POINT_SIZE_MAX_EXT = 33063,
	GL_BINORMAL_ARRAY_EXT = 33850,
	GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 36479,
	GL_YCRCB_444_SGIX = 33212,
	GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 34760,
	GL_NONE = 0,
	GL_MAX_TEXTURES_SGIS = 33731,
	GL_RGB8I = 36239,
	GL_MALI_PROGRAM_BINARY_ARM = 36705,
	GL_MATRIX13_NV = 34365,
	GL_FOG_COORDINATE_ARRAY_POINTER_EXT = 33878,
	GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 36485,
	GL_PROGRAM_FORMAT_ASCII_ARB = 34933,
	GL_PINLIGHT_NV = 37544,
	GL_SECONDARY_COLOR_ARRAY = 33886,
	GL_INTENSITY = 32841,
	GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 37587,
	GL_RENDERBUFFER_INTERNAL_FORMAT = 36164,
	GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 33148,
	GL_TRIANGLE_LIST_SUN = 33239,
	GL_TEXTURE_COMPRESSED_ARB = 34465,
	GL_RELATIVE_VERTICAL_LINE_TO_NV = 9,
	GL_GUILTY_CONTEXT_RESET_EXT = 33363,
	GL_MAP2_TEXTURE_COORD_4 = 3510,
	GL_TEXTURE_VIEW_NUM_LAYERS_OES = 33502,
	GL_RELATIVE_LINE_TO_NV = 5,
	GL_COMPARE_REF_TO_TEXTURE = 34894,
	GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 35881,
	GL_OBJECT_BUFFER_USAGE_ATI = 34661,
	GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = 36665,
	GL_CULL_FACE_MODE = 2885,
	GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 38143,
	GL_COVERAGE_SAMPLES_NV = 36564,
	GL_TEXTURE_DEPTH = 32881,
	GL_RESET_NOTIFICATION_STRATEGY_EXT = 33366,
	GL_INNOCENT_CONTEXT_RESET = 33364,
	GL_MAX_3D_TEXTURE_SIZE_EXT = 32883,
	GL_CONTEXT_RELEASE_BEHAVIOR = 33531,
	GL_LAYER_PROVOKING_VERTEX_EXT = 33374,
	GL_POST_CONVOLUTION_RED_BIAS = 32800,
	GL_DEPTH_TEXTURE_MODE_ARB = 34891,
	GL_ETC1_SRGB8_NV = 35054,
	GL_VERTEX23_BIT_PGI = 4,
	GL_REGISTER_COMBINERS_NV = 34082,
	GL_TESS_EVALUATION_SHADER_BIT = 16,
	GL_PIXEL_MAP_I_TO_I = 3184,
	GL_CONVOLUTION_BORDER_MODE = 32787,
	GL_COLOR_ATTACHMENT3 = 36067,
	GL_DEPTH_STENCIL_OES = 34041,
	GL_INT8_VEC3_NV = 36834,
	GL_PIXEL_COUNTER_BITS_NV = 34916,
	GL_SOURCE2_ALPHA_ARB = 34186,
	GL_VERTEX_ATTRIB_ARRAY15_NV = 34399,
	GL_RELATIVE_SMALL_CW_ARC_TO_NV = 21,
	GL_3DC_X_AMD = 34809,
	GL_R16 = 33322,
	GL_DRAW_BUFFER_EXT = 3073,
	GL_SPOT_CUTOFF = 4614,
	GL_PN_TRIANGLES_ATI = 34800,
	GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 37099,
	GL_RG8_EXT = 33323,
	GL_RESAMPLE_DECIMATE_SGIX = 33840,
	GL_UNPACK_SKIP_PIXELS = 3316,
	GL_REG_12_ATI = 35117,
	GL_COLOR_SUM_EXT = 33880,
	GL_R8I = 33329,
	GL_DRAW_BUFFER7 = 34860,
	GL_COMPRESSED_SIGNED_RG11_EAC_OES = 37491,
	GL_UNSIGNED_INT_SAMPLER_2D_RECT = 36309,
	GL_POST_TEXTURE_FILTER_SCALE_SGIX = 33146,
	GL_EYE_RADIAL_NV = 34139,
	GL_LIGHT_ENV_MODE_SGIX = 33799,
	GL_LIST_PRIORITY_SGIX = 33154,
	GL_PROGRAM_ERROR_POSITION_NV = 34379,
	GL_DST_COLOR = 774,
	GL_MAX_TEXTURE_LOD_BIAS = 34045,
	GL_OCCLUSION_TEST_HP = 33125,
	GL_HILO8_NV = 34910,
	GL_MAX_GEOMETRY_OUTPUT_VERTICES_OES = 36320,
	GL_FLOAT_MAT2x4 = 35686,
	GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = 32990,
	GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 35069,
	GL_PROGRAM = 33506,
	GL_PROXY_TEXTURE_RECTANGLE = 34039,
	GL_ENABLE_BIT = 8192,
	GL_ROUNDED_RECT2_NV = 234,
	GL_HISTOGRAM_BLUE_SIZE_EXT = 32810,
	GL_SRC_ALPHA_SATURATE = 776,
	GL_DRAW_BUFFER10_EXT = 34863,
	GL_IMAGE_2D_MULTISAMPLE_EXT = 36949,
	GL_COVERAGE_ALL_FRAGMENTS_NV = 36565,
	GL_DOUBLE_MAT4x3 = 36686,
	GL_TEXTURE_PRIORITY = 32870,
	GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 36259,
	GL_MAP1_COLOR_4_NURBS_SGIX = 33230,
	GL_DEPTH_CLAMP_FAR_AMD = 36895,
	GL_MAP1_BINORMAL_EXT = 33862,
	GL_R8_EXT = 33321,
	GL_REPLACE_OLDEST_SUN = 3,
	GL_QUERY_WAIT_NV = 36371,
	GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 33347,
	GL_GEOMETRY_SHADER_INVOCATIONS_OES = 34943,
	GL_OBJECT_LINEAR_NV = 9217,
	GL_MAX_VERTEX_STREAMS_ATI = 34667,
	GL_EYE_PLANE = 9474,
	GL_TESS_EVALUATION_SHADER_BIT_EXT = 16,
	GL_TEXTURE_COMPRESSED = 34465,
	GL_TEXTURE_BUFFER_BINDING = 35882,
	GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = 34940,
	GL_DOMAIN = 2562,
	GL_TEXTURE_BINDING_1D = 32872,
	GL_RGB5_EXT = 32848,
	GL_RGB_EXTENDED_RANGE_SGIX = 34284,
	GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV = 16777216,
	GL_VERTEX_ARRAY_LENGTH_NV = 36651,
	GL_RELATIVE_LARGE_CCW_ARC_TO_NV = 23,
	GL_IMAGE_CLASS_4_X_32 = 33465,
	GL_TEXTURE_STENCIL_SIZE = 35057,
	GL_COLOR_TO_TEXTURE_COORD_SGIX = 33623,
	GL_UNKNOWN_CONTEXT_RESET_ARB = 33365,
	GL_QUERY_NO_WAIT_NV = 36372,
	GL_COLOR_WRITEMASK = 3107,
	GL_MAX_IMAGE_SAMPLES_EXT = 36973,
	GL_UNDEFINED_VERTEX_OES = 33376,
	GL_SAMPLE_ALPHA_TO_MASK_SGIS = 32926,
	GL_TEXTURE_IMMUTABLE_FORMAT_EXT = 37167,
	GL_MAX_3D_TEXTURE_SIZE_OES = 32883,
	GL_TEXTURE_1D_ARRAY = 35864,
	GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 33591,
	GL_PACK_SKIP_ROWS = 3331,
	GL_TESS_CONTROL_SHADER_EXT = 36488,
	GL_MAX_DRAW_BUFFERS_EXT = 34852,
	GL_TIME_ELAPSED = 35007,
	GL_TEXCOORD3_BIT_PGI = 1073741824,
	GL_TEXTURE_MEMORY_LAYOUT_INTEL = 33791,
	GL_FILTER4_SGIS = 33094,
	GL_TEXTURE_ALPHA_TYPE = 35859,
	GL_VIBRANCE_BIAS_NV = 34585,
	GL_OCCLUSION_TEST_RESULT_HP = 33126,
	GL_TEXTURE_VIEW = 33461,
	GL_FLOAT_R16_NV = 34948,
	GL_RGB32F_ARB = 34837,
	GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 37674,
	GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = 36282,
	GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 35213,
	GL_LUMINANCE16_SNORM = 36889,
	GL_TEXTURE_WRAP_S = 10242,
	GL_VIEW_CLASS_24_BITS = 33481,
	GL_ACTIVE_TEXTURE = 34016,
	GL_MAX_COMBINED_DIMENSIONS = 33410,
	GL_GPU_ADDRESS_NV = 36660,
	GL_TRANSFORM_BIT = 4096,
	GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 36049,
	GL_UNSIGNED_INT = 5125,
	GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 35396,
	GL_FONT_UNAVAILABLE_NV = 37738,
	GL_MINOR_VERSION = 33308,
	GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT = 37079,
	GL_ALL_BARRIER_BITS_EXT = 4294967295,
	GL_EYE_DISTANCE_TO_LINE_SGIS = 33266,
	GL_STENCIL_REF = 2967,
	GL_INT_SAMPLER_CUBE_MAP_ARRAY = 36878,
	GL_IMAGE_TRANSFORM_2D_HP = 33121,
	GL_TIME_ELAPSED_EXT = 35007,
	GL_RGBA_MODE = 3121,
	GL_XOR_NV = 5382,
	GL_PROXY_TEXTURE_2D_ARRAY_EXT = 35867,
	GL_READ_WRITE_ARB = 35002,
	GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 33776,
	GL_PROGRAM_NATIVE_TEMPORARIES_ARB = 34982,
	GL_GEOMETRY_SHADER_OES = 36313,
	GL_VERTEX_ARRAY_RANGE_APPLE = 34077,
	GL_VIEW_CLASS_S3TC_DXT1_RGB = 33484,
	GL_LINE_STIPPLE = 2852,
	GL_VERTEX_ARRAY_BINDING_OES = 34229,
	GL_INTERNALFORMAT_BLUE_SIZE = 33395,
	GL_ARC_TO_NV = 254,
	GL_DEPTH_COMPONENT16_OES = 33189,
	GL_VERTEX_SHADER = 35633,
	GL_FLOAT_RGBA32_NV = 34955,
	GL_FRAGMENT_INPUT_NV = 37741,
	GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 37086,
	GL_MATRIX1_NV = 34353,
	GL_PATH_STROKE_MASK_NV = 36996,
	GL_FOG_COORDINATE_SOURCE_EXT = 33872,
	GL_TEXTURE_OBJECT_VALID_QCOM = 35803,
	GL_LUMINANCE4_ALPHA4_EXT = 32835,
	GL_READ_FRAMEBUFFER_ANGLE = 36008,
	GL_TESS_CONTROL_OUTPUT_VERTICES = 36469,
	GL_COLOR_ARRAY_TYPE_EXT = 32898,
	GL_BLOCK_INDEX = 37629,
	GL_FLOAT16_VEC2_NV = 36857,
	GL_TEXTURE_GEQUAL_R_SGIX = 33181,
	GL_STENCIL_RENDERABLE = 33416,
	GL_MAX_3D_TEXTURE_SIZE = 32883,
	GL_SGX_PROGRAM_BINARY_IMG = 37168,
	GL_C4UB_V3F = 10787,
	GL_SAMPLER_3D = 35679,
	GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = 35070,
	GL_ATOMIC_COUNTER_BARRIER_BIT = 4096,
	GL_MIN_MAP_BUFFER_ALIGNMENT = 37052,
	GL_COMBINER_BIAS_NV = 34121,
	GL_DEPTH_CLAMP = 34383,
	GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 34902,
	GL_BOUNDING_BOX_NV = 37005,
	GL_SAMPLER_EXTERNAL_OES = 36198,
	GL_DEBUG_SEVERITY_HIGH_KHR = 37190,
	GL_PROGRAM_RESULT_COMPONENTS_NV = 35079,
	GL_UNPACK_CLIENT_STORAGE_APPLE = 34226,
	GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 36269,
	GL_DEBUG_GROUP_STACK_DEPTH = 33389,
	GL_TEXTURE7 = 33991,
	GL_TEXTURE_RESIDENT_EXT = 32871,
	GL_COMPRESSED_RGB_ARB = 34029,
	GL_LARGE_CCW_ARC_TO_NV = 22,
	GL_PHONG_WIN = 33002,
	GL_TEXTURE_GREEN_SIZE_EXT = 32861,
	GL_RENDERBUFFER_HEIGHT = 36163,
	GL_PRIMARY_COLOR = 34167,
	GL_EVAL_VERTEX_ATTRIB9_NV = 34511,
	GL_TEXTURE_IMMUTABLE_LEVELS = 33503,
	GL_UNSIGNED_INT_VEC3 = 36295,
	GL_DEBUG_SOURCE_APPLICATION_ARB = 33354,
	GL_CONTEXT_LOST_WEBGL = 37442,
	GL_FLOAT_RGB32_NV = 34953,
	GL_NUM_PROGRAM_BINARY_FORMATS = 34814,
	GL_MAX_INTENSITY_SGIS = 34299,
	GL_T = 8193,
	GL_INCR_WRAP = 34055,
	GL_DRAW_FRAMEBUFFER_EXT = 36009,
	GL_VERTEX_ARRAY_RANGE_LENGTH_NV = 34078,
	GL_AUTO_NORMAL = 3456,
	GL_BALI_R_CHIP_COUNT_SGIX = 33772,
	GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 34765,
	GL_MAX_VIEWPORTS = 33371,
	GL_COMPLEX_UNSIGNED_SHORT_SGI = 33215,
	GL_TEXTURE_WIDTH = 4096,
	GL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES = 36442,
	GL_REFERENCE_PLANE_EQUATION_SGIX = 33150,
	GL_RGB4 = 32847,
	GL_COMPARE_R_TO_TEXTURE = 34894,
	GL_CON_30_ATI = 35167,
	GL_UNSIGNED_INT_24_8_OES = 34042,
	GL_CLAMP_TO_BORDER_SGIS = 33069,
	GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = 32950,
	GL_LUMINANCE8_ALPHA8_OES = 32837,
	GL_CON_11_ATI = 35148,
	GL_PROGRAM_POINT_SIZE = 34370,
	GL_TEXCOORD1_BIT_PGI = 268435456,
	GL_POST_CONVOLUTION_BLUE_BIAS_EXT = 32802,
	GL_MAX_FRAMEBUFFER_LAYERS_EXT = 37655,
	GL_FUNC_SUBTRACT_EXT = 32778,
	GL_INT_SAMPLER_1D_EXT = 36297,
	GL_ETC1_RGB8_OES = 36196,
	GL_COMBINER0_NV = 34128,
	GL_DRAW_BUFFER15 = 34868,
	GL_DIFFUSE = 4609,
	GL_SPOT_CUTOFF_DELTA_SGIX = 33171,
	GL_DEPTH_COMPONENT32 = 33191,
	GL_MAP2_INDEX = 3505,
	GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 36321,
	GL_UNSIGNED_INT_10F_11F_11F_REV = 35899,
	GL_SRGB_DECODE_ARB = 33433,
	GL_TRANSPOSE_MODELVIEW_MATRIX = 34019,
	GL_COLOR_MATRIX = 32945,
	GL_MAP_UNSYNCHRONIZED_BIT_EXT = 32,
	GL_TEXTURE_IMAGE_VALID_QCOM = 35800,
	GL_MAX_VERTEX_ATTRIBS = 34921,
	GL_ALPHA16 = 32830,
	GL_TRACK_MATRIX_TRANSFORM_NV = 34377,
	GL_VERTEX_PROGRAM_POSITION_MESA = 35764,
	GL_RG8_SNORM = 36757,
	GL_SYNC_X11_FENCE_EXT = 37089,
	GL_TEXTURE_RECTANGLE_NV = 34037,
	GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 34831,
	GL_COMBINER_COMPONENT_USAGE_NV = 34116,
	GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT = 37156,
	GL_DST_OVER_NV = 37513,
	GL_RGB16_SNORM = 36762,
	GL_TEXTURE_FETCH_BARRIER_BIT_EXT = 8,
	GL_RGB16F = 34843,
	GL_UNPACK_IMAGE_DEPTH_SGIS = 33075,
	GL_SAMPLER_3D_ARB = 35679,
	GL_FRAGMENT_COLOR_EXT = 33612,
	GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 36767,
	GL_ATOMIC_COUNTER_BUFFER_SIZE = 37571,
	GL_COMPRESSED_SRGB_ALPHA = 35913,
	GL_BALI_DEPTH_PASS_INSTRUMENT_SGIX = 33771,
	GL_PACK_RESAMPLE_SGIX = 33838,
	GL_C3F_V3F = 10788,
	GL_CURRENT_VERTEX_EXT = 34786,
	GL_BUMP_TARGET_ATI = 34684,
	GL_SLUMINANCE8_ALPHA8 = 35909,
	GL_LIGHT0 = 16384,
	GL_POINT_DISTANCE_ATTENUATION = 33065,
	GL_SMOOTH_POINT_SIZE_RANGE = 2834,
	GL_TEXTURE_RED_TYPE_ARB = 35856,
	GL_ONE = 1,
	GL_MIRRORED_REPEAT_ARB = 33648,
	GL_CURRENT_FOG_COORDINATE = 33875,
	GL_SPRITE_SGIX = 33096,
	GL_VIEW_COMPATIBILITY_CLASS = 33462,
	GL_SECONDARY_INTERPOLATOR_ATI = 35181,
	GL_MAX_CUBE_MAP_TEXTURE_SIZE = 34076,
	GL_PIXEL_UNPACK_BUFFER_EXT = 35052,
	GL_DEPTH32F_STENCIL8 = 36013,
	GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES = 37494,
	GL_SPHERE_MAP = 9218,
	GL_VIEWPORT_BOUNDS_RANGE = 33373,
	GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 36483,
	GL_MATRIX15_NV = 34367,
	GL_VERTEX_ATTRIB_ARRAY3_NV = 34387,
	GL_ALL_BARRIER_BITS = 4294967295,
	GL_FRAGMENTS_INSTRUMENT_SGIX = 33555,
	GL_COMPRESSED_INTENSITY_ARB = 34028,
	GL_MAP_INVALIDATE_RANGE_BIT_EXT = 4,
	GL_FUNC_REVERSE_SUBTRACT = 32779,
	GL_WEIGHT_ARRAY_SIZE_OES = 34475,
	GL_MAX_VERTEX_HINT_PGI = 107053,
	GL_FLOAT_MAT4x2 = 35689,
	GL_TEXTURE_BASE_LEVEL_SGIS = 33084,
	GL_VERTEX_CONSISTENT_HINT_PGI = 107051,
	GL_CLIP_VOLUME_CLIPPING_HINT_EXT = 33008,
	GL_IMAGE_CLASS_1_X_8 = 33473,
	GL_MAX_VARYING_COMPONENTS_EXT = 35659,
	GL_VERTEX_DATA_HINT_PGI = 107050,
	GL_BACK_NORMALS_HINT_PGI = 107043,
	GL_SHADING_LANGUAGE_VERSION_ARB = 35724,
	GL_TESS_EVALUATION_SHADER = 36487,
	GL_PERFQUERY_SINGLE_CONTEXT_INTEL = 0,
	GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 36481,
	GL_PATH_MODELVIEW_NV = 5888,
	GL_COLOR_TABLE_INTENSITY_SIZE_SGI = 32991,
	GL_MAX_DEPTH = 33408,
	GL_CURRENT_TEXTURE_COORDS = 2819,
	GL_TEXTURE_RANGE_POINTER_APPLE = 34232,
	GL_FULL_STIPPLE_HINT_PGI = 107033,
	GL_STRICT_SCISSOR_HINT_PGI = 107032,
	GL_VOLATILE_APPLE = 35354,
	GL_ATOMIC_COUNTER_BUFFER = 37568,
	GL_POST_COLOR_MATRIX_BLUE_BIAS = 32954,
	GL_HISTOGRAM_SINK_EXT = 32813,
	GL_SIGNED_INTENSITY8_NV = 34568,
	GL_STRICT_DEPTHFUNC_HINT_PGI = 107030,
	GL_UNSIGNED_INT_IMAGE_1D_ARRAY = 36968,
	GL_RGB9_E5_EXT = 35901,
	GL_COLOR_MATERIAL_FACE = 2901,
	GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = 34350,
	GL_EYE_LINE_SGIS = 33270,
	GL_ALLOW_DRAW_FRG_HINT_PGI = 107024,
	GL_ALLOW_DRAW_WIN_HINT_PGI = 107023,
	GL_STATIC_DRAW_ARB = 35044,
	GL_ALLOW_DRAW_OBJ_HINT_PGI = 107022,
	GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 36383,
	GL_ALWAYS_SOFT_HINT_PGI = 107021,
	GL_NATIVE_GRAPHICS_END_HINT_PGI = 107012,
	GL_NATIVE_GRAPHICS_HANDLE_PGI = 107010,
	GL_RECLAIM_MEMORY_HINT_PGI = 107006,
	GL_PROGRAM_TEMPORARIES_ARB = 34980,
	GL_POINT_FADE_THRESHOLD_SIZE = 33064,
	GL_COUNTER_RANGE_AMD = 35777,
	GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087,
	GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086,
	GL_RASTERIZER_DISCARD_EXT = 35977,
	GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 15,
	GL_SMALL_CCW_ARC_TO_NV = 18,
	GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES = 37122,
	GL_NUM_PROGRAM_BINARY_FORMATS_OES = 34814,
	GL_DEBUG_TYPE_PERFORMANCE = 33360,
	GL_DEBUG_TYPE_PERFORMANCE_ARB = 33360,
	GL_RENDERBUFFER_FREE_MEMORY_ATI = 34813,
	GL_DUAL_INTENSITY16_SGIS = 33051,
	GL_ADD_BLEND_IMG = 35849,
	GL_FIELDS_NV = 36391,
	GL_COLOR_ARRAY_LIST_STRIDE_IBM = 103082,
	GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077,
	GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076,
	GL_EDGE_FLAG_ARRAY_LIST_IBM = 103075,
	GL_PIXEL_TEX_GEN_SGIX = 33081,
	GL_FRACTIONAL_EVEN_EXT = 36476,
	GL_INDEX_ARRAY_LIST_IBM = 103073,
	GL_ALPHA_BITS = 3413,
	GL_NORMAL_ARRAY_LIST_IBM = 103071,
	GL_VERTEX_ARRAY_LIST_IBM = 103070,
	GL_COMPRESSED_R11_EAC_OES = 37488,
	GL_DEBUG_SEVERITY_MEDIUM_KHR = 37191,
	GL_STATIC_VERTEX_ARRAY_IBM = 103061,
	GL_LOWER_LEFT = 36001,
	GL_TEXTURE_ENV_COORD_SET_SGIS = 33734,
	GL_VIEWPORT_SUBPIXEL_BITS_NV = 33372,
	GL_ALL_STATIC_DATA_IBM = 103060,
	GL_DOUBLE_MAT2x3 = 36681,
	GL_RASTER_POSITION_UNCLIPPED_IBM = 103010,
	GL_FRAMEBUFFER_STATUS_ERROR_EXT = 36062,
	GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 38141,
	GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 38140,
	GL_MAX_FRAGMENT_UNIFORM_BLOCKS = 35373,
	GL_GPU_OPTIMIZED_QCOM = 36786,
	GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 38139,
	GL_MAX_MAP_TESSELLATION_NV = 34518,
	GL_COLOR_ATTACHMENT6_NV = 36070,
	GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 38138,
	GL_COLOR_TABLE_BIAS_SGI = 32983,
	GL_NORMAL_BIT_PGI = 134217728,
	GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL = 38137,
	GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL = 38136,
	GL_ATC_RGBA_EXPLICIT_ALPHA_AMD = 35987,
	GL_TIMESTAMP_EXT = 36392,
	GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL = 38131,
	GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL = 38130,
	GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 34762,
	GL_FOG_DENSITY = 2914,
	GL_PERFQUERY_COUNTER_EVENT_INTEL = 38128,
	GL_VERTEX_ATTRIB_ARRAY_POINTER = 34373,
	GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 35379,
	GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG = 37873,
	GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG = 37872,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES = 37865,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES = 37864,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES = 37863,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES = 37862,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES = 37861,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES = 37860,
	GL_TEXTURE_LOD_BIAS_EXT = 34049,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES = 37859,
	GL_MIN_INTENSITY_SGIS = 34298,
	GL_BACK = 1029,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES = 37858,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES = 37857,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES = 37856,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 37853,
	GL_LUMINANCE = 6409,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 37852,
	GL_RGB_INTEGER = 36248,
	GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV = 36182,
	GL_GEOMETRY_TEXTURE = 33438,
	GL_RENDERBUFFER_SAMPLES_NV = 36011,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 37850,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 37849,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 37848,
	GL_REG_24_ATI = 35129,
	GL_SIGNALED = 37145,
	GL_BLEND_DST_ALPHA_EXT = 32970,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 37847,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 37846,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 37845,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 37844,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 37843,
	GL_MINUS_CLAMPED_NV = 37555,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 37842,
	GL_READ_PIXEL_DATA_RANGE_POINTER_NV = 34941,
	GL_POINT_BIT = 2,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 37841,
	GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA = 35766,
	GL_MAX_CLIP_PLANES_IMG = 3378,
	GL_SLIM8U_SGIX = 33565,
	GL_UNSIGNED_BYTE = 5121,
	GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT = 37582,
	GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 37840,
	GL_COMPRESSED_RGBA_ASTC_6x6x6_OES = 37833,
	GL_COMPRESSED_RGBA_ASTC_6x6x5_OES = 37832,
	GL_COMPRESSED_RGBA_ASTC_6x5x5_OES = 37831,
	GL_COMPRESSED_RGBA_ASTC_5x5x5_OES = 37830,
	GL_COMPRESSED_RGBA_ASTC_5x5x4_OES = 37829,
	GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE = 37143,
	GL_TRACE_MASK_MESA = 34645,
	GL_COMPRESSED_RGBA_ASTC_5x4x4_OES = 37828,
	GL_COMPRESSED_RGBA_ASTC_4x4x4_OES = 37827,
	GL_INTENSITY_EXT = 32841,
	GL_LUMINANCE_SIGNED_SGIX = 34275,
	GL_COMPRESSED_RGBA_ASTC_4x4x3_OES = 37826,
	GL_COMPRESSED_RGBA_ASTC_4x3x3_OES = 37825,
	GL_COMPRESSED_RGBA_ASTC_3x3x3_OES = 37824,
	GL_SAMPLE_COVERAGE_INVERT = 32939,
	GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 37821,
	GL_VERTEX_ARRAY_EXT = 32884,
	GL_SPRITE_AXIAL_SGIX = 33100,
	GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 37820,
	GL_CURRENT_RASTER_DISTANCE = 2825,
	GL_SWIZZLE_STRQ_DQ_ATI = 35195,
	GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 37818,
	GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = 36284,
	GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 37817,
	GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 37816,
	GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 37815,
	GL_IMAGE_2D_ARRAY_EXT = 36947,
	GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 37814,
	GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 37813,
	GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 37812,
	GL_COMPRESSED_RG = 33318,
	GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 37811,
	GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 37810,
	GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 37809,
	GL_TEXTURE20 = 34004,
	GL_SECONDARY_COLOR_ARRAY_POINTER = 33885,
	GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 35976,
	GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = 37707,
	GL_FRAMEBUFFER_ATTACHMENT_ANGLE = 37795,
	GL_TEXTURE_USAGE_ANGLE = 37794,
	GL_PATCHES = 14,
	GL_LUMINANCE32I_EXT = 36230,
	GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE = 37792,
	GL_RENDERBUFFER_DEPTH_SIZE_OES = 36180,
	GL_PIXEL_GROUP_COLOR_SGIS = 33622,
	GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES = 34074,
	GL_CONFORMANT_NV = 37748,
	GL_GREATER = 516,
	GL_SUPERSAMPLE_SCALE_Y_NV = 37747,
	GL_GEOMETRY_SHADER_BIT_OES = 4,
	GL_SUPERSAMPLE_SCALE_X_NV = 37746,
	GL_EVAL_VERTEX_ATTRIB14_NV = 34516,
	GL_SIGNED_RGB_NV = 34558,
	GL_UNIFORM_BUFFER_LENGTH_NV = 37744,
	GL_STANDARD_FONT_FORMAT_NV = 37740,
	GL_MAX_SAMPLES_ANGLE = 36183,
	GL_SRC_COLOR = 768,
	GL_UNSIGNED_INT64_NV = 5135,
	GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = 33553,
	GL_FONT_GLYPHS_AVAILABLE_NV = 37736,
	GL_DRAW_BUFFER3_EXT = 34856,
	GL_NEGATIVE_ONE_TO_ONE = 37726,
	GL_REG_13_ATI = 35118,
	GL_MODELVIEW1_MATRIX_EXT = 34054,
	GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = 37708,
	GL_TEXTURE_2D_ARRAY_EXT = 35866,
	GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 37705,
	GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 36260,
	GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 37704,
	GL_MAX_TEXTURE_UNITS_ARB = 34018,
	GL_MATRIX4_NV = 34356,
	GL_TEXTURE_BINDING_CUBE_MAP_OES = 34068,
	GL_COMPRESSED_SIGNED_RG_RGTC2 = 36286,
	GL_CLIP_DISTANCE4 = 12292,
	GL_CONSERVATIVE_RASTERIZATION_NV = 37702,
	GL_4X_BIT_ATI = 2,
	GL_DRAW_BUFFER13_ATI = 34866,
	GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 36317,
	GL_VERTEX_ARRAY_ADDRESS_NV = 36641,
	GL_MAX_ARRAY_TEXTURE_LAYERS = 35071,
	GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = 37701,
	GL_LUMINANCE16_ICC_SGIX = 33897,
	GL_COLOR_TABLE_WIDTH = 32985,
	GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = 37700,
	GL_TEXTURE_MAX_LOD = 33083,
	GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 34899,
	GL_RENDERBUFFER_GREEN_SIZE_OES = 36177,
	GL_OPERAND1_ALPHA = 34201,
	GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 36480,
	GL_STATIC_COPY_ARB = 35046,
	GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 37698,
	GL_BUFFER_MAP_POINTER_ARB = 35005,
	GL_PROGRAMMABLE_SAMPLE_LOCATION_NV = 37697,
	GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 37695,
	GL_MATRIX16_ARB = 35024,
	GL_SM_COUNT_NV = 37691,
	GL_WARP_SIZE_NV = 37689,
	GL_MAX_VERTEX_UNITS_ARB = 34468,
	GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 34073,
	GL_COVERAGE_MODULATION_TABLE_NV = 37681,
	GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = 36333,
	GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 37680,
	GL_PIXEL_TEX_GEN_Q_ROUND_SGIX = 33157,
	GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 37679,
	GL_STENCIL_SAMPLES_NV = 37678,
	GL_PATCH_VERTICES = 36466,
	GL_EFFECTIVE_RASTER_SAMPLES_EXT = 37676,
	GL_LAYER_PROVOKING_VERTEX_OES = 33374,
	GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES = 37125,
	GL_RASTER_MULTISAMPLE_EXT = 37671,
	GL_IDENTITY_NV = 34346,
	GL_MAX_TEXTURE_IMAGE_UNITS_ARB = 34930,
	GL_MAX_INTEGER_SAMPLES = 37136,
	GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 35660,
	GL_TRANSFORM_FEEDBACK_BUFFER_EXT = 35982,
	GL_FOG_COORD_ARRAY = 33879,
	GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 37652,
	GL_FRAMEBUFFER_DEFAULT_SAMPLES = 37651,
	GL_MAX_VARYING_VECTORS = 36348,
	GL_FRAMEBUFFER_DEFAULT_LAYERS_OES = 37650,
	GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT = 37650,
	GL_FRAMEBUFFER_DEFAULT_WIDTH = 37648,
	GL_MAP1_TANGENT_EXT = 33860,
	GL_LOCATION_INDEX = 37647,
	GL_TOP_LEVEL_ARRAY_STRIDE = 37645,
	GL_BLEND_EQUATION_RGB_OES = 32777,
	GL_REFERENCED_BY_COMPUTE_SHADER = 37643,
	GL_SRGB8_ALPHA8_EXT = 35907,
	GL_REFERENCED_BY_FRAGMENT_SHADER = 37642,
	GL_CLEAR_BUFFER = 33460,
	GL_REFERENCED_BY_GEOMETRY_SHADER_OES = 37641,
	GL_FRAMEBUFFER_UNDEFINED_OES = 33305,
	GL_COLOR_ATTACHMENT2 = 36066,
	GL_DUAL_INTENSITY8_SGIS = 33049,
	GL_DISCARD_NV = 34096,
	GL_PATH_FOG_GEN_MODE_NV = 37036,
	GL_REFERENCED_BY_GEOMETRY_SHADER = 37641,
	GL_DSDT_NV = 34549,
	GL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES = 37640,
	GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT = 37640,
	GL_DEPTH_BOUNDS_TEST_EXT = 34960,
	GL_BALI_INSTRUMENT_TIME_UNIT_SGIX = 33868,
	GL_LUMINANCE_ALPHA_FLOAT16_ATI = 34847,
	GL_TEXTURE_DEPTH_SIZE = 34890,
	GL_TEXTURE_BINDING_1D_ARRAY = 35868,
	GL_VECTOR_EXT = 34751,
	GL_COMBINE_ALPHA_EXT = 34162,
	GL_ACTIVE_VARIABLES = 37637,
	GL_SAMPLER_CUBE_MAP_ARRAY = 36876,
	GL_INVALID_FRAMEBUFFER_OPERATION_EXT = 1286,
	GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 36059,
	GL_BUFFER_BINDING = 37634,
	GL_ATOMIC_COUNTER_BUFFER_INDEX = 37633,
	GL_TEXTURE_COMPARE_SGIX = 33178,
	GL_IS_ROW_MAJOR = 37632,
	GL_MATRIX_PALETTE_OES = 34880,
	GL_PALETTE8_R5_G6_B5_OES = 35735,
	GL_ARRAY_STRIDE = 37630,
	GL_VIRTUAL_PAGE_SIZE_Y_AMD = 37270,
	GL_TYPE = 37626,
	GL_MINMAX_SINK_EXT = 32816,
	GL_RENDERBUFFER_OES = 36161,
	GL_MAD_ATI = 35176,
	GL_HALF_BIT_ATI = 8,
	GL_MAX_NAME_LENGTH = 37622,
	GL_SHADER_KHR = 33505,
	GL_VIDEO_COLOR_CONVERSION_MATRIX_NV = 36905,
	GL_TRANSFORM_FEEDBACK_VARYING = 37620,
	GL_COMPUTE_SUBROUTINE_UNIFORM = 37619,
	GL_FRAGMENT_SUBROUTINE_UNIFORM = 37618,
	GL_DEBUG_CALLBACK_FUNCTION = 33348,
	GL_LUMINANCE16 = 32834,
	GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 36054,
	GL_GEOMETRY_SUBROUTINE_UNIFORM = 37617,
	GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = 37616,
	GL_TESS_CONTROL_SUBROUTINE_UNIFORM = 37615,
	GL_VERTEX_SUBROUTINE_UNIFORM = 37614,
	GL_COMPUTE_SUBROUTINE = 37613,
	GL_FRAGMENT_SUBROUTINE = 37612,
	GL_COMPLEX_UNSIGNED_BYTE_SGI = 33213,
	GL_MIRROR_CLAMP_TO_EDGE = 34627,
	GL_TESS_EVALUATION_SUBROUTINE = 37610,
	GL_SAMPLE_PATTERN_SGIS = 32940,
	GL_FONT_Y_MIN_BOUNDS_BIT_NV = 131072,
	GL_TESS_CONTROL_SUBROUTINE = 37609,
	GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 36443,
	GL_IS_PER_PATCH_OES = 37607,
	GL_IS_PER_PATCH_EXT = 37607,
	GL_MODELVIEW2_ARB = 34594,
	GL_BUFFER_VARIABLE = 37605,
	GL_OUTPUT_TEXTURE_COORD20_EXT = 34737,
	GL_TEXTURE_COORD_ARRAY_LIST_IBM = 103074,
	GL_COMPUTE_SHADER_INVOCATIONS_ARB = 33525,
	GL_POST_COLOR_MATRIX_RED_SCALE_SGI = 32948,
	GL_FRAGMENT_COVERAGE_TO_COLOR_NV = 37597,
	GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 37596,
	GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 35983,
	GL_READ_FRAMEBUFFER_BINDING_EXT = 36010,
	GL_COVERAGE_BUFFER_BIT_NV = 32768,
	GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 37592,
	GL_PROGRAM_SEPARABLE = 33368,
	GL_EVAL_VERTEX_ATTRIB0_NV = 34502,
	GL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES = 37589,
	GL_COLOR_BUFFER_BIT1_QCOM = 2,
	GL_PROGRAM_ERROR_STRING_ARB = 34932,
	GL_DRAW_INDIRECT_BUFFER_BINDING = 36675,
	GL_TESS_CONTROL_SHADER_BIT = 8,
	GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT = 37588,
	GL_ARRAY_SIZE = 37627,
	GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES = 37587,
	GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = 35333,
	GL_FEEDBACK_BUFFER_SIZE = 3569,
	GL_SUBPIXEL_BITS = 3408,
	GL_MODELVIEW13_ARB = 34605,
	GL_QUERY_BUFFER_BINDING = 37267,
	GL_DEBUG_CATEGORY_APPLICATION_AMD = 37199,
	GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES = 37583,
	GL_TRANSPOSE_PROJECTION_MATRIX_ARB = 34020,
	GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT = 37583,
	GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES = 37582,
	GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 37582,
	GL_IMAGE_BINDING_FORMAT = 36974,
	GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES = 37581,
	GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT = 37581,
	GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 37581,
	GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 37580,
	GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 37579,
	GL_VERTEX_PRECLIP_SGIX = 33774,
	GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 37576,
	GL_SOURCE0_RGB = 34176,
	GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 37574,
	GL_ELEMENT_ARRAY_TYPE_APPLE = 35341,
	GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = 37572,
	GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT = 37155,
	GL_GEOMETRY_OUTPUT_TYPE_ARB = 36316,
	GL_ALREADY_SIGNALED = 37146,
	GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 36263,
	GL_PRIMITIVE_BOUNDING_BOX_EXT = 37566,
	GL_SLUMINANCE_ALPHA_EXT = 35908,
	GL_PLUS_CLAMPED_NV = 37553,
	GL_QUERY_OBJECT_EXT = 37203,
	GL_MODELVIEW30_ARB = 34622,
	GL_LINES_ADJACENCY_ARB = 10,
	GL_LINEAR_CLIPMAP_NEAREST_SGIX = 33871,
	GL_COMBINER_MAPPING_NV = 34115,
	GL_HSL_COLOR_KHR = 37551,
	GL_BLEND_ADVANCED_COHERENT_KHR = 37509,
	GL_ALREADY_SIGNALED_APPLE = 37146,
	GL_HSL_HUE_KHR = 37549,
	GL_RGBA12 = 32858,
	GL_HARDMIX_NV = 37545,
	GL_TEXTURE_SWIZZLE_RGBA = 36422,
	GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE = 35330,
	GL_FLOAT_MAT2x3 = 35685,
	GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 34827,
	GL_CONTEXT_ROBUST_ACCESS_KHR = 37107,
	GL_VARIANT_ARRAY_EXT = 34792,
	GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV = 35919,
	GL_SAMPLER_1D_ARRAY_SHADOW_EXT = 36291,
	GL_INVERT_RGB_NV = 37539,
	GL_TEXTURE_FILTER4_SIZE_SGIS = 33095,
	GL_CONTRAST_NV = 37537,
	GL_EXCLUSION_NV = 37536,
	GL_MINUS_NV = 37535,
	GL_VERTEX_BLEND_ARB = 34471,
	GL_INVALID_FRAMEBUFFER_OPERATION = 1286,
	GL_QUAD_LUMINANCE4_SGIS = 33056,
	GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 34991,
	GL_INTENSITY16_EXT = 32845,
	GL_HARDLIGHT_KHR = 37531,
	GL_DRAW_BUFFER13 = 34866,
	GL_COLORDODGE_NV = 37529,
	GL_COLORDODGE_KHR = 37529,
	GL_RESTART_SUN = 1,
	GL_DARKEN_NV = 37527,
	GL_DU8DV8_ATI = 34682,
	GL_PREVIOUS_EXT = 34168,
	GL_INTENSITY_EXTENDED_RANGE_SGIX = 34288,
	GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 36059,
	GL_TEXTURE31 = 34015,
	GL_OP_MULTIPLY_MATRIX_EXT = 34712,
	GL_INDEX_ARRAY_POINTER_EXT = 32913,
	GL_SCREEN_NV = 37525,
	GL_TEXTURE_BINDING_BUFFER = 35884,
	GL_ALPHA_TEST_REF = 3010,
	GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = 36442,
	GL_MAX_VERTEX_STREAMS = 36465,
	GL_PIXEL_MODE_BIT = 32,
	GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 37156,
	GL_PLUS_DARKER_NV = 37522,
	GL_PATH_SAMPLE_QUALITY_NV = 36997,
	GL_RGB10_A2UI = 36975,
	GL_STENCIL_BACK_PASS_DEPTH_FAIL = 34818,
	GL_PACK_RESAMPLE_OML = 35204,
	GL_TEXTURE25_ARB = 34009,
	GL_SRC_ATOP_NV = 37518,
	GL_BEVEL_NV = 37030,
	GL_SRC_OUT_NV = 37516,
	GL_DRAW_FRAMEBUFFER_BINDING_APPLE = 36006,
	GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 36482,
	GL_INT16_VEC3_NV = 36838,
	GL_DST_IN_NV = 37515,
	GL_DYNAMIC_ATI = 34657,
	GL_LUMINANCE8_ALPHA8 = 32837,
	GL_TEXTURE12 = 33996,
	GL_TEXTURE_CUBE_MAP_SEAMLESS = 34895,
	GL_SRC_OVER_NV = 37512,
	GL_UNSIGNED_INT_24_8 = 34042,
	GL_DUP_LAST_CUBIC_CURVE_TO_NV = 244,
	GL_VERTEX_SHADER_EXT = 34688,
	GL_SRC_NV = 37510,
	GL_BLEND_ADVANCED_COHERENT_NV = 37509,
	GL_INT_SAMPLER_1D = 36297,
	GL_HSL_SATURATION_NV = 37550,
	GL_PACK_SKIP_PIXELS = 3332,
	GL_UNCORRELATED_NV = 37506,
	GL_ACCUM_RED_BITS = 3416,
	GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 36051,
	GL_BLEND_OVERLAP_NV = 37505,
	GL_STORAGE_SHARED_APPLE = 34239,
	GL_MAX_ELEMENTS_VERTICES_EXT = 33000,
	GL_BLEND_PREMULTIPLIED_SRC_NV = 37504,
	GL_MODELVIEW31_ARB = 34623,
	GL_PACK_ALIGNMENT = 3333,
	GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 34922,
	GL_COLOR_FLOAT_APPLE = 35343,
	GL_COLOR_ATTACHMENT12 = 36076,
	GL_PATH_FILL_COVER_MODE_NV = 36994,
	GL_COMPRESSED_SRGB8_ETC2_OES = 37493,
	GL_FRAGMENT_TEXTURE = 33439,
	GL_COLOR_ATTACHMENT0_OES = 36064,
	GL_COMPRESSED_RGB8_ETC2_OES = 37492,
	GL_LINEAR_ATTENUATION = 4616,
	GL_EIGHTH_BIT_ATI = 32,
	GL_SRC0_ALPHA = 34184,
	GL_MAX_PROGRAM_MATRICES_ARB = 34351,
	GL_CLIP_DISTANCE0_APPLE = 12288,
	GL_IMAGE_CUBE_EXT = 36944,
	GL_COMPRESSED_RG11_EAC = 37490,
	GL_COMPRESSED_SIGNED_R11_EAC = 37489,
	GL_CONVEX_HULL_NV = 37003,
	GL_PROGRAM_PARAMETER_NV = 34372,
	GL_REFLECTION_MAP_ARB = 34066,
	GL_COMPRESSED_R11_EAC = 37488,
	GL_GCCSO_SHADER_BINARY_FJ = 37472,
	GL_DMP_PROGRAM_BINARY_DMP = 37459,
	GL_DONT_CARE = 4352,
	GL_SMAPHS_PROGRAM_BINARY_DMP = 37458,
	GL_CON_12_ATI = 35149,
	GL_BROWSER_DEFAULT_WEBGL = 37444,
	GL_SHADER_STORAGE_BUFFER_START = 37076,
	GL_UNPACK_FLIP_Y_WEBGL = 37440,
	GL_RG16I = 33337,
	GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = 37311,
	GL_POLYGON_MODE = 2880,
	GL_MAX_COMPUTE_WORK_GROUP_SIZE = 37311,
	GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 33778,
	GL_ZERO_EXT = 34781,
	GL_DEPTH_TEST = 2929,
	GL_RGBA2_EXT = 32853,
	GL_CLIENT_VERTEX_ARRAY_BIT = 2,
	GL_MAX_COMPUTE_IMAGE_UNIFORMS = 37309,
	GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 37308,
	GL_COMPUTE_SHADER = 37305,
	GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 37289,
	GL_DST_ALPHA = 772,
	GL_NUM_VIRTUAL_PAGE_SIZES_ARB = 37288,
	GL_VIRTUAL_PAGE_SIZE_INDEX_ARB = 37287,
	GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 36286,
	GL_VERTEX_ID_SWIZZLE_AMD = 37285,
	GL_IUI_V3F_EXT = 33198,
	GL_STREAM_RASTERIZATION_AMD = 37280,
	GL_COLOR_ATTACHMENT10_NV = 36074,
	GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 34070,
	GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 37279,
	GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES = 36052,
	GL_TEXTURE_BUFFER_SIZE_OES = 37278,
	GL_MAX_SAMPLES = 36183,
	GL_TEXTURE_BUFFER_OFFSET_OES = 37277,
	GL_TEXTURE_BUFFER_OFFSET_EXT = 37277,
	GL_TEXTURE_BUFFER_OFFSET = 37277,
	GL_SYNC_STATUS_APPLE = 37140,
	GL_UNSIGNED_BYTE_3_3_2_EXT = 32818,
	GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = 37160,
	GL_UNSIGNED_INT64_ARB = 5135,
	GL_MIN_LOD_WARNING_AMD = 37276,
	GL_MIN_SPARSE_LEVEL_AMD = 37275,
	GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS = 37274,
	GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = 37274,
	GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD = 37273,
	GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB = 37273,
	GL_SEPARABLE_2D_EXT = 32786,
	GL_VIRTUAL_PAGE_SIZE_Z_AMD = 37271,
	GL_VIRTUAL_PAGE_SIZE_Z_ARB = 37271,
	GL_TIMEOUT_EXPIRED = 37147,
	GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 37588,
	GL_VIRTUAL_PAGE_SIZE_Y_ARB = 37270,
	GL_VIRTUAL_PAGE_SIZE_X_AMD = 37269,
	GL_DEPTH_BUFFER_FLOAT_MODE_NV = 36271,
	GL_QUERY_RESULT_NO_WAIT = 37268,
	GL_QUERY_BUFFER_BINDING_AMD = 37267,
	GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 37585,
	GL_QUERY_BUFFER = 37266,
	GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD = 37216,
	GL_SAMPLER_OBJECT_AMD = 37205,
	GL_INTENSITY12 = 32844,
	GL_VERTEX_ARRAY_OBJECT_EXT = 37204,
	GL_DEBUG_SOURCE_API_ARB = 33350,
	GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 35979,
	GL_MAX_SAMPLES_IMG = 37173,
	GL_QUERY_OBJECT_AMD = 37203,
	GL_USE_MISSING_GLYPH_NV = 37034,
	GL_PERFORMANCE_MONITOR_AMD = 37202,
	GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES = 36874,
	GL_OPERAND0_RGB_ARB = 34192,
	GL_TEXTURE9 = 33993,
	GL_UNPACK_SKIP_PIXELS_EXT = 3316,
	GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE = 35335,
	GL_DEBUG_CATEGORY_OTHER_AMD = 37200,
	GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 37584,
	GL_ACTIVE_SUBROUTINES = 36325,
	GL_DEBUG_CATEGORY_PERFORMANCE_AMD = 37197,
	GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = 37194,
	GL_FLOAT_MAT3x2 = 35687,
	GL_DEBUG_CATEGORY_API_ERROR_AMD = 37193,
	GL_DEBUG_SEVERITY_LOW_KHR = 37192,
	GL_DEBUG_SEVERITY_LOW_AMD = 37192,
	GL_EVAL_VERTEX_ATTRIB13_NV = 34515,
	GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 36447,
	GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 34070,
	GL_DEBUG_SEVERITY_MEDIUM_AMD = 37191,
	GL_STACK_UNDERFLOW_KHR = 1284,
	GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 33140,
	GL_DEBUG_SEVERITY_HIGH_ARB = 37190,
	GL_TEXTURE_ENV_BIAS_SGIX = 32958,
	GL_DEBUG_SEVERITY_HIGH_AMD = 37190,
	GL_FLOAT16_VEC3_NV = 36858,
	GL_CURRENT_WEIGHT_ARB = 34472,
	GL_DEBUG_LOGGED_MESSAGES_KHR = 37189,
	GL_FONT_X_MIN_BOUNDS_BIT_NV = 65536,
	GL_DEBUG_LOGGED_MESSAGES_AMD = 37189,
	GL_DEBUG_LOGGED_MESSAGES = 37189,
	GL_MAX_DEBUG_LOGGED_MESSAGES_KHR = 37188,
	GL_MATRIX_INDEX_ARRAY_POINTER_OES = 34889,
	GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 128,
	GL_TEXTURE_GEN_R = 3170,
	GL_MAX_DEBUG_LOGGED_MESSAGES_ARB = 37188,
	GL_MAX_DEBUG_MESSAGE_LENGTH_ARB = 37187,
	GL_MAX_DEBUG_MESSAGE_LENGTH_AMD = 37187,
	GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG = 37176,
	GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG = 37175,
	GL_VERTEX_BINDING_BUFFER = 36687,
	GL_TEXTURE_1D_STACK_BINDING_MESAX = 34653,
	GL_EDGE_FLAG_ARRAY_POINTER = 32915,
	GL_VERTEX_ARRAY_OBJECT_AMD = 37204,
	GL_PACK_COMPRESSED_BLOCK_SIZE = 37166,
	GL_MAGNITUDE_BIAS_NV = 34584,
	GL_PACK_COMPRESSED_BLOCK_DEPTH = 37165,
	GL_UNSIGNED_INT_VEC3_EXT = 36295,
	GL_WRITE_DISCARD_NV = 35006,
	GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 37053,
	GL_CONTEXT_PROFILE_MASK = 37158,
	GL_MAX_FRAGMENT_INPUT_COMPONENTS = 37157,
	GL_COLOR_TABLE_BLUE_SIZE_SGI = 32988,
	GL_DOT2_ADD_ATI = 35180,
	GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 37132,
	GL_FUNC_ADD = 32774,
	GL_MULTIPLY_KHR = 37524,
	GL_POST_CONVOLUTION_GREEN_BIAS_EXT = 32801,
	GL_INT_IMAGE_1D_EXT = 36951,
	GL_ATOMIC_COUNTER_BUFFER_START = 37570,
	GL_MAX_GEOMETRY_INPUT_COMPONENTS = 37155,
	GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 35885,
	GL_FIXED = 5132,
	GL_BUFFER_ACCESS_FLAGS = 37151,
	GL_EXTENSIONS = 7939,
	GL_VERTEX_SHADER_INVARIANTS_EXT = 34769,
	GL_INDEX_MATERIAL_FACE_EXT = 33210,
	GL_TIMEOUT_EXPIRED_APPLE = 37147,
	GL_HSL_SATURATION_KHR = 37550,
	GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 37703,
	GL_UNSIGNALED_APPLE = 37144,
	GL_UNSIGNALED = 37144,
	GL_TEXTURE16_ARB = 34000,
	GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 36269,
	GL_SYNC_FLAGS_APPLE = 37141,
	GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = 34339,
	GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 35070,
	GL_MULTISAMPLE_BUFFER_BIT0_QCOM = 16777216,
	GL_INT16_VEC4_NV = 36839,
	GL_TRANSFORM_FEEDBACK_RECORD_NV = 35974,
	GL_SYNC_CONDITION = 37139,
	GL_TEXTURE_ENV_COLOR = 8705,
	GL_OBJECT_TYPE_APPLE = 37138,
	GL_IMAGE_PIXEL_FORMAT = 33449,
	GL_OBJECT_TYPE = 37138,
	GL_SQUARE_NV = 37027,
	GL_OP_EXP_BASE_2_EXT = 34705,
	GL_INDEX_BIT_PGI = 524288,
	GL_MAX_SERVER_WAIT_TIMEOUT = 37137,
	GL_DEPTH_COMPONENT16_SGIX = 33189,
	GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT = 36204,
	GL_MAX_FRAMEBUFFER_LAYERS_OES = 37655,
	GL_TEXTURE_ENV_MODE = 8704,
	GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 36050,
	GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 37133,
	GL_BUFFER_MAPPED_ARB = 35004,
	GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 37132,
	GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES = 37156,
	GL_RG8 = 33323,
	GL_R = 8194,
	GL_VERTEX_SHADER_LOCALS_EXT = 34771,
	GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 34063,
	GL_STENCIL_INDEX8_OES = 36168,
	GL_SHADER = 33505,
	GL_DEBUG_SOURCE_THIRD_PARTY_KHR = 33353,
	GL_CLIP_FAR_HINT_PGI = 107041,
	GL_FOG_DISTANCE_MODE_NV = 34138,
	GL_MAX_RASTER_SAMPLES_EXT = 37673,
	GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 32908,
	GL_TEXTURE_BINDING_2D_MULTISAMPLE = 37124,
	GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 37122,
	GL_TEXTURE_MINIMIZE_STORAGE_APPLE = 34230,
	GL_ANY_SAMPLES_PASSED = 35887,
	GL_TEXTURE_2D_MULTISAMPLE = 37120,
	GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 34972,
	GL_CURRENT_PROGRAM = 35725,
	GL_MAP1_TEXTURE_COORD_4_NURBS_SGIX = 33251,
	GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES = 36264,
	GL_CONTEXT_ROBUST_ACCESS_EXT = 37107,
	GL_WAIT_FAILED = 37149,
	GL_STREAM_READ_ARB = 35041,
	GL_MULTIVIEW_EXT = 37105,
	GL_COLOR_ATTACHMENT_EXT = 37104,
	GL_DISPATCH_INDIRECT_BUFFER_BINDING = 37103,
	GL_DISPATCH_INDIRECT_BUFFER = 37102,
	GL_FLOAT_VEC2_ARB = 35664,
	GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = 37099,
	GL_DEPTH_STENCIL_MESA = 34640,
	GL_COMPRESSED_INTENSITY = 34028,
	GL_FRAMEBUFFER_BINDING_ANGLE = 36006,
	GL_FRACTIONAL_ODD_OES = 36475,
	GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 37085,
	GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 37084,
	GL_RENDERBUFFER_EXT = 36161,
	GL_UNSIGNED_INT_5_9_9_9_REV_EXT = 35902,
	GL_TEXTURE_CROP_RECT_OES = 35741,
	GL_MAP2_NORMAL = 3506,
	GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 37083,
	GL_TRANSFORM_FEEDBACK_BINDING_NV = 36389,
	GL_PER_STAGE_CONSTANTS_NV = 34101,
	GL_DRAW_BUFFER13_EXT = 34866,
	GL_DUAL_INTENSITY12_SGIS = 33050,
	GL_MODELVIEW0_EXT = 5888,
	GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 33795,
	GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 37080,
	GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 37079,
	GL_SHADER_STORAGE_BUFFER_SIZE = 37077,
	GL_UNPACK_COLORSPACE_CONVERSION_WEBGL = 37443,
	GL_TEXTURE_2D = 3553,
	GL_CURRENT_RASTER_POSITION = 2823,
	GL_CLIP_DEPTH_MODE = 37725,
	GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV = 37072,
	GL_MAX_COMBINED_IMAGE_UNIFORMS = 37071,
	GL_MODELVIEW0_STACK_DEPTH_EXT = 2979,
	GL_CLIP_DISTANCE6 = 12294,
	GL_MAP_COLOR = 3344,
	GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 37070,
	GL_MAP_TESSELLATION_NV = 34498,
	GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 33379,
	GL_INTENSITY12_EXT = 32844,
	GL_TEXTURE24_ARB = 34008,
	GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT = 37069,
	GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES = 37068,
	GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT = 37068,
	GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES = 37067,
	GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT = 37067,
	GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 37065,
	GL_CONVOLUTION_WIDTH_EXT = 32792,
	GL_VIEW_CLASS_BPTC_FLOAT = 33491,
	GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 37064,
	GL_FLOAT = 5126,
	GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = 37063,
	GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 35738,
	GL_COMPRESSED_SLUMINANCE = 35914,
	GL_FRAGMENT_SHADER_ARB = 35632,
	GL_UNPACK_COMPRESSED_BLOCK_WIDTH = 37159,
	GL_HISTOGRAM_RED_SIZE_EXT = 32808,
	GL_SCALED_RESOLVE_NICEST_EXT = 37051,
	GL_SCALAR_EXT = 34750,
	GL_SCALED_RESOLVE_FASTEST_EXT = 37050,
	GL_PATH_FORMAT_SVG_NV = 36976,
	GL_FLAT = 7424,
	GL_PATH_STENCIL_REF_NV = 37048,
	GL_HISTOGRAM_LUMINANCE_SIZE_EXT = 32812,
	GL_MOVE_TO_CONTINUES_NV = 37046,
	GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = 36924,
	GL_PATH_DASH_OFFSET_RESET_NV = 37044,
	GL_PATH_GEN_MODE_NV = 37040,
	GL_FIRST_TO_REST_NV = 37039,
	GL_ACCUM_ADJACENT_PAIRS_NV = 37037,
	GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM = 36787,
	GL_SKIP_MISSING_GLYPH_NV = 37033,
	GL_MITER_TRUNCATE_NV = 37032,
	GL_GEOMETRY_LINKED_VERTICES_OUT_OES = 35094,
	GL_DST_OUT_NV = 37517,
	GL_COORD_REPLACE_NV = 34914,
	GL_LAYOUT_LINEAR_INTEL = 1,
	GL_MAX_SERVER_WAIT_TIMEOUT_APPLE = 37137,
	GL_REG_9_ATI = 35114,
	GL_PATH_STROKE_BOUNDING_BOX_NV = 37026,
	GL_COMPRESSED_SRGB = 35912,
	GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 35398,
	GL_PATH_DASH_ARRAY_COUNT_NV = 37023,
	GL_PATH_COORD_COUNT_NV = 37022,
	GL_MAP1_VERTEX_ATTRIB12_4_NV = 34412,
	GL_MINMAX_SINK = 32816,
	GL_TEXTURE3 = 33987,
	GL_BLEND_EQUATION_RGB = 32777,
	GL_DRAW_BUFFER15_EXT = 34868,
	GL_TRANSPOSE_PROJECTIVE_3D_NV = 37017,
	GL_TRANSPOSE_AFFINE_3D_NV = 37016,
	GL_TRANSPOSE_PROJECTIVE_2D_NV = 37015,
	GL_TRANSPOSE_AFFINE_2D_NV = 37014,
	GL_PROJECTIVE_3D_NV = 37013,
	GL_AFFINE_3D_NV = 37012,
	GL_PROJECTIVE_2D_NV = 37011,
	GL_LAST_VERTEX_CONVENTION = 36430,
	GL_IMAGE_BINDING_LEVEL_EXT = 36667,
	GL_CLIP_PLANE5 = 12293,
	GL_PATH_INITIAL_END_CAP_NV = 36983,
	GL_TRANSLATE_3D_NV = 37009,
	GL_ALPHA_FLOAT32_ATI = 34838,
	GL_TRANSLATE_X_NV = 37006,
	GL_EDGE_FLAG_ARRAY_COUNT_EXT = 32909,
	GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES = 36479,
	GL_COUNT_UP_NV = 37000,
	GL_TRANSFORM_FEEDBACK_VARYINGS_NV = 35971,
	GL_ALPHA8_OES = 32828,
	GL_UNSIGNED_IDENTITY_NV = 34102,
	GL_PATH_STROKE_BOUND_NV = 36998,
	GL_PATH_STROKE_COVER_MODE_NV = 36995,
	GL_PATH_FILL_MODE_NV = 36992,
	GL_TRANSFORM_HINT_APPLE = 34225,
	GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = 33877,
	GL_PACK_IMAGE_HEIGHT_EXT = 32876,
	GL_PATH_DASH_OFFSET_NV = 36990,
	GL_VERTEX_ATTRIB_MAP2_APPLE = 35329,
	GL_PATH_DASH_CAPS_NV = 36987,
	GL_INT_IMAGE_CUBE_EXT = 36955,
	GL_TEXTURE_DEPTH_TYPE = 35862,
	GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 35978,
	GL_UNSIGNED_SHORT_4_4_4_4 = 32819,
	GL_PATH_END_CAPS_NV = 36982,
	GL_PATH_STROKE_WIDTH_NV = 36981,
	GL_LUMINANCE_ALPHA16F_EXT = 34847,
	GL_DSDT_MAG_INTENSITY_NV = 34524,
	GL_PATH_FORMAT_PS_NV = 36977,
	GL_PATH_STENCIL_VALUE_MASK_NV = 37049,
	GL_IMAGE_BINDING_FORMAT_EXT = 36974,
	GL_STENCIL_EXT = 6146,
	GL_FRAMEBUFFER_BARRIER_BIT = 1024,
	GL_ACTIVE_UNIFORM_BLOCKS = 35382,
	GL_MAX_IMAGE_SAMPLES = 36973,
	GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 36972,
	GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 36972,
	GL_PROXY_TEXTURE_1D = 32867,
	GL_IGLOO_IRISGL_MODE_SGIX = 33186,
	GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = 36971,
	GL_SIGNALED_APPLE = 37145,
	GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES = 36970,
	GL_NORMAL_ARRAY_LENGTH_NV = 36652,
	GL_QUERY_RESULT_EXT = 34918,
	GL_TEXTURE10_ARB = 33994,
	GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = 36918,
	GL_OUTPUT_TEXTURE_COORD21_EXT = 34738,
	GL_TEXCOORD4_BIT_PGI = 2147483648,
	GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = 36969,
	GL_UNSIGNED_INT_IMAGE_2D_ARRAY = 36969,
	GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = 36968,
	GL_UNSIGNED_INT_IMAGE_BUFFER_OES = 36967,
	GL_UNSIGNED_INT_IMAGE_BUFFER = 36967,
	GL_ALPHA12_EXT = 32829,
	GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 35841,
	GL_UNSIGNED_INT_IMAGE_2D_RECT = 36965,
	GL_BLEND_SRC_ALPHA = 32971,
	GL_INDEX_CLEAR_VALUE = 3104,
	GL_UNSIGNED_INT_IMAGE_3D_EXT = 36964,
	GL_UNSIGNED_INT_IMAGE_2D_EXT = 36963,
	GL_RGBA8I = 36238,
	GL_DEPTH_EXT = 6145,
	GL_POINT = 6912,
	GL_UNSIGNED_INT_IMAGE_1D_EXT = 36962,
	GL_GREEN_INTEGER = 36245,
	GL_RGB_SCALE = 34163,
	GL_UNPACK_SWAP_BYTES = 3312,
	GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 37819,
	GL_NORMAL_ARRAY_TYPE_EXT = 32894,
	GL_RGBA_INTEGER = 36249,
	GL_CLAMP_TO_BORDER_EXT = 33069,
	GL_COMPRESSED_RG_RGTC2 = 36285,
	GL_COMBINE_EXT = 34160,
	GL_INT_IMAGE_CUBE_MAP_ARRAY_OES = 36959,
	GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT = 35372,
	GL_INT_IMAGE_CUBE_MAP_ARRAY = 36959,
	GL_INT_IMAGE_2D_ARRAY = 36958,
	GL_DRAW_BUFFER1_NV = 34854,
	GL_INT_IMAGE_1D_ARRAY_EXT = 36957,
	GL_INT_IMAGE_1D_ARRAY = 36957,
	GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD = 34798,
	GL_TEXTURE5_ARB = 33989,
	GL_INT_IMAGE_BUFFER = 36956,
	GL_PATH_MITER_LIMIT_NV = 36986,
	GL_PROXY_COLOR_TABLE = 32979,
	GL_CONSTANT_EXT = 34166,
	GL_MATRIX10_NV = 34362,
	GL_HIGH_INT = 36341,
	GL_SRGB_WRITE = 33432,
	GL_INT_IMAGE_2D_RECT_EXT = 36954,
	GL_INT_IMAGE_2D_RECT = 36954,
	GL_TEXTURE_LEQUAL_R_SGIX = 33180,
	GL_UNSIGNED_NORMALIZED_EXT = 35863,
	GL_INT_IMAGE_3D_EXT = 36953,
	GL_INT_IMAGE_3D = 36953,
	GL_INTENSITY8 = 32843,
	GL_INT_IMAGE_2D_EXT = 36952,
	GL_COLOR_MATRIX_SGI = 32945,
	GL_INT_IMAGE_1D = 36951,
	GL_R16_SNORM_EXT = 36760,
	GL_FLOAT16_NV = 36856,
	GL_MOV_ATI = 35169,
	GL_READ_BUFFER = 3074,
	GL_IMAGE_2D_MULTISAMPLE_ARRAY = 36950,
	GL_LINE_SMOOTH = 2848,
	GL_IMAGE_2D_MULTISAMPLE = 36949,
	GL_IMAGE_CUBE_MAP_ARRAY_EXT = 36948,
	GL_IMAGE_CUBE_MAP_ARRAY = 36948,
	GL_IMAGE_1D_ARRAY = 36946,
	GL_TESS_EVALUATION_TEXTURE = 33437,
	GL_BLEND_SRC_RGB_EXT = 32969,
	GL_OUTPUT_TEXTURE_COORD9_EXT = 34726,
	GL_STENCIL_PASS_DEPTH_PASS = 2966,
	GL_LUMINANCE_ICC_SGIX = 33891,
	GL_DEPENDENT_GB_TEXTURE_2D_NV = 34538,
	GL_TRIANGLE_STRIP_ADJACENCY_ARB = 13,
	GL_IMAGE_BUFFER_EXT = 36945,
	GL_DRAW_BUFFER8_EXT = 34861,
	GL_QUERY_WAIT = 36371,
	GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = 35956,
	GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 34047,
	GL_LINE_TO_NV = 4,
	GL_MAX_FOG_LAYERS_POINTS_SGIX = 33576,
	GL_BUFFER_SIZE = 34660,
	GL_CONVOLUTION_HEIGHT = 32793,
	GL_TEXTURE21_ARB = 34005,
	GL_MAP1_NORMAL = 3474,
	GL_MAX_DEBUG_GROUP_STACK_DEPTH = 33388,
	GL_SAMPLE_MASK = 36433,
	GL_IMAGE_2D_RECT_EXT = 36943,
	GL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES = 35885,
	GL_PRIMITIVES_GENERATED_OES = 35975,
	GL_MOVE_TO_NV = 2,
	GL_IMAGE_3D_EXT = 36942,
	GL_QUERY_NO_WAIT = 36372,
	GL_IMAGE_2D_EXT = 36941,
	GL_IMAGE_2D = 36941,
	GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 34975,
	GL_IMAGE_1D_EXT = 36940,
	GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX = 36939,
	GL_HALF_FLOAT_ARB = 5131,
	GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX = 36938,
	GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = 33884,
	GL_INDEX_TEST_EXT = 33205,
	GL_COVERAGE_COMPONENT_NV = 36560,
	GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 3387,
	GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX = 36936,
	GL_TEXTURE_HEIGHT_QCOM = 35795,
	GL_EDGEFLAG_BIT_PGI = 262144,
	GL_CURRENT_MATRIX_STACK_DEPTH_ARB = 34368,
	GL_TEXTURE_COVERAGE_SAMPLES_NV = 36933,
	GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = 36923,
	GL_MAX_FRAGMENT_UNIFORM_VECTORS = 36349,
	GL_Z4Y12Z4CB12Z4CR12_444_NV = 36919,
	GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT = 36490,
	GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = 36917,
	GL_PIXEL_SUBSAMPLE_2424_SGIX = 34211,
	GL_NORMAL_ARRAY_EXT = 32885,
	GL_YCBAYCR8A_4224_NV = 36914,
	GL_YCBYCR8_422_NV = 36913,
	GL_ALPHA_MIN_SGIX = 33568,
	GL_WEIGHT_ARRAY_ARB = 34477,
	GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV = 36909,
	GL_ARRAY_BUFFER_BINDING = 34964,
	GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES = 34071,
	GL_VIDEO_COLOR_CONVERSION_MAX_NV = 36906,
	GL_RED_MIN_CLAMP_INGR = 34144,
	GL_SRGB = 35904,
	GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 36493,
	GL_COLOR_ATTACHMENT2_EXT = 36066,
	GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 36383,
	GL_NUM_VIDEO_CAPTURE_STREAMS_NV = 36900,
	GL_FIELD_LOWER_NV = 36899,
	GL_FIELD_UPPER_NV = 36898,
	GL_VIDEO_BUFFER_NV = 36896,
	GL_FACTOR_MAX_AMD = 36893,
	GL_LUMINANCE16_ALPHA16_SNORM = 36890,
	GL_POLYGON_STIPPLE = 2882,
	GL_ALPHA16_SNORM = 36888,
	GL_LUMINANCE8 = 32832,
	GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = 36318,
	GL_FLOAT_MAT2 = 35674,
	GL_HISTOGRAM_RED_SIZE = 32808,
	GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072,
	GL_LUMINANCE8_ALPHA8_SNORM = 36886,
	GL_ALPHA8_SNORM = 36884,
	GL_NOTEQUAL = 517,
	GL_INT_SAMPLER_1D_ARRAY_EXT = 36302,
	GL_LUMINANCE_SNORM = 36881,
	GL_ALPHA_SNORM = 36880,
	GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES = 36879,
	GL_DRAW_BUFFER1_EXT = 34854,
	GL_STENCIL_FUNC = 2962,
	GL_INT_SAMPLER_CUBE_MAP_ARRAY_OES = 36878,
	GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 36878,
	GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT = 36877,
	GL_SAMPLER_CUBE_MAP_ARRAY_EXT = 36876,
	GL_FRAMEBUFFER_SRGB = 36281,
	GL_MAT_SHININESS_BIT_PGI = 33554432,
	GL_TEXTURE18 = 34002,
	GL_SAMPLE_MASK_VALUE_EXT = 32938,
	GL_NUM_ACTIVE_VARIABLES = 37636,
	GL_RELATIVE_SMALL_CCW_ARC_TO_NV = 19,
	GL_PROGRAM_ADDRESS_REGISTERS_ARB = 34992,
	GL_CLAMP_TO_EDGE = 33071,
	GL_MAX_IMAGE_UNITS = 36664,
	GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE = 35332,
	GL_SLIM10U_SGIX = 33566,
	GL_MAX_TEXTURE_BUFFER_SIZE_EXT = 35883,
	GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 36874,
	GL_INTERLACE_SGIX = 32916,
	GL_TEXTURE_CUBE_MAP_ARRAY_OES = 36873,
	GL_VERTEX_PROGRAM_POINT_SIZE_NV = 34370,
	GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 36202,
	GL_T2F_C4UB_V3F = 10793,
	GL_TEXTURE_CUBE_MAP_ARRAY_ARB = 36873,
	GL_COMPLEX_BYTE_SGI = 33214,
	GL_LINE_STRIP_ADJACENCY_EXT = 11,
	GL_TEXTURE_CUBE_MAP_ARRAY = 36873,
	GL_CONTINUOUS_AMD = 36871,
	GL_DISCRETE_AMD = 36870,
	GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD = 36867,
	GL_VERTEX_ATTRIB_ARRAY_STRIDE = 34340,
	GL_DOUBLE_VEC4_EXT = 36862,
	GL_DOUBLE_VEC4 = 36862,
	GL_DOUBLE_VEC3_EXT = 36861,
	GL_MAX_SHADER_BUFFER_ADDRESS_NV = 36661,
	GL_DEBUG_SEVERITY_HIGH = 37190,
	GL_UNSIGNED_INT64_VEC4_NV = 36855,
	GL_UNSIGNED_INT64_VEC3_NV = 36854,
	GL_MAX_TEXTURE_BUFFER_SIZE_ARB = 35883,
	GL_UNSIGNED_INT64_VEC2_NV = 36853,
	GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT = 34925,
	GL_UNSIGNED_INT16_VEC4_NV = 36851,
	GL_UNSIGNED_INT16_VEC3_NV = 36850,
	GL_UNSIGNED_INT16_VEC2_NV = 36849,
	GL_DEBUG_TYPE_OTHER_KHR = 33361,
	GL_UNSIGNED_INT8_VEC3_NV = 36846,
	GL_UNSIGNED_INT8_NV = 36844,
	GL_TEXTURE20_ARB = 34004,
	GL_NORMAL_MAP_OES = 34065,
	GL_SAMPLER_BUFFER = 36290,
	GL_INT8_NV = 36832,
	GL_INT_SAMPLER_2D_RECT_EXT = 36301,
	GL_SHADER_BINARY_VIV = 36804,
	GL_PATH_ERROR_POSITION_NV = 37035,
	GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV = 35070,
	GL_LIGHT5 = 16389,
	GL_TESS_CONTROL_SHADER_PATCHES_ARB = 33521,
	GL_SOURCE0_RGB_ARB = 34176,
	GL_OBJECT_COMPILE_STATUS_ARB = 35713,
	GL_ALWAYS = 519,
	GL_PERFMON_GLOBAL_MODE_QCOM = 36768,
	GL_INT_SAMPLER_3D = 36299,
	GL_PRIMITIVE_RESTART = 36765,
	GL_SIGNED_NORMALIZED = 36764,
	GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = 34939,
	GL_RG16_SNORM_EXT = 36761,
	GL_RESAMPLE_REPLICATE_SGIX = 33843,
	GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 36950,
	GL_R16_SNORM = 36760,
	GL_BUFFER_IMMUTABLE_STORAGE = 33311,
	GL_STENCIL_BUFFER_BIT = 1024,
	GL_ALPHA16I_EXT = 36234,
	GL_RG_SNORM = 36753,
	GL_RED_SNORM = 36752,
	GL_RED_INTEGER = 36244,
	GL_LESS = 513,
	GL_MAX_DRAW_BUFFERS_ATI = 34852,
	GL_ELEMENT_ARRAY_LENGTH_NV = 36659,
	GL_FETCH_PER_SAMPLE_ARM = 36709,
	GL_SHADER_PIXEL_LOCAL_STORAGE_EXT = 36708,
	GL_DOUBLE_MAT4x3_EXT = 36686,
	GL_DOUBLE_MAT4x2_EXT = 36685,
	GL_DOUBLE_MAT4x2 = 36685,
	GL_COLOR_BUFFER_BIT = 16384,
	GL_DOUBLE_MAT3x4_EXT = 36684,
	GL_DOUBLE_MAT3x4 = 36684,
	GL_LIGHT_MODEL_LOCAL_VIEWER = 2897,
	GL_DOUBLE_MAT3x2_EXT = 36683,
	GL_DOUBLE_MAT2x4_EXT = 36682,
	GL_MAX_DRAW_BUFFERS = 34852,
	GL_SYSTEM_FONT_NAME_NV = 36979,
	GL_DOUBLE_MAT2x3_EXT = 36681,
	GL_RGBA4 = 32854,
	GL_COMPRESSED_RED_RGTC1_EXT = 36283,
	GL_GENERATE_MIPMAP = 33169,
	GL_CULL_VERTEX_IBM = 103050,
	GL_FUNC_ADD_OES = 32774,
	GL_DOUBLE_MAT4_EXT = 36680,
	GL_DOUBLE_MAT4 = 36680,
	GL_PROXY_TEXTURE_CUBE_MAP_ARB = 34075,
	GL_DOUBLE_MAT3_EXT = 36679,
	GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 35968,
	GL_DOUBLE_MAT3 = 36679,
	GL_DOUBLE_MAT2_EXT = 36678,
	GL_FRAMEBUFFER_BARRIER_BIT_EXT = 1024,
	GL_DISTANCE_ATTENUATION_EXT = 33065,
	GL_UNSIGNED_BYTE_2_3_3_REV = 33634,
	GL_GUILTY_CONTEXT_RESET_KHR = 33363,
	GL_RENDERBUFFER_STENCIL_SIZE_EXT = 36181,
	GL_DEPTH_COMPONENT24_SGIX = 33190,
	GL_DRAW_INDIRECT_LENGTH_NV = 36674,
	GL_DRAW_INDIRECT_ADDRESS_NV = 36673,
	GL_PRIMITIVE_RESTART_NV = 34136,
	GL_DRAW_BUFFER6_EXT = 34859,
	GL_STENCIL_BUFFER_BIT7_QCOM = 8388608,
	GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = 2097152,
	GL_CONTEXT_COMPATIBILITY_PROFILE_BIT = 2,
	GL_POST_COLOR_MATRIX_COLOR_TABLE = 32978,
	GL_IMAGE_BINDING_LAYER_EXT = 36669,
	GL_NUM_SHADING_LANGUAGE_VERSIONS = 33513,
	GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 36959,
	GL_SORT_SGI = 33225,
	GL_COMPLEX_FLOAT_SGI = 33219,
	GL_IMAGE_BINDING_LEVEL = 36667,
	GL_LUMINANCE8UI_EXT = 36224,
	GL_COLOR_TABLE_SCALE = 32982,
	GL_DEPTH_STENCIL_EXT = 34041,
	GL_IMAGE_BINDING_NAME = 36666,
	GL_MAX_IMAGE_UNITS_EXT = 36664,
	GL_MAP_INVALIDATE_RANGE_BIT = 4,
	GL_COPY_WRITE_BUFFER = 36663,
	GL_ALPHA32F_ARB = 34838,
	GL_MODULATE_SIGNED_ADD_ATI = 34629,
	GL_OUTPUT_TEXTURE_COORD28_EXT = 34745,
	GL_TEXTURE16 = 34000,
	GL_STENCIL_BACK_VALUE_MASK = 36004,
	GL_COPY_READ_BUFFER = 36662,
	GL_DOUBLE_VEC3 = 36861,
	GL_SURFACE_SIZE_HINT_SUNX = 33234,
	GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT = 36711,
	GL_FRONT_RIGHT = 1025,
	GL_CURRENT_OCCLUSION_QUERY_ID_NV = 34917,
	GL_TEXTURE_BORDER_COLOR_EXT = 4100,
	GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = 34959,
	GL_ACTIVE_VARYINGS_NV = 35969,
	GL_UNDEFINED_VERTEX_EXT = 33376,
	GL_COLOR_ARRAY_LENGTH_NV = 36653,
	GL_SAMPLER_2D_ARRAY_SHADOW = 36292,
	GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV = 36650,
	GL_DEBUG_SEVERITY_LOW = 37192,
	GL_SOURCE3_ALPHA_NV = 34187,
	GL_MAP1_VERTEX_4_NURBS_SGIX = 33228,
	GL_INTENSITY_FLOAT32_APPLE = 34839,
	GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = 36647,
	GL_RGB8 = 32849,
	GL_MODELVIEW_PROJECTION_NV = 34345,
	GL_ASYNC_READ_PIXELS_SGIX = 33630,
	GL_INTENSITY16_ICC_SGIX = 33898,
	GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 35881,
	GL_RGBA8 = 32856,
	GL_COLOR_ARRAY_SIZE = 32897,
	GL_IGLOO_SWAPTMESH_SGIX = 33184,
	GL_CLIP_DISTANCE2 = 12290,
	GL_MAP1_VERTEX_3 = 3479,
	GL_COVERAGE_AUTOMATIC_NV = 36567,
	GL_SAMPLER_2D_ARB = 35678,
	GL_COVERAGE_ATTACHMENT_NV = 36562,
	GL_UNPACK_CONSTANT_DATA_SUNX = 33237,
	GL_CLAMP_READ_COLOR = 35100,
	GL_LUMINANCE_ALPHA_FLOAT16_APPLE = 34847,
	GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 35372,
	GL_RENDERBUFFER_WIDTH = 36162,
	GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI = 34871,
	GL_BGRA8_EXT = 37793,
	GL_ISOLINES_EXT = 36474,
	GL_COMPRESSED_RGBA_BPTC_UNORM = 36492,
	GL_MATRIX_INDEX_ARRAY_SIZE_ARB = 34886,
	GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 36490,
	GL_OBJECT_TYPE_ARB = 35662,
	GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV = 64,
	GL_FOG_COORD_ARRAY_POINTER = 33878,
	GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 36489,
	GL_TESS_CONTROL_SHADER_OES = 36488,
	GL_CLIP_DISTANCE5_APPLE = 12293,
	GL_TESS_EVALUATION_SHADER_OES = 36487,
	GL_TESS_EVALUATION_SHADER_EXT = 36487,
	GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES = 36486,
	GL_SOURCE3_RGB_NV = 34179,
	GL_FOG_START = 2915,
	GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT = 36486,
	GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 36486,
	GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES = 36485,
	GL_DOT_PRODUCT_DEPTH_REPLACE_NV = 34541,
	GL_PROJECTION_STACK_DEPTH = 2980,
	GL_PROXY_TEXTURE_4D_SGIS = 33077,
	GL_RASTERIZER_DISCARD = 35977,
	GL_PROGRAM_OBJECT_EXT = 35648,
	GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT = 36482,
	GL_OP_SET_GE_EXT = 34700,
	GL_UNKNOWN_CONTEXT_RESET_KHR = 33365,
	GL_WIDE_LINE_HINT_PGI = 107042,
	GL_CLIP_PLANE4_IMG = 12292,
	GL_PATH_OBJECT_BOUNDING_BOX_NV = 37002,
	GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 36479,
	GL_OPERAND0_RGB_EXT = 34192,
	GL_ATTRIB_ARRAY_TYPE_NV = 34341,
	GL_ABGR_EXT = 32768,
	GL_MAX_PATCH_VERTICES_EXT = 36477,
	GL_MAX_PATCH_VERTICES = 36477,
	GL_DEBUG_OUTPUT_KHR = 37600,
	GL_DEPTH_STENCIL_TEXTURE_MODE = 37098,
	GL_FRACTIONAL_ODD_EXT = 36475,
	GL_SAMPLE_ALPHA_TO_ONE_ARB = 32927,
	GL_TEXTURE24 = 34008,
	GL_MAX_ELEMENTS_INDICES = 33001,
	GL_XOR = 5382,
	GL_FRACTIONAL_ODD = 36475,
	GL_EVAL_VERTEX_ATTRIB2_NV = 34504,
	GL_UNSIGNED_INT_2_10_10_10_REV_EXT = 33640,
	GL_ISOLINES_OES = 36474,
	GL_TESS_GEN_POINT_MODE_OES = 36473,
	GL_RG16_EXT = 33324,
	GL_REG_3_ATI = 35108,
	GL_TESS_GEN_VERTEX_ORDER = 36472,
	GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 36258,
	GL_TESS_GEN_SPACING_EXT = 36471,
	GL_REG_8_ATI = 35113,
	GL_TESS_GEN_MODE_EXT = 36470,
	GL_HISTOGRAM_LUMINANCE_SIZE = 32812,
	GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 34970,
	GL_SRC0_RGB = 34176,
	GL_TEXTURE_LOD_BIAS = 34049,
	GL_GLOBAL_ALPHA_FACTOR_SUN = 33242,
	GL_FOG_MODE = 2917,
	GL_PATCH_DEFAULT_OUTER_LEVEL = 36468,
	GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 33122,
	GL_CLIP_DISTANCE0 = 12288,
	GL_PATCH_DEFAULT_INNER_LEVEL_EXT = 36467,
	GL_NUM_SAMPLE_COUNTS = 37760,
	GL_PATCH_VERTICES_OES = 36466,
	GL_MATRIX13_ARB = 35021,
	GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 35410,
	GL_BACK_PRIMARY_COLOR_NV = 35959,
	GL_DEPTH_SAMPLES_NV = 37677,
	GL_DRAW_BUFFER14_ARB = 34867,
	GL_FRAMEZOOM_FACTOR_SGIX = 33164,
	GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 36447,
	GL_ELEMENT_ARRAY_ADDRESS_NV = 36649,
	GL_MODELVIEW16_ARB = 34608,
	GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 36447,
	GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 36446,
	GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 36445,
	GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = 36444,
	GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 35880,
	GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES = 36444,
	GL_POINT_SPRITE = 34913,
	GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 36444,
	GL_READ_BUFFER_EXT = 3074,
	GL_IMAGE_BINDING_LAYER = 36669,
	GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES = 36443,
	GL_MAX_SAMPLE_MASK_WORDS_NV = 36441,
	GL_TEXTURE_COMPRESSED_IMAGE_SIZE = 34464,
	GL_SAMPLER_RENDERBUFFER_NV = 36438,
	GL_INTERPOLATE_ARB = 34165,
	GL_TEXTURE_RENDERBUFFER_NV = 36437,
	GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 36051,
	GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074,
	GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 36311,
	GL_INDEX_ARRAY_POINTER = 32913,
	GL_AVERAGE_HP = 33120,
	GL_SAMPLE_MASK_VALUE = 36434,
	GL_EDGE_FLAG_ARRAY_POINTER_EXT = 32915,
	GL_SAMPLE_LOCATION_NV = 36432,
	GL_VERTEX_BINDING_DIVISOR = 33494,
	GL_LINE_STRIP_ADJACENCY = 11,
	GL_VARIANT_VALUE_EXT = 34788,
	GL_COLOR_ATTACHMENT0_NV = 36064,
	GL_SAMPLE_POSITION_NV = 36432,
	GL_SAMPLE_POSITION = 36432,
	GL_TEXTURE_GREEN_TYPE_ARB = 35857,
	GL_PIXEL_TEXTURE_SGIS = 33619,
	GL_TEXTURE_LUMINANCE_TYPE = 35860,
	GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = 36056,
	GL_LAST_VERTEX_CONVENTION_OES = 36430,
	GL_UNSIGNED_SHORT_8_8_REV_MESA = 34235,
	GL_FIRST_VERTEX_CONVENTION_OES = 36429,
	GL_LUMINANCE12 = 32833,
	GL_FIRST_VERTEX_CONVENTION = 36429,
	GL_MATRIX_PALETTE_ARB = 34880,
	GL_BUMP_TEX_UNITS_ATI = 34680,
	GL_SOURCE2_ALPHA_EXT = 34186,
	GL_COMPATIBLE_SUBROUTINES = 36427,
	GL_SLUMINANCE_NV = 35910,
	GL_STENCIL_INDEX8_EXT = 36168,
	GL_INNOCENT_CONTEXT_RESET_KHR = 33364,
	GL_SRGB_READ = 33431,
	GL_FRONT = 1028,
	GL_OBJECT_POINT_SGIS = 33269,
	GL_TEXTURE_SWIZZLE_RGBA_EXT = 36422,
	GL_LIST_MODE = 2864,
	GL_ONE_MINUS_CONSTANT_ALPHA = 32772,
	GL_TEXTURE_SWIZZLE_A_EXT = 36421,
	GL_MATRIX2_NV = 34354,
	GL_MAP2_VERTEX_ATTRIB9_4_NV = 34425,
	GL_COMPLEX_SHORT_SGI = 33216,
	GL_DRAW_BUFFER9_ATI = 34862,
	GL_POINT_SIZE_MIN = 33062,
	GL_TEXTURE_SWIZZLE_B_EXT = 36420,
	GL_TEXTURE_SWIZZLE_B = 36420,
	GL_TEXTURE_SWIZZLE_G_EXT = 36419,
	GL_DEBUG_TYPE_OTHER_ARB = 33361,
	GL_SAMPLER_CUBE_SHADOW = 36293,
	GL_R11F_G11F_B10F_EXT = 35898,
	GL_EYE_PLANE_ABSOLUTE_NV = 34140,
	GL_TEXTURE_3D_BINDING_OES = 32874,
	GL_TEXTURE_SWIZZLE_R = 36418,
	GL_BIAS_BIT_ATI = 8,
	GL_LUMINANCE_ALPHA32UI_EXT = 36213,
	GL_FONT_UNDERLINE_POSITION_BIT_NV = 67108864,
	GL_VIDEO_BUFFER_PITCH_NV = 36904,
	GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA = 35767,
	GL_PROGRAM_FORMAT_ARB = 34934,
	GL_DEPTH_COMPONENT16_NONLINEAR_NV = 36396,
	GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 36264,
	GL_PRESENT_DURATION_NV = 36395,
	GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 34925,
	GL_NUM_FILL_STREAMS_NV = 36393,
	GL_COMBINE_ALPHA = 34162,
	GL_INDEX_ARRAY_LIST_STRIDE_IBM = 103083,
	GL_CONVOLUTION_1D_EXT = 32784,
	GL_MATRIX25_ARB = 35033,
	GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 37082,
	GL_MAX_NAME_STACK_DEPTH = 3383,
	GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 36388,
	GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED = 36387,
	GL_TRANSFORM_FEEDBACK_NV = 36386,
	GL_COLOR_SAMPLES_NV = 36384,
	GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 33313,
	GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES = 36383,
	GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES = 36382,
	GL_MAX_RED_SGIS = 34215,
	GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 36052,
	GL_EDGE_FLAG_ARRAY_STRIDE = 32908,
	GL_POLYGON_OFFSET_CLAMP_EXT = 36379,
	GL_MAX_MIPMAP_ANISOTROPY_SGIX = 33583,
	GL_BYTE = 5120,
	GL_MATRIX12_ARB = 35020,
	GL_QUERY_NO_WAIT_INVERTED = 36376,
	GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 34381,
	GL_VERTEX_ARRAY_POINTER_EXT = 32910,
	GL_LINEAR = 9729,
	GL_QUERY_BY_REGION_NO_WAIT = 36374,
	GL_CLIP_PLANE0_IMG = 12288,
	GL_QUERY_BY_REGION_WAIT = 36373,
	GL_OP_POWER_EXT = 34707,
	GL_IMAGE_3D = 36942,
	GL_MAX_FRAMEBUFFER_HEIGHT = 37654,
	GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = 36922,
	GL_COLOR_ATTACHMENT6_EXT = 36070,
	GL_SAMPLE_COVERAGE_VALUE_ARB = 32938,
	GL_SHADER_BINARY_FORMATS = 36344,
	GL_UNSIGNED_INT_10_10_10_2_OES = 36342,
	GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 34757,
	GL_SHADE_MODEL = 2900,
	GL_REPLICATE_BORDER = 33107,
	GL_RECIP_ADD_SIGNED_ALPHA_IMG = 35845,
	GL_BLEND_DST_ALPHA = 32970,
	GL_FORMAT_SUBSAMPLE_244_244_OML = 35203,
	GL_CONSTANT_NV = 34166,
	GL_LIGHT_MODEL_TWO_SIDE = 2898,
	GL_NAMED_STRING_LENGTH_ARB = 36329,
	GL_MAX_SUBROUTINES = 36327,
	GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = 32799,
	GL_COLOR_ARRAY_SIZE_EXT = 32897,
	GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD = 37198,
	GL_COLOR_LOGIC_OP = 3058,
	GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 36324,
	GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 37101,
	GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES = 36321,
	GL_SAMPLER_1D_ARB = 35677,
	GL_VERTEX_STREAM2_ATI = 34670,
	GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES = 36489,
	GL_RGBA_ICC_SGIX = 33889,
	GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES = 36319,
	GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 36319,
	GL_INTERNALFORMAT_STENCIL_SIZE = 33398,
	GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 36319,
	GL_MAX_VERTEX_VARYING_COMPONENTS_ARB = 36318,
	GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 36317,
	GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 33801,
	GL_4_BYTES_NV = 5129,
	GL_ATOMIC_COUNTER_BUFFER_BINDING = 37569,
	GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 36057,
	GL_FRAMEBUFFER_BINDING = 36006,
	GL_GEOMETRY_INPUT_TYPE_ARB = 36315,
	GL_TEXTURE_MAX_LEVEL = 33085,
	GL_TESS_EVALUATION_PROGRAM_NV = 35103,
	GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD = 1,
	GL_GEOMETRY_VERTICES_OUT_EXT = 36314,
	GL_COLOR_ATTACHMENT7_EXT = 36071,
	GL_GEOMETRY_SHADER_EXT = 36313,
	GL_PREVIOUS = 34168,
	GL_PROXY_TEXTURE_2D_ARRAY = 35867,
	GL_UNSIGNED_INT_SAMPLER_BUFFER = 36312,
	GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = 36436,
	GL_TEXTURE_WRAP_R_EXT = 32882,
	GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = 36311,
	GL_UNKNOWN_CONTEXT_RESET_EXT = 33365,
	GL_422_REV_EXT = 32973,
	GL_DEPTH_COMPONENT32_SGIX = 33191,
	GL_Z_EXT = 34775,
	GL_FLOAT_VEC2 = 35664,
	GL_UNSIGNED_INT_SAMPLER_CUBE = 36308,
	GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD = 8,
	GL_UNSIGNED_INT_SAMPLER_3D_EXT = 36307,
	GL_UNSIGNED_INT_SAMPLER_3D = 36307,
	GL_SLUMINANCE_ALPHA = 35908,
	GL_RG32F_EXT = 33328,
	GL_UNSIGNED_INT_SAMPLER_2D_EXT = 36306,
	GL_INT_SAMPLER_BUFFER_OES = 36304,
	GL_INT_SAMPLER_2D_ARRAY_EXT = 36303,
	GL_INT_SAMPLER_2D_ARRAY = 36303,
	GL_LUMINANCE_ALPHA_SNORM = 36882,
	GL_SECONDARY_COLOR_ARRAY_SIZE = 33882,
	GL_INT_SAMPLER_2D_RECT = 36301,
	GL_4PASS_1_SGIS = 32933,
	GL_RGB10_A2_EXT = 32857,
	GL_INT_SAMPLER_CUBE = 36300,
	GL_INT_SAMPLER_3D_EXT = 36299,
	GL_CLAMP_TO_BORDER_OES = 33069,
	GL_PRIMITIVE_RESTART_INDEX = 36766,
	GL_INT_SAMPLER_2D_EXT = 36298,
	GL_UNSIGNED_INT_VEC4_EXT = 36296,
	GL_UNSIGNED_INT_VEC4 = 36296,
	GL_PACK_COMPRESSED_BLOCK_WIDTH = 37163,
	GL_UNSIGNED_INT_VEC2_EXT = 36294,
	GL_UNSIGNED_INT_VEC2 = 36294,
	GL_PALETTE8_RGBA4_OES = 35736,
	GL_SAMPLER_2D_ARRAY_SHADOW_NV = 36292,
	GL_FRAMEBUFFER_RENDERABLE_LAYERED = 33418,
	GL_SAMPLER_2D_ARRAY_SHADOW_EXT = 36292,
	GL_LINEARBURN_NV = 37541,
	GL_SAMPLER_BUFFER_OES = 36290,
	GL_SAMPLER_BUFFER_EXT = 36290,
	GL_INT16_NV = 36836,
	GL_SAMPLER_2D_ARRAY = 36289,
	GL_SAMPLER_1D_ARRAY_EXT = 36288,
	GL_SAMPLER_1D_ARRAY = 36288,
	GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 36971,
	GL_TEXTURE_SPARSE_ARB = 37286,
	GL_COMPRESSED_RED_GREEN_RGTC2_EXT = 36285,
	GL_SAMPLE_COVERAGE_ARB = 32928,
	GL_BALI_GEOM_TIMER_INSTRUMENT_SGIX = 33866,
	GL_COMPRESSED_RED_RGTC1 = 36283,
	GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 36323,
	GL_EDGE_FLAG_ARRAY_EXT = 32889,
	GL_CONVOLUTION_FILTER_SCALE_EXT = 32788,
	GL_SAMPLER_CUBE_MAP_ARRAY_ARB = 36876,
	GL_DEPTH_COMPONENT32F_NV = 36267,
	GL_LAYER_NV = 36266,
	GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 36265,
	GL_QUAD_MESH_SUN = 34324,
	GL_RG_INTEGER = 33320,
	GL_MODULATE_SUBTRACT_ATI = 34630,
	GL_COMPUTE_PROGRAM_NV = 37115,
	GL_BUFFER_ACCESS_ARB = 35003,
	GL_SEPARATE_ATTRIBS = 35981,
	GL_MAP2_TEXTURE_COORD_4_NURBS_SGIX = 33260,
	GL_EVAL_2D_NV = 34496,
	GL_1PASS_EXT = 32929,
	GL_CUBE_MAP_ZN_SGIX = 33603,
	GL_SHORT = 5122,
	GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 36263,
	GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 36263,
	GL_MAX_PROGRAM_GENERIC_RESULTS_NV = 36262,
	GL_LINEAR_DETAIL_ALPHA_SGIS = 32920,
	GL_VERTEX_ARRAY = 32884,
	GL_OUTPUT_TEXTURE_COORD31_EXT = 34748,
	GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 36256,
	GL_COMBINER1_NV = 34129,
	GL_RGBA_INTEGER_MODE_EXT = 36254,
	GL_LUMINANCE_INTEGER_EXT = 36252,
	GL_HISTOGRAM_EXT = 32804,
	GL_RENDERBUFFER_BINDING_ANGLE = 36007,
	GL_OUTPUT_TEXTURE_COORD27_EXT = 34744,
	GL_MODELVIEW25_ARB = 34617,
	GL_INT_IMAGE_2D_MULTISAMPLE_EXT = 36960,
	GL_ALPHA_INTEGER_EXT = 36247,
	GL_ALPHA_INTEGER = 36247,
	GL_BLUE_INTEGER_EXT = 36246,
	GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 33590,
	GL_BLUE_INTEGER = 36246,
	GL_GREEN_INTEGER_EXT = 36245,
	GL_MAX_EXT = 32776,
	GL_UNSIGNED_INT_IMAGE_1D = 36962,
	GL_RED_INTEGER_EXT = 36244,
	GL_LUMINANCE8I_EXT = 36242,
	GL_INTENSITY8I_EXT = 36241,
	GL_CON_27_ATI = 35164,
	GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = 34965,
	GL_LUMINANCE_ALPHA16I_EXT = 36237,
	GL_DOT3_RGBA = 34479,
	GL_NURBS_KNOT_COUNT_SGIX = 33261,
	GL_LUMINANCE16I_EXT = 36236,
	GL_INTENSITY16I_EXT = 36235,
	GL_STATIC_READ = 35045,
	GL_RGBA8_SNORM = 36759,
	GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 33781,
	GL_RGB16I_EXT = 36233,
	GL_ARRAY_BUFFER_BINDING_ARB = 34964,
	GL_TEXTURE_LOD_BIAS_S_SGIX = 33166,
	GL_RGBA16I_EXT = 36232,
	GL_RGBA16I = 36232,
	GL_MAX_TEXTURE_IMAGE_UNITS_NV = 34930,
	GL_SPOT_EXPONENT = 4613,
	GL_LUMINANCE_ALPHA32I_EXT = 36231,
	GL_DETAIL_TEXTURE_2D_BINDING_SGIS = 32918,
	GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 36493,
	GL_RGBA8_OES = 32856,
	GL_INTENSITY32I_EXT = 36229,
	GL_ALPHA32I_EXT = 36228,
	GL_FOG_OFFSET_SGIX = 33176,
	GL_PASS_THROUGH_TOKEN = 1792,
	GL_UNPACK_SKIP_ROWS = 3315,
	GL_RGB32I_EXT = 36227,
	GL_RGBA32I_EXT = 36226,
	GL_LUMINANCE_ALPHA8UI_EXT = 36225,
	GL_IMAGE_BINDING_NAME_EXT = 36666,
	GL_UNIFORM_BUFFER = 35345,
	GL_ALPHA8UI_EXT = 36222,
	GL_RGBA8UI_EXT = 36220,
	GL_MAX_SPOT_EXPONENT_NV = 34053,
	GL_RGBA8UI = 36220,
	GL_AUX1 = 1034,
	GL_LUMINANCE_ALPHA16UI_EXT = 36219,
	GL_ACTIVE_UNIFORM_MAX_LENGTH = 35719,
	GL_LUMINANCE16UI_EXT = 36218,
	GL_INTENSITY16UI_EXT = 36217,
	GL_ALPHA16UI_EXT = 36216,
	GL_DEBUG_SOURCE_OTHER = 33355,
	GL_RGB16UI_EXT = 36215,
	GL_DISJOINT_NV = 37507,
	GL_NO_RESET_NOTIFICATION_EXT = 33377,
	GL_RGB32UI = 36209,
	GL_UNSIGNED_INT_24_8_MESA = 34641,
	GL_RGBA32UI_EXT = 36208,
	GL_POINT_TOKEN = 1793,
	GL_LIGHT7 = 16391,
	GL_RGBA32UI = 36208,
	GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 33302,
	GL_R16F_EXT = 33325,
	GL_TEXTURE_CUBE_MAP_ARRAY_EXT = 36873,
	GL_PRIMITIVE_RESTART_FIXED_INDEX = 36201,
	GL_TEXTURE_BINDING_EXTERNAL_OES = 36199,
	GL_INVALID_FRAMEBUFFER_OPERATION_OES = 1286,
	GL_SET_AMD = 34634,
	GL_REPLACE_VALUE_AMD = 34635,
	GL_TEXTURE_EXTERNAL_OES = 36197,
	GL_HALF_FLOAT_OES = 36193,
	GL_MAP1_VERTEX_ATTRIB5_4_NV = 34405,
	GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV = 33375,
	GL_4PASS_0_EXT = 32932,
	GL_MAX_FOG_FUNC_POINTS_SGIS = 33068,
	GL_PARAMETER_BUFFER_BINDING_ARB = 33007,
	GL_COMPRESSED_LUMINANCE_ALPHA_ARB = 34027,
	GL_MATRIX4_ARB = 35012,
	GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 35215,
	GL_MAX_SAMPLES_APPLE = 36183,
	GL_TEXTURE_BUFFER_SIZE_EXT = 37278,
	GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 36182,
	GL_TEXTURE_STACK_DEPTH = 2981,
	GL_DRAW_BUFFER8_ARB = 34861,
	GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 36182,
	GL_RGBA_SIGNED_COMPONENTS_EXT = 35900,
	GL_STENCIL_BACK_FAIL = 34817,
	GL_MATRIX8_ARB = 35016,
	GL_RENDERBUFFER_STENCIL_SIZE = 36181,
	GL_CURRENT_INDEX = 2817,
	GL_MAX_PROGRAM_IF_DEPTH_NV = 35062,
	GL_POST_COLOR_MATRIX_ALPHA_SCALE = 32951,
	GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084,
	GL_RENDERBUFFER_DEPTH_SIZE = 36180,
	GL_RENDERBUFFER_ALPHA_SIZE_OES = 36179,
	GL_RENDERBUFFER_ALPHA_SIZE_EXT = 36179,
	GL_RENDERBUFFER_ALPHA_SIZE = 36179,
	GL_RENDERBUFFER_BLUE_SIZE_OES = 36178,
	GL_FEEDBACK_BUFFER_POINTER = 3568,
	GL_LUMINANCE_FLOAT16_ATI = 34846,
	GL_RENDERBUFFER_GREEN_SIZE_EXT = 36177,
	GL_DRAW_BUFFER15_ARB = 34868,
	GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 34340,
	GL_MAP2_VERTEX_ATTRIB8_4_NV = 34424,
	GL_RENDERBUFFER_RED_SIZE_EXT = 36176,
	GL_INT_SAMPLER_2D_MULTISAMPLE = 37129,
	GL_REG_0_ATI = 35105,
	GL_EYE_LINEAR_NV = 9216,
	GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 36425,
	GL_STENCIL_INDEX4_OES = 36167,
	GL_STENCIL_INDEX4_EXT = 36167,
	GL_STENCIL_INDEX4 = 36167,
	GL_STENCIL_INDEX1_OES = 36166,
	GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = 36164,
	GL_RENDERBUFFER_HEIGHT_EXT = 36163,
	GL_FLOAT_MAT3x4 = 35688,
	GL_RENDERBUFFER_WIDTH_EXT = 36162,
	GL_RENDERBUFFER = 36161,
	GL_PROGRAM_ERROR_STRING_NV = 34932,
	GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 37640,
	GL_LINK_STATUS = 35714,
	GL_FRAMEBUFFER_EXT = 36160,
	GL_STENCIL_ATTACHMENT_OES = 36128,
	GL_DEBUG_TYPE_POP_GROUP_KHR = 33386,
	GL_BLEND = 3042,
	GL_STENCIL_ATTACHMENT_EXT = 36128,
	GL_DEPTH_ATTACHMENT_EXT = 36096,
	GL_COLOR_ATTACHMENT15_EXT = 36079,
	GL_POST_CONVOLUTION_GREEN_BIAS = 32801,
	GL_COLOR_ATTACHMENT14_EXT = 36078,
	GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = 35972,
	GL_COLOR_ATTACHMENT14 = 36078,
	GL_COLOR_ATTACHMENT13_EXT = 36077,
	GL_COLOR_ATTACHMENT12_EXT = 36076,
	GL_COLOR_ATTACHMENT11_NV = 36075,
	GL_COLOR_ATTACHMENT11_EXT = 36075,
	GL_BLEND_SRC = 3041,
	GL_COLOR_ATTACHMENT11 = 36075,
	GL_RGB4_S3TC = 33697,
	GL_COLOR_ATTACHMENT10_EXT = 36074,
	GL_COLOR_ATTACHMENT10 = 36074,
	GL_COLOR_ATTACHMENT9_EXT = 36073,
	GL_DIFFERENCE_KHR = 37534,
	GL_COLOR_ATTACHMENT8_NV = 36072,
	GL_COLOR_ATTACHMENT8_EXT = 36072,
	GL_COLOR_ATTACHMENT7_NV = 36071,
	GL_BLUE_BIT_ATI = 4,
	GL_CONVOLUTION_FILTER_SCALE = 32788,
	GL_GEOMETRY_VERTICES_OUT_ARB = 36314,
	GL_GREEN = 6404,
	GL_MAX_VERTEX_UNIFORM_VECTORS = 36347,
	GL_RENDERBUFFER_COLOR_SAMPLES_NV = 36368,
	GL_COLOR_ATTACHMENT5_EXT = 36069,
	GL_4PASS_0_SGIS = 32932,
	GL_UNSIGNED_INT_8_24_REV_MESA = 34642,
	GL_COLOR_ATTACHMENT4_EXT = 36068,
	GL_COLOR_ATTACHMENT3_NV = 36067,
	GL_COLOR_ATTACHMENT3_EXT = 36067,
	GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = 36399,
	GL_EVAL_VERTEX_ATTRIB7_NV = 34509,
	GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 33779,
	GL_REFERENCED_BY_GEOMETRY_SHADER_EXT = 37641,
	GL_PRESERVE_ATI = 34658,
	GL_DRAW_BUFFER5_ATI = 34858,
	GL_COLOR_ATTACHMENT1_EXT = 36065,
	GL_COLOR_ATTACHMENT1 = 36065,
	GL_COLOR_TABLE_WIDTH_SGI = 32985,
	GL_FLOAT_R32_NV = 34949,
	GL_COMPRESSED_SRGB8_ETC2 = 37493,
	GL_MAX_COLOR_ATTACHMENTS_NV = 36063,
	GL_MAX_COLOR_ATTACHMENTS_EXT = 36063,
	GL_TEXTURE_2D_BINDING_EXT = 32873,
	GL_STENCIL_BITS = 3415,
	GL_FRAMEBUFFER_UNSUPPORTED_OES = 36061,
	GL_RGBA16F_ARB = 34842,
	GL_FOG_END = 2916,
	GL_FRAGMENT_PROGRAM_ARB = 34820,
	GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 35978,
	GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 34466,
	GL_FRAMEBUFFER_UNSUPPORTED_EXT = 36061,
	GL_MAX_GENERAL_COMBINERS_NV = 34125,
	GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES = 36060,
	GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 36060,
	GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 36060,
	GL_OVERLAY_KHR = 37526,
	GL_PATCH_VERTICES_EXT = 36466,
	GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE = 35344,
	GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 36057,
	GL_GEOMETRY_INPUT_TYPE_EXT = 36315,
	GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 36057,
	GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 36055,
	GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 35967,
	GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 36055,
	GL_TEXTURE_BUFFER_BINDING_OES = 35882,
	GL_TEXTURE18_ARB = 34002,
	GL_PROXY_HISTOGRAM = 32805,
	GL_FLOAT_RGBA_MODE_NV = 34958,
	GL_VERTEX_ARRAY_SIZE_EXT = 32890,
	GL_REFERENCED_BY_TESS_CONTROL_SHADER = 37639,
	GL_PROGRAM_ALU_INSTRUCTIONS_ARB = 34821,
	GL_QUERY_RESULT_AVAILABLE = 34919,
	GL_SHADING_LANGUAGE_VERSION = 35724,
	GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 36048,
	GL_POINT_SIZE_MAX = 33063,
	GL_FRAGMENT_LIGHT3_SGIX = 33807,
	GL_DRAW_FRAMEBUFFER_BINDING_EXT = 36006,
	GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 36050,
	GL_PATH_TERMINAL_END_CAP_NV = 36984,
	GL_SAMPLE_BUFFERS_3DFX = 34483,
	GL_WRITE_ONLY_ARB = 35001,
	GL_DSDT_MAG_NV = 34550,
	GL_SMOOTH_LINE_WIDTH_RANGE = 2850,
	GL_OUTPUT_TEXTURE_COORD26_EXT = 34743,
	GL_FLOAT_RGBA16_NV = 34954,
	GL_OUTPUT_TEXTURE_COORD6_EXT = 34723,
	GL_SAMPLER_2D_RECT_SHADOW = 35684,
	GL_BUFFER_DATA_SIZE = 37635,
	GL_POINT_SIZE_MAX_SGIS = 33063,
	GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 35958,
	GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 36052,
	GL_SIGNED_NEGATE_NV = 34109,
	GL_DRAW_BUFFER3_ATI = 34856,
	GL_READ_PIXEL_DATA_RANGE_NV = 34937,
	GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 35918,
	GL_INTENSITY16 = 32845,
	GL_OUT_OF_MEMORY = 1285,
	GL_TEXTURE_BINDING_BUFFER_EXT = 35884,
	GL_ONE_MINUS_CONSTANT_ALPHA_EXT = 32772,
	GL_GEOMETRY_LINKED_VERTICES_OUT_EXT = 35094,
	GL_PACK_SUBSAMPLE_RATE_SGIX = 34208,
	GL_SLUMINANCE = 35910,
	GL_IMAGE_CLASS_1_X_32 = 33467,
	GL_DRAW_BUFFER3_NV = 34856,
	GL_SRGB8_NV = 35905,
	GL_IUI_N3F_V2F_EXT = 33199,
	GL_TEXTURE_COMPARE_FUNC_EXT = 34893,
	GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 36875,
	GL_DEPTH_BUFFER_BIT3_QCOM = 2048,
	GL_4PASS_2_SGIS = 32934,
	GL_TEXTURE_INDEX_SIZE_EXT = 33005,
	GL_CLIP_PLANE1 = 12289,
	GL_UTF8_NV = 37018,
	GL_FOG_BIT = 128,
	GL_TRIANGLES = 4,
	GL_FILL_RECTANGLE_NV = 37692,
	GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 35917,
	GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 34924,
	GL_REG_19_ATI = 35124,
	GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 35955,
	GL_MATRIX5_NV = 34357,
	GL_VIEW_CLASS_48_BITS = 33479,
	GL_R8 = 33321,
	GL_MAX_FFT_WIDTH_SGI = 33224,
	GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 36312,
	GL_INTENSITY_FLOAT16_ATI = 34845,
	GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = 33358,
	GL_LUMINANCE8_ALPHA8_EXT = 32837,
	GL_BACK_SECONDARY_COLOR_NV = 35960,
	GL_TEXTURE_BORDER_COLOR_NV = 4100,
	GL_DUAL_LUMINANCE_ALPHA4_SGIS = 33052,
	GL_CLIENT_ACTIVE_TEXTURE = 34017,
	GL_TEXTURE_1D_STACK_MESAX = 34649,
	GL_VERTEX_ARRAY_RANGE_NV = 34077,
	GL_OBJECT_ATTACHED_OBJECTS_ARB = 35717,
	GL_MEDIUM_FLOAT = 36337,
	GL_SHADOW_ATTENUATION_EXT = 33614,
	GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 37578,
	GL_DRAW_BUFFER1_ATI = 34854,
	GL_CON_17_ATI = 35154,
	GL_TEXTURE15_ARB = 33999,
	GL_READ_BUFFER_NV = 3074,
	GL_DYNAMIC_READ = 35049,
	GL_FOG_COORDINATE = 33873,
	GL_NORMALIZED_RANGE_EXT = 34784,
	GL_HALF_APPLE = 5131,
	GL_DRAW_BUFFER7_ATI = 34860,
	GL_RED_BIT_ATI = 1,
	GL_TRANSPOSE_PROGRAM_MATRIX_EXT = 36398,
	GL_VERTEX_PROGRAM_CALLBACK_MESA = 35765,
	GL_HISTOGRAM_SINK = 32813,
	GL_CONVOLUTION_BORDER_COLOR_HP = 33108,
	GL_HINT_BIT = 32768,
	GL_CLIP_DISTANCE2_APPLE = 12290,
	GL_ONE_MINUS_CONSTANT_COLOR_EXT = 32770,
	GL_COMPARE_R_TO_TEXTURE_ARB = 34894,
	GL_REG_20_ATI = 35125,
	GL_CON_16_ATI = 35153,
	GL_MATRIX_STRIDE = 37631,
	GL_CONVOLUTION_FORMAT = 32791,
	GL_PALETTE8_RGBA8_OES = 35734,
	GL_422_REV_AVERAGE_EXT = 32975,
	GL_CON_28_ATI = 35165,
	GL_QUERY_COUNTER_BITS_EXT = 34916,
	GL_RGB16_SIGNED_SGIX = 34278,
	GL_YCBCR_422_APPLE = 34233,
	GL_RGB32F_EXT = 34837,
	GL_TEXTURE_APPLICATION_MODE_EXT = 33615,
	GL_TEXTURE_MIN_LOD_SGIS = 33082,
	GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR = 33532,
	GL_CUBE_MAP_XP_SGIX = 33605,
	GL_COMBINE_RGB_ARB = 34161,
	GL_TESS_CONTROL_SHADER_BIT_EXT = 8,
	GL_MULTISAMPLE_BUFFER_BIT3_QCOM = 134217728,
	GL_BLEND_COLOR_EXT = 32773,
	GL_4PASS_3_EXT = 32935,
	GL_DRAW_BUFFER4 = 34857,
	GL_OBJECT_VALIDATE_STATUS_ARB = 35715,
	GL_SAMPLE_ALPHA_TO_MASK_EXT = 32926,
	GL_2PASS_1_EXT = 32931,
	GL_TEXTURE_MIN_LOD = 33082,
	GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = 34019,
	GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = 32980,
	GL_R1UI_V3F_SUN = 34244,
	GL_POINTS = 0,
	GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = 32,
	GL_FLOAT_MAT4x2_NV = 35689,
	GL_RENDERBUFFER_WIDTH_OES = 36162,
	GL_CURRENT_VERTEX_ATTRIB_ARB = 34342,
	GL_VIVIDLIGHT_NV = 37542,
	GL_BLEND_SRC_ALPHA_EXT = 32971,
	GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = 32959,
	GL_OUTPUT_TEXTURE_COORD23_EXT = 34740,
	GL_TEXTURE_FILTER_CONTROL_EXT = 34048,
	GL_COLOR_TABLE_SCALE_SGI = 32982,
	GL_SAMPLER_CUBE_ARB = 35680,
	GL_FRAGMENT_SHADER_INVOCATIONS_ARB = 33524,
	GL_POLYGON_SMOOTH_HINT = 3155,
	GL_ATTRIB_ARRAY_SIZE_NV = 34339,
	GL_MATRIX26_ARB = 35034,
	GL_TEXTURE_VIEW_NUM_LEVELS_OES = 33500,
	GL_FLOAT_MAT3_ARB = 35675,
	GL_RGBA16UI = 36214,
	GL_BOOL_VEC3_ARB = 35672,
	GL_INT = 5124,
	GL_TRIANGLE_MESH_SUN = 34325,
	GL_BOOL_VEC2 = 35671,
	GL_DEPTH24_STENCIL8 = 35056,
	GL_RGBA16F_EXT = 34842,
	GL_V2F = 10784,
	GL_MAX_SAMPLES_EXT = 36183,
	GL_INT_VEC2_ARB = 35667,
	GL_BALI_NUM_PRIMS_CLIPPED_INSTRUMENT_SGIX = 33767,
	GL_MAP2_VERTEX_ATTRIB4_4_NV = 34420,
	GL_4PASS_1_EXT = 32933,
	GL_R1UI_C4UB_V3F_SUN = 34245,
	GL_MODELVIEW23_ARB = 34615,
	GL_RENDERBUFFER_BLUE_SIZE = 36178,
	GL_SKIP_COMPONENTS2_NV = -5,
	GL_ELEMENT_ARRAY_BUFFER_BINDING = 34965,
	GL_TEXTURE_SRGB_DECODE_EXT = 35400,
	GL_TEXTURE_3D_EXT = 32879,
	GL_FOG_COORD_ARRAY_LENGTH_NV = 36658,
	GL_MODELVIEW22_ARB = 34614,
	GL_PROGRAM_OBJECT_ARB = 35648,
	GL_CLAMP_TO_BORDER_NV = 33069,
	GL_GEOMETRY_LINKED_INPUT_TYPE_EXT = 35095,
	GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 36321,
	GL_VARIANT_ARRAY_STRIDE_EXT = 34790,
	GL_FLOAT_RGB_NV = 34946,
	GL_PROXY_TEXTURE_2D_MULTISAMPLE = 37121,
	GL_YCRCB_422_SGIX = 33211,
	GL_PROGRAM_LENGTH_NV = 34343,
	GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 35397,
	GL_SAMPLER_3D_OES = 35679,
	GL_PATH_STROKE_OVERSAMPLE_COUNT_NV = 36999,
	GL_LARGE_SUNX = 33235,
	GL_POLYGON_BIT = 8,
	GL_SHADER_COMPILER = 36346,
	GL_CUBE_MAP_YN_SGIX = 33606,
	GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT = 37589,
	GL_CLEAR = 5376,
	GL_RGBA16 = 32859,
	GL_MATRIX_MODE = 2976,
	GL_VENDOR = 7936,
	GL_OUTPUT_TEXTURE_COORD4_EXT = 34721,
	GL_QUERY_BY_REGION_NO_WAIT_NV = 36374,
	GL_HALF_BIAS_NORMAL_NV = 34106,
	GL_READ_FRAMEBUFFER_BINDING_NV = 36010,
	GL_PROGRAM_TARGET_NV = 34374,
	GL_FRAMEBUFFER_INCOMPLETE_FORMATS = 36058,
	GL_UNIFORM_BUFFER_BINDING = 35368,
	GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = 34078,
	GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 34994,
	GL_AUX_DEPTH_STENCIL_APPLE = 35348,
	GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = 35966,
	GL_MAP_FLUSH_EXPLICIT_BIT = 16,
	GL_VARIABLE_F_NV = 34088,
	GL_UNIFORM_BLOCK = 37602,
	GL_EXP2 = 2049,
	GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES = 37495,
	GL_LAYERED_SGIX = 33573,
	GL_ELEMENT_ARRAY_POINTER_APPLE = 35342,
	GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 34033,
	GL_SAMPLES_PASSED_ARB = 35092,
	GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 32905,
	GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = 34997,
	GL_BUFFER_OBJECT_EXT = 37201,
	GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE = 35334,
	GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT = 37587,
	GL_ZOOM_Y = 3351,
	GL_MAX_PROGRAM_PATCH_ATTRIBS_NV = 34520,
	GL_PROXY_TEXTURE_CUBE_MAP_ARRAY = 36875,
	GL_BLEND_SRC_ALPHA_OES = 32971,
	GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE = 35331,
	GL_MAX_CONVOLUTION_HEIGHT = 32795,
	GL_PATH_TERMINAL_DASH_CAP_NV = 36989,
	GL_TEXTURE_COMPARE_MODE_ARB = 34892,
	GL_PROGRAM_BINARY_RETRIEVABLE_HINT = 33367,
	GL_3D_COLOR_TEXTURE = 1539,
	GL_SIGNED_LUMINANCE_NV = 34561,
	GL_POINT_SIZE_ARRAY_TYPE_OES = 35210,
	GL_HISTOGRAM_ALPHA_SIZE = 32811,
	GL_UNPACK_RESAMPLE_OML = 35205,
	GL_VERTEX_SOURCE_ATI = 34676,
	GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 34938,
	GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = 34081,
	GL_DRAW_BUFFER9_EXT = 34862,
	GL_MULTISAMPLE_BUFFER_BIT6_QCOM = 1073741824,
	GL_DEPTH_STENCIL = 34041,
	GL_RGB_SCALE_EXT = 34163,
	GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = 36261,
	GL_MAGNITUDE_SCALE_NV = 34578,
	GL_SWIZZLE_STR_DR_ATI = 35192,
	GL_PROGRAM_ATTRIB_COMPONENTS_NV = 35078,
	GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 35739,
	GL_PIXEL_TRANSFORM_SGI = 33223,
	GL_DRAW_BUFFER11_ATI = 34864,
	GL_SELECTION_BUFFER_SIZE = 3572,
	GL_DEPTH_BUFFER_BIT7_QCOM = 32768,
	GL_NUM_FRAGMENT_CONSTANTS_ATI = 35183,
	GL_DRAW_BUFFER11_ARB = 34864,
	GL_CON_19_ATI = 35156,
	GL_DEBUG_GROUP_STACK_DEPTH_KHR = 33389,
	GL_DSDT_MAG_VIB_NV = 34551,
	GL_MIN = 32775,
	GL_RELATIVE_CONIC_CURVE_TO_NV = 27,
	GL_SWIZZLE_STRQ_ATI = 35194,
	GL_RG8I = 33335,
	GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = 33086,
	GL_TEXTURE_2D_ARRAY = 35866,
	GL_MATRIX28_ARB = 35036,
	GL_CON_31_ATI = 35168,
	GL_PALETTE4_RGB5_A1_OES = 35732,
	GL_NEGATIVE_ONE_EXT = 34783,
	GL_DEBUG_TYPE_MARKER_KHR = 33384,
	GL_PIXEL_TILE_GRID_DEPTH_SGIX = 33092,
	GL_ALPHA8I_EXT = 36240,
	GL_CON_26_ATI = 35163,
	GL_PIXEL_MAP_R_TO_R = 3190,
	GL_COPY_PIXEL_TOKEN = 1798,
	GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 35973,
	GL_MAX_BLUE_SGIS = 34219,
	GL_FILL = 6914,
	GL_NEAREST = 9728,
	GL_QUAD_STRIP = 8,
	GL_DST_NV = 37511,
	GL_HARDLIGHT_NV = 37531,
	GL_CON_22_ATI = 35159,
	GL_CON_21_ATI = 35158,
	GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 35719,
	GL_MIN_SAMPLE_SHADING_VALUE = 35895,
	GL_RGB_RAW_422_APPLE = 35409,
	GL_SIGNED_RGB8_NV = 34559,
	GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = 35721,
	GL_NAME_STACK_DEPTH = 3440,
	GL_CONIC_CURVE_TO_NV = 26,
	GL_STENCIL = 6146,
	GL_PERFMON_RESULT_SIZE_AMD = 35781,
	GL_SAMPLER_2D_RECT_ARB = 35683,
	GL_CON_13_ATI = 35150,
	GL_SMAPHS30_PROGRAM_BINARY_DMP = 37457,
	GL_RGB_FLOAT32_ATI = 34837,
	GL_RGB32F = 34837,
	GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = 35742,
	GL_INDEX = 33314,
	GL_CON_20_ATI = 35157,
	GL_CON_10_ATI = 35147,
	GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 37589,
	GL_DUAL_ALPHA4_SGIS = 33040,
	GL_STATIC_READ_ARB = 35045,
	GL_TEXT_FRAGMENT_SHADER_ATI = 33280,
	GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 36310,
	GL_EXPAND_NORMAL_NV = 34104,
	GL_REG_30_ATI = 35135,
	GL_CND_ATI = 35178,
	GL_REG_29_ATI = 35134,
	GL_REG_28_ATI = 35133,
	GL_REG_26_ATI = 35131,
	GL_REG_25_ATI = 35130,
	GL_HISTOGRAM = 32804,
	GL_SWIZZLE_STQ_ATI = 35191,
	GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 36049,
	GL_SYNC_FLUSH_COMMANDS_BIT = 1,
	GL_REG_23_ATI = 35128,
	GL_OPERAND3_RGB_NV = 34195,
	GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 34996,
	GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 33530,
	GL_REG_21_ATI = 35126,
	GL_REG_18_ATI = 35123,
	GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR = 33346,
	GL_REG_17_ATI = 35122,
	GL_DRAW_PIXEL_TOKEN = 1797,
	GL_SIGNED_RGBA_NV = 34555,
	GL_REG_14_ATI = 35119,
	GL_SHADER_STORAGE_BUFFER = 37074,
	GL_TRIANGLE_STRIP_ADJACENCY_OES = 13,
	GL_LUMINANCE_ALPHA_FLOAT32_ATI = 34841,
	GL_REG_11_ATI = 35116,
	GL_BUFFER_UPDATE_BARRIER_BIT_EXT = 512,
	GL_REPLICATE_BORDER_HP = 33107,
	GL_LUMINANCE_ALPHA32F_EXT = 34841,
	GL_SAMPLER_1D_SHADOW_ARB = 35681,
	GL_TEXTURE_BASE_LEVEL = 33084,
	GL_INDEX_OFFSET = 3347,
	GL_VERTEX_ATTRIB_ARRAY7_NV = 34391,
	GL_MATRIX14_ARB = 35022,
	GL_PROGRAM_PIPELINE_BINDING_EXT = 33370,
	GL_SRC2_RGB = 34178,
	GL_TEXTURE22 = 34006,
	GL_MAP1_TEXTURE_COORD_3_NURBS_SGIX = 33250,
	GL_STENCIL_BUFFER_BIT5_QCOM = 2097152,
	GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 34829,
	GL_MAX_LABEL_LENGTH_KHR = 33512,
	GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 33783,
	GL_MAP1_VERTEX_ATTRIB0_4_NV = 34400,
	GL_DEPTH_BUFFER_BIT5_QCOM = 8192,
	GL_SIGNED_HILO16_NV = 34554,
	GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 35983,
	GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 35968,
	GL_SKIP_DECODE_EXT = 35402,
	GL_SECONDARY_COLOR_ARRAY_LENGTH_NV = 36657,
	GL_ZOOM_X = 3350,
	GL_MIN_PROGRAM_TEXEL_OFFSET_NV = 35076,
	GL_MIN_PROGRAM_TEXEL_OFFSET_EXT = 35076,
	GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT = 35070,
	GL_QUAD_INTENSITY8_SGIS = 33059,
	GL_RGB10 = 32850,
	GL_TESS_GEN_SPACING = 36471,
	GL_SYNC_FLAGS = 37141,
	GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV = 35069,
	GL_GREEN_BIT_ATI = 2,
	GL_ONE_EXT = 34782,
	GL_POST_TEXTURE_FILTER_BIAS_SGIX = 33145,
	GL_LUMINANCE_ALPHA_FLOAT32_APPLE = 34841,
	GL_INVARIANT_VALUE_EXT = 34794,
	GL_INVALID_VALUE = 1281,
	GL_LUMINANCE_EXTENDED_RANGE_SGIX = 34287,
	GL_SRC1_COLOR = 35065,
	GL_MAX_PROGRAM_LOOP_COUNT_NV = 35064,
	GL_MAX_MULTIVIEW_BUFFERS_EXT = 37106,
	GL_MAX_PROGRAM_CALL_DEPTH_NV = 35061,
	GL_STORAGE_CLIENT_APPLE = 34228,
	GL_CON_8_ATI = 35145,
	GL_TEXTURE_ALPHA_TYPE_ARB = 35859,
	GL_PIXEL_PACK_BUFFER_EXT = 35051,
	GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 34350,
	GL_UNPACK_ROW_BYTES_APPLE = 35350,
	GL_OPERAND2_ALPHA = 34202,
	GL_UNSIGNED_INT_S8_S8_8_8_NV = 34522,
	GL_SINGLE_COLOR = 33273,
	GL_PATH_COMPUTED_LENGTH_NV = 37024,
	GL_DEPTH24_STENCIL8_EXT = 35056,
	GL_PACK_INVERT_MESA = 34648,
	GL_FILTER = 33434,
	GL_PIXEL_UNPACK_BUFFER_BINDING = 35055,
	GL_BUFFER_USAGE_ARB = 34661,
	GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = 33193,
	GL_COVERAGE_EDGE_FRAGMENTS_NV = 36566,
	GL_UNSIGNED_SHORT_5_6_5_REV_EXT = 33636,
	GL_VERTEX_ATTRIB_ARRAY_LONG = 34638,
	GL_INTENSITY16F_ARB = 34845,
	GL_MAX_VERTEX_SHADER_VARIANTS_EXT = 34758,
	GL_NORMAL_ARRAY_TYPE = 32894,
	GL_TEXTURE_INTENSITY_TYPE_ARB = 35861,
	GL_DOT3_RGB_ARB = 34478,
	GL_MAX_PROGRAM_ATTRIBS_ARB = 34989,
	GL_BGR_INTEGER_EXT = 36250,
	GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = 34341,
	GL_DYNAMIC_DRAW = 35048,
	GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 34545,
	GL_UNIFORM_ARRAY_STRIDE = 35388,
	GL_MAP1_TEXTURE_COORD_4 = 3478,
	GL_RGB12 = 32851,
	GL_SOURCE0_ALPHA_ARB = 34184,
	GL_UNPACK_SKIP_IMAGES = 32877,
	GL_OPERAND2_ALPHA_EXT = 34202,
	GL_2PASS_0_SGIS = 32930,
	GL_MATRIX31_ARB = 35039,
	GL_ACCUM_CLEAR_VALUE = 2944,
	GL_RESCALE_NORMAL_EXT = 32826,
	GL_MATRIX30_ARB = 35038,
	GL_MATRIX29_ARB = 35037,
	GL_CONSTANT = 34166,
	GL_MATRIX27_ARB = 35035,
	GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = 2048,
	GL_ALPHA16_ICC_SGIX = 33896,
	GL_OUTPUT_TEXTURE_COORD17_EXT = 34734,
	GL_FRAME_NV = 36390,
	GL_RGB8_EXT = 32849,
	GL_LINEAR_MIPMAP_NEAREST = 9985,
	GL_MATRIX22_ARB = 35030,
	GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 36050,
	GL_MATRIX18_ARB = 35026,
	GL_MATRIX17_ARB = 35025,
	GL_VIEW_CLASS_S3TC_DXT3_RGBA = 33486,
	GL_MATRIX15_ARB = 35023,
	GL_CURRENT_VERTEX_WEIGHT_EXT = 34059,
	GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 33144,
	GL_QUERY_BY_REGION_NO_WAIT_INVERTED = 36378,
	GL_MIN_EXT = 32775,
	GL_GEOMETRY_SHADER_BIT_EXT = 4,
	GL_READ_ONLY = 35000,
	GL_MATRIX7_ARB = 35015,
	GL_BLUE_MAX_CLAMP_INGR = 34150,
	GL_DEBUG_CALLBACK_USER_PARAM = 33349,
	GL_TEXTURE_PRE_SPECULAR_HP = 33129,
	GL_PROXY_TEXTURE_2D_EXT = 32868,
	GL_DRAW_BUFFER6 = 34859,
	GL_MATRIX3_ARB = 35011,
	GL_SECONDARY_COLOR_ARRAY_EXT = 33886,
	GL_NICEST = 4354,
	GL_FRAGMENTS_INSTRUMENT_MAX_SGIX = 33557,
	GL_MATRIX2_ARB = 35010,
	GL_BOOL_VEC3 = 35672,
	GL_LINEAR_SHARPEN_ALPHA_SGIS = 32942,
	GL_FOG_COORDINATE_EXT = 33873,
	GL_TEXTURE_1D = 3552,
	GL_TRIANGLE_STRIP_ADJACENCY_EXT = 13,
	GL_BUFFER_MAPPED = 35004,
	GL_VARIABLE_C_NV = 34085,
	GL_TEXTURE4 = 33988,
	GL_BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT_SGIX = 33769,
	GL_IMAGE_MAG_FILTER_HP = 33116,
	GL_EVAL_VERTEX_ATTRIB4_NV = 34506,
	GL_MAP2_VERTEX_ATTRIB5_4_NV = 34421,
	GL_RENDERBUFFER_RED_SIZE_OES = 36176,
	GL_ALL_ATTRIB_BITS = 4294967295,
	GL_MODELVIEW15_ARB = 34607,
	GL_LAYOUT_DEFAULT_INTEL = 0,
	GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV = 35917,
	GL_MINMAX_EXT = 32814,
	GL_MIRRORED_REPEAT_OES = 33648,
	GL_DUP_FIRST_CUBIC_CURVE_TO_NV = 242,
	GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT = 36481,
	GL_MAX_DRAW_BUFFERS_ARB = 34852,
	GL_ALPHA_TEST_FUNC = 3009,
	GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX = 36937,
	GL_DOT_PRODUCT_TEXTURE_3D_NV = 34543,
	GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 35660,
	GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 36428,
	GL_CON_2_ATI = 35139,
	GL_TRANSFORM_FEEDBACK_BUFFER_MODE = 35967,
	GL_VERTEX_STREAM4_ATI = 34672,
	GL_ARRAY_BUFFER = 34962,
	GL_MAX_RENDERBUFFER_SIZE_OES = 34024,
	GL_SKIP_COMPONENTS4_NV = -3,
	GL_RGB8_OES = 32849,
	GL_POINT_SIZE_RANGE = 2834,
	GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 34978,
	GL_MATRIX_INDEX_ARRAY_STRIDE_OES = 34888,
	GL_OBJECT_DISTANCE_TO_POINT_SGIS = 33265,
	GL_FRAMEBUFFER_COMPLETE_EXT = 36053,
	GL_TEXTURE3_ARB = 33987,
	GL_VERTEX_ARRAY_POINTER = 32910,
	GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 35953,
	GL_OP_MIN_EXT = 34699,
	GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = 34973,
	GL_IMAGE_SCALE_Y_HP = 33110,
	GL_ONE_MINUS_SRC1_ALPHA = 35067,
	GL_MODULATE_COLOR_IMG = 35844,
	GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE = 36182,
	GL_TEXTURE_FETCH_BARRIER_BIT = 8,
	GL_DOT3_RGBA_EXT = 34625,
	GL_AUX3 = 1036,
	GL_R16_EXT = 33322,
	GL_INT_SAMPLER_RENDERBUFFER_NV = 36439,
	GL_SAMPLER_2D_SHADOW = 35682,
	GL_RASTERIZER_DISCARD_NV = 35977,
	GL_INDEX_MODE = 3120,
	GL_PATH_CLIENT_LENGTH_NV = 36991,
	GL_FOG_COORDINATE_ARRAY_EXT = 33879,
	GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = 34967,
	GL_SIGNED_IDENTITY_NV = 34108,
	GL_MAX_TEXTURE_SIZE = 3379,
	GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 35380,
	GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV = 35918,
	GL_MODULATE_ADD_ATI = 34628,
	GL_FLOAT_CLEAR_COLOR_VALUE_NV = 34957,
	GL_DRAW_BUFFER5_EXT = 34858,
	GL_STREAM_DRAW_ARB = 35040,
	GL_MAP1_VERTEX_ATTRIB7_4_NV = 34407,
	GL_REG_4_ATI = 35109,
	GL_TEXTURE_DEPTH_SIZE_ARB = 34890,
	GL_MAP2_COLOR_4 = 3504,
	GL_FUNC_REVERSE_SUBTRACT_OES = 32779,
	GL_TEXTURE_LUMINANCE_TYPE_ARB = 35860,
	GL_VERTEX_ARRAY_STRIDE_EXT = 32892,
	GL_COMPRESSED_SLUMINANCE_ALPHA = 35915,
	GL_HALF_BIAS_NEGATE_NV = 34107,
	GL_TEXTURE28_ARB = 34012,
	GL_QUADRATIC_CURVE_TO_NV = 10,
	GL_DT_SCALE_NV = 34577,
	GL_DS_SCALE_NV = 34576,
	GL_CUBE_MAP_YP_SGIX = 33607,
	GL_DRAW_BUFFER9_ARB = 34862,
	GL_VERTEX_PROGRAM_TWO_SIDE_NV = 34371,
	GL_OP_SUB_EXT = 34710,
	GL_MATRIX9_ARB = 35017,
	GL_FOG_COORD_ARRAY_STRIDE = 33877,
	GL_RGB16_SNORM_EXT = 36762,
	GL_TEXTURE_LOD_BIAS_T_SGIX = 33167,
	GL_DEBUG_TYPE_PERFORMANCE_KHR = 33360,
	GL_ALPHA_FLOAT16_ATI = 34844,
	GL_VIEW_CLASS_32_BITS = 33480,
	GL_TEXTURE_MATRIX = 2984,
	GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 34547,
	GL_RENDERBUFFER_STENCIL_SIZE_OES = 36181,
	GL_DEPTH_STENCIL_TO_BGRA_NV = 34927,
	GL_SPARE0_PLUS_SECONDARY_COLOR_NV = 34098,
	GL_PRESENT_TIME_NV = 36394,
	GL_PIXEL_MAP_I_TO_B_SIZE = 3252,
	GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 35378,
	GL_SELECTED_TEXTURE_COORD_SET_SGIS = 33729,
	GL_VERTEX_ATTRIB_ARRAY8_NV = 34392,
	GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 34922,
	GL_LUMINANCE_ALPHA_ICC_SGIX = 33893,
	GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 33298,
	GL_SOURCE2_RGB = 34178,
	GL_OUTPUT_TEXTURE_COORD11_EXT = 34728,
	GL_EVAL_BIT = 65536,
	GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT = 35378,
	GL_PIXEL_COUNT_AVAILABLE_NV = 34919,
	GL_LO_BIAS_NV = 34581,
	GL_INT_IMAGE_2D = 36952,
	GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 35979,
	GL_SAMPLE_COVERAGE_VALUE = 32938,
	GL_RGB_SIGNED_SGIX = 34272,
	GL_CURRENT_QUERY = 34917,
	GL_QUERY_COUNTER_BITS = 34916,
	GL_PROJECTION = 5889,
	GL_VERTEX_BINDING_OFFSET = 33495,
	GL_TEXTURE6_ARB = 33990,
	GL_COLOR_TABLE_ALPHA_SIZE = 32989,
	GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = 35055,
	GL_COLOR_INDEX12_EXT = 32998,
	GL_VERTICAL_LINE_TO_NV = 8,
	GL_TEXTURE9_ARB = 33993,
	GL_POINT_SPRITE_NV = 34913,
	GL_RGBA_FLOAT16_ATI = 34842,
	GL_STATE_RESTORE = 35804,
	GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 36970,
	GL_SIGNED_HILO8_NV = 34911,
	GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD = 4,
	GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 35973,
	GL_TEXTURE_PRIORITY_EXT = 32870,
	GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 36961,
	GL_SYNC_OBJECT_APPLE = 35411,
	GL_DRAW_BUFFER2 = 34855,
	GL_DEPENDENT_HILO_TEXTURE_2D_NV = 34904,
	GL_SYNC_GPU_COMMANDS_COMPLETE = 37143,
	GL_TEXTURE17_ARB = 34001,
	GL_INTENSITY4_EXT = 32842,
	GL_PERTURB_EXT = 34222,
	GL_TEXTURE_COLOR_TABLE_SGI = 32956,
	GL_OFFSET_HILO_TEXTURE_2D_NV = 34900,
	GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = 34896,
	GL_DEBUG_TYPE_ERROR_ARB = 33356,
	GL_COMPARE_REF_TO_TEXTURE_EXT = 34894,
	GL_SET = 5391,
	GL_INVERSE_NV = 34347,
	GL_MODELVIEW10_ARB = 34602,
	GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 34894,
	GL_DEPTH_BUFFER_BIT0_QCOM = 256,
	GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = 33885,
	GL_DEPTH_RENDERABLE = 33415,
	GL_IMAGE_CUBE = 36944,
	GL_COLOR_ATTACHMENT6 = 36070,
	GL_PROGRAM_PIPELINE_OBJECT_EXT = 35407,
	GL_PIXEL_PACK_BUFFER_BINDING_ARB = 35053,
	GL_BINORMAL_ARRAY_STRIDE_EXT = 33857,
	GL_NORMAL_ARRAY_COUNT_EXT = 32896,
	GL_VERSION_ES_CL_1_1 = 1,
	GL_SRGB_EXT = 35904,
	GL_MATRIX_INDEX_ARRAY_TYPE_OES = 34887,
	GL_BLEND_SRC_RGB_OES = 32969,
	GL_PROGRAM_TEX_INDIRECTIONS_ARB = 34823,
	GL_SUCCESS_NV = 36911,
	GL_PLUS_NV = 37521,
	GL_MAP1_INDEX_NURBS_SGIX = 33229,
	GL_INT64_VEC4_NV = 36843,
	GL_8X_BIT_ATI = 4,
	GL_UNIFORM_BLOCK_BINDING = 35391,
	GL_EVAL_VERTEX_ATTRIB3_NV = 34505,
	GL_POLYGON_OFFSET_BIAS_EXT = 32825,
	GL_COLOR_SUM = 33880,
	GL_FONT_UNITS_PER_EM_BIT_NV = 1048576,
	GL_DETAIL_TEXTURE_MODE_SGIS = 32923,
	GL_MAT_EMISSION_BIT_PGI = 8388608,
	GL_MAP2_VERTEX_ATTRIB0_4_NV = 34416,
	GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 36495,
	GL_DSDT8_NV = 34569,
	GL_TEXTURE_VIEW_MIN_LEVEL_EXT = 33499,
	GL_DRAW_BUFFER15_ATI = 34868,
	GL_DUAL_ALPHA12_SGIS = 33042,
	GL_NORMAL_ARRAY_STRIDE = 32895,
	GL_UNSIGNED_INT_5_9_9_9_REV = 35902,
	GL_DRAW_BUFFER14_EXT = 34867,
	GL_MAX_PROGRAM_TEXEL_OFFSET_EXT = 35077,
	GL_2PASS_0_EXT = 32930,
	GL_DEBUG_SOURCE_THIRD_PARTY = 33353,
	GL_CONVOLUTION_2D_EXT = 32785,
	GL_PALETTE4_RGBA4_OES = 35731,
	GL_RGBA_EXTENDED_RANGE_SGIX = 34285,
	GL_OUTPUT_COLOR0_EXT = 34715,
	GL_PACK_ROW_LENGTH = 3330,
	GL_HISTOGRAM_FORMAT = 32807,
	GL_OP_MADD_EXT = 34696,
	GL_DRAW_BUFFER13_NV = 34866,
	GL_DRAW_BUFFER13_ARB = 34866,
	GL_SYNC_STATUS = 37140,
	GL_PIXEL_MAP_A_TO_A = 3193,
	GL_FOG_FUNC_POINTS_SGIS = 33067,
	GL_ONE_MINUS_CONSTANT_COLOR = 32770,
	GL_R3_G3_B2 = 10768,
	GL_WEIGHT_ARRAY_TYPE_OES = 34473,
	GL_DRAW_BUFFER11_NV = 34864,
	GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = 35337,
	GL_2_BYTES_NV = 5127,
	GL_PATH_MODELVIEW_STACK_DEPTH_NV = 2979,
	GL_CURRENT_COLOR = 2816,
	GL_DRAW_BUFFER10_NV = 34863,
	GL_TEXTURE_CLIPMAP_OFFSET_SGIX = 33139,
	GL_DRAW_BUFFER10_ATI = 34863,
	GL_TEXTURE_GREEN_SIZE = 32861,
	GL_MAX_UNIFORM_BLOCK_SIZE = 35376,
	GL_TEXTURE_BLUE_SIZE = 32862,
	GL_FONT_X_MAX_BOUNDS_BIT_NV = 262144,
	GL_MAP2_VERTEX_4 = 3512,
	GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 32904,
	GL_COMPRESSED_TEXTURE_FORMATS = 34467,
	GL_PIXEL_BUFFER_BARRIER_BIT_EXT = 128,
	GL_IGLOO_FULLSCREEN_SGIX = 33182,
	GL_TRACE_ARRAYS_BIT_MESA = 4,
	GL_INVERT = 5386,
	GL_TEXTURE_COMPARE_FUNC_ARB = 34893,
	GL_IMAGE_BUFFER = 36945,
	GL_V3F = 10785,
	GL_RENDERBUFFER_DEPTH_SIZE_EXT = 36180,
	GL_TEXTURE_BINDING_BUFFER_OES = 35884,
	GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT = 35414,
	GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 35919,
	GL_TEXTURE0_SGIS = 33735,
	GL_UNSIGNED_INT_24_8_EXT = 34042,
	GL_DRAW_BUFFER6_ATI = 34859,
	GL_TANGENT_ARRAY_TYPE_EXT = 33854,
	GL_FOG_COORDINATE_ARRAY_TYPE = 33876,
	GL_COLOR_ATTACHMENT1_NV = 36065,
	GL_DRAW_BUFFER5_ARB = 34858,
	GL_TRIANGULAR_NV = 37029,
	GL_SYNC_CL_EVENT_COMPLETE_ARB = 33345,
	GL_CLAMP_FRAGMENT_COLOR_ARB = 35099,
	GL_DRAW_BUFFER4_NV = 34857,
	GL_DRAW_BUFFER4_ATI = 34857,
	GL_SURFACE_MAPPED_NV = 34560,
	GL_MAP1_COLOR_4 = 3472,
	GL_DRAW_BUFFER4_ARB = 34857,
	GL_PIXEL_MAP_I_TO_R = 3186,
	GL_COMBINER_AB_OUTPUT_NV = 34122,
	GL_POLYGON_OFFSET_FILL = 32823,
	GL_MULTISAMPLE_BIT_ARB = 536870912,
	GL_LIGHT1 = 16385,
	GL_SAMPLER_2D = 35678,
	GL_STREAM_COPY = 35042,
	GL_ASYNC_DRAW_PIXELS_SGIX = 33629,
	GL_MAP1_VERTEX_ATTRIB11_4_NV = 34411,
	GL_INT_VEC4 = 35669,
	GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 35722,
	GL_BUFFER_MAPPED_OES = 35004,
	GL_DRAW_BUFFER14_NV = 34867,
	GL_TEXTURE_CUBE_MAP_ARB = 34067,
	GL_STREAM_COPY_ARB = 35042,
	GL_MODELVIEW0_ARB = 5888,
	GL_DISTANCE_ATTENUATION_SGIS = 33065,
	GL_DRAW_BUFFER2_ATI = 34855,
	GL_MAP1_VERTEX_ATTRIB8_4_NV = 34408,
	GL_INNOCENT_CONTEXT_RESET_EXT = 33364,
	GL_DEFORMATIONS_MASK_SGIX = 33174,
	GL_DRAW_BUFFER0_NV = 34853,
	GL_BOOL_ARB = 35670,
	GL_RGB_FLOAT16_ATI = 34843,
	GL_STENCIL_OP_VALUE_AMD = 34636,
	GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 36879,
	GL_SAMPLER_CUBE_SHADOW_EXT = 36293,
	GL_DRAW_BUFFER1 = 34854,
	GL_MAX_VARYING_COMPONENTS = 35659,
	GL_TEXTURE_LUMINANCE_SIZE = 32864,
	GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 37130,
	GL_DRAW_BUFFER0_ATI = 34853,
	GL_MIRRORED_REPEAT = 33648,
	GL_MAX_DRAW_BUFFERS_NV = 34852,
	GL_MODELVIEW9_ARB = 34601,
	GL_CLIP_PLANE3_IMG = 12291,
	GL_SOURCE0_ALPHA = 34184,
	GL_SIGNED_LUMINANCE8_ALPHA8_NV = 34564,
	GL_SAMPLER_2D_MULTISAMPLE = 37128,
	GL_PRIMITIVE_ID_NV = 35964,
	GL_BALI_NUM_PRIMS_REJECT_INSTRUMENT_SGIX = 33768,
	GL_MAX_VIEWPORT_DIMS = 3386,
	GL_INTENSITY_FLOAT16_APPLE = 34845,
	GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 34070,
	GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT = 37279,
	GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 34071,
	GL_R1UI_C3F_V3F_SUN = 34246,
	GL_VIDEO_COLOR_CONVERSION_OFFSET_NV = 36908,
	GL_VERTEX_PROGRAM_TWO_SIDE = 34371,
	GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 33452,
	GL_CURRENT_MATRIX_ARB = 34369,
	GL_TEXTURE_COMPARE_FUNC = 34893,
	GL_INTENSITY8_SNORM = 36887,
	GL_SELECTED_TEXTURE_SGIS = 33728,
	GL_BGR_INTEGER = 36250,
	GL_BUFFER_ACCESS = 35003,
	GL_SCALE_BY_ONE_HALF_NV = 34112,
	GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 32978,
	GL_BOOL = 35670,
	GL_RGBA16F = 34842,
	GL_2D = 1536,
	GL_COVERAGE_MODULATION_NV = 37682,
	GL_DUAL_LUMINANCE16_SGIS = 33047,
	GL_ALPHA4_EXT = 32827,
	GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 34074,
	GL_LINE_BIT = 4,
	GL_INTERLACE_READ_OML = 35201,
	GL_DUAL_LUMINANCE8_SGIS = 33045,
	GL_TEXTURE_COORD_SET_INTERLEAVE_FACTOR_SGIS = 33733,
	GL_VERTEX_SHADER_VARIANTS_EXT = 34768,
	GL_PATCH_DEFAULT_INNER_LEVEL = 36467,
	GL_SOURCE2_RGB_EXT = 34178,
	GL_RENDERBUFFER_BINDING_EXT = 36007,
	GL_IGLOO_COLORNORMAL_SGIX = 33185,
	GL_ELEMENT_ARRAY_ATI = 34664,
	GL_UNIFORM_TYPE = 35383,
	GL_PROXY_TEXTURE_RECTANGLE_ARB = 34039,
	GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 34897,
	GL_COLOR_TABLE_SGI = 32976,
	GL_CULL_FACE = 2884,
	GL_VARIABLE_G_NV = 34089,
	GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 34832,
	GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 34830,
	GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = 32954,
	GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 33802,
	GL_LUMINANCE_ALPHA_SIGNED_SGIX = 34277,
	GL_CIRCULAR_CW_ARC_TO_NV = 250,
	GL_CON_3_ATI = 35140,
	GL_DEPTH_RANGE = 2928,
	GL_FRAGMENT_PROGRAM_POSITION_MESA = 35760,
	GL_VIEW_CLASS_S3TC_DXT5_RGBA = 33487,
	GL_OUTPUT_TEXTURE_COORD12_EXT = 34729,
	GL_CON_1_ATI = 35138,
	GL_ACCUM = 256,
	GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 34099,
	GL_DEBUG_TYPE_MARKER = 33384,
	GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = 35743,
	GL_SEPARATE_SPECULAR_COLOR_EXT = 33274,
	GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085,
	GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 34818,
	GL_T2F_C3F_V3F = 10794,
	GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 32981,
	GL_STENCIL_BACK_FAIL_ATI = 34817,
	GL_COLOR_ARRAY_TYPE = 32898,
	GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX = 33162,
	GL_SELECT = 7170,
	GL_SMOOTH_QUADRATIC_CURVE_TO_NV = 14,
	GL_REG_7_ATI = 35112,
	GL_STENCIL_BACK_FUNC_ATI = 34816,
	GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = 32803,
	GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = 34241,
	GL_PROGRAM_BINARY_FORMATS_OES = 34815,
	GL_MATRIX0_ARB = 35008,
	GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 33497,
	GL_UNSIGNED_INT_8_8_8_8_REV_EXT = 33639,
	GL_DEBUG_TYPE_PUSH_GROUP_KHR = 33385,
	GL_WEIGHT_ARRAY_BUFFER_BINDING_OES = 34974,
	GL_LUMINANCE_FLOAT32_ATI = 34840,
	GL_SWIZZLE_STQ_DQ_ATI = 35193,
	GL_BLUE_BITS = 3412,
	GL_NUM_GENERAL_COMBINERS_NV = 34126,
	GL_PN_TRIANGLES_NORMAL_MODE_ATI = 34803,
	GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 33299,
	GL_PACK_MAX_COMPRESSED_SIZE_SGIX = 33563,
	GL_PN_TRIANGLES_POINT_MODE_ATI = 34802,
	GL_FRONT_AND_BACK = 1032,
	GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 34993,
	GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 34801,
	GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR = 33347,
	GL_LARGE_CW_ARC_TO_NV = 24,
	GL_DEPTH_COMPONENT24_OES = 33190,
	GL_CONVOLUTION_FILTER_BIAS = 32789,
	GL_YCRCBA_SGIX = 33561,
	GL_RGBA_SIGNED_SGIX = 34273,
	GL_MAX_VIEWPORTS_NV = 33371,
	GL_READ_FRAMEBUFFER_BINDING_ANGLE = 36010,
	GL_POST_COLOR_MATRIX_GREEN_SCALE = 32949,
	GL_PIXEL_MAP_I_TO_A = 3189,
	GL_BUFFER_USAGE = 34661,
	GL_TEXTURE_SHADER_NV = 34526,
	GL_ACTIVE_STENCIL_FACE_EXT = 35089,
	GL_CLIP_DISTANCE1 = 12289,
	GL_COMPRESSED_LUMINANCE_ARB = 34026,
	GL_DRAW_FRAMEBUFFER_NV = 36009,
	GL_TEXTURE_BLUE_SIZE_EXT = 32862,
	GL_COMPRESSED_RED = 33317,
	GL_W_EXT = 34776,
	GL_IMAGE_CUBIC_WEIGHT_HP = 33118,
	GL_SRC2_ALPHA = 34186,
	GL_INTENSITY32F_ARB = 34839,
	GL_VERTEX_SHADER_INSTRUCTIONS_EXT = 34767,
	GL_TEXTURE_VIEW_MIN_LAYER = 33501,
	GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 34764,
	GL_DEBUG_PRINT_MESA = 34650,
	GL_OFFSET_TEXTURE_2D_MATRIX_NV = 34529,
	GL_MAT_AMBIENT_BIT_PGI = 1048576,
	GL_MAP_UNSYNCHRONIZED_BIT = 32,
	GL_MULTISAMPLE_BUFFER_BIT4_QCOM = 268435456,
	GL_VERTEX_WEIGHT_ARRAY_EXT = 34060,
	GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 36321,
	GL_CONSTANT_COLOR_EXT = 32769,
	GL_UPPER_LEFT = 36002,
	GL_T2F_IUI_N3F_V2F_EXT = 33203,
	GL_ADD_SIGNED = 34164,
	GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 34071,
	GL_MAX_PROGRAM_LOOP_DEPTH_NV = 35063,
	GL_OUTPUT_TEXTURE_COORD30_EXT = 34747,
	GL_OUTPUT_TEXTURE_COORD29_EXT = 34746,
	GL_COPY_READ_BUFFER_NV = 36662,
	GL_UNIFORM_BUFFER_SIZE = 35370,
	GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR = 33357,
	GL_OUTPUT_TEXTURE_COORD25_EXT = 34742,
	GL_UNSIGNED_SHORT_5_5_5_1_EXT = 32820,
	GL_LIGHT3 = 16387,
	GL_BALI_NUM_TRIS_CULLED_INSTRUMENT_SGIX = 33766,
	GL_MAX = 32776,
	GL_REPEAT = 10497,
	GL_CUBIC_EXT = 33588,
	GL_MAP2_INDEX_NURBS_SGIX = 33254,
	GL_GEOMETRY_DEFORMATION_SGIX = 33172,
	GL_OUTPUT_TEXTURE_COORD19_EXT = 34736,
	GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = 35957,
	GL_OPERAND1_ALPHA_ARB = 34201,
	GL_LERP_ATI = 35177,
	GL_MAP1_VERTEX_3_NURBS_SGIX = 33227,
	GL_TEXTURE_DS_SIZE_NV = 34589,
	GL_DEBUG_TYPE_OTHER = 33361,
	GL_FOG_BLEND_ALPHA_SGIX = 33278,
	GL_INTENSITY_SIGNED_SGIX = 34276,
	GL_POST_COLOR_MATRIX_RED_SCALE = 32948,
	GL_STATIC_DRAW = 35044,
	GL_STREAM_DRAW = 35040,
	GL_CONTEXT_CORE_PROFILE_BIT = 1,
	GL_OUTPUT_TEXTURE_COORD16_EXT = 34733,
	GL_NUM_PASSES_ATI = 35184,
	GL_OPERAND2_RGB_ARB = 34194,
	GL_OUTPUT_TEXTURE_COORD14_EXT = 34731,
	GL_TEXTURE_MAX_CLAMP_S_SGIX = 33641,
	GL_INNOCENT_CONTEXT_RESET_ARB = 33364,
	GL_SOURCE1_RGB_ARB = 34177,
	GL_OUTPUT_TEXTURE_COORD10_EXT = 34727,
	GL_IMAGE_BUFFER_OES = 36945,
	GL_VIBRANCE_SCALE_NV = 34579,
	GL_FOG = 2912,
	GL_UNSIGNED_SHORT_5_6_5_EXT = 33635,
	GL_DEBUG_SEVERITY_MEDIUM = 37191,
	GL_COPY = 5379,
	GL_INT_IMAGE_2D_MULTISAMPLE = 36960,
	GL_INT64_NV = 5134,
	GL_OUTPUT_TEXTURE_COORD5_EXT = 34722,
	GL_UNSIGNED_SHORT_8_8_MESA = 34234,
	GL_OP_FRAC_EXT = 34697,
	GL_S = 8192,
	GL_CURRENT_SECONDARY_COLOR = 33881,
	GL_CLIP_DISTANCE6_APPLE = 12294,
	GL_FRAGMENT_PROGRAM_CALLBACK_MESA = 35761,
	GL_VERTEX_ATTRIB_ARRAY_SIZE = 34339,
	GL_FRAGMENT_LIGHT7_SGIX = 33811,
	GL_RELATIVE_ROUNDED_RECT4_NV = 237,
	GL_LINE_STRIP = 3,
	GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX = 33161,
	GL_MAJOR_VERSION = 33307,
	GL_COMPLEX_INT_SGI = 33218,
	GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 33141,
	GL_DEPTH_BUFFER_BIT1_QCOM = 512,
	GL_MAX_VERTEX_OUTPUT_COMPONENTS = 37154,
	GL_ALPHA_FLOAT16_APPLE = 34844,
	GL_TEXTURE_VIEW_NUM_LEVELS_EXT = 33500,
	GL_CLIP_PLANE2 = 12290,
	GL_2PASS_1_SGIS = 32931,
	GL_DEPTH_BUFFER_BIT6_QCOM = 16384,
	GL_RGB10_A2 = 32857,
	GL_PATCH_DEFAULT_OUTER_LEVEL_EXT = 36468,
	GL_MAX_VARYING_FLOATS = 35659,
	GL_UNKNOWN_CONTEXT_RESET = 33365,
	GL_STENCIL_BUFFER_BIT3_QCOM = 524288,
	GL_RGBA12_EXT = 32858,
	GL_MAP2_VERTEX_4_NURBS_SGIX = 33253,
	GL_SKIP_COMPONENTS1_NV = -6,
	GL_INFO_LOG_LENGTH = 35716,
	GL_COLOR_MATERIAL_PARAMETER = 2902,
	GL_STENCIL_VALUE_MASK = 2963,
	GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 37675,
	GL_NORMALIZE = 2977,
	GL_UNPACK_SKIP_VOLUMES_SGIS = 33074,
	GL_INDEX_WRITEMASK = 3105,
	GL_BUMP_NUM_TEX_UNITS_ATI = 34679,
	GL_ACTIVE_PROGRAM = 33369,
	GL_PIXEL_MAP_G_TO_G = 3191,
	GL_FEEDBACK_BUFFER_TYPE = 3570,
	GL_ARRAY_BUFFER_ARB = 34962,
	GL_PROGRAM_POINT_SIZE_EXT = 34370,
	GL_PROXY_TEXTURE_1D_ARRAY_EXT = 35865,
	GL_PROGRAM_ERROR_POSITION_ARB = 34379,
	GL_TEXTURE_BLUE_TYPE = 35858,
	GL_DEPTH_COMPONENT24_ARB = 33190,
	GL_SAMPLES_SGIS = 32937,
	GL_VERTEX_STREAM1_ATI = 34669,
	GL_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX = 33556,
	GL_OCCLUSION_INSTRUMENT_SGIX = 33773,
	GL_POST_COLOR_MATRIX_ALPHA_BIAS = 32955,
	GL_TEXTURE_CONSTANT_DATA_SUNX = 33238,
	GL_VERTEX_ATTRIB_ARRAY10_NV = 34394,
	GL_SHADER_IMAGE_LOAD = 33444,
	GL_CONSTANT_BORDER = 33105,
	GL_PIXEL_TILE_WIDTH_SGIX = 33088,
	GL_NO_ERROR = 0,
	GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 37054,
	GL_VERTEX_ATTRIB_ARRAY14_NV = 34398,
	GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 34770,
	GL_DRAW_FRAMEBUFFER_ANGLE = 36009,
	GL_FOG_HINT = 3156,
	GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = 16384,
	GL_TEXTURE_2D_STACK_BINDING_MESAX = 34654,
	GL_FOG_COORDINATE_SOURCE = 33872,
	GL_LUMINANCE12_ALPHA4_EXT = 32838,
	GL_PACK_SKIP_IMAGES_EXT = 32875,
	GL_MAX_DEFORMATION_ORDER_SGIX = 33175,
	GL_COLOR_ARRAY_ADDRESS_NV = 36643,
	GL_STATIC_COPY = 35046,
	GL_VERTEX_ATTRIB_ARRAY2_NV = 34386,
	GL_PERFQUERY_FLUSH_INTEL = 33786,
	GL_OP_ROUND_EXT = 34704,
	GL_CONTEXT_RELEASE_BEHAVIOR_KHR = 33531,
	GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES = 34072,
	GL_MAP1_VERTEX_ATTRIB15_4_NV = 34415,
	GL_DEBUG_OBJECT_MESA = 34649,
	GL_FRAMEBUFFER_SRGB_EXT = 36281,
	GL_MAP2_VERTEX_ATTRIB6_4_NV = 34422,
	GL_INT_VEC4_ARB = 35669,
	GL_COMPRESSED_RGBA = 34030,
	GL_COPY_READ_BUFFER_BINDING = 36662,
	GL_CON_0_ATI = 35137,
	GL_TEXTURE_GREEN_TYPE = 35857,
	GL_MAX_TEXTURE_BUFFER_SIZE_OES = 35883,
	GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = 34062,
	GL_TRANSPOSE_PROJECTION_MATRIX = 34020,
	GL_MATRIX_INDEX_ARRAY_TYPE_ARB = 34887,
	GL_BUFFER_GPU_ADDRESS_NV = 36637,
	GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 37497,
	GL_STENCIL_TEST_TWO_SIDE_EXT = 35088,
	GL_ACTIVE_VERTEX_UNITS_ARB = 34469,
	GL_BLUE_NV = 6405,
	GL_VERTEX_STATE_PROGRAM_NV = 34337,
	GL_MODELVIEW29_ARB = 34621,
	GL_OUTPUT_TEXTURE_COORD0_EXT = 34717,
	GL_DEBUG_TYPE_PORTABILITY_ARB = 33359,
	GL_DOT3_RGBA_ARB = 34479,
	GL_RGB16I = 36233,
	GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = 32924,
	GL_RGBA_INTEGER_EXT = 36249,
	GL_MODELVIEW20_ARB = 34612,
	GL_GLYPH_HEIGHT_BIT_NV = 2,
	GL_UNSIGNED_NORMALIZED_ARB = 35863,
	GL_DECAL = 8449,
	GL_CONVOLUTION_2D = 32785,
	GL_DEBUG_TYPE_ERROR_KHR = 33356,
	GL_MODELVIEW18_ARB = 34610,
	GL_UNPACK_LSB_FIRST = 3313,
	GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37495,
	GL_MODELVIEW14_ARB = 34606,
	GL_PIXEL_MAP_I_TO_B = 3188,
	GL_MODELVIEW11_ARB = 34603,
	GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES = 36483,
	GL_FONT_HEIGHT_BIT_NV = 8388608,
	GL_MODELVIEW7_ARB = 34599,
	GL_TEXTURE_BINDING_3D = 32874,
	GL_RED_BITS = 3410,
	GL_MODELVIEW6_ARB = 34598,
	GL_DEBUG_SEVERITY_MEDIUM_ARB = 37191,
	GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = 35879,
	GL_IS_PER_PATCH = 37607,
	GL_SHADOW_AMBIENT_SGIX = 32959,
	GL_UNPACK_COMPRESSED_BLOCK_DEPTH = 37161,
	GL_WEIGHT_ARRAY_SIZE_ARB = 34475,
	GL_TESS_CONTROL_OUTPUT_VERTICES_EXT = 36469,
	GL_CURRENT_NORMAL = 2818,
	GL_POLYGON_OFFSET_UNITS = 10752,
	GL_GREEN_SCALE = 3352,
	GL_WEIGHT_ARRAY_BUFFER_BINDING = 34974,
	GL_ACTIVE_TEXTURE_ARB = 34016,
	GL_HI_SCALE_NV = 34574,
	GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = 34572,
	GL_MAX_RATIONAL_EVAL_ORDER_NV = 34519,
	GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV = 34020,
	GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 32981,
	GL_REFLECTION_MAP = 34066,
	GL_VERTEX_ATTRIB_ARRAY1_NV = 34385,
	GL_REG_16_ATI = 35121,
	GL_HILO_NV = 34548,
	GL_INDEX_ARRAY_COUNT_EXT = 32903,
	GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 33455,
	GL_QUERY_BUFFER_BARRIER_BIT = 32768,
	GL_CULL_MODES_NV = 34528,
	GL_SIGNED_LUMINANCE8_NV = 34562,
	GL_SAMPLER_2D_RECT = 35683,
	GL_EVAL_VERTEX_ATTRIB5_NV = 34507,
	GL_PIXEL_PACK_BUFFER_BINDING = 35053,
	GL_UTF16_NV = 37019,
	GL_MIN_SAMPLE_SHADING_VALUE_ARB = 35895,
	GL_VERTEX_ATTRIB_ARRAY13_NV = 34397,
	GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 37590,
	GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 36265,
	GL_BUFFER_SERIALIZED_MODIFY_APPLE = 35346,
	GL_NORMAL_MAP = 34065,
	GL_DOT3_RGBA_IMG = 34479,
	GL_COORD_REPLACE_ARB = 34914,
	GL_DEBUG_CALLBACK_FUNCTION_KHR = 33348,
	GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 34338,
	GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 35661,
	GL_WEIGHT_SUM_UNITY_ARB = 34470,
	GL_LOGIC_OP_MODE = 3056,
	GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT = 37081,
	GL_FONT_Y_MAX_BOUNDS_BIT_NV = 524288,
	GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 37808,
	GL_COMPRESSED_TEXTURE_FORMATS_ARB = 34467,
	GL_SAMPLE_MASK_NV = 36433,
	GL_STENCIL_BUFFER_BIT1_QCOM = 131072,
	GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = 34061,
	GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT = 35413,
	GL_UNIFORM_BLOCK_DATA_SIZE = 35392,
	GL_MAP2_VERTEX_ATTRIB15_4_NV = 34431,
	GL_MAP2_VERTEX_ATTRIB13_4_NV = 34429,
	GL_MAP2_VERTEX_ATTRIB12_4_NV = 34428,
	GL_MAP2_VERTEX_ATTRIB10_4_NV = 34426,
	GL_MAP2_VERTEX_ATTRIB7_4_NV = 34423,
	GL_INT_VEC3_ARB = 35668,
	GL_LINEAR_SHARPEN_SGIS = 32941,
	GL_TEXTURE_FILTER_CONTROL = 34048,
	GL_PROXY_COLOR_TABLE_SGI = 32979,
	GL_PRIMITIVES_SUBMITTED_ARB = 33519,
	GL_MATRIX8_NV = 34360,
	GL_ELEMENT_ARRAY_POINTER_ATI = 34666,
	GL_MAP2_VERTEX_ATTRIB2_4_NV = 34418,
	GL_MAP2_VERTEX_ATTRIB1_4_NV = 34417,
	GL_SMOOTH_CUBIC_CURVE_TO_NV = 16,
	GL_MAP1_VERTEX_ATTRIB13_4_NV = 34413,
	GL_TEXTURE_MAX_LEVEL_APPLE = 33085,
	GL_ELEMENT_ARRAY_BARRIER_BIT_EXT = 2,
	GL_SEPARATE_ATTRIBS_EXT = 35981,
	GL_FONT_DESCENDER_BIT_NV = 4194304,
	GL_BINNING_CONTROL_HINT_QCOM = 36784,
	GL_MAP1_VERTEX_ATTRIB10_4_NV = 34410,
	GL_PROXY_TEXTURE_COLOR_TABLE_SGI = 32957,
	GL_MAP1_VERTEX_ATTRIB9_4_NV = 34409,
	GL_FRAGMENT_SHADER_ATI = 35104,
	GL_CND0_ATI = 35179,
	GL_MAP1_VERTEX_ATTRIB1_4_NV = 34401,
	GL_INCR_WRAP_EXT = 34055,
	GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT = 33637,
	GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 35395,
	GL_RENDERBUFFER_BINDING = 36007,
	GL_VERTEX_ATTRIB_ARRAY12_NV = 34396,
	GL_TEXTURE_FOG_SGIX = 33645,
	GL_VERTEX_ATTRIB_ARRAY6_NV = 34390,
	GL_VERTEX_ATTRIB_ARRAY4_NV = 34388,
	GL_REG_31_ATI = 35136,
	GL_TEXTURE_DT_SIZE_NV = 34590,
	GL_FOG_COORD_ARRAY_ADDRESS_NV = 36648,
	GL_OFFSET_TEXTURE_BIAS_NV = 34531,
	GL_TEXTURE28 = 34012,
	GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = 34373,
	GL_TRANSPOSE_CURRENT_MATRIX_ARB = 34999,
	GL_DRAW_BUFFER8 = 34861,
	GL_CURRENT_MATRIX_NV = 34369,
	GL_ONE_MINUS_DST_COLOR = 775,
	GL_OUTPUT_TEXTURE_COORD13_EXT = 34730,
	GL_PIXEL_MAP_I_TO_G = 3187,
	GL_TESS_CONTROL_TEXTURE = 33436,
	GL_MIN_SAMPLE_SHADING_VALUE_OES = 35895,
	GL_SCISSOR_BOX = 3088,
	GL_MATRIX11_NV = 34363,
	GL_TEXTURE10 = 33994,
	GL_MATRIX3_NV = 34355,
	GL_COMP_BIT_ATI = 2,
	GL_FENCE_APPLE = 35339,
	GL_GEOMETRY_VERTICES_OUT = 35094,
	GL_COLOR_ATTACHMENT14_NV = 36078,
	GL_UNSIGNED_SHORT_15_1_MESA = 34643,
	GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = 35973,
	GL_MAP2_VERTEX_3_NURBS_SGIX = 33252,
	GL_FOG_FUNC_SGIS = 33066,
	GL_RG16F_EXT = 33327,
	GL_DOUBLE_EXT = 5130,
	GL_REFERENCED_BY_VERTEX_SHADER = 37638,
	GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 33301,
	GL_COMPRESSED_SLUMINANCE_EXT = 35914,
	GL_LUMINANCE8_EXT = 32832,
	GL_INTENSITY32UI_EXT = 36211,
	GL_CURRENT_SECONDARY_COLOR_EXT = 33881,
	GL_LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX = 34295,
	GL_TEXTURE_SWIZZLE_G = 36419,
	GL_POINT_SIZE_MIN_ARB = 33062,
	GL_FRAGMENT_LIGHTING_SGIX = 33792,
	GL_INDEX_SHIFT = 3346,
	GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = 35068,
	GL_VERSION_ES_CM_1_1 = 1,
	GL_READ_FRAMEBUFFER_NV = 36008,
	GL_TEXTURE_CUBE_MAP = 34067,
	GL_STENCIL_CLEAR_TAG_VALUE_EXT = 35059,
	GL_VERTEX_ATTRIB_BINDING = 33492,
	GL_ASYNC_MARKER_SGIX = 33577,
	GL_PRIMITIVES_GENERATED_NV = 35975,
	GL_MAX_PROJECTION_STACK_DEPTH = 3384,
	GL_PIXEL_MIN_FILTER_EXT = 33586,
	GL_ALLOW_DRAW_MEM_HINT_PGI = 107025,
	GL_INTERNALFORMAT_SUPPORTED = 33391,
	GL_PIXEL_MAP_I_TO_R_SIZE = 3250,
	GL_IMAGE_BINDING_ACCESS = 36670,
	GL_FRAGMENT_COVERAGE_COLOR_NV = 37598,
	GL_COMBINER_CD_DOT_PRODUCT_NV = 34118,
	GL_TEXTURE_RANGE_LENGTH_APPLE = 34231,
	GL_COLOR_BUFFER_BIT6_QCOM = 64,
	GL_VERTEX_STREAM7_ATI = 34675,
	GL_OBJECT_LINE_SGIS = 33271,
	GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT = 35972,
	GL_MAX_TEXTURE_COORDS_ARB = 34929,
	GL_RED_EXT = 6403,
	GL_INTERNALFORMAT_PREFERRED = 33392,
	GL_OPERAND2_RGB = 34194,
	GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = 36916,
	GL_BOOL_VEC4_ARB = 35673,
	GL_TEXTURE_BINDING_CUBE_MAP = 34068,
	GL_TEXTURE_MAX_CLAMP_T_SGIX = 33642,
	GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = 37699,
	GL_NUM_LOOPBACK_COMPONENTS_ATI = 35188,
	GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = 32949,
	GL_OPERAND1_RGB = 34193,
	GL_OPERAND0_RGB = 34192,
	GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 34987,
	GL_MAP2_VERTEX_3 = 3511,
	GL_COLOR_ATTACHMENT9 = 36073,
	GL_DOT_PRODUCT_PASS_THROUGH_NV = 34907,
	GL_PROVOKING_VERTEX = 36431,
	GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 37125,
	GL_TEXTURE5 = 33989,
	GL_SPOT_DIRECTION = 4612,
	GL_UNSIGNED_SHORT_4_4_4_4_EXT = 32819,
	GL_SOURCE1_ALPHA = 34185,
	GL_NAND = 5390,
	GL_MATRIX21_ARB = 35029,
	GL_PRIMARY_COLOR_ARB = 34167,
	GL_NAMED_STRING_TYPE_ARB = 36330,
	GL_INT_IMAGE_CUBE = 36955,
	GL_OVERLAY_NV = 37526,
	GL_DOT3_ATI = 35174,
	GL_SOURCE1_RGB = 34177,
	GL_OBJECT_DISTANCE_TO_LINE_SGIS = 33267,
	GL_EDGE_FLAG_ARRAY_LENGTH_NV = 36656,
	GL_T2F_IUI_N3F_V3F_EXT = 33204,
	GL_CONSTANT_ARB = 34166,
	GL_SOURCE2_ALPHA = 34186,
	GL_PACK_COMPRESSED_SIZE_SGIX = 33564,
	GL_DOUBLE_MAT2 = 36678,
	GL_LUMINANCE16_EXT = 32834,
	GL_ASYNC_TEX_IMAGE_SGIX = 33628,
	GL_GREEN_MAX_CLAMP_INGR = 34149,
	GL_RED_MAX_CLAMP_INGR = 34148,
	GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX = 36935,
	GL_UNIFORM_SGIX = 33572,
	GL_REG_15_ATI = 35120,
	GL_C4UB_V2F = 10786,
	GL_OPERAND1_RGB_ARB = 34193,
	GL_LOSE_CONTEXT_ON_RESET_KHR = 33362,
	GL_READ_FRAMEBUFFER_APPLE = 36008,
	GL_UNSIGNED_SHORT = 5123,
	GL_R1UI_T2F_V3F_SUN = 34249,
	GL_FRAGMENT_LIGHT0_SGIX = 33804,
	GL_TEXTURE_CLIPMAP_CENTER_SGIX = 33137,
	GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 36054,
	GL_PIXEL_MAP_I_TO_G_SIZE = 3251,
	GL_DUAL_LUMINANCE12_SGIS = 33046,
	GL_COMBINER7_NV = 34135,
	GL_RED = 6403,
	GL_PIXEL_SUBSAMPLE_4242_SGIX = 34212,
	GL_COMBINER5_NV = 34133,
	GL_PACK_ROW_BYTES_APPLE = 35349,
	GL_PATH_PROJECTION_NV = 5889,
	GL_STENCIL_BUFFER_BIT4_QCOM = 1048576,
	GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 35381,
	GL_MIN_GREEN_SGIS = 34216,
	GL_MAX_UNIFORM_LOCATIONS = 33390,
	GL_COMBINER2_NV = 34130,
	GL_PREVIOUS_TEXTURE_INPUT_NV = 34532,
	GL_FRAGMENT_LIGHT6_SGIX = 33810,
	GL_PROXY_TEXTURE_2D_STACK_MESAX = 34652,
	GL_LOCATION_COMPONENT = 37706,
	GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 34546,
	GL_VIEW_CLASS_BPTC_UNORM = 33490,
	GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 34826,
	GL_MAX_CLIP_DISTANCES = 3378,
	GL_RGBA_FLOAT32_APPLE = 34836,
	GL_ONE_MINUS_SRC1_COLOR = 35066,
	GL_CIRCULAR_TANGENT_ARC_TO_NV = 252,
	GL_DEPTH_COMPONENT32_ARB = 33191,
	GL_DYNAMIC_STORAGE_BIT = 256,
	GL_POST_CONVOLUTION_ALPHA_SCALE = 32799,
	GL_Y_EXT = 34774,
	GL_TANGENT_ARRAY_POINTER_EXT = 33858,
	GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = 36443,
	GL_RENDERBUFFER_BINDING_OES = 36007,
	GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT = 33297,
	GL_LINE_STIPPLE_PATTERN = 2853,
	GL_POINT_DISTANCE_ATTENUATION_ARB = 33065,
	GL_R1UI_N3F_V3F_SUN = 34247,
	GL_DEPTH_BUFFER_BIT4_QCOM = 4096,
	GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = 37593,
	GL_FLOAT_MAT4_ARB = 35676,
	GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 34072,
	GL_SELECTED_TEXTURE_TRANSFORM_SGIS = 33730,
	GL_OP_NEGATE_EXT = 34691,
	GL_TRACK_MATRIX_NV = 34376,
	GL_DEPTH_BIAS = 3359,
	GL_VARIANT_ARRAY_TYPE_EXT = 34791,
	GL_ALPHA_SIGNED_SGIX = 34274,
	GL_COMBINER4_NV = 34132,
	GL_TEXTURE_MAX_LEVEL_SGIS = 33085,
	GL_MAP_READ_BIT_EXT = 1,
	GL_MATRIX12_NV = 34364,
	GL_CONSTANT_COLOR1_NV = 34091,
	GL_LOGIC_OP = 3057,
	GL_VARIABLE_D_NV = 34086,
	GL_TRANSFORM_FEEDBACK_BINDING = 36389,
	GL_PIXEL_CUBIC_WEIGHT_EXT = 33587,
	GL_MAX_SHININESS_NV = 34052,
	GL_MAP_ATTRIB_V_ORDER_NV = 34500,
	GL_CLIP_PLANE1_IMG = 12289,
	GL_COMBINER_SCALE_NV = 34120,
	GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT = 36202,
	GL_AND_INVERTED = 5380,
	GL_STENCIL_BUFFER_BIT0_QCOM = 65536,
	GL_MAX_TESS_GEN_LEVEL_EXT = 36478,
	GL_IUI_V2F_EXT = 33197,
	GL_CURRENT_VERTEX_ATTRIB = 34342,
	GL_FLOAT_MAT2x4_NV = 35686,
	GL_VERTEX_PROGRAM_TWO_SIDE_ARB = 34371,
	GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT = 36874,
	GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 33347,
	GL_CONTEXT_LOST_KHR = 1287,
	GL_STENCIL_CLEAR_VALUE = 2961,
	GL_LINEAR_SHARPEN_COLOR_SGIS = 32943,
	GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 34074,
	GL_FLOAT_VEC3_ARB = 35665,
	GL_PROXY_TEXTURE_1D_EXT = 32867,
	GL_SUBTRACT = 34023,
	GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES = 34073,
	GL_COLOR_TABLE_BIAS = 32983,
	GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 36052,
	GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 34073,
	GL_SPARE0_NV = 34094,
	GL_QUERY_RESULT_AVAILABLE_EXT = 34919,
	GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 34072,
	GL_MAT_DIFFUSE_BIT_PGI = 4194304,
	GL_UNIFORM_BLOCK_NAME_LENGTH = 35393,
	GL_PARTIAL_SUCCESS_NV = 36910,
	GL_COMBINER6_NV = 34134,
	GL_ELEMENT_ARRAY_TYPE_ATI = 34665,
	GL_LIST_INDEX = 2867,
	GL_CONTEXT_FLAG_DEBUG_BIT = 2,
	GL_MODELVIEW5_ARB = 34597,
	GL_LUMINANCE12_ALPHA12_EXT = 32839,
	GL_POINT_SIZE_GRANULARITY = 2835,
	GL_STORAGE_PRIVATE_APPLE = 34237,
	GL_COMPLEX_UNSIGNED_INT_SGI = 33217,
	GL_INTERNALFORMAT_DEPTH_SIZE = 33397,
	GL_REFLECTION_MAP_EXT = 34066,
	GL_MAP2_TEXTURE_COORD_2_NURBS_SGIX = 33258,
	GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT = 34924,
	GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 36495,
	GL_CUBIC_CURVE_TO_NV = 12,
	GL_SRGB8 = 35905,
	GL_UNSIGNED_INT_IMAGE_2D = 36963,
	GL_CONVOLUTION_FILTER_BIAS_EXT = 32789,
	GL_POST_CONVOLUTION_BLUE_BIAS = 32802,
	GL_FOG_BLEND_COLOR_SGIX = 33279,
	GL_REFLECTION_MAP_OES = 34066,
	GL_VERTEX_ATTRIB_ARRAY5_NV = 34389,
	GL_INT64_VEC3_NV = 36842,
	GL_CONSERVE_MEMORY_HINT_PGI = 107005,
	GL_TEXTURE_BLUE_TYPE_ARB = 35858,
	GL_TEXTURE_GEN_Q = 3171,
	GL_FRAGMENT_DEPTH = 33874,
	GL_MAP1_VERTEX_ATTRIB2_4_NV = 34402,
	GL_MAP1_VERTEX_ATTRIB3_4_NV = 34403,
	GL_UNIFORM_BARRIER_BIT = 4,
	GL_MAP1_VERTEX_ATTRIB4_4_NV = 34404,
	GL_WEIGHT_ARRAY_POINTER_ARB = 34476,
	GL_MAP1_VERTEX_ATTRIB6_4_NV = 34406,
	GL_CCW = 2305,
	GL_INCR_WRAP_OES = 34055,
	GL_DEPTH_COMPONENT24 = 33190,
	GL_DRAW_BUFFER5_NV = 34858,
	GL_UNSIGNED_INT_5_9_9_9_REV_APPLE = 35902,
	GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = 35916,
	GL_MIN_RED_SGIS = 34214,
	GL_CLIP_NEAR_HINT_PGI = 107040,
	GL_LINE_WIDTH = 2849,
	GL_MAX_VERTEX_UNIFORM_COMPONENTS = 35658,
	GL_COMBINE4_NV = 34051,
	GL_NOOP = 5381,
	GL_COLOR_COMPONENTS = 33411,
	GL_DRAW_FRAMEBUFFER_BINDING_NV = 36006,
	GL_MAP1_VERTEX_ATTRIB14_4_NV = 34414,
	GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 33800,
	GL_CLIP_PLANE2_IMG = 12290,
	GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 35657,
	GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = 33592,
	GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 34805,
	GL_OUTPUT_TEXTURE_COORD18_EXT = 34735,
	GL_TEXTURE_WRAP_R = 32882,
	GL_MAP2_VERTEX_ATTRIB3_4_NV = 34419,
	GL_PIXEL_MAP_S_TO_S_SIZE = 3249,
	GL_LUMINANCE16F_ARB = 34846,
	GL_VIEW_CLASS_RGTC1_RED = 33488,
	GL_PROGRAM_KHR = 33506,
	GL_PROGRAM_SEPARABLE_EXT = 33368,
	GL_TEXTURE_BINDING_RECTANGLE = 34038,
	GL_CURRENT_MATRIX_STACK_DEPTH_NV = 34368,
	GL_STENCIL_BUFFER_BIT6_QCOM = 4194304,
	GL_LINES_ADJACENCY = 10,
	GL_MAT_SPECULAR_BIT_PGI = 67108864,
	GL_TEXTURE21 = 34005,
	GL_BUFFER_OBJECT_APPLE = 34227,
	GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE = 35336,
	GL_TEXTURE_LO_SIZE_NV = 34588,
	GL_RGBA_FLOAT_MODE_ARB = 34848,
	GL_OUTPUT_TEXTURE_COORD8_EXT = 34725,
	GL_IUI_N3F_V3F_EXT = 33200,
	GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 36264,
	GL_TEXTURE31_ARB = 34015,
	GL_MAX_RENDERBUFFER_SIZE = 34024,
	GL_TEXTURE_GEN_STR_OES = 36192,
	GL_TEXTURE_CLIPMAP_FRAME_SGIX = 33138,
	GL_SAMPLER_2D_SHADOW_EXT = 35682,
	GL_POINT_SPRITE_ARB = 34913,
	GL_WEIGHT_ARRAY_STRIDE_ARB = 34474,
	GL_TRANSPOSE_TEXTURE_MATRIX = 34021,
	GL_FOG_COLOR = 2918,
	GL_COMPUTE_WORK_GROUP_SIZE = 33383,
	GL_POST_COLOR_MATRIX_GREEN_BIAS = 32953,
	GL_PIXEL_TEX_GEN_Q_CEILING_SGIX = 33156,
	GL_3_BYTES = 5128,
	GL_SHADER_OBJECT_EXT = 35656,
	GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 37127,
	GL_MODELVIEW1_ARB = 34058,
	GL_RESCALE_NORMAL = 32826,
	GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = 34019,
	GL_CON_25_ATI = 35162,
	GL_AUX_BUFFERS = 3072,
	GL_PREFER_DOUBLEBUFFER_HINT_PGI = 107000,
	GL_UNSIGNED_INT_8_8_8_8_REV = 33639,
	GL_SGX_BINARY_IMG = 35850,
	GL_DRAW_FRAMEBUFFER_BINDING = 36006,
	GL_TEXTURE30_ARB = 34014,
	GL_BLEND_EQUATION_EXT = 32777,
	GL_422_EXT = 32972,
	GL_TEXTURE0 = 33984,
	GL_SAMPLE_ALPHA_TO_ONE_EXT = 32927,
	GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES = 35378,
	GL_INTERNALFORMAT_GREEN_SIZE = 33394,
	GL_TEXTURE29_ARB = 34013,
	GL_RENDERER = 7937,
	GL_TEXTURE_MAX_ANISOTROPY_EXT = 34046,
	GL_TEXTURE27_ARB = 34011,
	GL_TEXTURE26_ARB = 34010,
	GL_IMAGE_COMPATIBILITY_CLASS = 33448,
	GL_NEAREST_CLIPMAP_NEAREST_SGIX = 33869,
	GL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES = 37069,
	GL_TEXTURE23_ARB = 34007,
	GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 35723,
	GL_PROGRAM_TEX_INSTRUCTIONS_ARB = 34822,
	GL_MIRROR_CLAMP_ATI = 34626,
	GL_FOG_LAYERS_POINTS_SGIX = 33575,
	GL_COMBINER_AB_DOT_PRODUCT_NV = 34117,
	GL_STEREO = 3123,
	GL_COLOR_MATRIX_STACK_DEPTH = 32946,
	GL_VERTEX_ATTRIB_MAP1_APPLE = 35328,
	GL_DEBUG_TYPE_PUSH_GROUP = 33385,
	GL_FEEDBACK = 7169,
	GL_DRAW_FRAMEBUFFER = 36009,
	GL_4PASS_3_SGIS = 32935,
	GL_CURRENT_RASTER_POSITION_VALID = 2824,
	GL_PASS_THROUGH_NV = 34534,
	GL_ALPHA_MAX_CLAMP_INGR = 34151,
	GL_TEXTURE19_ARB = 34003,
	GL_RGBA_FLOAT16_APPLE = 34842,
	GL_SURFACE_STATE_NV = 34539,
	GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 36054,
	GL_INDEX_ARRAY_TYPE_EXT = 32901,
	GL_NEGATIVE_Z_EXT = 34779,
	GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 34972,
	GL_LINEAR_MIPMAP_LINEAR = 9987,
	GL_TEXTURE_UPDATE_BARRIER_BIT = 256,
	GL_DRAW_BUFFER14 = 34867,
	GL_TEXTURE14_ARB = 33998,
	GL_SURFACE_REGISTERED_NV = 34557,
	GL_UNSIGNED_INT8_VEC4_NV = 36847,
	GL_TEXTURE13_ARB = 33997,
	GL_TEXTURE12_ARB = 33996,
	GL_INT_VEC3 = 35668,
	GL_TEXTURE11_ARB = 33995,
	GL_SAMPLE_MASK_INVERT_SGIS = 32939,
	GL_MODELVIEW_STACK_DEPTH = 2979,
	GL_T2F_IUI_V2F_EXT = 33201,
	GL_COMPRESSED_SRGB_ALPHA_EXT = 35913,
	GL_FOG_SCALE_VALUE_SGIX = 33277,
	GL_DETAIL_TEXTURE_2D_SGIS = 32917,
	GL_TEXTURE8_ARB = 33992,
	GL_T2F_V3F = 10791,
	GL_PERCENTAGE_AMD = 35779,
	GL_MAX_PIXEL_MAP_TABLE = 3380,
	GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 33777,
	GL_INT_IMAGE_BUFFER_OES = 36956,
	GL_TEXTURE4_ARB = 33988,
	GL_TEXTURE2_ARB = 33986,
	GL_TEXTURE1_ARB = 33985,
	GL_ONE_MINUS_SRC_ALPHA = 771,
	GL_REG_27_ATI = 35132,
	GL_OPERAND2_RGB_EXT = 34194,
	GL_SPRITE_EYE_ALIGNED_SGIX = 33102,
	GL_MODELVIEW8_ARB = 34600,
	GL_COLOR_CLEAR_VALUE = 3106,
	GL_TRIANGLES_ADJACENCY_OES = 12,
	GL_COMPRESSED_ALPHA_ARB = 34025,
	GL_MODELVIEW12_ARB = 34604,
	GL_MAX_VERTEX_ATOMIC_COUNTERS = 37586,
	GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = 33883,
	GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = 33882,
	GL_TEXTURE_CUBE_MAP_EXT = 34067,
	GL_MODELVIEW19_ARB = 34611,
	GL_MAX_ACTIVE_LIGHTS_SGIX = 33797,
	GL_MODELVIEW24_ARB = 34616,
	GL_AMBIENT_AND_DIFFUSE = 5634,
	GL_CURRENT_PALETTE_MATRIX_OES = 34883,
	GL_RESTART_PATH_NV = 240,
	GL_FLOAT_MAT4x3_NV = 35690,
	GL_EVAL_VERTEX_ATTRIB12_NV = 34514,
	GL_MODELVIEW26_ARB = 34618,
	GL_MODELVIEW27_ARB = 34619,
	GL_NORMAL_ARRAY_BUFFER_BINDING = 34967,
	GL_VARIANT_DATATYPE_EXT = 34789,
	GL_CLOSE_PATH_NV = 0,
	GL_PRIMITIVES_GENERATED_EXT = 35975,
	GL_HSL_COLOR_NV = 37551,
	GL_STACK_OVERFLOW_KHR = 1283,
	GL_VERTEX_PROGRAM_ARB = 34336,
	GL_DYNAMIC_COPY_ARB = 35050,
	GL_4D_COLOR_TEXTURE = 1540,
	GL_RGBA_S3TC = 33698,
	GL_CURRENT_FOG_COORD = 33875,
	GL_QUARTER_BIT_ATI = 16,
	GL_R1UI_C4F_N3F_V3F_SUN = 34248,
	GL_FRAGMENT_DEPTH_EXT = 33874,
	GL_BALI_FRAGMENTS_GENERATED_INSTRUMENT_SGIX = 33770,
	GL_COLOR_TABLE_FORMAT_SGI = 32984,
	GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 33378,
	GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT = 35412,
	GL_RGBA8_EXT = 32856,
	GL_SAMPLES_PASSED = 35092,
	GL_MAX_VERTEX_ATTRIB_BINDINGS = 33498,
	GL_CONVOLUTION_1D = 32784,
	GL_HILO16_NV = 34552,
	GL_3D_COLOR = 1538,
	GL_PIXEL_MAP_G_TO_G_SIZE = 3255,
	GL_OPERAND0_ALPHA = 34200,
	GL_FOG_TYPE_SGIX = 33571,
	GL_SPARSE_STORAGE_BIT_ARB = 1024,
	GL_TEXTURE_VIEW_MIN_LEVEL_OES = 33499,
	GL_GET_TEXTURE_IMAGE_FORMAT = 33425,
	GL_RGB4_EXT = 32847,
	GL_CLIP_DISTANCE7_APPLE = 12295,
	GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 34807,
	GL_PERFMON_RESULT_AMD = 35782,
	GL_MATRIX_EXT = 34752,
	GL_LUMINANCE12_EXT = 32833,
	GL_CW = 2304,
	GL_MATRIX_INDEX_ARRAY_POINTER_ARB = 34889,
	GL_DISCARD_ATI = 34659,
	GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT = 33638,
	GL_MAX_COLOR_TEXTURE_SAMPLES = 37134,
	GL_ARRAY_OBJECT_OFFSET_ATI = 34663,
	GL_TEXTURE_BINDING_1D_ARRAY_EXT = 35868,
	GL_VERTEX_STREAM0_ATI = 34668,
	GL_LIGHTING = 2896,
	GL_VERTEX_STREAM3_ATI = 34671,
	GL_PIXEL_TEX_GEN_MODE_SGIX = 33579,
	GL_RGBA2 = 32853,
	GL_VERTEX_STREAM5_ATI = 34673,
	GL_BUMP_ROT_MATRIX_SIZE_ATI = 34678,
	GL_CONVOLUTION_HEIGHT_EXT = 32793,
	GL_MODELVIEW0_MATRIX_EXT = 2982,
	GL_ADD = 260,
	GL_DOT_PRODUCT_TEXTURE_2D_NV = 34542,
	GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = 33457,
	GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV = 3382,
	GL_MAX_SPARSE_TEXTURE_SIZE_ARB = 37272,
	GL_STREAM_READ = 35041,
	GL_FRAGMENT_NORMAL_EXT = 33610,
	GL_OP_DOT3_EXT = 34692,
	GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA = 35763,
	GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = 33523,
	GL_CONSTANT_COLOR = 32769,
	GL_GEOMETRY_SUBROUTINE = 37611,
	GL_POINT_SIZE_MAX_ARB = 33063,
	GL_TEXTURE_SHADOW = 33441,
	GL_OP_FLOOR_EXT = 34703,
	GL_COLOR_ATTACHMENT4_NV = 36068,
	GL_DEPTH_CLEAR_VALUE = 2931,
	GL_TESS_CONTROL_SHADER = 36488,
	GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB = 33522,
	GL_QUAD_ALPHA8_SGIS = 33055,
	GL_VIEW_CLASS_RGTC2_RG = 33489,
	GL_COLOR_INDEX8_EXT = 32997,
	GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT = 37080,
	GL_PROGRAM_BINARY_FORMATS = 34815,
	GL_INTERNALFORMAT_ALPHA_TYPE = 33403,
	GL_POST_CONVOLUTION_GREEN_SCALE_EXT = 32797,
	GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 36480,
	GL_MODELVIEW28_ARB = 34620,
	GL_ACTIVE_SUBROUTINE_MAX_LENGTH = 36424,
	GL_OUTPUT_TEXTURE_COORD1_EXT = 34718,
	GL_OUTPUT_TEXTURE_COORD2_EXT = 34719,
	GL_COLOR_TABLE_RED_SIZE = 32986,
	GL_OUTPUT_TEXTURE_COORD3_EXT = 34720,
	GL_UNSIGNED_INT_2_10_10_10_REV = 33640,
	GL_INDEX_MATERIAL_PARAMETER_EXT = 33209,
	GL_IMAGE_CLASS_2_X_8 = 33472,
	GL_OUTPUT_TEXTURE_COORD7_EXT = 34724,
	GL_OBJECT_PLANE = 9473,
	GL_PIXEL_TRANSFORM_2D_EXT = 33584,
	GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT = 36965,
	GL_PROGRAM_RESIDENT_NV = 34375,
	GL_CONTEXT_FLAG_DEBUG_BIT_KHR = 2,
	GL_FRAGMENT_COLOR_MATERIAL_SGIX = 33793,
	GL_TEXTURE_MIN_FILTER = 10241,
	GL_INTERLEAVED_ATTRIBS = 35980,
	GL_TEXTURE_MAX_CLAMP_R_SGIX = 33643,
	GL_OUTPUT_TEXTURE_COORD15_EXT = 34732,
	GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV = 3384,
	GL_POST_COLOR_MATRIX_RED_BIAS_SGI = 32952,
	GL_ALL_SHADER_BITS = 4294967295,
	GL_DEPTH_COMPONENTS = 33412,
	GL_FRAGMENT_SHADER_BIT_EXT = 2,
	GL_TEXTURE_SHARED_SIZE_EXT = 35903,
	GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 36970,
	GL_OUTPUT_TEXTURE_COORD22_EXT = 34739,
	GL_OUTPUT_TEXTURE_COORD24_EXT = 34741,
	GL_CONVOLUTION_WIDTH = 32792,
	GL_TEXTURE_IMAGE_FORMAT = 33423,
	GL_VERTEX4_BIT_PGI = 8,
	GL_CONSTANT_ATTENUATION = 4615,
	GL_QUERY_BY_REGION_WAIT_NV = 36373,
	GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 34073,
	GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 36257,
	GL_INTERNALFORMAT_GREEN_TYPE = 33401,
	GL_LUMINANCE32F_EXT = 34840,
	GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = 33351,
	GL_INTERNALFORMAT_SHARED_SIZE = 33399,
	GL_LOCAL_EXT = 34756,
	GL_HIGH_FLOAT = 36338,
	GL_MODELVIEW21_ARB = 34613,
	GL_STATIC_ATI = 34656,
	GL_CURRENT_TANGENT_EXT = 33851,
	GL_MATRIX6_NV = 34358,
	GL_PIXEL_BUFFER_BARRIER_BIT = 128,
	GL_COMBINER_SUM_OUTPUT_NV = 34124,
	GL_FLOAT_MAT3 = 35675,
	GL_COLOR_BUFFER_BIT4_QCOM = 16,
	GL_CLEAR_TEXTURE = 37733,
	GL_TEXTURE_RED_SIZE_EXT = 32860,
	GL_TEXTURE_FREE_MEMORY_ATI = 34812,
	GL_SAMPLE_BUFFERS_SGIS = 32936,
	GL_X_EXT = 34773,
	GL_VIEW_CLASS_8_BITS = 33483,
	GL_CLIENT_ATTRIB_STACK_DEPTH = 2993,
	GL_MAP2_TEXTURE_COORD_2 = 3508,
	GL_NEGATIVE_Y_EXT = 34778,
	GL_COUNTER_TYPE_AMD = 35776,
	GL_MAP1_TEXTURE_COORD_2 = 3476,
	GL_NEGATIVE_W_EXT = 34780,
	GL_FENCE_STATUS_NV = 34035,
	GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 36320,
	GL_COLOR_BUFFER_BIT3_QCOM = 8,
	GL_MODELVIEW4_ARB = 34596,
	GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = 33458,
	GL_SAMPLER = 33510,
	GL_RG32UI = 33340,
	GL_MAX_FRAGMENT_LIGHTS_SGIX = 33796,
	GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = 33192,
	GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 35842,
	GL_DEBUG_SOURCE_OTHER_ARB = 33355,
	GL_LOCAL_CONSTANT_DATATYPE_EXT = 34797,
	GL_NO_RESET_NOTIFICATION_ARB = 33377,
	GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES = 34070,
	GL_FRAMEBUFFER_OES = 36160,
	GL_MAX_COLOR_ATTACHMENTS = 36063,
	GL_IMAGE_CLASS_2_X_16 = 33469,
	GL_LUMINANCE16_ALPHA16 = 32840,
	GL_MAX_GEOMETRY_INPUT_COMPONENTS_OES = 37155,
	GL_VERTEX_ATTRIB_ARRAY0_NV = 34384,
	GL_TEXTURE_COORD_ARRAY_TYPE = 32905,
	GL_FRAMEZOOM_SGIX = 33163,
	GL_HORIZONTAL_LINE_TO_NV = 6,
	GL_EDGE_FLAG_ARRAY = 32889,
	GL_OPERAND3_ALPHA_NV = 34203,
	GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 32951,
	GL_RGBA32F_ARB = 34836,
	GL_SAMPLE_MASK_VALUE_SGIS = 32938,
	GL_INTENSITY8UI_EXT = 36223,
	GL_QUERY_RESULT_AVAILABLE_ARB = 34919,
	GL_MULTISAMPLE_BUFFER_BIT5_QCOM = 536870912,
	GL_FRAGMENT_MATERIAL_EXT = 33609,
	GL_MAP2_VERTEX_ATTRIB11_4_NV = 34427,
	GL_MAP2_TANGENT_EXT = 33861,
	GL_MAX_ATTRIB_STACK_DEPTH = 3381,
	GL_RGB_FLOAT32_APPLE = 34837,
	GL_TEXTURE_INTENSITY_TYPE = 35861,
	GL_MAP2_TEXTURE_COORD_3_NURBS_SGIX = 33259,
	GL_R11F_G11F_B10F_APPLE = 35898,
	GL_TRANSLATE_2D_NV = 37008,
	GL_OP_MOV_EXT = 34713,
	GL_FLOAT_MAT3x4_NV = 35688,
	GL_TEXTURE_BORDER_VALUES_NV = 34586,
	GL_IMAGE_MIN_FILTER_HP = 33117,
	GL_TEXTURE_DEFORMATION_BIT_SGIX = 1,
	GL_IGLOO_LMC_COLOR_SGIX = 33187,
	GL_COMPILE_STATUS = 35713,
	GL_MIN_LUMINANCE_SGIS = 34296,
	GL_DEPTH_BUFFER_BIT2_QCOM = 1024,
	GL_COLOR_ARRAY_EXT = 32886,
	GL_COMPRESSED_LUMINANCE = 34026,
	GL_RGB_FLOAT16_APPLE = 34843,
	GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 36048,
	GL_MULTISAMPLE_BUFFER_BIT2_QCOM = 67108864,
	GL_STENCIL_BUFFER_BIT2_QCOM = 262144,
	GL_REPLACE_MIDDLE_SUN = 2,
	GL_LUMINANCE_FLOAT16_APPLE = 34846,
	GL_DRAW_PIXELS_APPLE = 35338,
	GL_FONT_ASCENDER_BIT_NV = 2097152,
	GL_HISTOGRAM_ALPHA_SIZE_EXT = 32811,
	GL_MULTISAMPLE_BUFFER_BIT1_QCOM = 33554432,
	GL_LUMINANCE_ALPHA16F_ARB = 34847,
	GL_DOUBLE_MAT2x4 = 36682,
	GL_DEPTH_COMPONENT32_OES = 33191,
	GL_POST_CONVOLUTION_RED_SCALE_EXT = 32796,
	GL_PROGRAM_NATIVE_ATTRIBS_ARB = 34990,
	GL_DRAW_BUFFER0_ARB = 34853,
	GL_DRAW_BUFFER0_EXT = 34853,
	GL_MAX_PROGRAM_TEXEL_OFFSET_NV = 35077,
	GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 35187,
	GL_DRAW_BUFFER1_ARB = 34854,
	GL_ALL_COMPLETED_NV = 34034,
	GL_OR_REVERSE = 5387,
	GL_LOCAL_CONSTANT_VALUE_EXT = 34796,
	GL_DRAW_BUFFER2_ARB = 34855,
	GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 36638,
	GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES = 33313,
	GL_UNSIGNED_SHORT_8_8_APPLE = 34234,
	GL_SHADER_STORAGE_BARRIER_BIT = 8192,
	GL_DRAW_BUFFER2_EXT = 34855,
	GL_DRAW_BUFFER3_ARB = 34856,
	GL_MAX_VERTEX_ATTRIBS_ARB = 34921,
	GL_DEBUG_SOURCE_WINDOW_SYSTEM = 33351,
	GL_CLIENT_ALL_ATTRIB_BITS = 4294967295,
	GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 4,
	GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 35967,
	GL_ALPHA16_EXT = 32830,
	GL_DRAW_BUFFER6_ARB = 34859,
	GL_STENCIL_BACK_WRITEMASK = 36005,
	GL_IMAGE_BINDING_ACCESS_EXT = 36670,
	GL_RESAMPLE_AVERAGE_OML = 35208,
	GL_DRAW_BUFFER7_ARB = 34860,
	GL_DRAW_BUFFER7_EXT = 34860,
	GL_MIRROR_CLAMP_TO_BORDER_EXT = 35090,
	GL_CON_6_ATI = 35143,
	GL_EYE_POINT_SGIS = 33268,
	GL_CUBE_MAP_ZP_SGIX = 33602,
	GL_FLOAT_RG16_NV = 34950,
	GL_DRAW_BUFFER12_EXT = 34865,
	GL_TEXTURE_SWIZZLE_A = 36421,
	GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 36051,
	GL_DRAW_BUFFER10 = 34863,
	GL_DRAW_BUFFER10_ARB = 34863,
	GL_CLAMP_FRAGMENT_COLOR = 35099,
	GL_COLOR3_BIT_PGI = 65536,
	GL_DRAW_BUFFER11_EXT = 34864,
	GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 34804,
	GL_DRAW_BUFFER12_ARB = 34865,
	GL_OR = 5383,
	GL_DRAW_BUFFER12_ATI = 34865,
	GL_LINEAR_DETAIL_COLOR_SGIS = 32921,
	GL_CON_4_ATI = 35141,
	GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES = 37080,
	GL_DRAW_BUFFER9 = 34862,
	GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = 36464,
	GL_OBJECT_INFO_LOG_LENGTH_ARB = 35716,
	GL_DRAW_BUFFER14_ATI = 34867,
	GL_ONE_MINUS_DST_ALPHA = 773,
	GL_RENDERBUFFER_GREEN_SIZE = 36177,
	GL_DUAL_ALPHA16_SGIS = 33043,
	GL_CLIP_DISTANCE1_APPLE = 12289,
	GL_BLEND_EQUATION_ALPHA_EXT = 34877,
	GL_RELATIVE_RECT_NV = 247,
	GL_LINEAR_CLIPMAP_LINEAR_SGIX = 33136,
	GL_MATRIX_INDEX_ARRAY_ARB = 34884,
	GL_TEXTURE3_SGIS = 33738,
	GL_TEXTURE_VIEW_MIN_LEVEL = 33499,
	GL_DEPTH_BOUNDS_EXT = 34961,
	GL_ACTIVE_SUBROUTINE_UNIFORMS = 36326,
	GL_TEXTURE_ALPHA_SIZE_EXT = 32863,
	GL_MAX_ASYNC_DRAW_PIXELS_SGIX = 33632,
	GL_TEXTURE_COMPARE_MODE_EXT = 34892,
	GL_VARIANT_ARRAY_POINTER_EXT = 34793,
	GL_TRANSFORM_FEEDBACK_BUFFER = 35982,
	GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = 36676,
	GL_CON_29_ATI = 35166,
	GL_DOT_PRODUCT_TEXTURE_1D_NV = 34908,
	GL_TEXTURE27 = 34011,
	GL_RESAMPLE_REPLICATE_OML = 35206,
	GL_DEBUG_TYPE_POP_GROUP = 33386,
	GL_DEPENDENT_AR_TEXTURE_2D_NV = 34537,
	GL_FOG_PATCHY_FACTOR_SGIX = 33646,
	GL_RESET_NOTIFICATION_STRATEGY = 33366,
	GL_LUMINANCE_ALPHA = 6410,
	GL_LUMINANCE16_ALPHA16_EXT = 32840,
	GL_SLUMINANCE8_ALPHA8_NV = 35909,
	GL_INVERSE_TRANSPOSE_NV = 34349,
	GL_COMMAND_BARRIER_BIT_EXT = 64,
	GL_OUTPUT_VERTEX_EXT = 34714,
	GL_MAX_EVAL_ORDER = 3376,
	GL_PIXEL_COUNT_NV = 34918,
	GL_CULL_VERTEX_EYE_POSITION_EXT = 33195,
	GL_COLOR_INDEX = 6400,
	GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES = 34924,
	GL_UNPACK_SKIP_IMAGES_EXT = 32877,
	GL_INDEX_ARRAY = 32887,
	GL_MATRIX11_ARB = 35019,
	GL_COMPRESSED_RGB8_ETC2 = 37492,
	GL_TANGENT_ARRAY_STRIDE_EXT = 33855,
	GL_MAX_TEXTURE_IMAGE_UNITS = 34930,
	GL_DEPTH_COMPONENT16_ARB = 33189,
	GL_MAX_DEPTH_TEXTURE_SAMPLES = 37135,
	GL_MAX_RECTANGLE_TEXTURE_SIZE = 34040,
	GL_DYNAMIC_DRAW_ARB = 35048,
	GL_FLOAT_RGBA_NV = 34947,
	GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 37131,
	GL_UNSIGNED_INT_10F_11F_11F_REV_APPLE = 35899,
	GL_COLOR_ARRAY_BUFFER_BINDING_ARB = 34968,
	GL_ALPHA32F_EXT = 34838,
	GL_RGBA4_DXT5_S3TC = 33701,
	GL_FRAGMENT_ALPHA_MODULATE_IMG = 35848,
	GL_PROGRAM_BINARY_LENGTH = 34625,
	GL_TEXTURE_BUFFER_DATA_STORE_BINDING = 35885,
	GL_DATA_BUFFER_AMD = 37201,
	GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 34544,
	GL_PIXEL_MAP_I_TO_I_SIZE = 3248,
	GL_SAMPLE_ALPHA_TO_ONE = 32927,
	GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 33782,
	GL_INT_SAMPLER_CUBE_EXT = 36300,
	GL_MODELVIEW = 5888,
	GL_RG16UI = 33338,
	GL_MATRIX1_ARB = 35009,
	GL_COMPRESSED_SIGNED_RG11_EAC = 37491,
	GL_GENERATE_MIPMAP_HINT_SGIS = 33170,
	GL_INTERNALFORMAT_DEPTH_TYPE = 33404,
	GL_MATRIX5_ARB = 35013,
	GL_4PASS_2_EXT = 32934,
	GL_MATRIX6_ARB = 35014,
	GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = 32953,
	GL_TEXTURE_COMPARE_OPERATOR_SGIX = 33179,
	GL_PROXY_TEXTURE_CUBE_MAP = 34075,
	GL_VIEW_CLASS_S3TC_DXT1_RGBA = 33485,
	GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 32955,
	GL_MATRIX20_ARB = 35028,
	GL_MATRIX23_ARB = 35031,
	GL_MATRIX24_ARB = 35032,
	GL_PROGRAM_PIPELINE_BINDING = 33370,
	GL_OFFSET_TEXTURE_SCALE_NV = 34530,
	GL_BUFFER_MAP_POINTER_OES = 35005,
	GL_DUAL_INTENSITY4_SGIS = 33048,
	GL_BLUE_SCALE = 3354,
	GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 32907,
	GL_SAMPLER_2D_RECT_SHADOW_ARB = 35684,
	GL_PACK_SKIP_IMAGES = 32875,
	GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX = 33158,
	GL_COLOR_INDEX1_EXT = 32994,
	GL_DYNAMIC_READ_ARB = 35049,
	GL_SLICE_ACCUM_SUN = 34252,
	GL_COLOR_INDEX4_EXT = 32996,
	GL_RELATIVE_HORIZONTAL_LINE_TO_NV = 7,
	GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = 34079,
	GL_GREEN_NV = 6404,
	GL_BUMP_ENVMAP_ATI = 34683,
	GL_CLIP_DISTANCE4_APPLE = 12292,
	GL_SOFTLIGHT_KHR = 37532,
	GL_TEXTURE_INTERNAL_FORMAT = 4099,
	GL_MINMAX_FORMAT_EXT = 32815,
	GL_POINT_SIZE_MIN_EXT = 33062,
	GL_T2F_N3F_V3F = 10795,
	GL_POINT_SIZE_MIN_SGIS = 33062,
	GL_ALPHA = 6406,
	GL_SUBSAMPLE_DISTANCE_AMD = 34879,
	GL_IMAGE_CLASS_1_X_16 = 33470,
	GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 35080,
	GL_COLOR_BUFFER_BIT7_QCOM = 128,
	GL_MODELVIEW17_ARB = 34609,
	GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE = 33779,
	GL_TRACE_OPERATIONS_BIT_MESA = 1,
	GL_PROXY_HISTOGRAM_EXT = 32805,
	GL_REG_10_ATI = 35115,
	GL_FORCE_BLUE_TO_ONE_NV = 34912,
	GL_ALPHA_MAX_SGIX = 33569,
	GL_ALPHA_TEST_REF_QCOM = 3010,
	GL_REG_22_ATI = 35127,
	GL_TEXTURE_BINDING_2D_ARRAY_EXT = 35869,
	GL_LOSE_CONTEXT_ON_RESET_ARB = 33362,
	GL_COLOR_BUFFER_BIT0_QCOM = 1,
	GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 36048,
	GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 34766,
	GL_MATRIX19_ARB = 35027,
	GL_UNSIGNED_BYTE_3_3_2 = 32818,
	GL_FRAMEBUFFER_COMPLETE = 36053,
	GL_PIXEL_TILE_HEIGHT_SGIX = 33089,
	GL_PATH_PROJECTION_MATRIX_NV = 2983,
	GL_EDGE_FLAG_ARRAY_ADDRESS_NV = 36646,
	GL_IMAGE_CLASS_4_X_8 = 33471,
	GL_CON_14_ATI = 35151,
	GL_CON_15_ATI = 35152,
	GL_LINE_WIDTH_GRANULARITY = 2851,
	GL_SCALE_BY_TWO_NV = 34110,
	GL_CON_18_ATI = 35155,
	GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 36264,
	GL_TEXTURE_TARGET_QCOM = 35802,
	GL_CON_23_ATI = 35160,
	GL_T2F_IUI_V3F_EXT = 33202,
	GL_SCALEBIAS_HINT_SGIX = 33570,
	GL_R16F = 33325,
	GL_CONVOLUTION_FORMAT_EXT = 32791,
	GL_INDEX_ARRAY_EXT = 32887,
	GL_TEXTURE_COORD_NV = 35961,
	GL_DUAL_LUMINANCE_ALPHA8_SGIS = 33053,
	GL_ADD_ATI = 35171,
	GL_RGBA32F = 34836,
	GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV = 37116,
	GL_INTENSITY_FLOAT32_ATI = 34839,
	GL_MAP2_TEXTURE_COORD_1_NURBS_SGIX = 33257,
	GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 34069,
	GL_MULTISAMPLE_BIT = 536870912,
	GL_MAX_CONVOLUTION_WIDTH = 32794,
	GL_NORMAL_ARRAY_POINTER_EXT = 32911,
	GL_MULTISAMPLE_SGIS = 32925,
	GL_VIEW_CLASS_16_BITS = 33482,
	GL_PROXY_TEXTURE_3D_EXT = 32880,
	GL_DRAW_BUFFER8_ATI = 34861,
	GL_MAP1_TEXTURE_COORD_1_NURBS_SGIX = 33248,
	GL_RGB5 = 32848,
	GL_PROGRAM_STRING_NV = 34344,
	GL_QUERY_RESULT = 34918,
	GL_IMAGE_CLASS_2_X_32 = 33466,
	GL_PROXY_TEXTURE_CUBE_MAP_EXT = 34075,
	GL_COEFF = 2560,
	GL_IMAGE_CLASS_4_X_16 = 33468,
	GL_VIEW_CLASS_96_BITS = 33477,
	GL_COLOR_BUFFER_BIT2_QCOM = 4,
	GL_VIEW_CLASS_64_BITS = 33478,
	GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES = 34069,
	GL_TEXTURE0_ARB = 33984,
	GL_GEOMETRY_OUTPUT_TYPE = 35096,
	GL_TRIANGLE_STRIP = 5,
	GL_MAP2_BINORMAL_EXT = 33863,
	GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 33454,
	GL_CUBE_MAP_XN_SGIX = 33604,
	GL_UNSIGNED_SHORT_4_4_4_4_REV = 33637,
	GL_TEXTURE1_SGIS = 33736,
	GL_MAX_COMPUTE_WORK_GROUP_COUNT = 37310,
	GL_FRAGMENT_LIGHT1_SGIX = 33805,
	GL_FRAGMENT_LIGHT2_SGIX = 33806,
	GL_LUMINANCE6_ALPHA2_EXT = 32836,
	GL_FRAGMENT_LIGHT4_SGIX = 33808
} GL_LUA_ENUMS;
]])


local functions = {
	glTexImage3DMultisample = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei, GLboolean)"},
	glTexEnvf = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat)"},
	glGetVariantBooleanvEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLboolean *)"},
	glSamplerParameterIuivOES = {"void (*)(GLuint, GL_LUA_ENUMS, const GLuint *)"},
	glBeginConditionalRender = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glGetMapfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glDepthRangeIndexedfNV = {"void (*)(GLuint, GLfloat, GLfloat)"},
	glDisableVertexAttribArray = {"void (*)(GLuint)"},
	glProgramUniform2f = {"void (*)(GLuint, GLint, GLfloat, GLfloat)"},
	glGenQueriesARB = {"void (*)(GLsizei, GLuint *)"},
	glVertexArrayVertexAttribBindingEXT = {"void (*)(GLuint, GLuint, GLuint)"},
	glWindowPos2d = {"void (*)(GLdouble, GLdouble)"},
	glPushName = {"void (*)(GLuint)"},
	glPointParameterfvSGIS = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glTexSubImage2D = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glCopyTexSubImage3DOES = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)"},
	glGetFixedvOES = {"void (*)(GL_LUA_ENUMS, GLfixed *)"},
	glVideoCaptureStreamParameterdvNV = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, const GLdouble *)"},
	glStencilClearTagEXT = {"void (*)(GLsizei, GLuint)"},
	glLightxv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfixed *)"},
	glMatrixFrustumEXT = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glTranslated = {"void (*)(GLdouble, GLdouble, GLdouble)"},
	glGetVertexArrayIntegervEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glDisableVertexAttribArrayARB = {"void (*)(GLuint)"},
	glVertexStream1iATI = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glNamedBufferStorage = {"void (*)(GLuint, GLsizeiptr, const void *, GLbitfield)"},
	glTransformFeedbackVaryingsEXT = {"void (*)(GLuint, GLsizei, const GLchar *const*, GL_LUA_ENUMS)"},
	glMapNamedBufferRangeEXT = {"void *(*)(GLuint, GLintptr, GLsizeiptr, GLbitfield)"},
	glPopMatrix = {"void (*)()"},
	glGetFixedv = {"void (*)(GL_LUA_ENUMS, GLfixed *)"},
	glGetProgramPipelineiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glGetPerfCounterInfoINTEL = {"void (*)(GLuint, GLuint, GLuint, GLchar *, GLuint, GLchar *, GLuint *, GLuint *, GLuint *, GLuint *, GLuint64 *)"},
	glColor4hvNV = {"void (*)(const GLhalfNV *)"},
	glDrawArraysInstanced = {"void (*)(GL_LUA_ENUMS, GLint, GLsizei, GLsizei)"},
	glClipPlanexOES = {"void (*)(GL_LUA_ENUMS, const GLfixed *)"},
	glVertexBlendARB = {"void (*)(GLint)"},
	glFeedbackBufferxOES = {"void (*)(GLsizei, GL_LUA_ENUMS, const GLfixed *)"},
	glQueryMatrixxOES = {"GLbitfield (*)(GLfixed *, GLint *)"},
	glPathStencilFuncNV = {"void (*)(GL_LUA_ENUMS, GLint, GLuint)"},
	glGetClipPlanexOES = {"void (*)(GL_LUA_ENUMS, GLfixed *)"},
	glGetProgramResourceName = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLsizei, GLsizei *, GLchar *)"},
	glBindMultiTextureEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glGenSymbolsEXT = {"GLuint (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glCopyTextureLevelsAPPLE = {"void (*)(GLuint, GLuint, GLint, GLsizei)"},
	glDeleteProgramsARB = {"void (*)(GLsizei, const GLuint *)"},
	glClientActiveTexture = {"void (*)(GL_LUA_ENUMS)"},
	glColorTableSGI = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glVertex3sv = {"void (*)(const GLshort *)"},
	glTexCoordP1uiv = {"void (*)(GL_LUA_ENUMS, const GLuint *)"},
	glBufferStorage = {"void (*)(GL_LUA_ENUMS, GLsizeiptr, const void *, GLbitfield)"},
	glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = {"void (*)(const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *)"},
	glProgramUniform3dv = {"void (*)(GLuint, GLint, GLsizei, const GLdouble *)"},
	glPopName = {"void (*)()"},
	glCheckFramebufferStatus = {"GLenum (*)(GL_LUA_ENUMS)"},
	glVertexAttrib1hNV = {"void (*)(GLuint, GLhalfNV)"},
	glProgramUniformMatrix2x3fv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glMultiTexCoord4hNV = {"void (*)(GL_LUA_ENUMS, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV)"},
	glSecondaryColorP3uiv = {"void (*)(GL_LUA_ENUMS, const GLuint *)"},
	glFogfv = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glGetActiveAttribARB = {"void (*)(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *)"},
	glVertexAttribDivisorANGLE = {"void (*)(GLuint, GLuint)"},
	glEnd = {"void (*)()"},
	glPointParameteri = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glVertexBindingDivisor = {"void (*)(GLuint, GLuint)"},
	glFramebufferTextureFaceARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint, GL_LUA_ENUMS)"},
	glFeedbackBuffer = {"void (*)(GLsizei, GL_LUA_ENUMS, GLfloat *)"},
	glVertex2bvOES = {"void (*)(const GLbyte *)"},
	glMakeImageHandleResidentNV = {"void (*)(GLuint64, GL_LUA_ENUMS)"},
	glVertexAttrib1dNV = {"void (*)(GLuint, GLdouble)"},
	glProgramUniform1uiv = {"void (*)(GLuint, GLint, GLsizei, const GLuint *)"},
	glTextureParameterIivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glEnableClientStateIndexedEXT = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glGetUniformfv = {"void (*)(GLuint, GLint, GLfloat *)"},
	glVertex2sv = {"void (*)(const GLshort *)"},
	glGetUniformSubroutineuiv = {"void (*)(GL_LUA_ENUMS, GLint, GLuint *)"},
	glBlendBarrierNV = {"void (*)()"},
	glLogicOp = {"void (*)(GL_LUA_ENUMS)"},
	glShaderOp2EXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLuint)"},
	glGetNamedFramebufferParameteriv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glObjectPtrLabelKHR = {"void (*)(const void *, GLsizei, const GLchar *)"},
	glPathParameteriNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLint)"},
	glProgramUniformMatrix4x2fv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glTextureImage3DMultisampleNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean)"},
	glMatrixLoadfEXT = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glRasterPos3fv = {"void (*)(const GLfloat *)"},
	glConvolutionParameterxOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed)"},
	glProgramUniformMatrix3x4fv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glEnableiEXT = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glUniformMatrix3fv = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glBindProgramPipelineEXT = {"void (*)(GLuint)"},
	glDrawElementsInstanced = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, const void *, GLsizei)"},
	glUniform2d = {"void (*)(GLint, GLdouble, GLdouble)"},
	glGetObjectLabelKHR = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, GLsizei *, GLchar *)"},
	glGetVertexAttribiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glGetProgramParameterfvNV = {"void (*)(GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLfloat *)"},
	glValidateProgramARB = {"void (*)(GLhandleARB)"},
	glStartTilingQCOM = {"void (*)(GLuint, GLuint, GLuint, GLuint, GLbitfield)"},
	glVertexArrayBindVertexBufferEXT = {"void (*)(GLuint, GLuint, GLuint, GLintptr, GLsizei)"},
	glUniformHandleui64NV = {"void (*)(GLint, GLuint64)"},
	glClearNamedBufferData = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glConvolutionParameterfEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat)"},
	glGetQueryObjecti64vEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint64 *)"},
	glMapBufferRange = {"void *(*)(GL_LUA_ENUMS, GLintptr, GLsizeiptr, GLbitfield)"},
	glArrayElementEXT = {"void (*)(GLint)"},
	glSecondaryColor3d = {"void (*)(GLdouble, GLdouble, GLdouble)"},
	glTextureStorage2D = {"void (*)(GLuint, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glIndexsv = {"void (*)(const GLshort *)"},
	glNormal3s = {"void (*)(GLshort, GLshort, GLshort)"},
	glGetCompressedTextureImage = {"void (*)(GLuint, GLint, GLsizei, void *)"},
	glTexParameterx = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed)"},
	glPathGlyphRangeNV = {"void (*)(GLuint, GL_LUA_ENUMS, const void *, GLbitfield, GLuint, GLsizei, GL_LUA_ENUMS, GLuint, GLfloat)"},
	glGetMapParameterfvNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glGenProgramsARB = {"void (*)(GLsizei, GLuint *)"},
	glShaderBinary = {"void (*)(GLsizei, const GLuint *, GL_LUA_ENUMS, const void *, GLsizei)"},
	glNormalFormatNV = {"void (*)(GL_LUA_ENUMS, GLsizei)"},
	glGetPerfMonitorCounterInfoAMD = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, void *)"},
	glProgramUniformMatrix2fv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glCopyImageSubDataNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLuint, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei)"},
	glNamedFramebufferTextureFaceEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLint, GL_LUA_ENUMS)"},
	glFrustumxOES = {"void (*)(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, GLfixed)"},
	glEnableIndexedEXT = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glGetnPixelMapfvARB = {"void (*)(GL_LUA_ENUMS, GLsizei, GLfloat *)"},
	glColor3iv = {"void (*)(const GLint *)"},
	glProgramUniform2i = {"void (*)(GLuint, GLint, GLint, GLint)"},
	glRasterPos2d = {"void (*)(GLdouble, GLdouble)"},
	glGenFramebuffersEXT = {"void (*)(GLsizei, GLuint *)"},
	glIsVertexAttribEnabledAPPLE = {"GLboolean (*)(GLuint, GL_LUA_ENUMS)"},
	glProgramEnvParameter4fARB = {"void (*)(GL_LUA_ENUMS, GLuint, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glGetIntegerui64i_vNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint64EXT *)"},
	glRecti = {"void (*)(GLint, GLint, GLint, GLint)"},
	glCombinerParameterfNV = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glClearNamedBufferSubData = {"void (*)(GLuint, GL_LUA_ENUMS, GLintptr, GLsizeiptr, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glBufferData = {"void (*)(GL_LUA_ENUMS, GLsizeiptr, const void *, GL_LUA_ENUMS)"},
	glVertexStream1dATI = {"void (*)(GL_LUA_ENUMS, GLdouble)"},
	glBindVertexShaderEXT = {"void (*)(GLuint)"},
	glVertex3f = {"void (*)(GLfloat, GLfloat, GLfloat)"},
	glNamedProgramLocalParameterI4uivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, const GLuint *)"},
	glCombinerParameterivNV = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glTexCoord2fColor4ubVertex3fvSUN = {"void (*)(const GLfloat *, const GLubyte *, const GLfloat *)"},
	glDepthRangedNV = {"void (*)(GLdouble, GLdouble)"},
	glTexParameterIivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glIndexPointerListIBM = {"void (*)(GL_LUA_ENUMS, GLint, const void **, GLint)"},
	glTexImage1D = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLsizei, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glGetPathMetricRangeNV = {"void (*)(GLbitfield, GLuint, GLsizei, GLsizei, GLfloat *)"},
	glInstrumentsBufferSGIX = {"void (*)(GLsizei, GLint *)"},
	glGetNamedProgramLocalParameterIuivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLuint *)"},
	glUniform1ui = {"void (*)(GLint, GLuint)"},
	glDeleteRenderbuffersOES = {"void (*)(GLsizei, const GLuint *)"},
	glRasterPos4dv = {"void (*)(const GLdouble *)"},
	glMemoryBarrierEXT = {"void (*)(GLbitfield)"},
	glTextureParameterf = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat)"},
	glVertexAttrib4dv = {"void (*)(GLuint, const GLdouble *)"},
	glRasterPos2s = {"void (*)(GLshort, GLshort)"},
	glClipPlanex = {"void (*)(GL_LUA_ENUMS, const GLfixed *)"},
	glProgramUniform2d = {"void (*)(GLuint, GLint, GLdouble, GLdouble)"},
	glUniform1ui64vNV = {"void (*)(GLint, GLsizei, const GLuint64EXT *)"},
	glGenVertexArrays = {"void (*)(GLsizei, GLuint *)", true},
	glMapBufferOES = {"void *(*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glLightModelfv = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glGetActiveUniformARB = {"void (*)(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *)"},
	glSampleMaski = {"void (*)(GLuint, GLbitfield)"},
	glTexCoord2hNV = {"void (*)(GLhalfNV, GLhalfNV)"},
	glProgramEnvParameterI4iNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLint, GLint, GLint, GLint)"},
	glVertexAttrib2dv = {"void (*)(GLuint, const GLdouble *)"},
	glDeleteTransformFeedbacks = {"void (*)(GLsizei, const GLuint *)"},
	glDrawElementsInstancedBaseInstanceEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, const void *, GLsizei, GLuint)"},
	glFragmentCoverageColorNV = {"void (*)(GLuint)"},
	glGetConvolutionFilterEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, void *)"},
	glStencilOpSeparate = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glDisableiOES = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glGetPolygonStipple = {"void (*)(GLubyte *)"},
	glVertexAttrib2s = {"void (*)(GLuint, GLshort, GLshort)"},
	glVertexAttribs4ubvNV = {"void (*)(GLuint, GLsizei, const GLubyte *)"},
	glMap1f = {"void (*)(GL_LUA_ENUMS, GLfloat, GLfloat, GLint, GLint, const GLfloat *)"},
	glAreTexturesResidentEXT = {"GLboolean (*)(GLsizei, const GLuint *, GLboolean *)"},
	glPatchParameteri = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glGetTexEnvxvOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed *)"},
	glPrimitiveRestartNV = {"void (*)()"},
	glGenRenderbuffersEXT = {"void (*)(GLsizei, GLuint *)"},
	glMatrixIndexPointerOES = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glGetInteger64v = {"void (*)(GL_LUA_ENUMS, GLint64 *)"},
	glGetUniformi64vNV = {"void (*)(GLuint, GLint, GLint64EXT *)"},
	glTbufferMask3DFX = {"void (*)(GLuint)"},
	glBlendFuncSeparateEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glPathStencilDepthOffsetNV = {"void (*)(GLfloat, GLfloat)"},
	glFogCoordPointer = {"void (*)(GL_LUA_ENUMS, GLsizei, const void *)"},
	glFramebufferTexture3D = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint, GLint)"},
	glBlendEquationSeparateEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glDrawElementsInstancedBaseVertexBaseInstanceEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, const void *, GLsizei, GLint, GLuint)"},
	glCreateShaderProgramv = {"GLuint (*)(GL_LUA_ENUMS, GLsizei, const GLchar *const*)"},
	glIsVariantEnabledEXT = {"GLboolean (*)(GLuint, GL_LUA_ENUMS)"},
	glMultiDrawArraysIndirectEXT = {"void (*)(GL_LUA_ENUMS, const void *, GLsizei, GLsizei)"},
	glFramebufferTextureLayerEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint, GLint)"},
	glBindProgramNV = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glGetImageHandleARB = {"GLuint64 (*)(GLuint, GLint, GLboolean, GLint, GL_LUA_ENUMS)"},
	glColor4iv = {"void (*)(const GLint *)"},
	glTextureStorage3DMultisampleEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei, GLboolean)"},
	glDiscardFramebufferEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, const GLenum *)"},
	glProgramUniformHandleui64vARB = {"void (*)(GLuint, GLint, GLsizei, const GLuint64 *)"},
	glGetNamedRenderbufferParameterivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glColor4f = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat)"},
	glSecondaryColor3usEXT = {"void (*)(GLushort, GLushort, GLushort)"},
	glGetSamplerParameterIivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glIsProgramARB = {"GLboolean (*)(GLuint)"},
	glBlendColorxOES = {"void (*)(GLfixed, GLfixed, GLfixed, GLfixed)"},
	glCopyTextureSubImage3DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)"},
	glGetVertexAttribArrayObjectfvATI = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat *)"},
	glMultiTexCoord3fv = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glBlendFuncSeparateOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glMultiTexCoord1hvNV = {"void (*)(GL_LUA_ENUMS, const GLhalfNV *)"},
	glGetCombinerOutputParameterfvNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glGetTextureParameterfv = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat *)"},
	glGetUniformuiv = {"void (*)(GLuint, GLint, GLuint *)"},
	glProgramNamedParameter4dNV = {"void (*)(GLuint, GLsizei, const GLubyte *, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glEndConditionalRenderNV = {"void (*)()"},
	glDeleteTexturesEXT = {"void (*)(GLsizei, const GLuint *)"},
	glMap1d = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble, GLint, GLint, const GLdouble *)"},
	glGetPointervKHR = {"void (*)(GL_LUA_ENUMS, void **)"},
	glClientActiveTextureARB = {"void (*)(GL_LUA_ENUMS)"},
	glNamedRenderbufferStorageMultisample = {"void (*)(GLuint, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glSeparableFilter2DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *, const void *)"},
	glDepthBoundsdNV = {"void (*)(GLdouble, GLdouble)"},
	glVertexAttribIFormatNV = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLsizei)"},
	glDrawTransformFeedbackInstanced = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei)"},
	glGetHistogram = {"void (*)(GL_LUA_ENUMS, GLboolean, GL_LUA_ENUMS, GL_LUA_ENUMS, void *)"},
	glEnableiOES = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glTexGeni = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glDrawTransformFeedback = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glEvalCoord2xvOES = {"void (*)(const GLfixed *)"},
	glVertexAttribI1ui = {"void (*)(GLuint, GLuint)"},
	glGetCompressedTexImage = {"void (*)(GL_LUA_ENUMS, GLint, void *)"},
	glProgramNamedParameter4fNV = {"void (*)(GLuint, GLsizei, const GLubyte *, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glIsRenderbufferEXT = {"GLboolean (*)(GLuint)"},
	glProvokingVertexEXT = {"void (*)(GL_LUA_ENUMS)"},
	glDrawTextureNV = {"void (*)(GLuint, GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glElementPointerAPPLE = {"void (*)(GL_LUA_ENUMS, const void *)"},
	glGetHistogramParameterxvOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed *)"},
	glResolveDepthValuesNV = {"void (*)()"},
	glBindBufferRangeNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLintptr, GLsizeiptr)"},
	glGenFramebuffers = {"void (*)(GLsizei, GLuint *)", true},
	glDeformSGIX = {"void (*)(GLbitfield)"},
	glFramebufferTextureLayerARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint, GLint)"},
	glWindowPos2dARB = {"void (*)(GLdouble, GLdouble)"},
	glCreateBuffers = {"void (*)(GLsizei, GLuint *)"},
	glGetVertexAttribPointervARB = {"void (*)(GLuint, GL_LUA_ENUMS, void **)"},
	glVertex2i = {"void (*)(GLint, GLint)"},
	glRasterPos2sv = {"void (*)(const GLshort *)"},
	glGetConvolutionParameterivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glDrawTexiOES = {"void (*)(GLint, GLint, GLint, GLint, GLint)"},
	glColorPointerListIBM = {"void (*)(GLint, GL_LUA_ENUMS, GLint, const void **, GLint)"},
	glGetNamedBufferParameteri64v = {"void (*)(GLuint, GL_LUA_ENUMS, GLint64 *)"},
	glGetnSeparableFilter = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *, GLsizei, void *, void *)"},
	glGetRenderbufferParameterivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glGetTexBumpParameterivATI = {"void (*)(GL_LUA_ENUMS, GLint *)"},
	glIsTexture = {"GLboolean (*)(GLuint)"},
	glWindowPos2dvARB = {"void (*)(const GLdouble *)"},
	glClearColorxOES = {"void (*)(GLfixed, GLfixed, GLfixed, GLfixed)"},
	glTexCoord4fColor4fNormal3fVertex4fvSUN = {"void (*)(const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *)"},
	glProgramUniform3f = {"void (*)(GLuint, GLint, GLfloat, GLfloat, GLfloat)"},
	glVertexAttribs1svNV = {"void (*)(GLuint, GLsizei, const GLshort *)"},
	glDeleteRenderbuffers = {"void (*)(GLsizei, const GLuint *)"},
	glProgramEnvParameterI4ivNV = {"void (*)(GL_LUA_ENUMS, GLuint, const GLint *)"},
	glCompressedTexSubImage2D = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLsizei, GLsizei, GL_LUA_ENUMS, GLsizei, const void *)"},
	glPolygonOffset = {"void (*)(GLfloat, GLfloat)"},
	glNamedProgramLocalParameters4fvEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLsizei, const GLfloat *)"},
	glMultiTexCoord2f = {"void (*)(GL_LUA_ENUMS, GLfloat, GLfloat)"},
	glColor3ubv = {"void (*)(const GLubyte *)"},
	glMultiTexCoordP3uiv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLuint *)"},
	glPrioritizeTexturesxOES = {"void (*)(GLsizei, const GLuint *, const GLfixed *)"},
	glEvalPoint1 = {"void (*)(GLint)"},
	glFramebufferRenderbufferEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glGetDoublei_v = {"void (*)(GL_LUA_ENUMS, GLuint, GLdouble *)"},
	glGetVertexAttribLdv = {"void (*)(GLuint, GL_LUA_ENUMS, GLdouble *)"},
	glUnmapNamedBuffer = {"GLboolean (*)(GLuint)"},
	glGenTextures = {"void (*)(GLsizei, GLuint *)", true},
	glGetFloati_vEXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLfloat *)"},
	glGetBooleanIndexedvEXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLboolean *)"},
	glMultiDrawElementsIndirectCountARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLintptr, GLintptr, GLsizei, GLsizei)"},
	glTextureNormalEXT = {"void (*)(GL_LUA_ENUMS)"},
	glGetMultisamplefvNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLfloat *)"},
	glBufferDataARB = {"void (*)(GL_LUA_ENUMS, GLsizeiptrARB, const void *, GL_LUA_ENUMS)"},
	glWindowPos2sv = {"void (*)(const GLshort *)"},
	glMatrixMult3x2fNV = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glCoverFillPathInstancedNV = {"void (*)(GLsizei, GL_LUA_ENUMS, const void *, GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glCreateShader = {"GLuint (*)(GL_LUA_ENUMS)"},
	glWindowPos3iv = {"void (*)(const GLint *)"},
	glGetPixelMapxv = {"void (*)(GL_LUA_ENUMS, GLint, GLfixed *)"},
	glEGLImageTargetRenderbufferStorageOES = {"void (*)(GL_LUA_ENUMS, GLeglImageOES)"},
	glGenQueries = {"void (*)(GLsizei, GLuint *)", true},
	glArrayObjectATI = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLuint, GLuint)"},
	glLightxOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed)"},
	glPauseTransformFeedbackNV = {"void (*)()"},
	glGetPixelTransformParameterivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glBindImageTextures = {"void (*)(GLuint, GLsizei, const GLuint *)"},
	glMapBufferRangeEXT = {"void *(*)(GL_LUA_ENUMS, GLintptr, GLsizeiptr, GLbitfield)"},
	glMultMatrixd = {"void (*)(const GLdouble *)"},
	glProgramLocalParametersI4uivNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLuint *)"},
	glFogi = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glTexGenfOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat)"},
	glReplacementCodeuiColor4fNormal3fVertex3fSUN = {"void (*)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glMultiDrawElementArrayAPPLE = {"void (*)(GL_LUA_ENUMS, const GLint *, const GLsizei *, GLsizei)"},
	glGetnUniformiv = {"void (*)(GLuint, GLint, GLsizei, GLint *)"},
	glLightModelxvOES = {"void (*)(GL_LUA_ENUMS, const GLfixed *)"},
	glVertexArrayFogCoordOffsetEXT = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLsizei, GLintptr)"},
	glMaterialfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glColorMaskIndexedEXT = {"void (*)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean)"},
	glBeginFragmentShaderATI = {"void (*)()"},
	glIsProgram = {"GLboolean (*)(GLuint)"},
	glMaterialxvOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfixed *)"},
	glPixelMapusv = {"void (*)(GL_LUA_ENUMS, GLsizei, const GLushort *)"},
	glGetImageHandleNV = {"GLuint64 (*)(GLuint, GLint, GLboolean, GLint, GL_LUA_ENUMS)"},
	glTexPageCommitmentARB = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean)"},
	glIndexxOES = {"void (*)(GLfixed)"},
	glGetTexEnvfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glClearStencil = {"void (*)(GLint)"},
	glSecondaryColor3us = {"void (*)(GLushort, GLushort, GLushort)"},
	glInsertComponentEXT = {"void (*)(GLuint, GLuint, GLuint)"},
	glGenTransformFeedbacksNV = {"void (*)(GLsizei, GLuint *)"},
	glUniform2dv = {"void (*)(GLint, GLsizei, const GLdouble *)"},
	glObjectLabel = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLchar *)"},
	glNormalStream3svATI = {"void (*)(GL_LUA_ENUMS, const GLshort *)"},
	glDeleteQueriesARB = {"void (*)(GLsizei, const GLuint *)"},
	glClearTexSubImage = {"void (*)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glDeleteNamedStringARB = {"void (*)(GLint, const GLchar *)"},
	glGetProgramResourceLocation = {"GLint (*)(GLuint, GL_LUA_ENUMS, const GLchar *)"},
	glNormal3bv = {"void (*)(const GLbyte *)"},
	glGenProgramPipelines = {"void (*)(GLsizei, GLuint *)", true},
	glVertex4hNV = {"void (*)(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV)"},
	glTransformFeedbackVaryings = {"void (*)(GLuint, GLsizei, const GLchar *const*, GL_LUA_ENUMS)"},
	glGetCombinerInputParameterivNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glEGLImageTargetTexture2DOES = {"void (*)(GL_LUA_ENUMS, GLeglImageOES)"},
	glGetnPolygonStipple = {"void (*)(GLsizei, GLubyte *)"},
	glProgramUniform4ui64vNV = {"void (*)(GLuint, GLint, GLsizei, const GLuint64EXT *)"},
	glPolygonStipple = {"void (*)(const GLubyte *)"},
	glScissorIndexedvNV = {"void (*)(GLuint, const GLint *)"},
	glDebugMessageControlKHR = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, const GLuint *, GLboolean)"},
	glMultiTexCoord1dvARB = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glProgramBinaryOES = {"void (*)(GLuint, GL_LUA_ENUMS, const void *, GLint)"},
	glReplacementCodeuiColor4ubVertex3fvSUN = {"void (*)(const GLuint *, const GLubyte *, const GLfloat *)"},
	glDeleteQueries = {"void (*)(GLsizei, const GLuint *)"},
	glVertexAttrib3d = {"void (*)(GLuint, GLdouble, GLdouble, GLdouble)"},
	glRasterPos2dv = {"void (*)(const GLdouble *)"},
	glGetBooleani_v = {"void (*)(GL_LUA_ENUMS, GLuint, GLboolean *)"},
	glGetMinmaxParameterivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glColor4ub = {"void (*)(GLubyte, GLubyte, GLubyte, GLubyte)"},
	glProgramUniform2uiv = {"void (*)(GLuint, GLint, GLsizei, const GLuint *)"},
	glMultiTexParameterfvEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glGetOcclusionQueryivNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glGetQueryivARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glGetNamedStringivARB = {"void (*)(GLint, const GLchar *, GL_LUA_ENUMS, GLint *)"},
	glUniformMatrix2fv = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glGetImageTransformParameterivHP = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glVariantPointerEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, const void *)"},
	glClipControl = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glDrawBuffersEXT = {"void (*)(GLsizei, const GLenum *)"},
	glBlendEquationSeparateiEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glTextureStorage1D = {"void (*)(GLuint, GLsizei, GL_LUA_ENUMS, GLsizei)"},
	glAccumxOES = {"void (*)(GL_LUA_ENUMS, GLfixed)"},
	glProgramUniform1i64NV = {"void (*)(GLuint, GLint, GLint64EXT)"},
	glVertexAttribP4ui = {"void (*)(GLuint, GL_LUA_ENUMS, GLboolean, GLuint)"},
	glVertexAttribP1ui = {"void (*)(GLuint, GL_LUA_ENUMS, GLboolean, GLuint)"},
	glPointSizex = {"void (*)(GLfixed)"},
	glExtTexObjectStateOverrideiQCOM = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glVertexAttribI3i = {"void (*)(GLuint, GLint, GLint, GLint)"},
	glColor3fv = {"void (*)(const GLfloat *)"},
	glTexParameterfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glGetColorTableParameterivSGI = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glPathSubCoordsNV = {"void (*)(GLuint, GLsizei, GLsizei, GL_LUA_ENUMS, const void *)"},
	glGetnUniformivEXT = {"void (*)(GLuint, GLint, GLsizei, GLint *)"},
	glDrawElementsInstancedARB = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, const void *, GLsizei)"},
	glSecondaryColor3f = {"void (*)(GLfloat, GLfloat, GLfloat)"},
	glGetOcclusionQueryuivNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint *)"},
	glBeginTransformFeedbackEXT = {"void (*)(GL_LUA_ENUMS)"},
	glBindVideoCaptureStreamBufferNV = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLintptrARB)"},
	glVertexAttribL4d = {"void (*)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glUniform4f = {"void (*)(GLint, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glGetPerfMonitorGroupStringAMD = {"void (*)(GLuint, GLsizei, GLsizei *, GLchar *)"},
	glCopyImageSubData = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLuint, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei)"},
	glFrustumfOES = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glVertexPointervINTEL = {"void (*)(GLint, GL_LUA_ENUMS, const void **)"},
	glSharpenTexFuncSGIS = {"void (*)(GL_LUA_ENUMS, GLsizei, const GLfloat *)"},
	glVertexAttribBinding = {"void (*)(GLuint, GLuint)"},
	glBindFragDataLocationIndexed = {"void (*)(GLuint, GLuint, GLuint, const GLchar *)"},
	glMapNamedBuffer = {"void *(*)(GLuint, GL_LUA_ENUMS)"},
	glGetNamedProgramivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glProgramUniform2ui = {"void (*)(GLuint, GLint, GLuint, GLuint)"},
	glCoverageOperationNV = {"void (*)(GL_LUA_ENUMS)"},
	glDeleteLists = {"void (*)(GLuint, GLsizei)"},
	glCompressedTextureSubImage2D = {"void (*)(GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GL_LUA_ENUMS, GLsizei, const void *)"},
	glProgramLocalParameter4fvARB = {"void (*)(GL_LUA_ENUMS, GLuint, const GLfloat *)"},
	glIndexi = {"void (*)(GLint)"},
	glVertexArrayVertexAttribIFormatEXT = {"void (*)(GLuint, GLuint, GLint, GL_LUA_ENUMS, GLuint)"},
	glBeginConditionalRenderNV = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glGetPathTexGenivNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glTexCoord4fVertex4fSUN = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glEvalCoord2dv = {"void (*)(const GLdouble *)"},
	glSeparableFilter2D = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *, const void *)"},
	glLoadPaletteFromModelViewMatrixOES = {"void (*)()"},
	glActiveProgramEXT = {"void (*)(GLuint)"},
	glIsShader = {"GLboolean (*)(GLuint)"},
	glGetProgramStringNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLubyte *)"},
	glProgramUniform3i = {"void (*)(GLuint, GLint, GLint, GLint, GLint)"},
	glVertexAttrib4hNV = {"void (*)(GLuint, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV)"},
	glDisableClientStateIndexedEXT = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glUseShaderProgramEXT = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glGetFragDataLocationEXT = {"GLint (*)(GLuint, const GLchar *)"},
	glDebugMessageCallbackARB = {"void (*)(GLDEBUGPROCARB, const void *)"},
	glReplacementCodeuiVertex3fSUN = {"void (*)(GLuint, GLfloat, GLfloat, GLfloat)"},
	glDisableVertexAttribAPPLE = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glScaled = {"void (*)(GLdouble, GLdouble, GLdouble)"},
	glResizeBuffersMESA = {"void (*)()"},
	glMultiDrawArraysIndirectCountARB = {"void (*)(GL_LUA_ENUMS, GLintptr, GLintptr, GLsizei, GLsizei)"},
	glClearAccumxOES = {"void (*)(GLfixed, GLfixed, GLfixed, GLfixed)"},
	glPointParameterfvEXT = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glPassThroughxOES = {"void (*)(GLfixed)"},
	glPixelMapx = {"void (*)(GL_LUA_ENUMS, GLint, const GLfixed *)"},
	glReferencePlaneSGIX = {"void (*)(const GLdouble *)"},
	glProgramUniformMatrix3dv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glVertexAttribL1ui64ARB = {"void (*)(GLuint, GLuint64EXT)"},
	glVertexAttrib4Nbv = {"void (*)(GLuint, const GLbyte *)"},
	glTexCoord2fv = {"void (*)(const GLfloat *)"},
	glFogFuncSGIS = {"void (*)(GLsizei, const GLfloat *)"},
	glProgramUniform3d = {"void (*)(GLuint, GLint, GLdouble, GLdouble, GLdouble)"},
	glClipPlane = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glGetNamedFramebufferParameterivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glVertex4dv = {"void (*)(const GLdouble *)"},
	glUniform3i = {"void (*)(GLint, GLint, GLint, GLint)"},
	glIsTextureHandleResidentNV = {"GLboolean (*)(GLuint64)"},
	glRasterPos4f = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat)"},
	glCompressedTexImage3D = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *)"},
	glNormalPointerEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, GLsizei, const void *)"},
	glColor4fv = {"void (*)(const GLfloat *)"},
	glMultiTexCoord2i = {"void (*)(GL_LUA_ENUMS, GLint, GLint)"},
	glGetBufferPointervOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, void **)"},
	glMultiTexCoordP2ui = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glFlushVertexArrayRangeAPPLE = {"void (*)(GLsizei, void *)"},
	glSelectBuffer = {"void (*)(GLsizei, GLuint *)"},
	glSecondaryColor3bvEXT = {"void (*)(const GLbyte *)"},
	glPointParameterivNV = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glGetHistogramParameterivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glMultiTexCoordP3ui = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glIsEnablediEXT = {"GLboolean (*)(GL_LUA_ENUMS, GLuint)"},
	glWindowPos3fv = {"void (*)(const GLfloat *)"},
	glDrawElementArrayATI = {"void (*)(GL_LUA_ENUMS, GLsizei)"},
	glProgramUniform4fv = {"void (*)(GLuint, GLint, GLsizei, const GLfloat *)"},
	glGenFencesAPPLE = {"void (*)(GLsizei, GLuint *)"},
	glGetProgramiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glVertexAttribI1uiEXT = {"void (*)(GLuint, GLuint)"},
	glGetTexLevelParameterxvOES = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLfixed *)"},
	glFragmentMaterialiSGIX = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glBufferAddressRangeNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint64EXT, GLsizeiptr)"},
	glPopGroupMarkerEXT = {"void (*)()"},
	glIndexd = {"void (*)(GLdouble)"},
	glPathParameterivNV = {"void (*)(GLuint, GL_LUA_ENUMS, const GLint *)"},
	glMultiTexGenivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glRects = {"void (*)(GLshort, GLshort, GLshort, GLshort)"},
	glUniformMatrix2x3fvNV = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glGetTransformFeedbacki64_v = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLint64 *)"},
	glGetVertexArrayiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glGetIntegeri_v = {"void (*)(GL_LUA_ENUMS, GLuint, GLint *)"},
	glActiveTexture = {"void (*)(GL_LUA_ENUMS)"},
	glRasterPos4s = {"void (*)(GLshort, GLshort, GLshort, GLshort)"},
	glVertex2s = {"void (*)(GLshort, GLshort)"},
	glFogCoordfvEXT = {"void (*)(const GLfloat *)"},
	glVideoCaptureStreamParameterfvNV = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, const GLfloat *)"},
	glExtGetProgramBinarySourceQCOM = {"void (*)(GLuint, GL_LUA_ENUMS, GLchar *, GLint *)"},
	glGetNamedBufferPointervEXT = {"void (*)(GLuint, GL_LUA_ENUMS, void **)"},
	glBlendFunci = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glProgramParameteri = {"void (*)(GLuint, GL_LUA_ENUMS, GLint)"},
	glGenNamesAMD = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint *)"},
	glPixelZoomxOES = {"void (*)(GLfixed, GLfixed)"},
	glVertex3iv = {"void (*)(const GLint *)"},
	glFinishTextureSUNX = {"void (*)()"},
	glBlendBarrierKHR = {"void (*)()"},
	glVertex2iv = {"void (*)(const GLint *)"},
	glGetTexGendv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLdouble *)"},
	glMultiDrawElementsBaseVertexEXT = {"void (*)(GL_LUA_ENUMS, const GLsizei *, GL_LUA_ENUMS, const void *const*, GLsizei, const GLint *)"},
	glNamedBufferStorageEXT = {"void (*)(GLuint, GLsizeiptr, const void *, GLbitfield)"},
	glLineWidthxOES = {"void (*)(GLfixed)"},
	glGetFragDataIndex = {"GLint (*)(GLuint, const GLchar *)"},
	glBlendFunciOES = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glEndPerfQueryINTEL = {"void (*)(GLuint)"},
	glProgramEnvParameterI4uiNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLuint, GLuint, GLuint)"},
	glFogCoordfv = {"void (*)(const GLfloat *)"},
	glDepthRangef = {"void (*)(GLfloat, GLfloat)"},
	glGlobalAlphaFactorusSUN = {"void (*)(GLushort)"},
	glBinormal3sEXT = {"void (*)(GLshort, GLshort, GLshort)"},
	glPresentFrameKeyedNV = {"void (*)(GLuint, GLuint64EXT, GLuint, GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLuint, GL_LUA_ENUMS, GLuint, GLuint)"},
	glMatrixLoad3x2fNV = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glFlushStaticDataIBM = {"void (*)(GL_LUA_ENUMS)"},
	glGenSamplers = {"void (*)(GLsizei, GLuint *)", true},
	glTexParameterxOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed)"},
	glMultiTexCoord4bOES = {"void (*)(GL_LUA_ENUMS, GLbyte, GLbyte, GLbyte, GLbyte)"},
	glFramebufferTextureARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint)"},
	glUniform1fARB = {"void (*)(GLint, GLfloat)"},
	glMinmax = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLboolean)"},
	glMultiTexCoord4s = {"void (*)(GL_LUA_ENUMS, GLshort, GLshort, GLshort, GLshort)"},
	glEdgeFlagFormatNV = {"void (*)(GLsizei)"},
	glNamedFramebufferParameteri = {"void (*)(GLuint, GL_LUA_ENUMS, GLint)"},
	glWindowPos3f = {"void (*)(GLfloat, GLfloat, GLfloat)"},
	glGetPixelMapfv = {"void (*)(GL_LUA_ENUMS, GLfloat *)"},
	glColor3ui = {"void (*)(GLuint, GLuint, GLuint)"},
	glGetTexLevelParameteriv = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLint *)"},
	glNamedFramebufferDrawBuffers = {"void (*)(GLuint, GLsizei, const GLenum *)"},
	glUniformHandleui64vARB = {"void (*)(GLint, GLsizei, const GLuint64 *)"},
	glGetTextureParameterIuivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint *)"},
	glDebugMessageInsertKHR = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLsizei, const GLchar *)"},
	glDrawRangeElementsEXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLsizei, GL_LUA_ENUMS, const void *)"},
	glDeleteNamesAMD = {"void (*)(GL_LUA_ENUMS, GLuint, const GLuint *)"},
	glColorP4uiv = {"void (*)(GL_LUA_ENUMS, const GLuint *)"},
	glClipPlanef = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glNormalPointervINTEL = {"void (*)(GL_LUA_ENUMS, const void **)"},
	glIsNamedStringARB = {"GLboolean (*)(GLint, const GLchar *)"},
	glConvolutionFilter2DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glAreProgramsResidentNV = {"GLboolean (*)(GLsizei, const GLuint *, GLboolean *)"},
	glProgramUniformMatrix4x2dv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glGenBuffersARB = {"void (*)(GLsizei, GLuint *)"},
	glBindBufferBase = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint)"},
	glGetClipPlane = {"void (*)(GL_LUA_ENUMS, GLdouble *)"},
	glTextureImage2DMultisampleNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLsizei, GLint, GLsizei, GLsizei, GLboolean)"},
	glProgramUniform2fv = {"void (*)(GLuint, GLint, GLsizei, const GLfloat *)"},
	glProgramUniformMatrix3x4dv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glGetPathParameterfvNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat *)"},
	glGetBufferParameteriv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glDeleteFramebuffersEXT = {"void (*)(GLsizei, const GLuint *)"},
	glNamedFramebufferTexture = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLint)"},
	glTexCoord2fColor3fVertex3fSUN = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glClampColorARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glGlobalAlphaFactoruiSUN = {"void (*)(GLuint)"},
	glBlendEquationiOES = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glGetPathTexGenfvNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glMapNamedBufferEXT = {"void *(*)(GLuint, GL_LUA_ENUMS)"},
	glVertex4sv = {"void (*)(const GLshort *)"},
	glDrawTexsvOES = {"void (*)(const GLshort *)"},
	glGetVideoCaptureStreamivNV = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLint *)"},
	glFinishFenceNV = {"void (*)(GLuint)"},
	glMultiTexCoord1f = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glProgramUniform2iv = {"void (*)(GLuint, GLint, GLsizei, const GLint *)"},
	glBindFramebufferEXT = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glMapGrid2f = {"void (*)(GLint, GLfloat, GLfloat, GLint, GLfloat, GLfloat)"},
	glCompileShaderIncludeARB = {"void (*)(GLuint, GLsizei, const GLchar *const*, const GLint *)"},
	glGetTexParameterfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glGetMaterialxvOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed *)"},
	glTexCoordP1ui = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glProgramUniform4f = {"void (*)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glGetProgramBinary = {"void (*)(GLuint, GLsizei, GLsizei *, GLenum *, void *)"},
	glDrawArraysInstancedARB = {"void (*)(GL_LUA_ENUMS, GLint, GLsizei, GLsizei)"},
	glClearBufferuiv = {"void (*)(GL_LUA_ENUMS, GLint, const GLuint *)"},
	glDeleteSync = {"void (*)(GLsync)"},
	glVertexAttrib4Nsv = {"void (*)(GLuint, const GLshort *)"},
	glPointParameterfSGIS = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glColorPointervINTEL = {"void (*)(GLint, GL_LUA_ENUMS, const void **)"},
	glTangent3fEXT = {"void (*)(GLfloat, GLfloat, GLfloat)"},
	glGetNamedProgramLocalParameterfvEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLfloat *)"},
	glCreateVertexArrays = {"void (*)(GLsizei, GLuint *)"},
	glPathDashArrayNV = {"void (*)(GLuint, GLsizei, const GLfloat *)"},
	glGetActiveUniformsiv = {"void (*)(GLuint, GLsizei, const GLuint *, GL_LUA_ENUMS, GLint *)"},
	glBlitNamedFramebuffer = {"void (*)(GLuint, GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GL_LUA_ENUMS)"},
	glNamedProgramLocalParameterI4uiEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLuint, GLuint, GLuint, GLuint)"},
	glPushDebugGroupKHR = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLchar *)"},
	glElementPointerATI = {"void (*)(GL_LUA_ENUMS, const void *)"},
	glRasterPos3dv = {"void (*)(const GLdouble *)"},
	glInterpolatePathsNV = {"void (*)(GLuint, GLuint, GLuint, GLfloat)"},
	glStopInstrumentsSGIX = {"void (*)(GLint)"},
	glColor3uiv = {"void (*)(const GLuint *)"},
	glEndList = {"void (*)()"},
	glColor3xvOES = {"void (*)(const GLfixed *)"},
	glGetProgramStringARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, void *)"},
	glMatrixLoaddEXT = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glGlobalAlphaFactordSUN = {"void (*)(GLdouble)"},
	glNormal3fVertex3fSUN = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glDebugMessageInsert = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLsizei, const GLchar *)"},
	glDisableiEXT = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glGetVideouivNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint *)"},
	glColor4i = {"void (*)(GLint, GLint, GLint, GLint)"},
	glClearBufferSubData = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLintptr, GLsizeiptr, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glGetUniformBlockIndex = {"GLuint (*)(GLuint, const GLchar *)"},
	glUniform1f = {"void (*)(GLint, GLfloat)"},
	glPassThrough = {"void (*)(GLfloat)"},
	glVertexAttrib3dNV = {"void (*)(GLuint, GLdouble, GLdouble, GLdouble)"},
	glVertexAttrib4Nub = {"void (*)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte)"},
	glVertexAttribL1i64vNV = {"void (*)(GLuint, const GLint64EXT *)"},
	glLightModelx = {"void (*)(GL_LUA_ENUMS, GLfixed)"},
	glQueryObjectParameteruiAMD = {"void (*)(GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLuint)"},
	glMultiDrawElementsIndirectBindlessCountNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const void *, GLsizei, GLsizei, GLsizei, GLint)"},
	glUniform1dv = {"void (*)(GLint, GLsizei, const GLdouble *)"},
	glUniform3ui64vNV = {"void (*)(GLint, GLsizei, const GLuint64EXT *)"},
	glVertexFormatNV = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei)"},
	glBlendEquationSeparate = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glMultTransposeMatrixxOES = {"void (*)(const GLfixed *)"},
	glDeleteBuffers = {"void (*)(GLsizei, const GLuint *)"},
	glSecondaryColor3usv = {"void (*)(const GLushort *)"},
	glGetVertexAttribIivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glGetDoubleIndexedvEXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLdouble *)"},
	glSecondaryColor3sv = {"void (*)(const GLshort *)"},
	glVertex3hNV = {"void (*)(GLhalfNV, GLhalfNV, GLhalfNV)"},
	glUniform2uivEXT = {"void (*)(GLint, GLsizei, const GLuint *)"},
	glCompressedTexImage3DOES = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *)"},
	glQueryCounter = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glSecondaryColor3iv = {"void (*)(const GLint *)"},
	glPathParameterfNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat)"},
	glProgramUniformMatrix2dv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glTestFenceNV = {"GLboolean (*)(GLuint)"},
	glEndQueryEXT = {"void (*)(GL_LUA_ENUMS)"},
	glDrawRangeElementArrayATI = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLsizei)"},
	glNamedFramebufferRenderbuffer = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glFramebufferTexture3DOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint, GLint)"},
	glMultiTexCoordP4uiv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLuint *)"},
	glGetHistogramParameteriv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glGetFragDataLocation = {"GLint (*)(GLuint, const GLchar *)"},
	glProgramNamedParameter4fvNV = {"void (*)(GLuint, GLsizei, const GLubyte *, const GLfloat *)"},
	glEdgeFlag = {"void (*)(GLboolean)"},
	glPointParameteriNV = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glUnmapBufferARB = {"GLboolean (*)(GL_LUA_ENUMS)"},
	glSecondaryColor3uiEXT = {"void (*)(GLuint, GLuint, GLuint)"},
	glReadnPixelsKHR = {"void (*)(GLint, GLint, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *)"},
	glGetnTexImageARB = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *)"},
	glUniform1uiv = {"void (*)(GLint, GLsizei, const GLuint *)"},
	glColor4ubVertex2fvSUN = {"void (*)(const GLubyte *, const GLfloat *)"},
	glGetProgramParameterdvNV = {"void (*)(GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLdouble *)"},
	glMapControlPointsNV = {"void (*)(GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLsizei, GLsizei, GLint, GLint, GLboolean, const void *)"},
	glColorMaski = {"void (*)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean)"},
	glTexCoord1f = {"void (*)(GLfloat)"},
	glGetProgramEnvParameterIivNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLint *)"},
	glActiveShaderProgramEXT = {"void (*)(GLuint, GLuint)"},
	glVertexAttrib1sARB = {"void (*)(GLuint, GLshort)"},
	glVertexAttribL2d = {"void (*)(GLuint, GLdouble, GLdouble)"},
	glVDPAUMapSurfacesNV = {"void (*)(GLsizei, const GLvdpauSurfaceNV *)"},
	glNamedCopyBufferSubDataEXT = {"void (*)(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr)"},
	glBlendFuncSeparateiEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glGetSynciv = {"void (*)(GLsync, GL_LUA_ENUMS, GLsizei, GLsizei *, GLint *)"},
	glBlendEquationIndexedAMD = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glVertexAttribI1uiv = {"void (*)(GLuint, const GLuint *)"},
	glBlendEquationSeparatei = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glCompressedTextureSubImage1D = {"void (*)(GLuint, GLint, GLint, GLsizei, GL_LUA_ENUMS, GLsizei, const void *)"},
	glGetQueryivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glGetProgramNamedParameterdvNV = {"void (*)(GLuint, GLsizei, const GLubyte *, GLdouble *)"},
	glCreateTextures = {"void (*)(GL_LUA_ENUMS, GLsizei, GLuint *)"},
	glGetTexEnvxv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed *)"},
	glMultiTexImage1DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLsizei, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glUniform4iv = {"void (*)(GLint, GLsizei, const GLint *)"},
	glStencilOpSeparateATI = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glIsEnabledIndexedEXT = {"GLboolean (*)(GL_LUA_ENUMS, GLuint)"},
	glDeleteTextures = {"void (*)(GLsizei, const GLuint *)"},
	glGetVariantIntegervEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glTextureRenderbufferEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint)"},
	glProgramParameters4fvNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLfloat *)"},
	glCompileShaderARB = {"void (*)(GLhandleARB)"},
	glVertexAttrib4NbvARB = {"void (*)(GLuint, const GLbyte *)"},
	glGetProgramInfoLog = {"void (*)(GLuint, GLsizei, GLsizei *, GLchar *)"},
	glWindowPos2fARB = {"void (*)(GLfloat, GLfloat)"},
	glSecondaryColor3sEXT = {"void (*)(GLshort, GLshort, GLshort)"},
	glColorFragmentOp2ATI = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)"},
	glRotatex = {"void (*)(GLfixed, GLfixed, GLfixed, GLfixed)"},
	glProgramEnvParameter4dARB = {"void (*)(GL_LUA_ENUMS, GLuint, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glTextureSubImage1DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GLint, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glLoadTransposeMatrixd = {"void (*)(const GLdouble *)"},
	glGetConvolutionParameterfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glBindProgramPipeline = {"void (*)(GLuint)"},
	glGetPerfQueryIdByNameINTEL = {"void (*)(GLchar *, GLuint *)"},
	glMultiTexParameterfEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat)"},
	glGetFinalCombinerInputParameterfvNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glGetSubroutineUniformLocation = {"GLint (*)(GLuint, GL_LUA_ENUMS, const GLchar *)"},
	glMapGrid1d = {"void (*)(GLint, GLdouble, GLdouble)"},
	glGetProgramStageiv = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glFlushMappedBufferRangeAPPLE = {"void (*)(GL_LUA_ENUMS, GLintptr, GLsizeiptr)"},
	glVertexAttrib1dv = {"void (*)(GLuint, const GLdouble *)"},
	glPixelTransformParameterfEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat)"},
	glTexCoord1fv = {"void (*)(const GLfloat *)"},
	glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = {"void (*)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glPointParameterfvARB = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glPathTexGenNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, const GLfloat *)"},
	glVertexAttrib4bv = {"void (*)(GLuint, const GLbyte *)"},
	glPushClientAttrib = {"void (*)(GLbitfield)"},
	glColorTableParameterfvSGI = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glFramebufferDrawBufferEXT = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glTexBufferEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glCopyBufferSubDataNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLintptr, GLintptr, GLsizeiptr)"},
	glIndexMask = {"void (*)(GLuint)"},
	glProgramUniform4i = {"void (*)(GLuint, GLint, GLint, GLint, GLint, GLint)"},
	glProgramStringARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, const void *)"},
	glRasterPos4d = {"void (*)(GLdouble, GLdouble, GLdouble, GLdouble)"},
	glColor4b = {"void (*)(GLbyte, GLbyte, GLbyte, GLbyte)"},
	glGenRenderbuffersOES = {"void (*)(GLsizei, GLuint *)"},
	glReplacementCodeuiColor3fVertex3fSUN = {"void (*)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glGetAttribLocation = {"GLint (*)(GLuint, const GLchar *)"},
	glGetMultiTexImageEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, void *)"},
	glGetImageTransformParameterfvHP = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glProgramUniform3ui = {"void (*)(GLuint, GLint, GLuint, GLuint, GLuint)"},
	glGetActiveSubroutineName = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLsizei, GLsizei *, GLchar *)"},
	glMultiTexCoord4sv = {"void (*)(GL_LUA_ENUMS, const GLshort *)"},
	glTexGeniOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glIsProgramPipeline = {"GLboolean (*)(GLuint)"},
	glBlendFuncSeparateINGR = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glPointSizexOES = {"void (*)(GLfixed)"},
	glGetLocalConstantFloatvEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat *)"},
	glImageTransformParameterfHP = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat)"},
	glMultiTexCoord1i = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glGetLocalConstantIntegervEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glIndexf = {"void (*)(GLfloat)"},
	glFenceSyncAPPLE = {"GLsync (*)(GL_LUA_ENUMS, GLbitfield)"},
	glProgramUniform4d = {"void (*)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glVertexAttribPointerNV = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glClearNamedFramebufferuiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, const GLuint *)"},
	glBeginOcclusionQueryNV = {"void (*)(GLuint)"},
	glNamedBufferPageCommitmentARB = {"void (*)(GLuint, GLintptr, GLsizeiptr, GLboolean)"},
	glFramebufferTexture1D = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint)"},
	glEnableVertexArrayAttribEXT = {"void (*)(GLuint, GLuint)"},
	glGetVertexArrayPointeri_vEXT = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, void **)"},
	glTexStorage2DMultisample = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei, GLboolean)"},
	glCompressedTextureImage2DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLsizei, GLint, GLsizei, const void *)"},
	glMaterialiv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glClearDepthdNV = {"void (*)(GLdouble)"},
	glUniform1uiEXT = {"void (*)(GLint, GLuint)"},
	glGetActiveUniformName = {"void (*)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *)"},
	glGetnUniformivARB = {"void (*)(GLuint, GLint, GLsizei, GLint *)"},
	glColor3usv = {"void (*)(const GLushort *)"},
	glDisableVertexArrayAttrib = {"void (*)(GLuint, GLuint)"},
	glGetPathSpacingNV = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, const void *, GLuint, GLfloat, GLfloat, GL_LUA_ENUMS, GLfloat *)"},
	glSampleMaskEXT = {"void (*)(GLclampf, GLboolean)"},
	glMap2xOES = {"void (*)(GL_LUA_ENUMS, GLfixed, GLfixed, GLint, GLint, GLfixed, GLfixed, GLint, GLint, GLfixed)"},
	glDrawElementArrayAPPLE = {"void (*)(GL_LUA_ENUMS, GLint, GLsizei)"},
	glUnmapTexture2DINTEL = {"void (*)(GLuint, GLint)"},
	glEndFragmentShaderATI = {"void (*)()"},
	glConvolutionFilter1D = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glGetShaderInfoLog = {"void (*)(GLuint, GLsizei, GLsizei *, GLchar *)"},
	glAsyncMarkerSGIX = {"void (*)(GLuint)"},
	glGetVertexAttribivNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glClientActiveVertexStreamATI = {"void (*)(GL_LUA_ENUMS)"},
	glBindBufferOffsetEXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLintptr)"},
	glClearNamedBufferDataEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glGetTexParameterIivOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glClear = {"void (*)(GLbitfield)"},
	glPathCoordsNV = {"void (*)(GLuint, GLsizei, GL_LUA_ENUMS, const void *)"},
	glMultiTexSubImage3DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glBlendFuncSeparateIndexedAMD = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glGetTextureParameterIivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glSecondaryColor3iEXT = {"void (*)(GLint, GLint, GLint)"},
	glSetFenceNV = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glOrthox = {"void (*)(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, GLfixed)"},
	glSamplerParameterIivOES = {"void (*)(GLuint, GL_LUA_ENUMS, const GLint *)"},
	glMultiTexGeniEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glArrayElement = {"void (*)(GLint)"},
	glDrawRangeElementArrayAPPLE = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLint, GLsizei)"},
	glMatrixScalefEXT = {"void (*)(GL_LUA_ENUMS, GLfloat, GLfloat, GLfloat)"},
	glBindBufferRangeEXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLintptr, GLsizeiptr)"},
	glTexParameterIuivOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLuint *)"},
	glVertex3bvOES = {"void (*)(const GLbyte *)"},
	glGetMinmaxParameteriv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glIsPathNV = {"GLboolean (*)(GLuint)"},
	glActiveTextureARB = {"void (*)(GL_LUA_ENUMS)"},
	glVertexAttribL1ui64vARB = {"void (*)(GLuint, const GLuint64EXT *)"},
	glListBase = {"void (*)(GLuint)"},
	glDispatchComputeGroupSizeARB = {"void (*)(GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)"},
	glNormal3d = {"void (*)(GLdouble, GLdouble, GLdouble)"},
	glGetNamedProgramStringEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, void *)"},
	glProgramVertexLimitNV = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glNamedProgramLocalParameter4fEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glIsTextureEXT = {"GLboolean (*)(GLuint)"},
	glGetTextureSamplerHandleARB = {"GLuint64 (*)(GLuint, GLuint)"},
	glWindowPos3d = {"void (*)(GLdouble, GLdouble, GLdouble)"},
	glTexCoord2fNormal3fVertex3fvSUN = {"void (*)(const GLfloat *, const GLfloat *, const GLfloat *)"},
	glIsQueryEXT = {"GLboolean (*)(GLuint)"},
	glPathCommandsNV = {"void (*)(GLuint, GLsizei, const GLubyte *, GLsizei, GL_LUA_ENUMS, const void *)"},
	glUniformHandleui64ARB = {"void (*)(GLint, GLuint64)"},
	glGetDebugMessageLog = {"GLuint (*)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *)"},
	glTexCoordP2uiv = {"void (*)(GL_LUA_ENUMS, const GLuint *)"},
	glMapObjectBufferATI = {"void *(*)(GLuint)"},
	glGetSharpenTexFuncSGIS = {"void (*)(GL_LUA_ENUMS, GLfloat *)"},
	glMatrixTranslatefEXT = {"void (*)(GL_LUA_ENUMS, GLfloat, GLfloat, GLfloat)"},
	glBindTransformFeedbackNV = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glTexCoord2s = {"void (*)(GLshort, GLshort)"},
	glMatrixPopEXT = {"void (*)(GL_LUA_ENUMS)"},
	glBinormal3fEXT = {"void (*)(GLfloat, GLfloat, GLfloat)"},
	glSecondaryColor3ub = {"void (*)(GLubyte, GLubyte, GLubyte)"},
	glGetCompressedMultiTexImageEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, void *)"},
	glBinormal3bEXT = {"void (*)(GLbyte, GLbyte, GLbyte)"},
	glClearDepth = {"void (*)(GLdouble)"},
	glScissor = {"void (*)(GLint, GLint, GLsizei, GLsizei)"},
	glWindowPos2iv = {"void (*)(const GLint *)"},
	glProgramBufferParametersIivNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLsizei, const GLint *)"},
	glTextureParameteri = {"void (*)(GLuint, GL_LUA_ENUMS, GLint)"},
	glMapParameterfvNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glMultiTexCoordP1uiv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLuint *)"},
	glWindowPos3sv = {"void (*)(const GLshort *)"},
	glGetRenderbufferParameteriv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glEvalMesh1 = {"void (*)(GL_LUA_ENUMS, GLint, GLint)"},
	glGetProgramInterfaceiv = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glUnmapNamedBufferEXT = {"GLboolean (*)(GLuint)"},
	glProgramUniform2dv = {"void (*)(GLuint, GLint, GLsizei, const GLdouble *)"},
	glGetQueryBufferObjecti64v = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLintptr)"},
	glGetMapiv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glProgramUniform3iv = {"void (*)(GLuint, GLint, GLsizei, const GLint *)"},
	glGetShaderSource = {"void (*)(GLuint, GLsizei, GLsizei *, GLchar *)"},
	glPrioritizeTexturesEXT = {"void (*)(GLsizei, const GLuint *, const GLclampf *)"},
	glIsSampler = {"GLboolean (*)(GLuint)"},
	glGetNamedRenderbufferParameteriv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glColor4x = {"void (*)(GLfixed, GLfixed, GLfixed, GLfixed)"},
	glFrameTerminatorGREMEDY = {"void (*)()"},
	glAttachShader = {"void (*)(GLuint, GLuint)"},
	glTestObjectAPPLE = {"GLboolean (*)(GL_LUA_ENUMS, GLuint)"},
	glRasterPos2iv = {"void (*)(const GLint *)"},
	glScissorArrayv = {"void (*)(GLuint, GLsizei, const GLint *)"},
	glStencilThenCoverStrokePathNV = {"void (*)(GLuint, GLint, GLuint, GL_LUA_ENUMS)"},
	glGetTextureLevelParameteriv = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLint *)"},
	glColorP3ui = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glStencilStrokePathInstancedNV = {"void (*)(GLsizei, GL_LUA_ENUMS, const void *, GLuint, GLint, GLuint, GL_LUA_ENUMS, const GLfloat *)"},
	glColorP4ui = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glConvolutionParameterf = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat)"},
	glMultiDrawArrays = {"void (*)(GL_LUA_ENUMS, const GLint *, const GLsizei *, GLsizei)"},
	glDetachObjectARB = {"void (*)(GLhandleARB, GLhandleARB)"},
	glGetProgramResourceLocationIndex = {"GLint (*)(GLuint, GL_LUA_ENUMS, const GLchar *)"},
	glProgramLocalParameterI4ivNV = {"void (*)(GL_LUA_ENUMS, GLuint, const GLint *)"},
	glIndexFormatNV = {"void (*)(GL_LUA_ENUMS, GLsizei)"},
	glDrawArraysInstancedNV = {"void (*)(GL_LUA_ENUMS, GLint, GLsizei, GLsizei)"},
	glShaderOp3EXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLuint, GLuint)"},
	glBlendFuncSeparatei = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glCompressedTexSubImage3DOES = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GL_LUA_ENUMS, GLsizei, const void *)"},
	glCullFace = {"void (*)(GL_LUA_ENUMS)"},
	glMultiTexCoord3hNV = {"void (*)(GL_LUA_ENUMS, GLhalfNV, GLhalfNV, GLhalfNV)"},
	glGetActiveUniformBlockiv = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLint *)"},
	glMatrixIndexPointerARB = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glCopyTexSubImage2D = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)"},
	glDrawElementsBaseVertex = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, const void *, GLint)"},
	glDeleteProgramPipelines = {"void (*)(GLsizei, const GLuint *)"},
	glMultiTexCoord1xvOES = {"void (*)(GL_LUA_ENUMS, const GLfixed *)"},
	glVertexAttrib4ubvNV = {"void (*)(GLuint, const GLubyte *)"},
	glVertexAttribFormat = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLboolean, GLuint)"},
	glVertexAttrib1d = {"void (*)(GLuint, GLdouble)"},
	glBlendFuncSeparate = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glProgramUniform4uivEXT = {"void (*)(GLuint, GLint, GLsizei, const GLuint *)"},
	glVertexAttribI4i = {"void (*)(GLuint, GLint, GLint, GLint, GLint)"},
	glGetTransformFeedbackVaryingEXT = {"void (*)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *)"},
	glGetQueryObjectuiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint *)"},
	glSpriteParameterfSGIX = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glWeightPathsNV = {"void (*)(GLuint, GLsizei, const GLuint *, const GLfloat *)"},
	glLightxvOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfixed *)"},
	glLightModelxv = {"void (*)(GL_LUA_ENUMS, const GLfixed *)"},
	glColor3dv = {"void (*)(const GLdouble *)"},
	glPixelTransformParameteriEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glProgramUniform1fv = {"void (*)(GLuint, GLint, GLsizei, const GLfloat *)"},
	glIsQuery = {"GLboolean (*)(GLuint)"},
	glNamedBufferPageCommitmentEXT = {"void (*)(GLuint, GLintptr, GLsizeiptr, GLboolean)"},
	glObjectPtrLabel = {"void (*)(const void *, GLsizei, const GLchar *)"},
	glGenProgramPipelinesEXT = {"void (*)(GLsizei, GLuint *)"},
	glGetDetailTexFuncSGIS = {"void (*)(GL_LUA_ENUMS, GLfloat *)"},
	glColor3hNV = {"void (*)(GLhalfNV, GLhalfNV, GLhalfNV)"},
	glStencilFunc = {"void (*)(GL_LUA_ENUMS, GLint, GLuint)"},
	glMultTransposeMatrixfARB = {"void (*)(const GLfloat *)"},
	glPointParameteriv = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glDeleteFragmentShaderATI = {"void (*)(GLuint)"},
	glGetMultiTexLevelParameterfvEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLfloat *)"},
	glEvalCoord1d = {"void (*)(GLdouble)"},
	glGetFogFuncSGIS = {"void (*)(GLfloat *)"},
	glFogCoordfEXT = {"void (*)(GLfloat)"},
	glPresentFrameDualFillNV = {"void (*)(GLuint, GLuint64EXT, GLuint, GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLuint)"},
	glGetMapAttribParameterfvNV = {"void (*)(GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLfloat *)"},
	glTranslatex = {"void (*)(GLfixed, GLfixed, GLfixed)"},
	glShaderSource = {"void (*)(GLuint, GLsizei, const GLchar *const*, const GLint *)"},
	glVertexArrayVertexAttribDivisorEXT = {"void (*)(GLuint, GLuint, GLuint)"},
	glGetFirstPerfQueryIdINTEL = {"void (*)(GLuint *)"},
	glValidateProgram = {"void (*)(GLuint)"},
	glCreateRenderbuffers = {"void (*)(GLsizei, GLuint *)"},
	glNamedFramebufferTextureEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLint)"},
	glBlendEquation = {"void (*)(GL_LUA_ENUMS)"},
	glFogCoordhvNV = {"void (*)(const GLhalfNV *)"},
	glGetMultisamplefv = {"void (*)(GL_LUA_ENUMS, GLuint, GLfloat *)"},
	glVertexAttrib4usv = {"void (*)(GLuint, const GLushort *)"},
	glDrawMeshArraysSUN = {"void (*)(GL_LUA_ENUMS, GLint, GLsizei, GLsizei)"},
	glGetString = {"const GLubyte *(*)(GL_LUA_ENUMS)"},
	glMinSampleShadingOES = {"void (*)(GLfloat)"},
	glReplacementCodeuiSUN = {"void (*)(GLuint)"},
	glNormal3dv = {"void (*)(const GLdouble *)"},
	glVertexAttribParameteriAMD = {"void (*)(GLuint, GL_LUA_ENUMS, GLint)"},
	glBlendEquationSeparateOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glGetInternalformati64v = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLint64 *)"},
	glUniform2ui64NV = {"void (*)(GLint, GLuint64EXT, GLuint64EXT)"},
	glAttachObjectARB = {"void (*)(GLhandleARB, GLhandleARB)"},
	glGetTextureParameterIiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glRenderbufferStorageMultisampleAPPLE = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glGetMapParameterivNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glVertexAttribL1i64NV = {"void (*)(GLuint, GLint64EXT)"},
	glFogCoordd = {"void (*)(GLdouble)"},
	glTexCoordP4ui = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glGetTextureParameteriv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glGetQueryObjectui64v = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint64 *)"},
	glSamplerParameterIiv = {"void (*)(GLuint, GL_LUA_ENUMS, const GLint *)"},
	glTexCoordP3ui = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glVertex4iv = {"void (*)(const GLint *)"},
	glGetVideoCaptureStreamdvNV = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLdouble *)"},
	glTexCoord2dv = {"void (*)(const GLdouble *)"},
	glMultiDrawElementsBaseVertexOES = {"void (*)(GL_LUA_ENUMS, const GLsizei *, GL_LUA_ENUMS, const void *const*, GLsizei, const GLint *)"},
	glUnmapBuffer = {"GLboolean (*)(GL_LUA_ENUMS)"},
	glColor4dv = {"void (*)(const GLdouble *)"},
	glDeleteFramebuffers = {"void (*)(GLsizei, const GLuint *)"},
	glProgramUniformHandleui64ARB = {"void (*)(GLuint, GLint, GLuint64)"},
	glUniform4uiv = {"void (*)(GLint, GLsizei, const GLuint *)"},
	glMultiTexBufferEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glGetPerfMonitorGroupsAMD = {"void (*)(GLint *, GLsizei, GLuint *)"},
	glTexImage3DMultisampleCoverageNV = {"void (*)(GL_LUA_ENUMS, GLsizei, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean)"},
	glBeginPerfMonitorAMD = {"void (*)(GLuint)"},
	glLoadTransposeMatrixfARB = {"void (*)(const GLfloat *)"},
	glGenerateMipmapEXT = {"void (*)(GL_LUA_ENUMS)"},
	glPushGroupMarkerEXT = {"void (*)(GLsizei, const GLchar *)"},
	glDrawElementsInstancedBaseVertexEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, const void *, GLsizei, GLint)"},
	glUniformMatrix4fv = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glVertexArrayAttribIFormat = {"void (*)(GLuint, GLuint, GLint, GL_LUA_ENUMS, GLuint)"},
	glBindFragDataLocationEXT = {"void (*)(GLuint, GLuint, const GLchar *)"},
	glApplyTextureEXT = {"void (*)(GL_LUA_ENUMS)"},
	glMultiTexCoordP1ui = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glBindTextureUnitParameterEXT = {"GLuint (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glUnmapObjectBufferATI = {"void (*)(GLuint)"},
	glColor3f = {"void (*)(GLfloat, GLfloat, GLfloat)"},
	glGetPathColorGenivNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glMatrixMultTransposedEXT = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glMultiModeDrawArraysIBM = {"void (*)(const GLenum *, const GLint *, const GLsizei *, GLsizei, GLint)"},
	glBindParameterEXT = {"GLuint (*)(GL_LUA_ENUMS)"},
	glFinalCombinerInputNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glGetVertexAttribLi64vNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLint64EXT *)"},
	glValidateProgramPipeline = {"void (*)(GLuint)"},
	glTexCoord1iv = {"void (*)(const GLint *)"},
	glLightModelf = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glVertexArrayElementBuffer = {"void (*)(GLuint, GLuint)"},
	glVertexStream1sATI = {"void (*)(GL_LUA_ENUMS, GLshort)"},
	glGetPathMetricsNV = {"void (*)(GLbitfield, GLsizei, GL_LUA_ENUMS, const void *, GLuint, GLsizei, GLfloat *)"},
	glProgramUniformMatrix2x3dv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glSecondaryColor3fEXT = {"void (*)(GLfloat, GLfloat, GLfloat)"},
	glUniformMatrix3x2fv = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glTexCoord1xOES = {"void (*)(GLfixed)"},
	glUniform1i64vNV = {"void (*)(GLint, GLsizei, const GLint64EXT *)"},
	glSampleCoveragexOES = {"void (*)(GLclampx, GLboolean)"},
	glGenOcclusionQueriesNV = {"void (*)(GLsizei, GLuint *)"},
	glGetCoverageModulationTableNV = {"void (*)(GLsizei, GLfloat *)"},
	glMultiTexCoord2hvNV = {"void (*)(GL_LUA_ENUMS, const GLhalfNV *)"},
	glVertexAttribL3i64vNV = {"void (*)(GLuint, const GLint64EXT *)"},
	glDeleteBuffersARB = {"void (*)(GLsizei, const GLuint *)"},
	glBitmap = {"void (*)(GLsizei, GLsizei, GLfloat, GLfloat, GLfloat, GLfloat, const GLubyte *)"},
	glCopyPathNV = {"void (*)(GLuint, GLuint)"},
	glCoverageModulationNV = {"void (*)(GL_LUA_ENUMS)"},
	glMultiTexCoord3s = {"void (*)(GL_LUA_ENUMS, GLshort, GLshort, GLshort)"},
	glGetPathLengthNV = {"GLfloat (*)(GLuint, GLsizei, GLsizei)"},
	glColorTableParameteriv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glWriteMaskEXT = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glWindowPos4svMESA = {"void (*)(const GLshort *)"},
	glWindowPos4sMESA = {"void (*)(GLshort, GLshort, GLshort, GLshort)"},
	glWindowPos4ivMESA = {"void (*)(const GLint *)"},
	glWindowPos4iMESA = {"void (*)(GLint, GLint, GLint, GLint)"},
	glWindowPos4fvMESA = {"void (*)(const GLfloat *)"},
	glWindowPos4fMESA = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat)"},
	glDisable = {"void (*)(GL_LUA_ENUMS)"},
	glWindowPos4dvMESA = {"void (*)(const GLdouble *)"},
	glWindowPos4dMESA = {"void (*)(GLdouble, GLdouble, GLdouble, GLdouble)"},
	glGetCompressedTextureImageEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, void *)"},
	glWindowPos3svMESA = {"void (*)(const GLshort *)"},
	glBlendFunciARB = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glWindowPos3svARB = {"void (*)(const GLshort *)"},
	glProgramBufferParametersfvNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLsizei, const GLfloat *)"},
	glPointParameterfEXT = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glWindowPos3sMESA = {"void (*)(GLshort, GLshort, GLshort)"},
	glWindowPos3sARB = {"void (*)(GLshort, GLshort, GLshort)"},
	glProvokingVertex = {"void (*)(GL_LUA_ENUMS)"},
	glWindowPos3s = {"void (*)(GLshort, GLshort, GLshort)"},
	glWindowPos3ivMESA = {"void (*)(const GLint *)"},
	glCompressedMultiTexSubImage2DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLint, GLsizei, GLsizei, GL_LUA_ENUMS, GLsizei, const void *)"},
	glDeleteVertexShaderEXT = {"void (*)(GLuint)"},
	glTexGenfvOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glPollInstrumentsSGIX = {"GLint (*)(GLint *)"},
	glGetGraphicsResetStatusEXT = {"GLenum (*)()"},
	glWindowPos3ivARB = {"void (*)(const GLint *)"},
	glNormal3x = {"void (*)(GLfixed, GLfixed, GLfixed)"},
	glWindowPos3iMESA = {"void (*)(GLint, GLint, GLint)"},
	glMultiDrawArraysIndirectAMD = {"void (*)(GL_LUA_ENUMS, const void *, GLsizei, GLsizei)"},
	glWindowPos3iARB = {"void (*)(GLint, GLint, GLint)"},
	glWindowPos3i = {"void (*)(GLint, GLint, GLint)"},
	glWindowPos3fvMESA = {"void (*)(const GLfloat *)"},
	glPointParameterf = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glWindowPos3fvARB = {"void (*)(const GLfloat *)"},
	glMakeNamedBufferResidentNV = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glWindowPos3fMESA = {"void (*)(GLfloat, GLfloat, GLfloat)"},
	glWindowPos3fARB = {"void (*)(GLfloat, GLfloat, GLfloat)"},
	glWindowPos3dvMESA = {"void (*)(const GLdouble *)"},
	glWindowPos3dvARB = {"void (*)(const GLdouble *)"},
	glEnableVertexAttribArrayARB = {"void (*)(GLuint)"},
	glFogCoorddv = {"void (*)(const GLdouble *)"},
	glWindowPos3dv = {"void (*)(const GLdouble *)"},
	glWindowPos3dMESA = {"void (*)(GLdouble, GLdouble, GLdouble)"},
	glWindowPos3dARB = {"void (*)(GLdouble, GLdouble, GLdouble)"},
	glWindowPos2svMESA = {"void (*)(const GLshort *)"},
	glWindowPos2svARB = {"void (*)(const GLshort *)"},
	glNamedStringARB = {"void (*)(GL_LUA_ENUMS, GLint, const GLchar *, GLint, const GLchar *)"},
	glWindowPos2sMESA = {"void (*)(GLshort, GLshort)"},
	glVertex2hvNV = {"void (*)(const GLhalfNV *)"},
	glUniform2iARB = {"void (*)(GLint, GLint, GLint)"},
	glVertexAttribFormatNV = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLboolean, GLsizei)"},
	glWindowPos2s = {"void (*)(GLshort, GLshort)"},
	glRasterPos3i = {"void (*)(GLint, GLint, GLint)"},
	glWindowPos2ivMESA = {"void (*)(const GLint *)"},
	glWindowPos2ivARB = {"void (*)(const GLint *)"},
	glTexCoord2i = {"void (*)(GLint, GLint)"},
	glTexParameterIiv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glWindowPos2iMESA = {"void (*)(GLint, GLint)"},
	glWindowPos2iARB = {"void (*)(GLint, GLint)"},
	glGetnPixelMapusvARB = {"void (*)(GL_LUA_ENUMS, GLsizei, GLushort *)"},
	glWindowPos2i = {"void (*)(GLint, GLint)"},
	glPointSize = {"void (*)(GLfloat)"},
	glWindowPos2fvMESA = {"void (*)(const GLfloat *)"},
	glVertex3i = {"void (*)(GLint, GLint, GLint)"},
	glWindowPos2fvARB = {"void (*)(const GLfloat *)"},
	glGetQueryObjectiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glWindowPos2fv = {"void (*)(const GLfloat *)"},
	glGetInteger64vAPPLE = {"void (*)(GL_LUA_ENUMS, GLint64 *)"},
	glWindowPos2fMESA = {"void (*)(GLfloat, GLfloat)"},
	glIndexxvOES = {"void (*)(const GLfixed *)"},
	glGetTexEnviv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glNamedProgramLocalParameter4dvEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, const GLdouble *)"},
	glCreateSamplers = {"void (*)(GLsizei, GLuint *)"},
	glMultiModeDrawElementsIBM = {"void (*)(const GLenum *, const GLsizei *, GL_LUA_ENUMS, const void *const*, GLsizei, GLint)"},
	glNamedFramebufferParameteriEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint)"},
	glWindowPos2dv = {"void (*)(const GLdouble *)"},
	glGetBufferParameterivARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glClientWaitSyncAPPLE = {"GLenum (*)(GLsync, GLbitfield, GLuint64)"},
	glDeleteVertexArraysOES = {"void (*)(GLsizei, const GLuint *)"},
	glColor4fNormal3fVertex3fvSUN = {"void (*)(const GLfloat *, const GLfloat *, const GLfloat *)"},
	glCopyTexImage2D = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLint, GLint, GLsizei, GLsizei, GLint)"},
	glMultiTexCoord4fv = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glConvolutionParameterfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glActiveVaryingNV = {"void (*)(GLuint, const GLchar *)"},
	glNormal3b = {"void (*)(GLbyte, GLbyte, GLbyte)"},
	glWeightusvARB = {"void (*)(GLint, const GLushort *)"},
	glWeightuivARB = {"void (*)(GLint, const GLuint *)"},
	glGetTranslatedShaderSourceANGLE = {"void (*)(GLuint, GLsizei, GLsizei *, GLchar *)"},
	glReplacementCodeusvSUN = {"void (*)(const GLushort *)"},
	glWeightsvARB = {"void (*)(GLint, const GLshort *)"},
	glEndTransformFeedbackEXT = {"void (*)()"},
	glGetVertexAttribLui64vARB = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint64EXT *)"},
	glEnableVertexAttribArray = {"void (*)(GLuint)"},
	glWeightivARB = {"void (*)(GLint, const GLint *)"},
	glWeightfvARB = {"void (*)(GLint, const GLfloat *)"},
	glTexCoord4fVertex4fvSUN = {"void (*)(const GLfloat *, const GLfloat *)"},
	glWeightdvARB = {"void (*)(GLint, const GLdouble *)"},
	glGetAttachedShaders = {"void (*)(GLuint, GLsizei, GLsizei *, GLuint *)"},
	glColor4ubv = {"void (*)(const GLubyte *)"},
	glCopyConvolutionFilter2D = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLsizei, GLsizei)"},
	glMultiTexCoord3fARB = {"void (*)(GL_LUA_ENUMS, GLfloat, GLfloat, GLfloat)"},
	glRasterPos3sv = {"void (*)(const GLshort *)"},
	glBinormal3iEXT = {"void (*)(GLint, GLint, GLint)"},
	glSecondaryColor3hNV = {"void (*)(GLhalfNV, GLhalfNV, GLhalfNV)"},
	glWeightPointerOES = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glNormalStream3sATI = {"void (*)(GL_LUA_ENUMS, GLshort, GLshort, GLshort)"},
	glGetLightxOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed *)"},
	glMultiTexCoordP2uiv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLuint *)"},
	glWeightPointerARB = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glWaitSyncAPPLE = {"void (*)(GLsync, GLbitfield, GLuint64)"},
	glIsVertexArray = {"GLboolean (*)(GLuint)"},
	glViewportIndexedfvNV = {"void (*)(GLuint, const GLfloat *)"},
	glViewportIndexedfv = {"void (*)(GLuint, const GLfloat *)"},
	glViewportIndexedfNV = {"void (*)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glTexCoord4iv = {"void (*)(const GLint *)"},
	glViewportArrayvNV = {"void (*)(GLuint, GLsizei, const GLfloat *)"},
	glVertexAttrib4uivARB = {"void (*)(GLuint, const GLuint *)"},
	glEdgeFlagPointerEXT = {"void (*)(GLsizei, GLsizei, const GLboolean *)"},
	glColorTable = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glDeleteVertexArraysAPPLE = {"void (*)(GLsizei, const GLuint *)"},
	glMapParameterivNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glEnableClientStateiEXT = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glGetSamplerParameterfv = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat *)"},
	glSamplePatternEXT = {"void (*)(GL_LUA_ENUMS)"},
	glVideoCaptureNV = {"GLenum (*)(GLuint, GLuint *, GLuint64EXT *)"},
	glDepthRangeIndexed = {"void (*)(GLuint, GLdouble, GLdouble)"},
	glVertexWeighthvNV = {"void (*)(const GLhalfNV *)"},
	glVertexWeighthNV = {"void (*)(GLhalfNV)"},
	glColor3s = {"void (*)(GLshort, GLshort, GLshort)"},
	glVertexWeightfEXT = {"void (*)(GLfloat)"},
	glVertexWeightPointerEXT = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glVertexStream4svATI = {"void (*)(GL_LUA_ENUMS, const GLshort *)"},
	glVertexStream4sATI = {"void (*)(GL_LUA_ENUMS, GLshort, GLshort, GLshort, GLshort)"},
	glVertexStream4ivATI = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glVertexStream4iATI = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint)"},
	glMatrixMult3x3fNV = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glVertexStream4fvATI = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glVertexStream4fATI = {"void (*)(GL_LUA_ENUMS, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glGetnUniformdv = {"void (*)(GLuint, GLint, GLsizei, GLdouble *)"},
	glVertexStream4dvATI = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glBlendEquationi = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glVertexStream4dATI = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glMultiTexCoord1fARB = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glVertexStream3svATI = {"void (*)(GL_LUA_ENUMS, const GLshort *)"},
	glVertexStream3sATI = {"void (*)(GL_LUA_ENUMS, GLshort, GLshort, GLshort)"},
	glVertexStream3ivATI = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glVertexStream3iATI = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint)"},
	glCreateShaderProgramEXT = {"GLuint (*)(GL_LUA_ENUMS, const GLchar *)"},
	glFogCoordPointerListIBM = {"void (*)(GL_LUA_ENUMS, GLint, const void **, GLint)"},
	glMapBufferARB = {"void *(*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glTextureBufferEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glGetNamedFramebufferAttachmentParameteriv = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glVertexBlendEnvfATI = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glVertexStream3fvATI = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glVertexStream3fATI = {"void (*)(GL_LUA_ENUMS, GLfloat, GLfloat, GLfloat)"},
	glVertexStream3dvATI = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glBlendEquationSeparateiOES = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glVertexStream3dATI = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble, GLdouble)"},
	glFogCoordPointerEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, const void *)"},
	glVertexStream2svATI = {"void (*)(GL_LUA_ENUMS, const GLshort *)"},
	glPixelStorex = {"void (*)(GL_LUA_ENUMS, GLfixed)"},
	glMaterialf = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat)"},
	glVertexStream2sATI = {"void (*)(GL_LUA_ENUMS, GLshort, GLshort)"},
	glVertexStream2ivATI = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glVertexStream2iATI = {"void (*)(GL_LUA_ENUMS, GLint, GLint)"},
	glBindAttribLocationARB = {"void (*)(GLhandleARB, GLuint, const GLcharARB *)"},
	glVertexStream2fvATI = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glVertexStream2fATI = {"void (*)(GL_LUA_ENUMS, GLfloat, GLfloat)"},
	glGetClipPlanef = {"void (*)(GL_LUA_ENUMS, GLfloat *)"},
	glEnablei = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glDeletePerfMonitorsAMD = {"void (*)(GLsizei, GLuint *)"},
	glExtIsProgramBinaryQCOM = {"GLboolean (*)(GLuint)"},
	glVertexStream2dvATI = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glVertexStream2dATI = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble)"},
	glVertexStream1svATI = {"void (*)(GL_LUA_ENUMS, const GLshort *)"},
	glVertexStream1ivATI = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glIsOcclusionQueryNV = {"GLboolean (*)(GLuint)"},
	glUniform4ui64vNV = {"void (*)(GLint, GLsizei, const GLuint64EXT *)"},
	glSecondaryColorPointerEXT = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glVertexStream1fvATI = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glColor4xOES = {"void (*)(GLfixed, GLfixed, GLfixed, GLfixed)"},
	glFrontFace = {"void (*)(GL_LUA_ENUMS)"},
	glVertexStream1fATI = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glTexEnvx = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed)"},
	glMapVertexAttrib1fAPPLE = {"void (*)(GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, const GLfloat *)"},
	glVertexPointerEXT = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei, GLsizei, const void *)"},
	glProgramEnvParameters4fvEXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLfloat *)"},
	glClearColor = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat)"},
	glPointParameterxvOES = {"void (*)(GL_LUA_ENUMS, const GLfixed *)"},
	glBinormal3fvEXT = {"void (*)(const GLfloat *)"},
	glVertexAttribs3svNV = {"void (*)(GLuint, GLsizei, const GLshort *)"},
	glGetHistogramParameterfvEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glProgramLocalParameterI4uivNV = {"void (*)(GL_LUA_ENUMS, GLuint, const GLuint *)"},
	glGetVideoi64vNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLint64EXT *)"},
	glVertexP3ui = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glVertexP2uiv = {"void (*)(GL_LUA_ENUMS, const GLuint *)"},
	glVertexAttrib3sv = {"void (*)(GLuint, const GLshort *)"},
	glTexGend = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLdouble)"},
	glBindBuffer = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glVertexP2ui = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glGetQueryiv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glVertexBlendEnviATI = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glBindImageTexture = {"void (*)(GLuint, GLuint, GLint, GLboolean, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glRenderMode = {"GLint (*)(GL_LUA_ENUMS)"},
	glVertexAttribs4svNV = {"void (*)(GLuint, GLsizei, const GLshort *)"},
	glVertexAttribs4hvNV = {"void (*)(GLuint, GLsizei, const GLhalfNV *)"},
	glVertexAttribs4fvNV = {"void (*)(GLuint, GLsizei, const GLfloat *)"},
	glClearAccum = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat)"},
	glColorSubTableEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glVertexAttribs4dvNV = {"void (*)(GLuint, GLsizei, const GLdouble *)"},
	glVertexP4uiv = {"void (*)(GL_LUA_ENUMS, const GLuint *)"},
	glVertexAttribs3hvNV = {"void (*)(GLuint, GLsizei, const GLhalfNV *)"},
	glVertexAttribs3fvNV = {"void (*)(GLuint, GLsizei, const GLfloat *)"},
	glCopyColorTable = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLsizei)"},
	glVertexAttribs3dvNV = {"void (*)(GLuint, GLsizei, const GLdouble *)"},
	glVertexAttribs2svNV = {"void (*)(GLuint, GLsizei, const GLshort *)"},
	glVertexAttribs2hvNV = {"void (*)(GLuint, GLsizei, const GLhalfNV *)"},
	glDrawTexxOES = {"void (*)(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed)"},
	glGetDriverControlsQCOM = {"void (*)(GLint *, GLsizei, GLuint *)"},
	glVertexAttribs2fvNV = {"void (*)(GLuint, GLsizei, const GLfloat *)"},
	glDrawArraysEXT = {"void (*)(GL_LUA_ENUMS, GLint, GLsizei)"},
	glVertexAttribs2dvNV = {"void (*)(GLuint, GLsizei, const GLdouble *)"},
	glUniform2fvARB = {"void (*)(GLint, GLsizei, const GLfloat *)"},
	glVertexAttribs1fvNV = {"void (*)(GLuint, GLsizei, const GLfloat *)"},
	glVertexAttribs1dvNV = {"void (*)(GLuint, GLsizei, const GLdouble *)"},
	glVertexAttribPointerARB = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLboolean, GLsizei, const void *)"},
	glMultiTexParameterIivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glVertexAttribPointer = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLboolean, GLsizei, const void *)"},
	glBeginQueryIndexed = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint)"},
	glTangent3dEXT = {"void (*)(GLdouble, GLdouble, GLdouble)"},
	glMatrixMultfEXT = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glVertexAttrib3f = {"void (*)(GLuint, GLfloat, GLfloat, GLfloat)"},
	glGetnConvolutionFilter = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *)"},
	glVertexAttribP4uiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLboolean, const GLuint *)"},
	glVertexAttribP3uiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLboolean, const GLuint *)"},
	glTessellationFactorAMD = {"void (*)(GLfloat)"},
	glVertexAttribP3ui = {"void (*)(GLuint, GL_LUA_ENUMS, GLboolean, GLuint)"},
	glGetBufferSubDataARB = {"void (*)(GL_LUA_ENUMS, GLintptrARB, GLsizeiptrARB, void *)"},
	glVertexAttribP2uiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLboolean, const GLuint *)"},
	glVertexAttribP2ui = {"void (*)(GLuint, GL_LUA_ENUMS, GLboolean, GLuint)"},
	glVertexAttribP1uiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLboolean, const GLuint *)"},
	glVertexAttribLPointerEXT = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glVertexAttribLPointer = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glVertexAttribLFormatNV = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLsizei)"},
	glVertexAttribLFormat = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLuint)"},
	glPathMemoryGlyphIndexArrayNV = {"GLenum (*)(GLuint, GL_LUA_ENUMS, GLsizeiptr, const void *, GLsizei, GLuint, GLsizei, GLuint, GLfloat)"},
	glVertexAttribL4ui64vNV = {"void (*)(GLuint, const GLuint64EXT *)"},
	glVertexAttribL4ui64NV = {"void (*)(GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT)"},
	glVertexAttribL4i64vNV = {"void (*)(GLuint, const GLint64EXT *)"},
	glDepthRangex = {"void (*)(GLfixed, GLfixed)"},
	glBindVertexBuffer = {"void (*)(GLuint, GLuint, GLintptr, GLsizei)"},
	glReplacementCodeuiColor3fVertex3fvSUN = {"void (*)(const GLuint *, const GLfloat *, const GLfloat *)"},
	glVertexAttribL4i64NV = {"void (*)(GLuint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT)"},
	glVertexAttribL4dvEXT = {"void (*)(GLuint, const GLdouble *)"},
	glGetPerfQueryInfoINTEL = {"void (*)(GLuint, GLuint, GLchar *, GLuint *, GLuint *, GLuint *, GLuint *)"},
	glCopyImageSubDataEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLuint, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei)"},
	glVertexAttribL4dEXT = {"void (*)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glVertexAttribI1uivEXT = {"void (*)(GLuint, const GLuint *)"},
	glVertexAttribL3ui64vNV = {"void (*)(GLuint, const GLuint64EXT *)"},
	glVertexAttribL3ui64NV = {"void (*)(GLuint, GLuint64EXT, GLuint64EXT, GLuint64EXT)"},
	glCoverageModulationTableNV = {"void (*)(GLsizei, const GLfloat *)"},
	glVertex2d = {"void (*)(GLdouble, GLdouble)"},
	glVertexAttribL3i64NV = {"void (*)(GLuint, GLint64EXT, GLint64EXT, GLint64EXT)"},
	glVertexAttribL3dvEXT = {"void (*)(GLuint, const GLdouble *)"},
	glMultiDrawElementsIndirectEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const void *, GLsizei, GLsizei)"},
	glPixelTexGenSGIX = {"void (*)(GL_LUA_ENUMS)"},
	glVertexAttribL3dEXT = {"void (*)(GLuint, GLdouble, GLdouble, GLdouble)"},
	glGetVertexAttribPointerv = {"void (*)(GLuint, GL_LUA_ENUMS, void **)"},
	glVertexAttribL3d = {"void (*)(GLuint, GLdouble, GLdouble, GLdouble)"},
	glGetLightfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glVertexAttribL2ui64vNV = {"void (*)(GLuint, const GLuint64EXT *)"},
	glVertexAttribL2ui64NV = {"void (*)(GLuint, GLuint64EXT, GLuint64EXT)"},
	glVertexAttribL2i64vNV = {"void (*)(GLuint, const GLint64EXT *)"},
	glVertexAttribL2i64NV = {"void (*)(GLuint, GLint64EXT, GLint64EXT)"},
	glVertexAttribL2dvEXT = {"void (*)(GLuint, const GLdouble *)"},
	glVertexAttribL2dv = {"void (*)(GLuint, const GLdouble *)"},
	glVertexAttribL2dEXT = {"void (*)(GLuint, GLdouble, GLdouble)"},
	glDrawBuffersARB = {"void (*)(GLsizei, const GLenum *)"},
	glVertexAttribL1ui64vNV = {"void (*)(GLuint, const GLuint64EXT *)"},
	glBufferSubDataARB = {"void (*)(GL_LUA_ENUMS, GLintptrARB, GLsizeiptrARB, const void *)"},
	glVertexAttribL1dvEXT = {"void (*)(GLuint, const GLdouble *)"},
	glGetnPixelMapuiv = {"void (*)(GL_LUA_ENUMS, GLsizei, GLuint *)"},
	glUniform3f = {"void (*)(GLint, GLfloat, GLfloat, GLfloat)"},
	glLoadMatrixd = {"void (*)(const GLdouble *)"},
	glCompressedTexSubImage2DARB = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLsizei, GLsizei, GL_LUA_ENUMS, GLsizei, const void *)"},
	glVertexAttribDivisorEXT = {"void (*)(GLuint, GLuint)"},
	glGenAsyncMarkersSGIX = {"GLuint (*)(GLsizei)"},
	glVertexAttribL1d = {"void (*)(GLuint, GLdouble)"},
	glVertexAttribIPointerEXT = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glVertexAttribIPointer = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glPathCoverDepthFuncNV = {"void (*)(GL_LUA_ENUMS)"},
	glVertexAttribIFormat = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLuint)"},
	glGetNamedBufferSubDataEXT = {"void (*)(GLuint, GLintptr, GLsizeiptr, void *)"},
	glReadnPixelsARB = {"void (*)(GLint, GLint, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *)"},
	glVertexAttribI4usvEXT = {"void (*)(GLuint, const GLushort *)"},
	glVertexAttribI4usv = {"void (*)(GLuint, const GLushort *)"},
	glUpdateObjectBufferATI = {"void (*)(GLuint, GLuint, GLsizei, const void *, GL_LUA_ENUMS)"},
	glVertexAttribI4uivEXT = {"void (*)(GLuint, const GLuint *)"},
	glDebugMessageControlARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, const GLuint *, GLboolean)"},
	glRectxOES = {"void (*)(GLfixed, GLfixed, GLfixed, GLfixed)"},
	glGetCombinerOutputParameterivNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glVertexAttribI4uiv = {"void (*)(GLuint, const GLuint *)"},
	glVertexAttribI4uiEXT = {"void (*)(GLuint, GLuint, GLuint, GLuint, GLuint)"},
	glProgramNamedParameter4dvNV = {"void (*)(GLuint, GLsizei, const GLubyte *, const GLdouble *)"},
	glVertexAttribI2i = {"void (*)(GLuint, GLint, GLint)"},
	glVertexAttribI4ui = {"void (*)(GLuint, GLuint, GLuint, GLuint, GLuint)"},
	glTexParameteriv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glVertexAttribI4ubvEXT = {"void (*)(GLuint, const GLubyte *)"},
	glVertexAttribI4ubv = {"void (*)(GLuint, const GLubyte *)"},
	glVertexAttribI4svEXT = {"void (*)(GLuint, const GLshort *)"},
	glSampleCoverage = {"void (*)(GLfloat, GLboolean)"},
	glVertexAttribI4sv = {"void (*)(GLuint, const GLshort *)"},
	glVertexAttribI4ivEXT = {"void (*)(GLuint, const GLint *)"},
	glVertexAttribI4iv = {"void (*)(GLuint, const GLint *)"},
	glLockArraysEXT = {"void (*)(GLint, GLsizei)"},
	glVertexAttribI4iEXT = {"void (*)(GLuint, GLint, GLint, GLint, GLint)"},
	glMultiTexCoord1xOES = {"void (*)(GL_LUA_ENUMS, GLfixed)"},
	glVertexAttribI4bvEXT = {"void (*)(GLuint, const GLbyte *)"},
	glVertexAttribI4bv = {"void (*)(GLuint, const GLbyte *)"},
	glVertexAttribI3uivEXT = {"void (*)(GLuint, const GLuint *)"},
	glMatrixMultTranspose3x3fNV = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glVertexAttribI3uiv = {"void (*)(GLuint, const GLuint *)"},
	glGetObjectParameterivARB = {"void (*)(GLhandleARB, GL_LUA_ENUMS, GLint *)"},
	glMultiTexCoord2iv = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glProgramUniform1dv = {"void (*)(GLuint, GLint, GLsizei, const GLdouble *)"},
	glVertexAttribI3uiEXT = {"void (*)(GLuint, GLuint, GLuint, GLuint)"},
	glSamplerParameterfv = {"void (*)(GLuint, GL_LUA_ENUMS, const GLfloat *)"},
	glColorMask = {"void (*)(GLboolean, GLboolean, GLboolean, GLboolean)"},
	glVertexAttribI3ui = {"void (*)(GLuint, GLuint, GLuint, GLuint)"},
	glGetProgramNamedParameterfvNV = {"void (*)(GLuint, GLsizei, const GLubyte *, GLfloat *)"},
	glVertexAttribI3ivEXT = {"void (*)(GLuint, const GLint *)"},
	glVertexAttribI3iv = {"void (*)(GLuint, const GLint *)"},
	glGetTexFilterFuncSGIS = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glVertexAttribI3iEXT = {"void (*)(GLuint, GLint, GLint, GLint)"},
	glVertexAttribI2uivEXT = {"void (*)(GLuint, const GLuint *)"},
	glVertexAttribI2uiv = {"void (*)(GLuint, const GLuint *)"},
	glVertexAttribI2uiEXT = {"void (*)(GLuint, GLuint, GLuint)"},
	glRasterPos4iv = {"void (*)(const GLint *)"},
	glVertexAttribI2ui = {"void (*)(GLuint, GLuint, GLuint)"},
	glGlobalAlphaFactorfSUN = {"void (*)(GLfloat)"},
	glVertexAttribI2ivEXT = {"void (*)(GLuint, const GLint *)"},
	glCallLists = {"void (*)(GLsizei, GL_LUA_ENUMS, const void *)"},
	glVertexAttribI2iv = {"void (*)(GLuint, const GLint *)"},
	glVertexAttribI2iEXT = {"void (*)(GLuint, GLint, GLint)"},
	glTexBuffer = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glMultiTexCoord3iARB = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint)"},
	glVertexAttribI1iv = {"void (*)(GLuint, const GLint *)"},
	glVertexAttribI1iEXT = {"void (*)(GLuint, GLint)"},
	glVertexAttribI1i = {"void (*)(GLuint, GLint)"},
	glGetIntegerui64vNV = {"void (*)(GL_LUA_ENUMS, GLuint64EXT *)"},
	glOrthoxOES = {"void (*)(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, GLfixed)"},
	glEnableDriverControlQCOM = {"void (*)(GLuint)"},
	glMatrixOrthoEXT = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glVertexAttribDivisorNV = {"void (*)(GLuint, GLuint)"},
	glVertexAttribL1dEXT = {"void (*)(GLuint, GLdouble)"},
	glVertexAttribDivisorARB = {"void (*)(GLuint, GLuint)"},
	glDeleteProgram = {"void (*)(GLuint)"},
	glVertexAttribDivisor = {"void (*)(GLuint, GLuint)"},
	glUniform3ui64NV = {"void (*)(GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT)"},
	glFramebufferSampleLocationsfvNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLfloat *)"},
	glProgramUniformMatrix4dv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glVertexAttrib4usvARB = {"void (*)(GLuint, const GLushort *)"},
	glGetnMinmax = {"void (*)(GL_LUA_ENUMS, GLboolean, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *)"},
	glUseProgramStagesEXT = {"void (*)(GLuint, GLbitfield, GLuint)"},
	glViewportArrayv = {"void (*)(GLuint, GLsizei, const GLfloat *)"},
	glColorFormatNV = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei)"},
	glMultMatrixxOES = {"void (*)(const GLfixed *)"},
	glDrawBuffersNV = {"void (*)(GLsizei, const GLenum *)"},
	glVertexAttrib4uiv = {"void (*)(GLuint, const GLuint *)"},
	glVertexAttrib4ubvARB = {"void (*)(GLuint, const GLubyte *)"},
	glCreateProgramObjectARB = {"GLhandleARB (*)()"},
	glVertexAttrib4ubNV = {"void (*)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte)"},
	glVertexAttrib4svNV = {"void (*)(GLuint, const GLshort *)"},
	glEvalCoord1f = {"void (*)(GLfloat)"},
	glDisableiNV = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glVertexAttrib4svARB = {"void (*)(GLuint, const GLshort *)"},
	glNamedFramebufferTexture1DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint)"},
	glVertexAttrib4sv = {"void (*)(GLuint, const GLshort *)"},
	glActiveStencilFaceEXT = {"void (*)(GL_LUA_ENUMS)"},
	glMultiTexCoord1iARB = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glVertexAttrib4sARB = {"void (*)(GLuint, GLshort, GLshort, GLshort, GLshort)"},
	glFramebufferTexture = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint)"},
	glGetTexGeniv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glMultTransposeMatrixdARB = {"void (*)(const GLdouble *)"},
	glVertexAttrib4ivARB = {"void (*)(GLuint, const GLint *)"},
	glVertexAttrib3fv = {"void (*)(GLuint, const GLfloat *)"},
	glGetBufferPointervARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, void **)"},
	glMultiDrawElementsEXT = {"void (*)(GL_LUA_ENUMS, const GLsizei *, GL_LUA_ENUMS, const void *const*, GLsizei)"},
	glMultiTexCoord2ivARB = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glVertexAttrib4hvNV = {"void (*)(GLuint, const GLhalfNV *)"},
	glCompressedTexSubImage3DARB = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GL_LUA_ENUMS, GLsizei, const void *)"},
	glVertexAttrib4fvNV = {"void (*)(GLuint, const GLfloat *)"},
	glBindTexture = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glVertexAttrib4fvARB = {"void (*)(GLuint, const GLfloat *)"},
	glVertexAttrib4fv = {"void (*)(GLuint, const GLfloat *)"},
	glGetPixelMapuiv = {"void (*)(GL_LUA_ENUMS, GLuint *)"},
	glTexCoord2d = {"void (*)(GLdouble, GLdouble)"},
	glTangent3dvEXT = {"void (*)(const GLdouble *)"},
	glVertexAttrib4fARB = {"void (*)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glVertexAttrib4f = {"void (*)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glGetUniformfvARB = {"void (*)(GLhandleARB, GLint, GLfloat *)"},
	glVertexAttrib4dvNV = {"void (*)(GLuint, const GLdouble *)"},
	glVertexAttrib4dvARB = {"void (*)(GLuint, const GLdouble *)"},
	glCopyConvolutionFilter2DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLsizei, GLsizei)"},
	glGetVertexAttribPointervNV = {"void (*)(GLuint, GL_LUA_ENUMS, void **)"},
	glVertexAttrib4dNV = {"void (*)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glProgramEnvParametersI4uivNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLuint *)"},
	glInvalidateTexSubImage = {"void (*)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei)"},
	glMultiTexCoord4iv = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glVertexAttrib4dARB = {"void (*)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glVertexAttrib4d = {"void (*)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glVertexAttrib4bvARB = {"void (*)(GLuint, const GLbyte *)"},
	glVertexAttrib4NusvARB = {"void (*)(GLuint, const GLushort *)"},
	glSetFragmentShaderConstantATI = {"void (*)(GLuint, const GLfloat *)"},
	glVertexAttrib4Nusv = {"void (*)(GLuint, const GLushort *)"},
	glVertexAttrib4NuivARB = {"void (*)(GLuint, const GLuint *)"},
	glGetNamedBufferParameteriv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glInvalidateBufferData = {"void (*)(GLuint)"},
	glVertexAttrib4Nuiv = {"void (*)(GLuint, const GLuint *)"},
	glLineWidthx = {"void (*)(GLfixed)"},
	glTexCoord1dv = {"void (*)(const GLdouble *)"},
	glVertexAttrib4Nubv = {"void (*)(GLuint, const GLubyte *)"},
	glGetHistogramEXT = {"void (*)(GL_LUA_ENUMS, GLboolean, GL_LUA_ENUMS, GL_LUA_ENUMS, void *)"},
	glEvalPoint2 = {"void (*)(GLint, GLint)"},
	glGetColorTableParameterivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glGetActiveUniformBlockName = {"void (*)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *)"},
	glVertexAttrib4NsvARB = {"void (*)(GLuint, const GLshort *)"},
	glVDPAUSurfaceAccessNV = {"void (*)(GLvdpauSurfaceNV, GL_LUA_ENUMS)"},
	glGetnCompressedTexImageARB = {"void (*)(GL_LUA_ENUMS, GLint, GLsizei, void *)"},
	glTextureMaterialEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glVertexAttrib4NivARB = {"void (*)(GLuint, const GLint *)"},
	glCoverageMaskNV = {"void (*)(GLboolean)"},
	glVertexAttrib4Niv = {"void (*)(GLuint, const GLint *)"},
	glDrawRangeElementsBaseVertex = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLsizei, GL_LUA_ENUMS, const void *, GLint)"},
	glBlitFramebufferEXT = {"void (*)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GL_LUA_ENUMS)"},
	glVertexAttrib3svNV = {"void (*)(GLuint, const GLshort *)"},
	glVertexAttrib3svARB = {"void (*)(GLuint, const GLshort *)"},
	glVertexAttrib3sNV = {"void (*)(GLuint, GLshort, GLshort, GLshort)"},
	glMinSampleShading = {"void (*)(GLfloat)"},
	glDispatchCompute = {"void (*)(GLuint, GLuint, GLuint)"},
	glTangent3iEXT = {"void (*)(GLint, GLint, GLint)"},
	glVertexAttrib3sARB = {"void (*)(GLuint, GLshort, GLshort, GLshort)"},
	glVertexAttrib2sARB = {"void (*)(GLuint, GLshort, GLshort)"},
	glVertexAttrib3hvNV = {"void (*)(GLuint, const GLhalfNV *)"},
	glGetColorTable = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, void *)"},
	glPushAttrib = {"void (*)(GLbitfield)"},
	glTexEnvxvOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfixed *)"},
	glLoadProgramNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLubyte *)"},
	glVertexAttrib3hNV = {"void (*)(GLuint, GLhalfNV, GLhalfNV, GLhalfNV)"},
	glMakeTextureHandleResidentNV = {"void (*)(GLuint64)"},
	glVertexAttrib3fvNV = {"void (*)(GLuint, const GLfloat *)"},
	glTexBufferARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glMapVertexAttrib2dAPPLE = {"void (*)(GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *)"},
	glIsFramebufferEXT = {"GLboolean (*)(GLuint)"},
	glVertexAttrib3fvARB = {"void (*)(GLuint, const GLfloat *)"},
	glMemoryBarrier = {"void (*)(GLbitfield)"},
	glProgramUniform1dvEXT = {"void (*)(GLuint, GLint, GLsizei, const GLdouble *)"},
	glVertexAttrib3fARB = {"void (*)(GLuint, GLfloat, GLfloat, GLfloat)"},
	glVertexAttrib3dvNV = {"void (*)(GLuint, const GLdouble *)"},
	glUniform2i = {"void (*)(GLint, GLint, GLint)"},
	glBindTexGenParameterEXT = {"GLuint (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glVertexAttrib3dvARB = {"void (*)(GLuint, const GLdouble *)"},
	glCopyColorSubTable = {"void (*)(GL_LUA_ENUMS, GLsizei, GLint, GLint, GLsizei)"},
	glVertexAttrib3dARB = {"void (*)(GLuint, GLdouble, GLdouble, GLdouble)"},
	glNewList = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glVertexAttrib2svNV = {"void (*)(GLuint, const GLshort *)"},
	glGetColorTableParameterfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glTextureView = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLuint, GLuint, GLuint, GLuint)"},
	glGetTexParameterIivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glDebugMessageControl = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, const GLuint *, GLboolean)"},
	glVertexAttrib2svARB = {"void (*)(GLuint, const GLshort *)"},
	glVertexAttrib2sv = {"void (*)(GLuint, const GLshort *)"},
	glTexImage4DSGIS = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei, GLsizei, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glGetCombinerStageParameterfvNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glVertexAttrib2sNV = {"void (*)(GLuint, GLshort, GLshort)"},
	glReplacementCodeuiTexCoord2fVertex3fSUN = {"void (*)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glVertexAttrib3s = {"void (*)(GLuint, GLshort, GLshort, GLshort)"},
	glTexCoord2iv = {"void (*)(const GLint *)"},
	glFramebufferTexture2DMultisampleEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint, GLsizei)"},
	glVertexAttrib2hvNV = {"void (*)(GLuint, const GLhalfNV *)"},
	glGetQueryObjectuivARB = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint *)"},
	glVertexAttrib2hNV = {"void (*)(GLuint, GLhalfNV, GLhalfNV)"},
	glVertexAttrib2fvNV = {"void (*)(GLuint, const GLfloat *)"},
	glVertexAttrib2fvARB = {"void (*)(GLuint, const GLfloat *)"},
	glTextureSubImage1D = {"void (*)(GLuint, GLint, GLint, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glEnableVertexArrayEXT = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glVertexAttrib2fv = {"void (*)(GLuint, const GLfloat *)"},
	glVertexAttrib2fNV = {"void (*)(GLuint, GLfloat, GLfloat)"},
	glVertexAttrib2fARB = {"void (*)(GLuint, GLfloat, GLfloat)"},
	glVertexAttrib2f = {"void (*)(GLuint, GLfloat, GLfloat)"},
	glCopyTexSubImage3DEXT = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)"},
	glVertexAttrib2dvNV = {"void (*)(GLuint, const GLdouble *)"},
	glReadInstrumentsSGIX = {"void (*)(GLint)"},
	glVertexAttrib2dvARB = {"void (*)(GLuint, const GLdouble *)"},
	glVertexAttrib2dNV = {"void (*)(GLuint, GLdouble, GLdouble)"},
	glProgramParameters4dvNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLdouble *)"},
	glVertexAttrib2dARB = {"void (*)(GLuint, GLdouble, GLdouble)"},
	glGetTextureSamplerHandleNV = {"GLuint64 (*)(GLuint, GLuint)"},
	glVertex3s = {"void (*)(GLshort, GLshort, GLshort)"},
	glVertexAttrib2d = {"void (*)(GLuint, GLdouble, GLdouble)"},
	glVertexAttrib1svNV = {"void (*)(GLuint, const GLshort *)"},
	glStencilThenCoverStrokePathInstancedNV = {"void (*)(GLsizei, GL_LUA_ENUMS, const void *, GLuint, GLint, GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glProgramUniform1ui = {"void (*)(GLuint, GLint, GLuint)"},
	glAlphaFunc = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glBindAttribLocation = {"void (*)(GLuint, GLuint, const GLchar *)"},
	glBeginQueryEXT = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glVertexAttrib1svARB = {"void (*)(GLuint, const GLshort *)"},
	glGetNamedBufferParameterui64vNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint64EXT *)"},
	glCurrentPaletteMatrixARB = {"void (*)(GLint)"},
	glVertexAttrib1sv = {"void (*)(GLuint, const GLshort *)"},
	glTexImage3D = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glGetMinmaxParameterfvEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glBlendEquationEXT = {"void (*)(GL_LUA_ENUMS)"},
	glVertexAttrib1hvNV = {"void (*)(GLuint, const GLhalfNV *)"},
	glVertexAttrib1fvNV = {"void (*)(GLuint, const GLfloat *)"},
	glVertexAttrib1fvARB = {"void (*)(GLuint, const GLfloat *)"},
	glVertexAttrib1fv = {"void (*)(GLuint, const GLfloat *)"},
	glVertexAttrib1fNV = {"void (*)(GLuint, GLfloat)"},
	glVertexAttrib1fARB = {"void (*)(GLuint, GLfloat)"},
	glGetTransformFeedbacki_v = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLint *)"},
	glGetTexParameterIuivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint *)"},
	glTexCoord4hNV = {"void (*)(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV)"},
	glProgramUniform3fvEXT = {"void (*)(GLuint, GLint, GLsizei, const GLfloat *)"},
	glVertexArrayVertexOffsetEXT = {"void (*)(GLuint, GLuint, GLint, GL_LUA_ENUMS, GLsizei, GLintptr)"},
	glGetTexLevelParameterfv = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLfloat *)"},
	glRotatef = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat)"},
	glVertexArrayVertexBuffers = {"void (*)(GLuint, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *)"},
	glGetActiveAttrib = {"void (*)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *)"},
	glVertexArrayVertexBuffer = {"void (*)(GLuint, GLuint, GLuint, GLintptr, GLsizei)"},
	glGetUniformBufferSizeEXT = {"GLint (*)(GLuint, GLint)"},
	glVertexArrayVertexAttribOffsetEXT = {"void (*)(GLuint, GLuint, GLuint, GLint, GL_LUA_ENUMS, GLboolean, GLsizei, GLintptr)"},
	glDeleteAsyncMarkersSGIX = {"void (*)(GLuint, GLsizei)"},
	glVertexArrayVertexAttribLOffsetEXT = {"void (*)(GLuint, GLuint, GLuint, GLint, GL_LUA_ENUMS, GLsizei, GLintptr)"},
	glVertexArrayVertexAttribLFormatEXT = {"void (*)(GLuint, GLuint, GLint, GL_LUA_ENUMS, GLuint)"},
	glVertexArrayVertexAttribIOffsetEXT = {"void (*)(GLuint, GLuint, GLuint, GLint, GL_LUA_ENUMS, GLsizei, GLintptr)"},
	glVertexArrayVertexAttribFormatEXT = {"void (*)(GLuint, GLuint, GLint, GL_LUA_ENUMS, GLboolean, GLuint)"},
	glGetSubroutineIndex = {"GLuint (*)(GLuint, GL_LUA_ENUMS, const GLchar *)"},
	glTexCoord3hvNV = {"void (*)(const GLhalfNV *)"},
	glAlphaFuncQCOM = {"void (*)(GL_LUA_ENUMS, GLclampf)"},
	glVertexArrayRangeNV = {"void (*)(GLsizei, const void *)"},
	glRasterPos4xvOES = {"void (*)(const GLfixed *)"},
	glVertexArrayRangeAPPLE = {"void (*)(GLsizei, void *)"},
	glVertexArrayParameteriAPPLE = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glVertexArrayNormalOffsetEXT = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLsizei, GLintptr)"},
	glColor3xOES = {"void (*)(GLfixed, GLfixed, GLfixed)"},
	glGenRenderbuffers = {"void (*)(GLsizei, GLuint *)", true},
	glVertexArrayEdgeFlagOffsetEXT = {"void (*)(GLuint, GLuint, GLsizei, GLintptr)"},
	glVertexArrayColorOffsetEXT = {"void (*)(GLuint, GLuint, GLint, GL_LUA_ENUMS, GLsizei, GLintptr)"},
	glProgramParameter4dvNV = {"void (*)(GL_LUA_ENUMS, GLuint, const GLdouble *)"},
	glGetMultiTexGenfvEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glGetPathCommandsNV = {"void (*)(GLuint, GLubyte *)"},
	glRasterPos2i = {"void (*)(GLint, GLint)"},
	glRectsv = {"void (*)(const GLshort *, const GLshort *)"},
	glVertexArrayAttribLFormat = {"void (*)(GLuint, GLuint, GLint, GL_LUA_ENUMS, GLuint)"},
	glVertexArrayAttribFormat = {"void (*)(GLuint, GLuint, GLint, GL_LUA_ENUMS, GLboolean, GLuint)"},
	glDrawElementsInstancedBaseInstance = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, const void *, GLsizei, GLuint)"},
	glVertexArrayAttribBinding = {"void (*)(GLuint, GLuint, GLuint)"},
	glVertex4xvOES = {"void (*)(const GLfixed *)"},
	glVertex4xOES = {"void (*)(GLfixed, GLfixed, GLfixed)"},
	glVertex4s = {"void (*)(GLshort, GLshort, GLshort, GLshort)"},
	glVertex4i = {"void (*)(GLint, GLint, GLint, GLint)"},
	glMatrixLoad3x3fNV = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glVertex4hvNV = {"void (*)(const GLhalfNV *)"},
	glGetVertexAttribIuiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint *)"},
	glGetUniformLocationARB = {"GLint (*)(GLhandleARB, const GLcharARB *)"},
	glGetTexParameterxv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed *)"},
	glDeleteFramebuffersOES = {"void (*)(GLsizei, const GLuint *)"},
	glMultiTexCoord1fv = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glDebugMessageInsertAMD = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLsizei, const GLchar *)"},
	glMultiTexCoord4hvNV = {"void (*)(GL_LUA_ENUMS, const GLhalfNV *)"},
	glProgramLocalParameterI4iNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLint, GLint, GLint, GLint)"},
	glIsFramebuffer = {"GLboolean (*)(GLuint)"},
	glProgramUniform1fEXT = {"void (*)(GLuint, GLint, GLfloat)"},
	glVertex4bOES = {"void (*)(GLbyte, GLbyte, GLbyte, GLbyte)"},
	glMatrixRotatedEXT = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glSecondaryColor3ubvEXT = {"void (*)(const GLubyte *)"},
	glGetFramebufferParameterivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glIsImageHandleResidentNV = {"GLboolean (*)(GLuint64)"},
	glVertex3xvOES = {"void (*)(const GLfixed *)"},
	glVertex3xOES = {"void (*)(GLfixed, GLfixed)"},
	glVertex3hvNV = {"void (*)(const GLhalfNV *)"},
	glGlobalAlphaFactoriSUN = {"void (*)(GLint)"},
	glPolygonOffsetClampEXT = {"void (*)(GLfloat, GLfloat, GLfloat)"},
	glPolygonMode = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glVertex3dv = {"void (*)(const GLdouble *)"},
	glInvalidateNamedFramebufferSubData = {"void (*)(GLuint, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei)"},
	glVertex3bOES = {"void (*)(GLbyte, GLbyte, GLbyte)"},
	glColor3fVertex3fvSUN = {"void (*)(const GLfloat *, const GLfloat *)"},
	glVertex2xvOES = {"void (*)(const GLfixed *)"},
	glVertex2xOES = {"void (*)(GLfixed)"},
	glIsRenderbufferOES = {"GLboolean (*)(GLuint)"},
	glCombinerStageParameterfvNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glTexCoord4sv = {"void (*)(const GLshort *)"},
	glOrtho = {"void (*)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glGetLightxvOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed *)"},
	glVertex2dv = {"void (*)(const GLdouble *)"},
	glMultMatrixf = {"void (*)(const GLfloat *)"},
	glVariantusvEXT = {"void (*)(GLuint, const GLushort *)"},
	glVariantuivEXT = {"void (*)(GLuint, const GLuint *)"},
	glVariantubvEXT = {"void (*)(GLuint, const GLubyte *)"},
	glVariantsvEXT = {"void (*)(GLuint, const GLshort *)"},
	glProgramLocalParameter4fARB = {"void (*)(GL_LUA_ENUMS, GLuint, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glVariantivEXT = {"void (*)(GLuint, const GLint *)"},
	glUniform1uivEXT = {"void (*)(GLint, GLsizei, const GLuint *)"},
	glBindRenderbufferEXT = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glPopDebugGroupKHR = {"void (*)()"},
	glMatrixTranslatedEXT = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble, GLdouble)"},
	glBlendFunc = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glVariantfvEXT = {"void (*)(GLuint, const GLfloat *)"},
	glCompressedTexSubImage3D = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GL_LUA_ENUMS, GLsizei, const void *)"},
	glNamedBufferDataEXT = {"void (*)(GLuint, GLsizeiptr, const void *, GL_LUA_ENUMS)"},
	glVariantdvEXT = {"void (*)(GLuint, const GLdouble *)"},
	glVariantbvEXT = {"void (*)(GLuint, const GLbyte *)"},
	glVariantArrayObjectATI = {"void (*)(GLuint, GL_LUA_ENUMS, GLsizei, GLuint, GLuint)"},
	glExtractComponentEXT = {"void (*)(GLuint, GLuint, GLuint)"},
	glBufferPageCommitmentARB = {"void (*)(GL_LUA_ENUMS, GLintptr, GLsizeiptr, GLboolean)"},
	glUniformMatrix2fvARB = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glGetMultiTexParameterivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glBindBuffersBase = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLuint *)"},
	glValidateProgramPipelineEXT = {"void (*)(GLuint)"},
	glSamplerParameterIuivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, const GLuint *)"},
	glColor3sv = {"void (*)(const GLshort *)"},
	glVDPAUUnregisterSurfaceNV = {"void (*)(GLvdpauSurfaceNV)"},
	glSecondaryColor3usvEXT = {"void (*)(const GLushort *)"},
	glVDPAURegisterVideoSurfaceNV = {"GLvdpauSurfaceNV (*)(const void *, GL_LUA_ENUMS, GLsizei, const GLuint *)"},
	glVDPAURegisterOutputSurfaceNV = {"GLvdpauSurfaceNV (*)(const void *, GL_LUA_ENUMS, GLsizei, const GLuint *)"},
	glTexGendv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLdouble *)"},
	glGetMinmaxParameterfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glTextureParameterIuivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLuint *)"},
	glIndexMaterialEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glTexCoordPointerListIBM = {"void (*)(GLint, GL_LUA_ENUMS, GLint, const void **, GLint)"},
	glDeletePathsNV = {"void (*)(GLuint, GLsizei)"},
	glGetLocalConstantBooleanvEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLboolean *)"},
	glVDPAUGetSurfaceivNV = {"void (*)(GLvdpauSurfaceNV, GL_LUA_ENUMS, GLsizei, GLsizei *, GLint *)"},
	glVDPAUFiniNV = {"void (*)()"},
	glUseProgramStages = {"void (*)(GLuint, GLbitfield, GLuint)"},
	glFramebufferTexture2DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint)"},
	glUseProgram = {"void (*)(GLuint)"},
	glCopyColorSubTableEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, GLint, GLint, GLsizei)"},
	glUnmapBufferOES = {"GLboolean (*)(GL_LUA_ENUMS)"},
	glUnlockArraysEXT = {"void (*)()"},
	glMultiTexCoord3d = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble, GLdouble)"},
	glUniformui64vNV = {"void (*)(GLint, GLsizei, const GLuint64EXT *)"},
	glUniformui64NV = {"void (*)(GLint, GLuint64EXT)"},
	glUniformSubroutinesuiv = {"void (*)(GL_LUA_ENUMS, GLsizei, const GLuint *)"},
	glUniformMatrix4x3fvNV = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glUniformMatrix4x3fv = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glUniformMatrix4x3dv = {"void (*)(GLint, GLsizei, GLboolean, const GLdouble *)"},
	glUniformMatrix4x2fvNV = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glUniformMatrix4x2fv = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glUniformMatrix4x2dv = {"void (*)(GLint, GLsizei, GLboolean, const GLdouble *)"},
	glPixelTransformParameterivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glEnableClientState = {"void (*)(GL_LUA_ENUMS)"},
	glCopyNamedBufferSubData = {"void (*)(GLuint, GLuint, GLintptr, GLintptr, GLsizeiptr)"},
	glEnableVariantClientStateEXT = {"void (*)(GLuint)"},
	glUniformMatrix4fvARB = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glCopyConvolutionFilter1D = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLsizei)"},
	glGetNextPerfQueryIdINTEL = {"void (*)(GLuint, GLuint *)"},
	glTexCoord1bOES = {"void (*)(GLbyte)"},
	glTranslatexOES = {"void (*)(GLfixed, GLfixed, GLfixed)"},
	glUniformMatrix3x4fvNV = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glGetNamedFramebufferAttachmentParameterivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glUniformMatrix3x4fv = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glUniformMatrix3x4dv = {"void (*)(GLint, GLsizei, GLboolean, const GLdouble *)"},
	glFlushVertexArrayRangeNV = {"void (*)()"},
	glUniformMatrix3x2fvNV = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glUniformMatrix3x2dv = {"void (*)(GLint, GLsizei, GLboolean, const GLdouble *)"},
	glMatrixScaledEXT = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble, GLdouble)"},
	glSecondaryColor3ubv = {"void (*)(const GLubyte *)"},
	glIsTransformFeedback = {"GLboolean (*)(GLuint)"},
	glUniformMatrix3fvARB = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glNamedFramebufferRenderbufferEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glUniformMatrix2x4fvNV = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glUniform3iv = {"void (*)(GLint, GLsizei, const GLint *)"},
	glUniformMatrix2x4dv = {"void (*)(GLint, GLsizei, GLboolean, const GLdouble *)"},
	glUniformMatrix2x3fv = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glUniformMatrix2x3dv = {"void (*)(GLint, GLsizei, GLboolean, const GLdouble *)"},
	glCreateTransformFeedbacks = {"void (*)(GLsizei, GLuint *)"},
	glExtGetTexturesQCOM = {"void (*)(GLuint *, GLint, GLint *)"},
	glMatrixLoadTransposefEXT = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glMatrixMultTransposefEXT = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glUniformHandleui64vNV = {"void (*)(GLint, GLsizei, const GLuint64 *)"},
	glTextureBufferRange = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLintptr, GLsizeiptr)"},
	glProgramUniform2fvEXT = {"void (*)(GLuint, GLint, GLsizei, const GLfloat *)"},
	glUniform4uivEXT = {"void (*)(GLint, GLsizei, const GLuint *)"},
	glUniform4uiEXT = {"void (*)(GLint, GLuint, GLuint, GLuint, GLuint)"},
	glUniform4ui64NV = {"void (*)(GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT)"},
	glIsNameAMD = {"GLboolean (*)(GL_LUA_ENUMS, GLuint)"},
	glGetnConvolutionFilterARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *)"},
	glUniform4ui = {"void (*)(GLint, GLuint, GLuint, GLuint, GLuint)"},
	glCopyTextureImage1DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLint, GLint, GLsizei, GLint)"},
	glTexImage2DMultisampleCoverageNV = {"void (*)(GL_LUA_ENUMS, GLsizei, GLsizei, GLint, GLsizei, GLsizei, GLboolean)"},
	glUniform4ivARB = {"void (*)(GLint, GLsizei, const GLint *)"},
	glGetMaterialfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glUniform4iARB = {"void (*)(GLint, GLint, GLint, GLint, GLint)"},
	glSecondaryColor3uiv = {"void (*)(const GLuint *)"},
	glDisableClientState = {"void (*)(GL_LUA_ENUMS)"},
	glUniform4i64vNV = {"void (*)(GLint, GLsizei, const GLint64EXT *)"},
	glUniform4i64NV = {"void (*)(GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT)"},
	glCopyMultiTexImage1DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLint, GLint, GLsizei, GLint)"},
	glUniform4fvARB = {"void (*)(GLint, GLsizei, const GLfloat *)"},
	glClampColor = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glUniform4fv = {"void (*)(GLint, GLsizei, const GLfloat *)"},
	glUniform4fARB = {"void (*)(GLint, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glUniform4dv = {"void (*)(GLint, GLsizei, const GLdouble *)"},
	glUniform4d = {"void (*)(GLint, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glProgramUniform1iv = {"void (*)(GLuint, GLint, GLsizei, const GLint *)"},
	glUniform3uivEXT = {"void (*)(GLint, GLsizei, const GLuint *)"},
	glUniform3uiv = {"void (*)(GLint, GLsizei, const GLuint *)"},
	glBlendEquationiEXT = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glUniform3uiEXT = {"void (*)(GLint, GLuint, GLuint, GLuint)"},
	glColor4uiv = {"void (*)(const GLuint *)"},
	glGetPointerIndexedvEXT = {"void (*)(GL_LUA_ENUMS, GLuint, void **)"},
	glProgramUniform4ui = {"void (*)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint)"},
	glUniform3ivARB = {"void (*)(GLint, GLsizei, const GLint *)"},
	glCheckFramebufferStatusEXT = {"GLenum (*)(GL_LUA_ENUMS)"},
	glUniformMatrix2x4fv = {"void (*)(GLint, GLsizei, GLboolean, const GLfloat *)"},
	glSecondaryColorP3ui = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glUniform3iARB = {"void (*)(GLint, GLint, GLint, GLint)"},
	glIsFramebufferOES = {"GLboolean (*)(GLuint)"},
	glGetQueryObjectivARB = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glUniform3i64vNV = {"void (*)(GLint, GLsizei, const GLint64EXT *)"},
	glGetColorTableEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, void *)"},
	glUniform3i64NV = {"void (*)(GLint, GLint64EXT, GLint64EXT, GLint64EXT)"},
	glColor3i = {"void (*)(GLint, GLint, GLint)"},
	glGetBufferSubData = {"void (*)(GL_LUA_ENUMS, GLintptr, GLsizeiptr, void *)"},
	glEndQuery = {"void (*)(GL_LUA_ENUMS)"},
	glUniform3fvARB = {"void (*)(GLint, GLsizei, const GLfloat *)"},
	glPathSubCommandsNV = {"void (*)(GLuint, GLsizei, GLsizei, GLsizei, const GLubyte *, GLsizei, GL_LUA_ENUMS, const void *)"},
	glTextureImage2DMultisampleCoverageNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLsizei, GLsizei, GLint, GLsizei, GLsizei, GLboolean)"},
	glReadBufferIndexedEXT = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glGetFramebufferAttachmentParameterivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glUniform3fv = {"void (*)(GLint, GLsizei, const GLfloat *)"},
	glUniform3fARB = {"void (*)(GLint, GLfloat, GLfloat, GLfloat)"},
	glGetInvariantFloatvEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat *)"},
	glScissorIndexedv = {"void (*)(GLuint, const GLint *)"},
	glGetArrayObjectfvATI = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glUniform1d = {"void (*)(GLint, GLdouble)"},
	glTexSubImage1D = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glGetnUniformfvKHR = {"void (*)(GLuint, GLint, GLsizei, GLfloat *)"},
	glUniform2uiEXT = {"void (*)(GLint, GLuint, GLuint)"},
	glUniform2ui64vNV = {"void (*)(GLint, GLsizei, const GLuint64EXT *)"},
	glUniform2ui = {"void (*)(GLint, GLuint, GLuint)"},
	glGetSeparableFilter = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, void *, void *, void *)"},
	glUniform2ivARB = {"void (*)(GLint, GLsizei, const GLint *)"},
	glUniform2iv = {"void (*)(GLint, GLsizei, const GLint *)"},
	glGenVertexShadersEXT = {"GLuint (*)(GLuint)"},
	glWindowPos2sARB = {"void (*)(GLshort, GLshort)"},
	glUniform2i64vNV = {"void (*)(GLint, GLsizei, const GLint64EXT *)"},
	glUniform2i64NV = {"void (*)(GLint, GLint64EXT, GLint64EXT)"},
	glVertexAttribs1hvNV = {"void (*)(GLuint, GLsizei, const GLhalfNV *)"},
	glGetInfoLogARB = {"void (*)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *)"},
	glMultiDrawArraysIndirect = {"void (*)(GL_LUA_ENUMS, const void *, GLsizei, GLsizei)"},
	glColor4sv = {"void (*)(const GLshort *)"},
	glUniform2fARB = {"void (*)(GLint, GLfloat, GLfloat)"},
	glViewport = {"void (*)(GLint, GLint, GLsizei, GLsizei)"},
	glGetInteger64i_v = {"void (*)(GL_LUA_ENUMS, GLuint, GLint64 *)"},
	glUniform1ui64NV = {"void (*)(GLint, GLuint64EXT)"},
	glUniform1ivARB = {"void (*)(GLint, GLsizei, const GLint *)"},
	glTexCoord4f = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat)"},
	glExtGetTexLevelParameterivQCOM = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLint *)"},
	glUniform1iv = {"void (*)(GLint, GLsizei, const GLint *)"},
	glUniform1iARB = {"void (*)(GLint, GLint)"},
	glBeginTransformFeedback = {"void (*)(GL_LUA_ENUMS)"},
	glCreateProgramPipelines = {"void (*)(GLsizei, GLuint *)"},
	glUniform1i = {"void (*)(GLint, GLint)"},
	glIsPointInFillPathNV = {"GLboolean (*)(GLuint, GLuint, GLfloat, GLfloat)"},
	glPushClientAttribDefaultEXT = {"void (*)(GLbitfield)"},
	glGetProgramivARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glAccum = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glSecondaryColorPointerListIBM = {"void (*)(GLint, GL_LUA_ENUMS, GLint, const void **, GLint)"},
	glGenVertexArraysAPPLE = {"void (*)(GLsizei, GLuint *)"},
	glProgramUniformHandleui64vNV = {"void (*)(GLuint, GLint, GLsizei, const GLuint64 *)"},
	glUniform1fv = {"void (*)(GLint, GLsizei, const GLfloat *)"},
	glUniform3d = {"void (*)(GLint, GLdouble, GLdouble, GLdouble)"},
	glInvalidateBufferSubData = {"void (*)(GLuint, GLintptr, GLsizeiptr)"},
	glTranslatef = {"void (*)(GLfloat, GLfloat, GLfloat)"},
	glGetVertexArrayPointervEXT = {"void (*)(GLuint, GL_LUA_ENUMS, void **)"},
	glTransformFeedbackVaryingsNV = {"void (*)(GLuint, GLsizei, const GLint *, GL_LUA_ENUMS)"},
	glGetUniformLocation = {"GLint (*)(GLuint, const GLchar *)"},
	glTransformFeedbackStreamAttribsNV = {"void (*)(GLsizei, const GLint *, GLsizei, const GLint *, GL_LUA_ENUMS)"},
	glTransformFeedbackBufferRange = {"void (*)(GLuint, GLuint, GLuint, GLintptr, GLsizeiptr)"},
	glNormalStream3dATI = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble, GLdouble)"},
	glTransformFeedbackAttribsNV = {"void (*)(GLsizei, const GLint *, GL_LUA_ENUMS)"},
	glTrackMatrixNV = {"void (*)(GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glVertexAttribArrayObjectATI = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLboolean, GLsizei, GLuint, GLuint)"},
	glPatchParameterfv = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glProgramUniformMatrix2x4fvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glTextureSubImage3DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glTextureSubImage3D = {"void (*)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glTextureSubImage2DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GLint, GLint, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glFrustumf = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glPathGlyphIndexArrayNV = {"GLenum (*)(GLuint, GL_LUA_ENUMS, const void *, GLbitfield, GLuint, GLsizei, GLuint, GLfloat)"},
	glTextureSubImage2D = {"void (*)(GLuint, GLint, GLint, GLint, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glIglooInterfaceSGIX = {"void (*)(GL_LUA_ENUMS, const void *)"},
	glTextureStorageSparseAMD = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei, GLsizei, GLbitfield)"},
	glTextureStorage3DMultisample = {"void (*)(GLuint, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei, GLboolean)"},
	glTextureStorage3DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei)"},
	glTextureStorage3D = {"void (*)(GLuint, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei)"},
	glCombinerParameteriNV = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glGetInternalformatSampleivNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLint *)"},
	glSecondaryColor3ubEXT = {"void (*)(GLubyte, GLubyte, GLubyte)"},
	glTextureStorage2DMultisampleEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei, GLboolean)"},
	glTextureStorage2DMultisample = {"void (*)(GLuint, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei, GLboolean)"},
	glTextureStorage2DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glTexEnvi = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glBeginConditionalRenderNVX = {"void (*)(GLuint)"},
	glNormal3fVertex3fvSUN = {"void (*)(const GLfloat *, const GLfloat *)"},
	glTextureStorage1DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei)"},
	glDrawTransformFeedbackStream = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint)"},
	glTextureParameterivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glTextureParameteriv = {"void (*)(GLuint, GL_LUA_ENUMS, const GLint *)"},
	glMultiDrawArraysIndirectBindlessNV = {"void (*)(GL_LUA_ENUMS, const void *, GLsizei, GLsizei, GLint)"},
	glTransformPathNV = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, const GLfloat *)"},
	glTextureParameterfvEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glMultiTexCoord2fvARB = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glTextureParameterfEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat)"},
	glTextureParameterIuiv = {"void (*)(GLuint, GL_LUA_ENUMS, const GLuint *)"},
	glMakeImageHandleNonResidentARB = {"void (*)(GLuint64)"},
	glFramebufferTextureEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint)"},
	glProgramUniform3iEXT = {"void (*)(GLuint, GLint, GLint, GLint, GLint)"},
	glTexturePageCommitmentEXT = {"void (*)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLboolean)"},
	glTexCoord2fColor4fNormal3fVertex3fvSUN = {"void (*)(const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *)"},
	glTextureImage3DMultisampleCoverageNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLsizei, GLsizei, GLint, GLsizei, GLsizei, GLsizei, GLboolean)"},
	glCreateShaderObjectARB = {"GLhandleARB (*)(GL_LUA_ENUMS)"},
	glSamplerParameteriv = {"void (*)(GLuint, GL_LUA_ENUMS, const GLint *)"},
	glTextureImage3DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glTextureImage2DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GLint, GLsizei, GLsizei, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glTextureImage1DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GLint, GLsizei, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glDrawBuffersIndexedEXT = {"void (*)(GLint, const GLenum *, const GLint *)"},
	glTextureBufferRangeEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLintptr, GLsizeiptr)"},
	glIsBufferARB = {"GLboolean (*)(GLuint)"},
	glUniformBufferEXT = {"void (*)(GLuint, GLint, GLuint)"},
	glTextureBuffer = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint)"},
	glResolveMultisampleFramebufferAPPLE = {"void (*)()"},
	glNormal3fv = {"void (*)(const GLfloat *)"},
	glEvalCoord1fv = {"void (*)(const GLfloat *)"},
	glLoadIdentity = {"void (*)()"},
	glTextureBarrierNV = {"void (*)()"},
	glTexSubImage4DSGIS = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glCopyPixels = {"void (*)(GLint, GLint, GLsizei, GLsizei, GL_LUA_ENUMS)"},
	glColor4ubVertex3fSUN = {"void (*)(GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat)"},
	glTexSubImage3DEXT = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glTexSubImage3D = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glTexSubImage2DEXT = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glTexSubImage1DEXT = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glUniform2uiv = {"void (*)(GLint, GLsizei, const GLuint *)"},
	glTexStorageSparseAMD = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei, GLsizei, GLbitfield)"},
	glCombinerOutputNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLboolean, GLboolean, GLboolean)"},
	glTexStorage3DMultisampleOES = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei, GLboolean)"},
	glTexStorage3DMultisample = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei, GLboolean)"},
	glTexStorage3DEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei)"},
	glTexStorage3D = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei)"},
	glTexStorage2DEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glTexStorage2D = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glLabelObjectEXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLchar *)"},
	glTexStorage1D = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei)"},
	glResetMinmaxEXT = {"void (*)(GL_LUA_ENUMS)"},
	glIsBufferResidentNV = {"GLboolean (*)(GL_LUA_ENUMS)"},
	glDisableVariantClientStateEXT = {"void (*)(GLuint)"},
	glUniform1fvARB = {"void (*)(GLint, GLsizei, const GLfloat *)"},
	glGetProgramLocalParameterIivNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLint *)"},
	glGenTexturesEXT = {"void (*)(GLsizei, GLuint *)"},
	glTexParameterxv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfixed *)"},
	glTexParameteri = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glGetHistogramParameterfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glColorPointerEXT = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei, GLsizei, const void *)"},
	glLoadIdentityDeformationMapSGIX = {"void (*)(GLbitfield)"},
	glTexParameterf = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat)"},
	glGetMapdv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLdouble *)"},
	glVertexAttrib4fNV = {"void (*)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glFlushMappedBufferRange = {"void (*)(GL_LUA_ENUMS, GLintptr, GLsizeiptr)"},
	glTexImage3DOES = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glMatrixPushEXT = {"void (*)(GL_LUA_ENUMS)"},
	glTexImage3DEXT = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glTexImage2DMultisample = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei, GLboolean)"},
	glMultiDrawElementsIndirectBindlessNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const void *, GLsizei, GLsizei, GLint)"},
	glTexImage2D = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLsizei, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glTexGenxvOES = {"voi|	d (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfixed *)"},
	glIndexfv = {"void (*)(const GLfloat *)"},
	glExtGetBuffersQCOM = {"void (*)(GLuint *, GLint, GLint *)"},
	glTexGenivOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glIsProgramPipelineEXT = {"GLboolean (*)(GLuint)"},
	glTexGenfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glProgramUniform4uiEXT = {"void (*)(GLuint, GLint, GLuint, GLuint, GLuint, GLuint)"},
	glGetTextureParameterivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glGetVariantFloatvEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat *)"},
	glVDPAUIsSurfaceNV = {"GLboolean (*)(GLvdpauSurfaceNV)"},
	glPixelTexGenParameterivSGIS = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glFramebufferRenderbuffer = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glOrthofOES = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glLinkProgram = {"void (*)(GLuint)"},
	glClearNamedFramebufferiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, const GLint *)"},
	glUniformBlockBinding = {"void (*)(GLuint, GLuint, GLuint)"},
	glTexEnvxOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed)"},
	glVertexStream1dvATI = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glNormal3i = {"void (*)(GLint, GLint, GLint)"},
	glTexParameterIuivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLuint *)"},
	glTexEnvfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glTexCoordPointervINTEL = {"void (*)(GLint, GL_LUA_ENUMS, const void **)"},
	glCompressedTexImage2DARB = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLsizei, GLint, GLsizei, const void *)"},
	glMapNamedBufferRange = {"void *(*)(GLuint, GLintptr, GLsizeiptr, GLbitfield)"},
	glExecuteProgramNV = {"void (*)(GL_LUA_ENUMS, GLuint, const GLfloat *)"},
	glTexCoordPointer = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glProgramUniform4fEXT = {"void (*)(GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glTexCoordP4uiv = {"void (*)(GL_LUA_ENUMS, const GLuint *)"},
	glRectiv = {"void (*)(const GLint *, const GLint *)"},
	glColorFragmentOp1ATI = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)"},
	glTexCoordP2ui = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glNormalPointer = {"void (*)(GL_LUA_ENUMS, GLsizei, const void *)"},
	glProgramUniformMatrix4fvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glCreateProgram = {"GLuint (*)()"},
	glColorMaskiEXT = {"void (*)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean)"},
	glTexCoordFormatNV = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei)"},
	glTexCoord4xvOES = {"void (*)(const GLfixed *)"},
	glTexCoord4xOES = {"void (*)(GLfixed, GLfixed, GLfixed, GLfixed)"},
	glNamedFramebufferTextureLayerEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLint, GLint)"},
	glSecondaryColor3dEXT = {"void (*)(GLdouble, GLdouble, GLdouble)"},
	glTexBufferOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glFogCoordf = {"void (*)(GLfloat)"},
	glVertex2f = {"void (*)(GLfloat, GLfloat)"},
	glTexCoord4s = {"void (*)(GLshort, GLshort, GLshort, GLshort)"},
	glViewportIndexedf = {"void (*)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glMakeBufferResidentNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glGetFinalCombinerInputParameterivNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glTexCoord4i = {"void (*)(GLint, GLint, GLint, GLint)"},
	glGetPathParameterivNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glTexCoord4hvNV = {"void (*)(const GLhalfNV *)"},
	glVertexAttrib1dvARB = {"void (*)(GLuint, const GLdouble *)"},
	glTexCoord4fv = {"void (*)(const GLfloat *)"},
	glAlphaFragmentOp1ATI = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLuint, GLuint, GLuint)"},
	glGetFloati_v = {"void (*)(GL_LUA_ENUMS, GLuint, GLfloat *)"},
	glTexCoord4dv = {"void (*)(const GLdouble *)"},
	glTexCoord4d = {"void (*)(GLdouble, GLdouble, GLdouble, GLdouble)"},
	glTexCoord4bvOES = {"void (*)(const GLbyte *)"},
	glTexCoord4bOES = {"void (*)(GLbyte, GLbyte, GLbyte, GLbyte)"},
	glTexCoord3xvOES = {"void (*)(const GLfixed *)"},
	glTexCoord3xOES = {"void (*)(GLfixed, GLfixed, GLfixed)"},
	glTexCoord3sv = {"void (*)(const GLshort *)"},
	glPointParameterfARB = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glProgramUniformMatrix4x2dvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glColor3b = {"void (*)(GLbyte, GLbyte, GLbyte)"},
	glCreateQueries = {"void (*)(GL_LUA_ENUMS, GLsizei, GLuint *)"},
	glPollAsyncSGIX = {"GLint (*)(GLuint *)"},
	glTexCoord3iv = {"void (*)(const GLint *)"},
	glTexCoord3i = {"void (*)(GLint, GLint, GLint)"},
	glVertexArrayTexCoordOffsetEXT = {"void (*)(GLuint, GLuint, GLint, GL_LUA_ENUMS, GLsizei, GLintptr)"},
	glTessellationModeAMD = {"void (*)(GL_LUA_ENUMS)"},
	glPixelDataRangeNV = {"void (*)(GL_LUA_ENUMS, GLsizei, const void *)"},
	glTexCoord3fv = {"void (*)(const GLfloat *)"},
	glTexCoord3f = {"void (*)(GLfloat, GLfloat, GLfloat)"},
	glTexCoord3dv = {"void (*)(const GLdouble *)"},
	glMultiTexGenfvEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glEndConditionalRenderNVX = {"void (*)()"},
	glPauseTransformFeedback = {"void (*)()"},
	glDrawElementsBaseVertexOES = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, const void *, GLint)"},
	glTexCoord3bvOES = {"void (*)(const GLbyte *)"},
	glDeformationMap3dSGIX = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *)"},
	glTexCoord3bOES = {"void (*)(GLbyte, GLbyte, GLbyte)"},
	glSecondaryColor3i = {"void (*)(GLint, GLint, GLint)"},
	glTexCoord2xvOES = {"void (*)(const GLfixed *)"},
	glGetSamplerParameteriv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glProgramBinary = {"void (*)(GLuint, GL_LUA_ENUMS, const void *, GLsizei)"},
	glTexCoord2xOES = {"void (*)(GLfixed, GLfixed)"},
	glTexCoord2sv = {"void (*)(const GLshort *)"},
	glGetUniformiv = {"void (*)(GLuint, GLint, GLint *)"},
	glTexCoord2hvNV = {"void (*)(const GLhalfNV *)"},
	glTexCoord2fVertex3fvSUN = {"void (*)(const GLfloat *, const GLfloat *)"},
	glTexCoord2fVertex3fSUN = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glInvalidateTexImage = {"void (*)(GLuint, GLint)"},
	glTexCoord2fNormal3fVertex3fSUN = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glGetVariantArrayObjectfvATI = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat *)"},
	glGetColorTableParameteriv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glTextureLightEXT = {"void (*)(GL_LUA_ENUMS)"},
	glCreateFramebuffers = {"void (*)(GLsizei, GLuint *)"},
	glFramebufferTexture2D = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint)"},
	glMaterialxOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed)"},
	glTexCoord2fColor3fVertex3fvSUN = {"void (*)(const GLfloat *, const GLfloat *, const GLfloat *)"},
	glBlitFramebufferANGLE = {"void (*)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GL_LUA_ENUMS)"},
	glTexCoord2f = {"void (*)(GLfloat, GLfloat)"},
	glTexCoord2bvOES = {"void (*)(const GLbyte *)"},
	glTexCoord2bOES = {"void (*)(GLbyte, GLbyte)"},
	glGenerateTextureMipmapEXT = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glIsBuffer = {"GLboolean (*)(GLuint)"},
	glTexCoord1xvOES = {"void (*)(const GLfixed *)"},
	glRasterSamplesEXT = {"void (*)(GLuint, GLboolean)"},
	glTexCoord1sv = {"void (*)(const GLshort *)"},
	glTexCoord1s = {"void (*)(GLshort)"},
	glGetFloati_vNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLfloat *)"},
	glTexCoord1i = {"void (*)(GLint)"},
	glTexCoord1hvNV = {"void (*)(const GLhalfNV *)"},
	glStencilFuncSeparate = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLuint)"},
	glPixelZoom = {"void (*)(GLfloat, GLfloat)"},
	glProgramUniform1ui64vNV = {"void (*)(GLuint, GLint, GLsizei, const GLuint64EXT *)"},
	glTexCoord1d = {"void (*)(GLdouble)"},
	glSecondaryColor3uivEXT = {"void (*)(const GLuint *)"},
	glUniformMatrix4dv = {"void (*)(GLint, GLsizei, GLboolean, const GLdouble *)"},
	glHistogram = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLboolean)"},
	glMultiTexCoord1sv = {"void (*)(GL_LUA_ENUMS, const GLshort *)"},
	glTexBumpParameterivATI = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glTexBumpParameterfvATI = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glMultiTexCoord1dARB = {"void (*)(GL_LUA_ENUMS, GLdouble)"},
	glTexBufferRangeOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLintptr, GLsizeiptr)"},
	glTexBufferRangeEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLintptr, GLsizeiptr)"},
	glTexBufferRange = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLintptr, GLsizeiptr)"},
	glTestFenceAPPLE = {"GLboolean (*)(GLuint)"},
	glTexCoord3hNV = {"void (*)(GLhalfNV, GLhalfNV, GLhalfNV)"},
	glLightiv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glFogxOES = {"void (*)(GL_LUA_ENUMS, GLfixed)"},
	glExtGetProgramsQCOM = {"void (*)(GLuint *, GLint, GLint *)"},
	glTangent3svEXT = {"void (*)(const GLshort *)"},
	glDeleteOcclusionQueriesNV = {"void (*)(GLsizei, const GLuint *)"},
	glTangent3ivEXT = {"void (*)(const GLint *)"},
	glTangent3fvEXT = {"void (*)(const GLfloat *)"},
	glTexParameterIuiv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLuint *)"},
	glTangent3bvEXT = {"void (*)(const GLbyte *)"},
	glTangent3bEXT = {"void (*)(GLbyte, GLbyte, GLbyte)"},
	glNamedProgramLocalParameter4dEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glIsProgramNV = {"GLboolean (*)(GLuint)"},
	glSyncTextureINTEL = {"void (*)(GLuint)"},
	glSamplerParameterf = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat)"},
	glCopyTextureImage2DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLint, GLint, GLsizei, GLsizei, GLint)"},
	glStringMarkerGREMEDY = {"void (*)(GLsizei, const void *)"},
	glGetTextureImage = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *)"},
	glColor4usv = {"void (*)(const GLushort *)"},
	glPointParameterxv = {"void (*)(GL_LUA_ENUMS, const GLfixed *)"},
	glImageTransformParameteriHP = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glProgramParameter4fNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glStencilStrokePathNV = {"void (*)(GLuint, GLint, GLuint)"},
	glStencilOpValueAMD = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glStencilOp = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glStencilMaskSeparate = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glGetUniformIndices = {"void (*)(GLuint, GLsizei, const GLchar *const*, GLuint *)"},
	glMakeTextureHandleResidentARB = {"void (*)(GLuint64)"},
	glStencilMask = {"void (*)(GLuint)"},
	glLightEnviSGIX = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glGetClipPlanex = {"void (*)(GL_LUA_ENUMS, GLfixed *)"},
	glProgramUniform3i64NV = {"void (*)(GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT)"},
	glGetVariantArrayObjectivATI = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glStencilFillPathInstancedNV = {"void (*)(GLsizei, GL_LUA_ENUMS, const void *, GLuint, GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, const GLfloat *)"},
	glStartInstrumentsSGIX = {"void (*)()"},
	glCoverFillPathNV = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glDisableIndexedEXT = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glSpriteParameterivSGIX = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glSpriteParameteriSGIX = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glSpriteParameterfvSGIX = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glClipPlanefIMG = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glShaderStorageBlockBinding = {"void (*)(GLuint, GLuint, GLuint)"},
	glOrthof = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glCompressedTextureSubImage3D = {"void (*)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GL_LUA_ENUMS, GLsizei, const void *)"},
	glShaderOp1EXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint)"},
	glShadeModel = {"void (*)(GL_LUA_ENUMS)"},
	glSetMultisamplefvAMD = {"void (*)(GL_LUA_ENUMS, GLuint, const GLfloat *)"},
	glMultiTexCoord1s = {"void (*)(GL_LUA_ENUMS, GLshort)"},
	glScissorIndexed = {"void (*)(GLuint, GLint, GLint, GLsizei, GLsizei)"},
	glDrawTexfvOES = {"void (*)(const GLfloat *)"},
	glSetInvariantEXT = {"void (*)(GLuint, GL_LUA_ENUMS, const void *)"},
	glColorTableEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glSetFenceAPPLE = {"void (*)(GLuint)"},
	glGenerateMipmap = {"void (*)(GL_LUA_ENUMS)"},
	glGetMapAttribParameterivNV = {"void (*)(GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLint *)"},
	glPNTrianglesfATI = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glSecondaryColorPointer = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glFogCoordhNV = {"void (*)(GLhalfNV)"},
	glGetClipPlanefOES = {"void (*)(GL_LUA_ENUMS, GLfloat *)"},
	glGetQueryObjectui64vEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint64 *)"},
	glGetTransformFeedbackVarying = {"void (*)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *)"},
	glTangent3sEXT = {"void (*)(GLshort, GLshort, GLshort)"},
	glVDPAUUnmapSurfacesNV = {"void (*)(GLsizei, const GLvdpauSurfaceNV *)"},
	glTexCoord1bvOES = {"void (*)(const GLbyte *)"},
	glStencilFuncSeparateATI = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLuint)"},
	glGetTextureParameterfvEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glSecondaryColor3svEXT = {"void (*)(const GLshort *)"},
	glTexParameterIivOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glSecondaryColor3ivEXT = {"void (*)(const GLint *)"},
	glPatchParameteriOES = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glSecondaryColor3hvNV = {"void (*)(const GLhalfNV *)"},
	glSecondaryColor3fvEXT = {"void (*)(const GLfloat *)"},
	glDrawRangeElementsBaseVertexEXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLsizei, GL_LUA_ENUMS, const void *, GLint)"},
	glSecondaryColor3dvEXT = {"void (*)(const GLdouble *)"},
	glSecondaryColor3dv = {"void (*)(const GLdouble *)"},
	glClientWaitSync = {"GLenum (*)(GLsync, GLbitfield, GLuint64)"},
	glSecondaryColor3bv = {"void (*)(const GLbyte *)"},
	glGetnCompressedTexImage = {"void (*)(GL_LUA_ENUMS, GLint, GLsizei, void *)"},
	glSecondaryColor3bEXT = {"void (*)(GLbyte, GLbyte, GLbyte)"},
	glSecondaryColor3b = {"void (*)(GLbyte, GLbyte, GLbyte)"},
	glScissorIndexedNV = {"void (*)(GLuint, GLint, GLint, GLsizei, GLsizei)"},
	glGetCombinerInputParameterfvNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glScissorArrayvNV = {"void (*)(GLuint, GLsizei, const GLint *)"},
	glScalexOES = {"void (*)(GLfixed, GLfixed, GLfixed)"},
	glScalex = {"void (*)(GLfixed, GLfixed, GLfixed)"},
	glScalef = {"void (*)(GLfloat, GLfloat, GLfloat)"},
	glSamplerParameteri = {"void (*)(GLuint, GL_LUA_ENUMS, GLint)"},
	glGetSamplerParameterIuivOES = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint *)"},
	glSamplerParameterIivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, const GLint *)"},
	glDeformationMap3fSGIX = {"void (*)(GL_LUA_ENUMS, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *)"},
	glGetTexParameterxvOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed *)"},
	glNamedBufferSubDataEXT = {"void (*)(GLuint, GLintptr, GLsizeiptr, const void *)"},
	glDeleteShader = {"void (*)(GLuint)"},
	glGenFragmentShadersATI = {"GLuint (*)(GLuint)"},
	glSampleMaskIndexedNV = {"void (*)(GLuint, GLbitfield)"},
	glSampleMapATI = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS)"},
	glSampleCoveragex = {"void (*)(GLclampx, GLboolean)"},
	glProgramUniform2ui64vNV = {"void (*)(GLuint, GLint, GLsizei, const GLuint64EXT *)"},
	glFlush = {"void (*)()"},
	glSampleCoverageARB = {"void (*)(GLfloat, GLboolean)"},
	glPushDebugGroup = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLchar *)"},
	glGetFramebufferParameteriv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glDrawBuffer = {"void (*)(GL_LUA_ENUMS)"},
	glRotatexOES = {"void (*)(GLfixed, GLfixed, GLfixed, GLfixed)"},
	glGetInvariantIntegervEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glRotated = {"void (*)(GLdouble, GLdouble, GLdouble, GLdouble)"},
	glResumeTransformFeedbackNV = {"void (*)()"},
	glGetTexImage = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, void *)"},
	glResumeTransformFeedback = {"void (*)()"},
	glGetTexParameterIuivOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint *)"},
	glProgramUniformHandleui64NV = {"void (*)(GLuint, GLint, GLuint64)"},
	glResetHistogramEXT = {"void (*)(GL_LUA_ENUMS)"},
	glResetHistogram = {"void (*)(GL_LUA_ENUMS)"},
	glEndConditionalRender = {"void (*)()"},
	glPNTrianglesiATI = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glGenVertexArraysOES = {"void (*)(GLsizei, GLuint *)"},
	glProgramUniform2ui64NV = {"void (*)(GLuint, GLint, GLuint64EXT, GLuint64EXT)"},
	glWeightubvARB = {"void (*)(GLint, const GLubyte *)"},
	glReplacementCodeusSUN = {"void (*)(GLushort)"},
	glIndexdv = {"void (*)(const GLdouble *)"},
	glReplacementCodeuivSUN = {"void (*)(const GLuint *)"},
	glReplacementCodeuiVertex3fvSUN = {"void (*)(const GLuint *, const GLfloat *)"},
	glReplacementCodeuiTexCoord2fVertex3fvSUN = {"void (*)(const GLuint *, const GLfloat *, const GLfloat *)"},
	glFragmentLightivSGIX = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glNormal3f = {"void (*)(GLfloat, GLfloat, GLfloat)"},
	glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = {"void (*)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glReplacementCodeuiNormal3fVertex3fvSUN = {"void (*)(const GLuint *, const GLfloat *, const GLfloat *)"},
	glReplacementCodeuiNormal3fVertex3fSUN = {"void (*)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glReplacementCodeuiColor4ubVertex3fSUN = {"void (*)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat)"},
	glReplacementCodeuiColor4fNormal3fVertex3fvSUN = {"void (*)(const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *)"},
	glReplacementCodeubvSUN = {"void (*)(const GLubyte *)"},
	glRectf = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat)"},
	glReplacementCodeubSUN = {"void (*)(GLubyte)"},
	glMultiTexCoord2d = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble)"},
	glEvalCoord1xvOES = {"void (*)(const GLfixed *)"},
	glFinishAsyncSGIX = {"GLint (*)(GLuint *)"},
	glCompressedTexSubImage1D = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLsizei, GL_LUA_ENUMS, GLsizei, const void *)"},
	glRenderbufferStorageOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glColor4fNormal3fVertex3fSUN = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glRenderbufferStorageMultisampleNV = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glMultiTexCoord4dv = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glGetQueryBufferObjectui64v = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLintptr)"},
	glRenderbufferStorageMultisampleIMG = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glRenderbufferStorageMultisampleEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glRenderbufferStorageMultisampleCoverageNV = {"void (*)(GL_LUA_ENUMS, GLsizei, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glBindTransformFeedback = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glGetLightxv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed *)"},
	glDeleteQueriesEXT = {"void (*)(GLsizei, const GLuint *)"},
	glMultiTexEnvfEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat)"},
	glReleaseShaderCompiler = {"void (*)()"},
	glLinkProgramARB = {"void (*)(GLhandleARB)"},
	glTexCoordP3uiv = {"void (*)(GL_LUA_ENUMS, const GLuint *)"},
	glRectfv = {"void (*)(const GLfloat *, const GLfloat *)"},
	glRectdv = {"void (*)(const GLdouble *, const GLdouble *)"},
	glRectd = {"void (*)(GLdouble, GLdouble, GLdouble, GLdouble)"},
	glProgramBufferParametersIuivNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLsizei, const GLuint *)"},
	glBlendColorEXT = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat)"},
	glProgramUniformui64vNV = {"void (*)(GLuint, GLint, GLsizei, const GLuint64EXT *)"},
	glReadnPixels = {"void (*)(GLint, GLint, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *)"},
	glGetObjectParameterivAPPLE = {"void (*)(GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLint *)"},
	glRasterPos3iv = {"void (*)(const GLint *)"},
	glGenPathsNV = {"GLuint (*)(GLsizei)"},
	glReadPixels = {"void (*)(GLint, GLint, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, void *)"},
	glRasterPos3xOES = {"void (*)(GLfixed, GLfixed, GLfixed)"},
	glCheckFramebufferStatusOES = {"GLenum (*)(GL_LUA_ENUMS)"},
	glPixelTransferxOES = {"void (*)(GL_LUA_ENUMS, GLfixed)"},
	glMatrixIndexubvARB = {"void (*)(GLint, const GLubyte *)"},
	glGetObjectBufferfvATI = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat *)"},
	glFlushPixelDataRangeNV = {"void (*)(GL_LUA_ENUMS)"},
	glTexCoord3s = {"void (*)(GLshort, GLshort, GLshort)"},
	glIsList = {"GLboolean (*)(GLuint)"},
	glProgramUniformMatrix4dvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glGetMultiTexGendvEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLdouble *)"},
	glProgramUniformMatrix3x4dvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glGetMultiTexEnvfvEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glGetMultiTexGenivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glVertexAttrib1sNV = {"void (*)(GLuint, GLshort)"},
	glColorMaterial = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glProgramUniformMatrix3x2dv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glProgramUniformMatrix3dvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glVDPAUInitNV = {"void (*)(const void *, const void *)"},
	glGetListParameterfvSGIX = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat *)"},
	glProgramUniformMatrix2x4dvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glRenderbufferStorageMultisample = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glGetnUniformuivARB = {"void (*)(GLuint, GLint, GLsizei, GLuint *)"},
	glSubpixelPrecisionBiasNV = {"void (*)(GLuint, GLuint)"},
	glGetObjectParameterfvARB = {"void (*)(GLhandleARB, GL_LUA_ENUMS, GLfloat *)"},
	glVertexAttribL1ui64NV = {"void (*)(GLuint, GLuint64EXT)"},
	glSecondaryColorFormatNV = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei)"},
	glGetnUniformfv = {"void (*)(GLuint, GLint, GLsizei, GLfloat *)"},
	glGlobalAlphaFactorsSUN = {"void (*)(GLshort)"},
	glShaderSourceARB = {"void (*)(GLhandleARB, GLsizei, const GLcharARB **, const GLint *)"},
	glProgramUniform4i64vNV = {"void (*)(GLuint, GLint, GLsizei, const GLint64EXT *)"},
	glProgramUniform4dvEXT = {"void (*)(GLuint, GLint, GLsizei, const GLdouble *)"},
	glConvolutionParameterfvEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glBlendEquationiARB = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glBlendFuncIndexedAMD = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glProgramUniform3ivEXT = {"void (*)(GLuint, GLint, GLsizei, const GLint *)"},
	glGetFragmentMaterialfvSGIX = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glProgramUniformMatrix4x3dv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glGetFloatIndexedvEXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLfloat *)"},
	glDeleteObjectARB = {"void (*)(GLhandleARB)"},
	glDebugMessageCallbackAMD = {"void (*)(GLDEBUGPROCAMD, void *)"},
	glGetObjectLabelEXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, GLsizei *, GLchar *)"},
	glGetFenceivNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glBeginQuery = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glIsEnabled = {"GLboolean (*)(GL_LUA_ENUMS)"},
	glVertexArraySecondaryColorOffsetEXT = {"void (*)(GLuint, GLuint, GLint, GL_LUA_ENUMS, GLsizei, GLintptr)"},
	glProgramUniform2uiEXT = {"void (*)(GLuint, GLint, GLuint, GLuint)"},
	glProgramLocalParameterI4uiNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLuint, GLuint, GLuint)"},
	glGetConvolutionParameteriv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glTexStorage1DEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei)"},
	glProgramUniform2ivEXT = {"void (*)(GLuint, GLint, GLsizei, const GLint *)"},
	glMatrixLoadTranspose3x3fNV = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glCompressedMultiTexSubImage1DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLsizei, GL_LUA_ENUMS, GLsizei, const void *)"},
	glExtGetTexSubImageQCOM = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, void *)"},
	glGetCompressedTexImageARB = {"void (*)(GL_LUA_ENUMS, GLint, void *)"},
	glPushMatrix = {"void (*)()"},
	glEdgeFlagPointer = {"void (*)(GLsizei, const void *)"},
	glPathStringNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glObjectLabelKHR = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLchar *)"},
	glColor4ui = {"void (*)(GLuint, GLuint, GLuint, GLuint)"},
	glClearTexImage = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glProgramUniform2dEXT = {"void (*)(GLuint, GLint, GLdouble, GLdouble)"},
	glMultiTexCoord2hNV = {"void (*)(GL_LUA_ENUMS, GLhalfNV, GLhalfNV)"},
	glCheckNamedFramebufferStatus = {"GLenum (*)(GLuint, GL_LUA_ENUMS)"},
	glDepthMask = {"void (*)(GLboolean)"},
	glFinish = {"void (*)()"},
	glCopyTextureSubImage2D = {"void (*)(GLuint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)"},
	glMapGrid1xOES = {"void (*)(GLint, GLfixed, GLfixed)"},
	glClearNamedBufferSubDataEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLsizeiptr, GLsizeiptr, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glVertexAttrib3fNV = {"void (*)(GLuint, GLfloat, GLfloat, GLfloat)"},
	glImageTransformParameterivHP = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glMinSampleShadingARB = {"void (*)(GLfloat)"},
	glGetFloatv = {"void (*)(GL_LUA_ENUMS, GLfloat *)"},
	glBindProgramARB = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glUniform3dv = {"void (*)(GLint, GLsizei, const GLdouble *)"},
	glFrameZoomSGIX = {"void (*)(GLint)"},
	glProgramParameteriEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint)"},
	glMultiTexCoord4f = {"void (*)(GL_LUA_ENUMS, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glDetachShader = {"void (*)(GLuint, GLuint)"},
	glMultiTexCoord2s = {"void (*)(GL_LUA_ENUMS, GLshort, GLshort)"},
	glGenerateTextureMipmap = {"void (*)(GLuint)"},
	glCompileShader = {"void (*)(GLuint)"},
	glMultiTexCoord4xvOES = {"void (*)(GL_LUA_ENUMS, const GLfixed *)"},
	glEvalMapsNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glGetPixelMapusv = {"void (*)(GL_LUA_ENUMS, GLushort *)"},
	glVertexArrayIndexOffsetEXT = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLsizei, GLintptr)"},
	glRasterPos4sv = {"void (*)(const GLshort *)"},
	glHistogramEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLboolean)"},
	glBinormal3bvEXT = {"void (*)(const GLbyte *)"},
	glFramebufferDrawBuffersEXT = {"void (*)(GLuint, GLsizei, const GLenum *)"},
	glGetMapControlPointsNV = {"void (*)(GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLsizei, GLsizei, GLboolean, void *)"},
	glFragmentLightModeliSGIX = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glVertexAttrib1f = {"void (*)(GLuint, GLfloat)"},
	glGetMultiTexParameterfvEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glCopyTexSubImage1D = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei)"},
	glNamedFramebufferSampleLocationsfvNV = {"void (*)(GLuint, GLuint, GLsizei, const GLfloat *)"},
	glGetBufferPointerv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, void **)"},
	glGetError = {"GLenum (*)()"},
	glGenLists = {"GLuint (*)(GLsizei)", true},
	glGenFramebuffersOES = {"void (*)(GLsizei, GLuint *)"},
	glDrawArraysInstancedBaseInstanceEXT = {"void (*)(GL_LUA_ENUMS, GLint, GLsizei, GLsizei, GLuint)"},
	glBlendParameteriNV = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glDeleteRenderbuffersEXT = {"void (*)(GLsizei, const GLuint *)"},
	glFramebufferTextureLayer = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint, GLint)"},
	glGetUniformdv = {"void (*)(GLuint, GLint, GLdouble *)"},
	glCompressedTexSubImage1DARB = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLsizei, GL_LUA_ENUMS, GLsizei, const void *)"},
	glConvolutionParameteri = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glDrawTexxvOES = {"void (*)(const GLfixed *)"},
	glPixelTransferf = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glLoadTransposeMatrixxOES = {"void (*)(const GLfixed *)"},
	glProgramUniform1dEXT = {"void (*)(GLuint, GLint, GLdouble)"},
	glGetMapxvOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed *)"},
	glCompressedTexImage1D = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLint, GLsizei, const void *)"},
	glMakeNamedBufferNonResidentNV = {"void (*)(GLuint)"},
	glFramebufferTextureFaceEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint, GL_LUA_ENUMS)"},
	glGetProgramEnvParameterIuivNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint *)"},
	glBindBufferOffsetNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLintptr)"},
	glGetPixelTransformParameterfvEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glMultTransposeMatrixf = {"void (*)(const GLfloat *)"},
	glBindBufferRange = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLintptr, GLsizeiptr)"},
	glFragmentLightModelfvSGIX = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glFragmentLightModelfSGIX = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glFogxv = {"void (*)(GL_LUA_ENUMS, const GLfixed *)"},
	glListParameterfvSGIX = {"void (*)(GLuint, GL_LUA_ENUMS, const GLfloat *)"},
	glGetNamedBufferParameterivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glGetConvolutionParameterfvEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glVertexArrayMultiTexCoordOffsetEXT = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLintptr)"},
	glCoverStrokePathInstancedNV = {"void (*)(GLsizei, GL_LUA_ENUMS, const void *, GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glFogCoorddEXT = {"void (*)(GLdouble)"},
	glClearDepthx = {"void (*)(GLfixed)"},
	glIsImageHandleResidentARB = {"GLboolean (*)(GLuint64)"},
	glGenQueriesEXT = {"void (*)(GLsizei, GLuint *)"},
	glGetSamplerParameterIivOES = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glTextureRangeAPPLE = {"void (*)(GL_LUA_ENUMS, GLsizei, const void *)"},
	glExtGetRenderbuffersQCOM = {"void (*)(GLuint *, GLint, GLint *)"},
	glCompressedTextureSubImage2DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GLint, GLint, GLsizei, GLsizei, GL_LUA_ENUMS, GLsizei, const void *)"},
	glRenderbufferStorageEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glDrawElementsInstancedBaseVertexOES = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, const void *, GLsizei, GLint)"},
	glDrawRangeElementsBaseVertexOES = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLsizei, GL_LUA_ENUMS, const void *, GLint)"},
	glEndQueryIndexed = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glPixelTransferi = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glNormal3iv = {"void (*)(const GLint *)"},
	glGetTextureHandleARB = {"GLuint64 (*)(GLuint)"},
	glFogiv = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glFrustum = {"void (*)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glFramebufferTexture3DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint, GLint)"},
	glDrawElements = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, const void *)"},
	glObjectUnpurgeableAPPLE = {"GLenum (*)(GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS)"},
	glPopDebugGroup = {"void (*)()"},
	glNamedRenderbufferStorageMultisampleEXT = {"void (*)(GLuint, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glGetHandleARB = {"GLhandleARB (*)(GL_LUA_ENUMS)"},
	glNamedProgramStringEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, const void *)"},
	glNamedProgramLocalParametersI4ivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLsizei, const GLint *)"},
	glGetBooleanv = {"void (*)(GL_LUA_ENUMS, GLboolean *)"},
	glGetIntegerIndexedvEXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLint *)"},
	glEndTilingQCOM = {"void (*)(GLbitfield)"},
	glIsTransformFeedbackNV = {"GLboolean (*)(GLuint)"},
	glBinormal3dEXT = {"void (*)(GLdouble, GLdouble, GLdouble)"},
	glExtGetFramebuffersQCOM = {"void (*)(GLuint *, GLint, GLint *)"},
	glCopyTextureSubImage1DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei)"},
	glDebugMessageInsertARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLsizei, const GLchar *)"},
	glGetTextureImageEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, void *)"},
	glUniformMatrix3dv = {"void (*)(GLint, GLsizei, GLboolean, const GLdouble *)"},
	glGetLightiv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glGetActiveSubroutineUniformiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLint *)"},
	glDeleteTransformFeedbacksNV = {"void (*)(GLsizei, const GLuint *)"},
	glDeleteFencesAPPLE = {"void (*)(GLsizei, const GLuint *)"},
	glColor4d = {"void (*)(GLdouble, GLdouble, GLdouble, GLdouble)"},
	glNamedProgramLocalParametersI4uivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLsizei, const GLuint *)"},
	glPixelTexGenParameteriSGIS = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glGetMaterialiv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glColorMaskiOES = {"void (*)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean)"},
	glDrawTexsOES = {"void (*)(GLshort, GLshort, GLshort, GLshort, GLshort)"},
	glMultiTexSubImage1DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glPrimitiveBoundingBoxOES = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glGetPointervEXT = {"void (*)(GL_LUA_ENUMS, void **)"},
	glProgramUniform3dvEXT = {"void (*)(GLuint, GLint, GLsizei, const GLdouble *)"},
	glMatrixMultdEXT = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glGetVideoCaptureivNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glFragmentLightiSGIX = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glDrawTexivOES = {"void (*)(const GLint *)"},
	glDrawElementsBaseVertexEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, const void *, GLint)"},
	glHint = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glFinishObjectAPPLE = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glReadBufferNV = {"void (*)(GL_LUA_ENUMS)"},
	glPrioritizeTextures = {"void (*)(GLsizei, const GLuint *, const GLfloat *)"},
	glCreateSyncFromCLeventARB = {"GLsync (*)(struct _cl_context *, struct _cl_event *, GLbitfield)"},
	glGetPixelTexGenParameterfvSGIS = {"void (*)(GL_LUA_ENUMS, GLfloat *)"},
	glTexCoordPointerEXT = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei, GLsizei, const void *)"},
	glProgramEnvParameter4fvARB = {"void (*)(GL_LUA_ENUMS, GLuint, const GLfloat *)"},
	glCopyTexSubImage2DEXT = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)"},
	glEvalCoord2d = {"void (*)(GLdouble, GLdouble)"},
	glMultiTexEnvfvEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glClearBufferiv = {"void (*)(GL_LUA_ENUMS, GLint, const GLint *)"},
	glTextureColorMaskSGIS = {"void (*)(GLboolean, GLboolean, GLboolean, GLboolean)"},
	glDrawBuffers = {"void (*)(GLsizei, const GLenum *)"},
	glBindVertexArray = {"void (*)(GLuint)"},
	glDisableDriverControlQCOM = {"void (*)(GLuint)"},
	glGetMultiTexParameterIivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glEvalCoord1xOES = {"void (*)(GLfixed)"},
	glPrimitiveRestartIndex = {"void (*)(GLuint)"},
	glFramebufferTexture2DMultisampleIMG = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint, GLsizei)"},
	glPrimitiveRestartIndexNV = {"void (*)(GLuint)"},
	glGetTrackMatrixivNV = {"void (*)(GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLint *)"},
	glGetDebugMessageLogKHR = {"GLuint (*)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *)"},
	glGetVertexAttribIiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glVertex4d = {"void (*)(GLdouble, GLdouble, GLdouble, GLdouble)"},
	glBindFragmentShaderATI = {"void (*)(GLuint)"},
	glMultiTexCoord4fARB = {"void (*)(GL_LUA_ENUMS, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glDisableVertexArrayAttribEXT = {"void (*)(GLuint, GLuint)"},
	glColor4us = {"void (*)(GLushort, GLushort, GLushort, GLushort)"},
	glBufferSubData = {"void (*)(GL_LUA_ENUMS, GLintptr, GLsizeiptr, const void *)"},
	glGetDoublei_vEXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLdouble *)"},
	glUniform3ui = {"void (*)(GLint, GLuint, GLuint, GLuint)"},
	glMultiTexCoord4d = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glDrawTransformFeedbackStreamInstanced = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLsizei)"},
	glMultiTexCoord4bvOES = {"void (*)(GL_LUA_ENUMS, const GLbyte *)"},
	glRasterPos3f = {"void (*)(GLfloat, GLfloat, GLfloat)"},
	glDrawElementsInstancedBaseVertex = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, const void *, GLsizei, GLint)"},
	glBlendEquationOES = {"void (*)(GL_LUA_ENUMS)"},
	glMultiTexCoord3xvOES = {"void (*)(GL_LUA_ENUMS, const GLfixed *)"},
	glMultiTexCoord3xOES = {"void (*)(GL_LUA_ENUMS, GLfixed, GLfixed, GLfixed)"},
	glGenPerfMonitorsAMD = {"void (*)(GLsizei, GLuint *)"},
	glFramebufferParameteri = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glPixelMapfv = {"void (*)(GL_LUA_ENUMS, GLsizei, const GLfloat *)"},
	glBitmapxOES = {"void (*)(GLsizei, GLsizei, GLfixed, GLfixed, GLfixed, GLfixed, const GLubyte *)"},
	glMultiTexCoord3ivARB = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glMultiTexCoord3iv = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glBindFramebuffer = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glDrawElementsIndirect = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glMultiTexCoord3i = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint)"},
	glClearDepthfOES = {"void (*)(GLclampf)"},
	glMultiTexCoord3fvARB = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glFogCoorddvEXT = {"void (*)(const GLdouble *)"},
	glImageTransformParameterfvHP = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glDepthRangexOES = {"void (*)(GLfixed, GLfixed)"},
	glProgramUniform4ui64NV = {"void (*)(GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT, GLuint64EXT)"},
	glBlendEquationSeparateIndexedAMD = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glConvolutionParameterxvOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfixed *)"},
	glGetQueryObjecti64v = {"void (*)(GLuint, GL_LUA_ENUMS, GLint64 *)"},
	glCopyTexImage1DEXT = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLint, GLint, GLsizei, GLint)"},
	glColor3d = {"void (*)(GLdouble, GLdouble, GLdouble)"},
	glMultiTexCoord3dvARB = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glMultiTexCoord3dARB = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble, GLdouble)"},
	glNormalStream3bATI = {"void (*)(GL_LUA_ENUMS, GLbyte, GLbyte, GLbyte)"},
	glProgramUniformMatrix4fv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glLoadName = {"void (*)(GLuint)"},
	glBindTextures = {"void (*)(GLuint, GLsizei, const GLuint *)"},
	glGetIntegeri_vEXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLint *)"},
	glColor3ub = {"void (*)(GLubyte, GLubyte, GLubyte)"},
	glPolygonOffsetx = {"void (*)(GLfixed, GLfixed)"},
	glMultiTexParameteriEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glGetAttribLocationARB = {"GLint (*)(GLhandleARB, const GLcharARB *)"},
	glFragmentLightfSGIX = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat)"},
	glEnableVertexAttribAPPLE = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glEvalCoord2fv = {"void (*)(const GLfloat *)"},
	glMultiTexSubImage2DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLint, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glCopyTextureSubImage3D = {"void (*)(GLuint, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)"},
	glBegin = {"void (*)(GL_LUA_ENUMS)"},
	glSecondaryColor3s = {"void (*)(GLshort, GLshort, GLshort)"},
	glGetPixelTexGenParameterivSGIS = {"void (*)(GL_LUA_ENUMS, GLint *)"},
	glMultiTexCoord2bvOES = {"void (*)(GL_LUA_ENUMS, const GLbyte *)"},
	glDisableClientStateiEXT = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glMultiTexCoord2bOES = {"void (*)(GL_LUA_ENUMS, GLbyte, GLbyte)"},
	glDisableVertexArrayEXT = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glReadBuffer = {"void (*)(GL_LUA_ENUMS)"},
	glBindTextureEXT = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glMaterialx = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed)"},
	glGetnPolygonStippleARB = {"void (*)(GLsizei, GLubyte *)"},
	glColor4ubVertex3fvSUN = {"void (*)(const GLubyte *, const GLfloat *)"},
	glCompressedTextureImage1DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLint, GLsizei, const void *)"},
	glMultiTexCoord1fvARB = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glClipPlanefOES = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glMultiTexCoord1bvOES = {"void (*)(GL_LUA_ENUMS, const GLbyte *)"},
	glGetDriverControlStringQCOM = {"void (*)(GLuint, GLsizei, GLsizei *, GLchar *)"},
	glCombinerInputNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glReplacementCodePointerSUN = {"void (*)(GL_LUA_ENUMS, GLsizei, const void **)"},
	glGetColorTableSGI = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, void *)"},
	glVertexAttrib3dv = {"void (*)(GLuint, const GLdouble *)"},
	glMultiDrawElements = {"void (*)(GL_LUA_ENUMS, const GLsizei *, GL_LUA_ENUMS, const void *const*, GLsizei)"},
	glSamplePatternSGIS = {"void (*)(GL_LUA_ENUMS)"},
	glBeginTransformFeedbackNV = {"void (*)(GL_LUA_ENUMS)"},
	glGetPerfQueryDataINTEL = {"void (*)(GLuint, GLuint, GLsizei, GLvoid *, GLuint *)"},
	glCheckNamedFramebufferStatusEXT = {"GLenum (*)(GLuint, GL_LUA_ENUMS)"},
	glFramebufferReadBufferEXT = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glFragmentLightfvSGIX = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glVertexAttrib4s = {"void (*)(GLuint, GLshort, GLshort, GLshort, GLshort)"},
	glBindFramebufferOES = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glGetMaterialxOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed)"},
	glGetBufferParameteri64v = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint64 *)"},
	glCompressedTextureSubImage3DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GL_LUA_ENUMS, GLsizei, const void *)"},
	glEndVertexShaderEXT = {"void (*)()"},
	glBinormal3dvEXT = {"void (*)(const GLdouble *)"},
	glGenerateMipmapOES = {"void (*)(GL_LUA_ENUMS)"},
	glCompressedTextureImage3DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *)"},
	glCallList = {"void (*)(GLuint)"},
	glGetnTexImage = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *)"},
	glMatrixMode = {"void (*)(GL_LUA_ENUMS)"},
	glGetnMapdv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLdouble *)"},
	glGetMultiTexLevelParameterivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLint *)"},
	glMatrixLoadIdentityEXT = {"void (*)(GL_LUA_ENUMS)"},
	glInterleavedArrays = {"void (*)(GL_LUA_ENUMS, GLsizei, const void *)"},
	glCullParameterdvEXT = {"void (*)(GL_LUA_ENUMS, GLdouble *)"},
	glCompressedTexImage1DARB = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLint, GLsizei, const void *)"},
	glGetProgramivNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glGetVariantPointervEXT = {"void (*)(GLuint, GL_LUA_ENUMS, void **)"},
	glNormal3hNV = {"void (*)(GLhalfNV, GLhalfNV, GLhalfNV)"},
	glClearColorIiEXT = {"void (*)(GLint, GLint, GLint, GLint)"},
	glFragmentColorMaterialSGIX = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glEndPerfMonitorAMD = {"void (*)(GLuint)"},
	glPointParameterfv = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glInvalidateSubFramebuffer = {"void (*)(GL_LUA_ENUMS, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei)"},
	glGetVertexAttribLui64vNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint64EXT *)"},
	glBinormal3svEXT = {"void (*)(const GLshort *)"},
	glBlendEquationSeparateiARB = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glGetObjectPtrLabel = {"void (*)(const void *, GLsizei, GLsizei *, GLchar *)"},
	glVertexWeightfvEXT = {"void (*)(const GLfloat *)"},
	glProgramUniform1fvEXT = {"void (*)(GLuint, GLint, GLsizei, const GLfloat *)"},
	glMap1xOES = {"void (*)(GL_LUA_ENUMS, GLfixed, GLfixed, GLint, GLint, GLfixed)"},
	glMultiTexCoord4x = {"void (*)(GL_LUA_ENUMS, GLfixed, GLfixed, GLfixed, GLfixed)"},
	glMultiTexCoord2sv = {"void (*)(GL_LUA_ENUMS, const GLshort *)"},
	glGetnSeparableFilterARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *, GLsizei, void *, void *)"},
	glNamedRenderbufferStorageEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glCompressedTexImage2D = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLsizei, GLint, GLsizei, const void *)"},
	glSelectPerfMonitorCountersAMD = {"void (*)(GLuint, GLboolean, GLuint, GLint, GLuint *)"},
	glVertexAttribL3dv = {"void (*)(GLuint, const GLdouble *)"},
	glUseProgramObjectARB = {"void (*)(GLhandleARB)"},
	glMakeBufferNonResidentNV = {"void (*)(GL_LUA_ENUMS)"},
	glLoadMatrixxOES = {"void (*)(const GLfixed *)"},
	glListParameteriSGIX = {"void (*)(GLuint, GL_LUA_ENUMS, GLint)"},
	glGetNamedBufferSubData = {"void (*)(GLuint, GLintptr, GLsizeiptr, void *)"},
	glGetProgramLocalParameterIuivNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint *)"},
	glDeleteSamplers = {"void (*)(GLsizei, const GLuint *)"},
	glVertexAttrib4NubvARB = {"void (*)(GLuint, const GLubyte *)"},
	glColor3us = {"void (*)(GLushort, GLushort, GLushort)"},
	glDrawRangeElements = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLsizei, GL_LUA_ENUMS, const void *)"},
	glNamedFramebufferDrawBuffer = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glVertexAttrib1s = {"void (*)(GLuint, GLshort)"},
	glCompressedMultiTexImage3DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *)"},
	glBindBufferBaseNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint)"},
	glGetPathColorGenfvNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glColor4hNV = {"void (*)(GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV)"},
	glLightModelxOES = {"void (*)(GL_LUA_ENUMS, GLfixed)"},
	glVertexAttrib1dARB = {"void (*)(GLuint, GLdouble)"},
	glFragmentMaterialfSGIX = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat)"},
	glPopClientAttrib = {"void (*)()"},
	glMultTransposeMatrixd = {"void (*)(const GLdouble *)"},
	glEnableiNV = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glCompressedMultiTexSubImage3DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GL_LUA_ENUMS, GLsizei, const void *)"},
	glGetPathCoordsNV = {"void (*)(GLuint, GLfloat *)"},
	glIsTextureHandleResidentARB = {"GLboolean (*)(GLuint64)"},
	glGenBuffers = {"void (*)(GLsizei, GLuint *)", true},
	glGetShaderPrecisionFormat = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *, GLint *)"},
	glCullParameterfvEXT = {"void (*)(GL_LUA_ENUMS, GLfloat *)"},
	glSampleMaskSGIS = {"void (*)(GLclampf, GLboolean)"},
	glNamedRenderbufferStorage = {"void (*)(GLuint, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glUniform4i = {"void (*)(GLint, GLint, GLint, GLint, GLint)"},
	glGetActiveAtomicCounterBufferiv = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLint *)"},
	glVertexAttribL4dv = {"void (*)(GLuint, const GLdouble *)"},
	glBindBuffersRange = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizeiptr *)"},
	glProgramUniformMatrix4x3fvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glVertexAttribL1dv = {"void (*)(GLuint, const GLdouble *)"},
	glBufferParameteriAPPLE = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glVertexAttrib1dvNV = {"void (*)(GLuint, const GLdouble *)"},
	glObjectPurgeableAPPLE = {"GLenum (*)(GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS)"},
	glAlphaFragmentOp2ATI = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)"},
	glIsFenceNV = {"GLboolean (*)(GLuint)"},
	glFramebufferTexture2DOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint)"},
	glGetQueryBufferObjectiv = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLintptr)"},
	glClearDepthf = {"void (*)(GLfloat)"},
	glFinishFenceAPPLE = {"void (*)(GLuint)"},
	glProgramParameter4fvNV = {"void (*)(GL_LUA_ENUMS, GLuint, const GLfloat *)"},
	glBindBufferARB = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glBeginPerfQueryINTEL = {"void (*)(GLuint)"},
	glProgramUniform4dv = {"void (*)(GLuint, GLint, GLsizei, const GLdouble *)"},
	glBlendFuncSeparateiOES = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glBinormalPointerEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, const void *)"},
	glTexRenderbufferNV = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glGetPointerv = {"void (*)(GL_LUA_ENUMS, void **)"},
	glGetBufferParameterui64vNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint64EXT *)"},
	glDepthRangefOES = {"void (*)(GLclampf, GLclampf)"},
	glIsSyncAPPLE = {"GLboolean (*)(GLsync)"},
	glSecondaryColor3fv = {"void (*)(const GLfloat *)"},
	glClientAttribDefaultEXT = {"void (*)(GLbitfield)"},
	glGetActiveUniform = {"void (*)(GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *)"},
	glProgramUniform4fvEXT = {"void (*)(GLuint, GLint, GLsizei, const GLfloat *)"},
	glConvolutionParameterivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glBindRenderbuffer = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glBindVideoCaptureStreamTextureNV = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glGetProgramLocalParameterdvARB = {"void (*)(GL_LUA_ENUMS, GLuint, GLdouble *)"},
	glColorSubTable = {"void (*)(GL_LUA_ENUMS, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glDetailTexFuncSGIS = {"void (*)(GL_LUA_ENUMS, GLsizei, const GLfloat *)"},
	glTexFilterFuncSGIS = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, const GLfloat *)"},
	glBlendColor = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat)"},
	glCopyMultiTexSubImage1DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei)"},
	glNormal3sv = {"void (*)(const GLshort *)"},
	glCopyTexImage2DEXT = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLint, GLint, GLsizei, GLsizei, GLint)"},
	glFlushMappedBufferRangeEXT = {"void (*)(GL_LUA_ENUMS, GLintptr, GLsizeiptr)"},
	glPassTexCoordATI = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS)"},
	glIndexFuncEXT = {"void (*)(GL_LUA_ENUMS, GLclampf)"},
	glBeginVertexShaderEXT = {"void (*)()"},
	glGetFragmentMaterialivSGIX = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glGetDebugMessageLogAMD = {"GLuint (*)(GLuint, GLsizei, GLenum *, GLuint *, GLuint *, GLsizei *, GLchar *)"},
	glListParameterfSGIX = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat)"},
	glEndTransformFeedback = {"void (*)()"},
	glCopyColorTableSGI = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLsizei)"},
	glDrawArraysInstancedBaseInstance = {"void (*)(GL_LUA_ENUMS, GLint, GLsizei, GLsizei, GLuint)"},
	glCopyTextureSubImage2DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)"},
	glGetPathDashArrayNV = {"void (*)(GLuint, GLfloat *)"},
	glGetnUniformuivKHR = {"void (*)(GLuint, GLint, GLsizei, GLuint *)"},
	glCopyMultiTexSubImage3DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)"},
	glGetnColorTableARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *)"},
	glGetProgramEnvParameterdvARB = {"void (*)(GL_LUA_ENUMS, GLuint, GLdouble *)"},
	glGetIntegerv = {"void (*)(GL_LUA_ENUMS, GLint *)"},
	glGetnUniformfvARB = {"void (*)(GLuint, GLint, GLsizei, GLfloat *)"},
	glGetConvolutionParameterxvOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed *)"},
	glMultiTexCoord4i = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint)"},
	glDrawArrays = {"void (*)(GL_LUA_ENUMS, GLint, GLsizei)"},
	glColorTableParameterivSGI = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glFogxvOES = {"void (*)(GL_LUA_ENUMS, const GLfixed *)"},
	glGetFragmentLightfvSGIX = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glDepthRange = {"void (*)(GLdouble, GLdouble)"},
	glFramebufferRenderbufferOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glClipPlanexIMG = {"void (*)(GL_LUA_ENUMS, const GLfixed *)"},
	glProgramLocalParameter4dARB = {"void (*)(GL_LUA_ENUMS, GLuint, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glGetnPixelMapusv = {"void (*)(GL_LUA_ENUMS, GLsizei, GLushort *)"},
	glGetFramebufferAttachmentParameterivOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glVertexAttrib4ubv = {"void (*)(GLuint, const GLubyte *)"},
	glDrawElementsInstancedANGLE = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, const void *, GLsizei)"},
	glGetActiveVaryingNV = {"void (*)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *)"},
	glSwizzleEXT = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glNamedFramebufferTextureLayer = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLint, GLint)"},
	glRasterPos2xOES = {"void (*)(GLfixed, GLfixed)"},
	glRenderbufferStorageMultisampleANGLE = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glGetInstrumentsSGIX = {"GLint (*)()"},
	glVertexP4ui = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glMultiTexCoord1dv = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glGetRenderbufferParameterivOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glMultiTexGendEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLdouble)"},
	glClearBufferfv = {"void (*)(GL_LUA_ENUMS, GLint, const GLfloat *)"},
	glWindowPos2f = {"void (*)(GLfloat, GLfloat)"},
	glGetInvariantBooleanvEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLboolean *)"},
	glMultiTexRenderbufferEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glProgramParameteriARB = {"void (*)(GLuint, GL_LUA_ENUMS, GLint)"},
	glVertexArrayBindingDivisor = {"void (*)(GLuint, GLuint, GLuint)"},
	glDeleteProgramsNV = {"void (*)(GLsizei, const GLuint *)"},
	glStencilThenCoverFillPathNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS)"},
	glDrawElementsInstancedNV = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, const void *, GLsizei)"},
	glTexSubImage3DOES = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glFramebufferTexture1DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint)"},
	glGetVertexAttribdvNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLdouble *)"},
	glGetVertexAttribLdvEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLdouble *)"},
	glGetShaderiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glGetPointeri_vEXT = {"void (*)(GL_LUA_ENUMS, GLuint, void **)"},
	glGetNamedProgramLocalParameterdvEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLdouble *)"},
	glMultiTexCoord3dv = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glGetTextureLevelParameterivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLint *)"},
	glBinormal3ivEXT = {"void (*)(const GLint *)"},
	glVertexPointer = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glGetVaryingLocationNV = {"GLint (*)(GLuint, const GLchar *)"},
	glStencilFillPathNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint)"},
	glBindLightParameterEXT = {"GLuint (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glMatrixRotatefEXT = {"void (*)(GL_LUA_ENUMS, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glTexParameterxvOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfixed *)"},
	glConvolutionParameteriv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glIsObjectBufferATI = {"GLboolean (*)(GLuint)"},
	glGetUniformOffsetEXT = {"GLintptr (*)(GLuint, GLint)"},
	glGetTexParameterPointervAPPLE = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, void **)"},
	glPatchParameteriEXT = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glMapBuffer = {"void *(*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glGetGraphicsResetStatusKHR = {"GLenum (*)()"},
	glDeletePerfQueryINTEL = {"void (*)(GLuint)"},
	glGetProgramPipelineInfoLog = {"void (*)(GLuint, GLsizei, GLsizei *, GLchar *)"},
	glGetProgramPipelineInfoLogEXT = {"void (*)(GLuint, GLsizei, GLsizei *, GLchar *)"},
	glWindowPos2dMESA = {"void (*)(GLdouble, GLdouble)"},
	glGetProgramResourcefvNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei *, GLfloat *)"},
	glPopAttrib = {"void (*)()"},
	glMultiTexEnviEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glGetVertexAttribdvARB = {"void (*)(GLuint, GL_LUA_ENUMS, GLdouble *)"},
	glNamedRenderbufferStorageMultisampleCoverageEXT = {"void (*)(GLuint, GLsizei, GLsizei, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glGetTextureLevelParameterfvEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLfloat *)"},
	glGetTexParameterIiv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glBindFragDataLocation = {"void (*)(GLuint, GLuint, const GLchar *)"},
	glGetColorTableParameterfvEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glGetCompressedTextureSubImage = {"void (*)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, void *)"},
	glDepthFunc = {"void (*)(GL_LUA_ENUMS)"},
	glGetProgramEnvParameterfvARB = {"void (*)(GL_LUA_ENUMS, GLuint, GLfloat *)"},
	glAlphaFuncx = {"void (*)(GL_LUA_ENUMS, GLfixed)"},
	glGetTextureHandleNV = {"GLuint64 (*)(GLuint)"},
	glLineStipple = {"void (*)(GLint, GLushort)"},
	glGetNamedBufferPointerv = {"void (*)(GLuint, GL_LUA_ENUMS, void **)"},
	glGetTexGenfvOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glGetGraphicsResetStatus = {"GLenum (*)()"},
	glColorPointer = {"void (*)(GLint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glGetQueryObjectivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glColor4bv = {"void (*)(const GLbyte *)"},
	glCompressedMultiTexImage2DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLsizei, GLint, GLsizei, const void *)"},
	glGetQueryObjectuivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint *)"},
	glGetProgramResourceIndex = {"GLuint (*)(GLuint, GL_LUA_ENUMS, const GLchar *)"},
	glGetMinmax = {"void (*)(GL_LUA_ENUMS, GLboolean, GL_LUA_ENUMS, GL_LUA_ENUMS, void *)"},
	glGetSamplerParameterIuiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint *)"},
	glPointParameterxOES = {"void (*)(GL_LUA_ENUMS, GLfixed)"},
	glGetSamplerParameterIiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glVertexAttrib4sNV = {"void (*)(GLuint, GLshort, GLshort, GLshort, GLshort)"},
	glRasterPos4i = {"void (*)(GLint, GLint, GLint, GLint)"},
	glSamplerParameterIuiv = {"void (*)(GLuint, GL_LUA_ENUMS, const GLuint *)"},
	glProgramUniform1f = {"void (*)(GLuint, GLint, GLfloat)"},
	glClearBufferfi = {"void (*)(GL_LUA_ENUMS, GLint, GLfloat, GLint)"},
	glGetSeparableFilterEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, void *, void *, void *)"},
	glProgramUniform3fv = {"void (*)(GLuint, GLint, GLsizei, const GLfloat *)"},
	glGetStringi = {"const GLubyte *(*)(GL_LUA_ENUMS, GLuint)"},
	glVertexAttrib4NubARB = {"void (*)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte)"},
	glGetTexBumpParameterfvATI = {"void (*)(GL_LUA_ENUMS, GLfloat *)"},
	glGetTextureParameterIuiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint *)"},
	glCopyTexSubImage1DEXT = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei)"},
	glPixelMapuiv = {"void (*)(GL_LUA_ENUMS, GLsizei, const GLuint *)"},
	glClearIndex = {"void (*)(GLfloat)"},
	glCopyTextureSubImage1D = {"void (*)(GLuint, GLint, GLint, GLint, GLint, GLsizei)"},
	glGetTexGenivOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glEnableVertexArrayAttrib = {"void (*)(GLuint, GLuint)"},
	glGetTexParameteriv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glLoadMatrixx = {"void (*)(const GLfixed *)"},
	glBindImageTextureEXT = {"void (*)(GLuint, GLuint, GLint, GLboolean, GLint, GL_LUA_ENUMS, GLint)"},
	glTexGenxOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed)"},
	glClearColorx = {"void (*)(GLfixed, GLfixed, GLfixed, GLfixed)"},
	glGetVertexAttribfvARB = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat *)"},
	glIsQueryARB = {"GLboolean (*)(GLuint)"},
	glClearNamedFramebufferfi = {"void (*)(GLuint, GL_LUA_ENUMS, const GLfloat, GLint)"},
	glTexGenf = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat)"},
	glGetFramebufferAttachmentParameteriv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glMultiTexCoord1d = {"void (*)(GL_LUA_ENUMS, GLdouble)"},
	glGetFragmentLightivSGIX = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glGetTransformFeedbackVaryingNV = {"void (*)(GLuint, GLuint, GLint *)"},
	glIsNamedBufferResidentNV = {"GLboolean (*)(GLuint)"},
	glGetTransformFeedbackiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glVertexArrayVertexBindingDivisorEXT = {"void (*)(GLuint, GLuint, GLuint)"},
	glGetSamplerParameterIuivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint *)"},
	glInsertEventMarkerEXT = {"void (*)(GLsizei, const GLchar *)"},
	glFlushMappedNamedBufferRange = {"void (*)(GLuint, GLintptr, GLsizeiptr)"},
	glGetnUniformdvARB = {"void (*)(GLuint, GLint, GLsizei, GLdouble *)"},
	glGetUniformuivEXT = {"void (*)(GLuint, GLint, GLuint *)"},
	glTexCoord2fColor4ubVertex3fSUN = {"void (*)(GLfloat, GLfloat, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat)"},
	glIndexPointer = {"void (*)(GL_LUA_ENUMS, GLsizei, const void *)"},
	glEndTransformFeedbackNV = {"void (*)()"},
	glIsAsyncMarkerSGIX = {"GLboolean (*)(GLuint)"},
	glGetVertexArrayIndexed64iv = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLint64 *)"},
	glGetVertexArrayIndexediv = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLint *)"},
	glGetVertexArrayIntegeri_vEXT = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLint *)"},
	glTextureParameteriEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glDispatchComputeIndirect = {"void (*)(GLintptr)"},
	glColorTableParameterfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glGetVertexAttribArrayObjectivATI = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glGetVertexAttribIuivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint *)"},
	glGenProgramsNV = {"void (*)(GLsizei, GLuint *)"},
	glEndQueryARB = {"void (*)(GL_LUA_ENUMS)"},
	glBindRenderbufferOES = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glProgramUniformMatrix2x3dvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glFogCoordFormatNV = {"void (*)(GL_LUA_ENUMS, GLsizei)"},
	glIndexs = {"void (*)(GLshort)"},
	glAlphaFuncxOES = {"void (*)(GL_LUA_ENUMS, GLfixed)"},
	glGetVideoCaptureStreamfvNV = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLfloat *)"},
	glVertexP3uiv = {"void (*)(GL_LUA_ENUMS, const GLuint *)"},
	glInvalidateNamedFramebufferData = {"void (*)(GLuint, GLsizei, const GLenum *)"},
	glNamedProgramLocalParameterI4iEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLint, GLint, GLint, GLint)"},
	glBeginVideoCaptureNV = {"void (*)(GLuint)"},
	glUniform1i64NV = {"void (*)(GLint, GLint64EXT)"},
	glGetSyncivAPPLE = {"void (*)(GLsync, GL_LUA_ENUMS, GLsizei, GLsizei *, GLint *)"},
	glGetnMapdvARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLdouble *)"},
	glGetnMapfvARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLfloat *)"},
	glNormalStream3fATI = {"void (*)(GL_LUA_ENUMS, GLfloat, GLfloat, GLfloat)"},
	glGetProgramResourceiv = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei *, GLint *)"},
	glRasterPos4xOES = {"void (*)(GLfixed, GLfixed, GLfixed, GLfixed)"},
	glFogf = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glGetnPixelMapuivARB = {"void (*)(GL_LUA_ENUMS, GLsizei, GLuint *)"},
	glBindVertexBuffers = {"void (*)(GLuint, GLsizei, const GLuint *, const GLintptr *, const GLsizei *)"},
	glGetQueryIndexediv = {"void (*)(GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLint *)"},
	glGetnMinmaxARB = {"void (*)(GL_LUA_ENUMS, GLboolean, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *)"},
	glGetConvolutionFilter = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, void *)"},
	glGetUniformivARB = {"void (*)(GLhandleARB, GLint, GLint *)"},
	glColor4s = {"void (*)(GLshort, GLshort, GLshort, GLshort)"},
	glDepthRangeArrayv = {"void (*)(GLuint, GLsizei, const GLdouble *)"},
	glGetGraphicsResetStatusARB = {"GLenum (*)()"},
	glGetnUniformfvEXT = {"void (*)(GLuint, GLint, GLsizei, GLfloat *)"},
	glGetnUniformivKHR = {"void (*)(GLuint, GLint, GLsizei, GLint *)"},
	glGetnUniformuiv = {"void (*)(GLuint, GLint, GLsizei, GLuint *)"},
	glMatrixLoadTransposedEXT = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glGlobalAlphaFactorbSUN = {"void (*)(GLbyte)"},
	glGlobalAlphaFactorubSUN = {"void (*)(GLubyte)"},
	glHintPGI = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glGetVertexAttribfv = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat *)"},
	glDepthBoundsEXT = {"void (*)(GLclampd, GLclampd)"},
	glClearNamedFramebufferfv = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, const GLfloat *)"},
	glLightfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glBindVertexArrayAPPLE = {"void (*)(GLuint)"},
	glFragmentLightModelivSGIX = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glIndexPointerEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, GLsizei, const void *)"},
	glCopyMultiTexSubImage2DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)"},
	glGetPerfMonitorCountersAMD = {"void (*)(GLuint, GLint *, GLint *, GLsizei, GLuint *)"},
	glGetMinmaxEXT = {"void (*)(GL_LUA_ENUMS, GLboolean, GL_LUA_ENUMS, GL_LUA_ENUMS, void *)"},
	glDebugMessageEnableAMD = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, const GLuint *, GLboolean)"},
	glIndexub = {"void (*)(GLubyte)"},
	glIndexubv = {"void (*)(const GLubyte *)"},
	glProgramUniform4uiv = {"void (*)(GLuint, GLint, GLsizei, const GLuint *)"},
	glGetnColorTable = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *)"},
	glProgramUniform1ui64NV = {"void (*)(GLuint, GLint, GLuint64EXT)"},
	glGetTexGenxvOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed *)"},
	glGetPerfMonitorCounterStringAMD = {"void (*)(GLuint, GLuint, GLsizei, GLsizei *, GLchar *)"},
	glInvalidateFramebuffer = {"void (*)(GL_LUA_ENUMS, GLsizei, const GLenum *)"},
	glGetObjectLabel = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, GLsizei *, GLchar *)"},
	glVertex3d = {"void (*)(GLdouble, GLdouble, GLdouble)"},
	glGetVertexAttribfvNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLfloat *)"},
	glIsEnabledi = {"GLboolean (*)(GL_LUA_ENUMS, GLuint)"},
	glIsEnablediOES = {"GLboolean (*)(GL_LUA_ENUMS, GLuint)"},
	glIsEnablediNV = {"GLboolean (*)(GL_LUA_ENUMS, GLuint)"},
	glBlendFunciEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glInitNames = {"void (*)()"},
	glBindBufferBaseEXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint)"},
	glTransformFeedbackBufferBase = {"void (*)(GLuint, GLuint, GLuint)"},
	glMultiDrawElementsBaseVertex = {"void (*)(GL_LUA_ENUMS, const GLsizei *, GL_LUA_ENUMS, const void *const*, GLsizei, const GLint *)"},
	glGetNamedProgramLocalParameterIivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLint *)"},
	glProgramUniform4iv = {"void (*)(GLuint, GLint, GLsizei, const GLint *)"},
	glIsPointInStrokePathNV = {"GLboolean (*)(GLuint, GLfloat, GLfloat)"},
	glMapTexture2DINTEL = {"void *(*)(GLuint, GLint, GLbitfield, GLint *, GLenum *)"},
	glProgramEnvParameter4dvARB = {"void (*)(GL_LUA_ENUMS, GLuint, const GLdouble *)"},
	glTexGeniv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glBindTextureUnit = {"void (*)(GLuint, GLuint)"},
	glMultiDrawRangeElementArrayAPPLE = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, const GLint *, const GLsizei *, GLsizei)"},
	glNormalP3uiv = {"void (*)(GL_LUA_ENUMS, const GLuint *)"},
	glCopyTexSubImage3D = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)"},
	glIsRenderbuffer = {"GLboolean (*)(GLuint)"},
	glCopyBufferSubData = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLintptr, GLintptr, GLsizeiptr)"},
	glReadnPixelsEXT = {"void (*)(GLint, GLint, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *)"},
	glNormalP3ui = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glRasterPos2xvOES = {"void (*)(const GLfixed *)"},
	glLightModeli = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glPixelTexGenParameterfSGIS = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glCopyImageSubDataOES = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLuint, GL_LUA_ENUMS, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei)"},
	glEndOcclusionQueryNV = {"void (*)()"},
	glColor3fVertex3fSUN = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glIsVertexArrayOES = {"GLboolean (*)(GLuint)"},
	glBindVertexArrayOES = {"void (*)(GLuint)"},
	glBlitFramebuffer = {"void (*)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GL_LUA_ENUMS)"},
	glCreatePerfQueryINTEL = {"void (*)(GLuint, GLuint *)"},
	glMultiTexCoord4sARB = {"void (*)(GL_LUA_ENUMS, GLshort, GLshort, GLshort, GLshort)"},
	glTangentPointerEXT = {"void (*)(GL_LUA_ENUMS, GLsizei, const void *)"},
	glCombinerParameterfvNV = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glLineWidth = {"void (*)(GLfloat)"},
	glNamedFramebufferReadBuffer = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glEndVideoCaptureNV = {"void (*)(GLuint)"},
	glGetObjectPtrLabelKHR = {"void (*)(const void *, GLsizei, GLsizei *, GLchar *)"},
	glRectxvOES = {"void (*)(const GLfixed *, const GLfixed *)"},
	glResetMinmax = {"void (*)(GL_LUA_ENUMS)"},
	glMultiTexCoordPointerEXT = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, const void *)"},
	glGetDebugMessageLogARB = {"GLuint (*)(GLuint, GLsizei, GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *)"},
	glDeleteProgramPipelinesEXT = {"void (*)(GLsizei, const GLuint *)"},
	glGetDoublev = {"void (*)(GL_LUA_ENUMS, GLdouble *)"},
	glMultiTexCoord2fARB = {"void (*)(GL_LUA_ENUMS, GLfloat, GLfloat)"},
	glLoadMatrixf = {"void (*)(const GLfloat *)"},
	glBlitFramebufferNV = {"void (*)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GL_LUA_ENUMS)"},
	glNormal3xvOES = {"void (*)(const GLfixed *)"},
	glMakeImageHandleNonResidentNV = {"void (*)(GLuint64)"},
	glMakeImageHandleResidentARB = {"void (*)(GLuint64, GL_LUA_ENUMS)"},
	glMakeTextureHandleNonResidentARB = {"void (*)(GLuint64)"},
	glGetnPixelMapfv = {"void (*)(GL_LUA_ENUMS, GLsizei, GLfloat *)"},
	glUniform2f = {"void (*)(GLint, GLfloat, GLfloat)"},
	glDepthRangeArrayfvNV = {"void (*)(GLuint, GLsizei, const GLfloat *)"},
	glPathGlyphIndexRangeNV = {"GLenum (*)(GL_LUA_ENUMS, const void *, GLbitfield, GLuint, GLfloat, GLuint)"},
	glDisablei = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glGetnHistogramARB = {"void (*)(GL_LUA_ENUMS, GLboolean, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *)"},
	glGetShaderSourceARB = {"void (*)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *)"},
	glBindMaterialParameterEXT = {"GLuint (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glGetUniformui64vNV = {"void (*)(GLuint, GLint, GLuint64EXT *)"},
	glMultiTexEnvivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glEnable = {"void (*)(GL_LUA_ENUMS)"},
	glVertexPointerListIBM = {"void (*)(GLint, GL_LUA_ENUMS, GLint, const void **, GLint)"},
	glMaterialxv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfixed *)"},
	glMapVertexAttrib2fAPPLE = {"void (*)(GLuint, GLuint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *)"},
	glRasterPos2fv = {"void (*)(const GLfloat *)"},
	glClearBufferData = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glColorP3uiv = {"void (*)(GL_LUA_ENUMS, const GLuint *)"},
	glDrawArraysInstancedANGLE = {"void (*)(GL_LUA_ENUMS, GLint, GLsizei, GLsizei)"},
	glProgramUniform3uiv = {"void (*)(GLuint, GLint, GLsizei, const GLuint *)"},
	glMatrixIndexuivARB = {"void (*)(GLint, const GLuint *)"},
	glMatrixIndexusvARB = {"void (*)(GLint, const GLushort *)"},
	glGenTransformFeedbacks = {"void (*)(GLsizei, GLuint *)", true},
	glSetLocalConstantEXT = {"void (*)(GLuint, GL_LUA_ENUMS, const void *)"},
	glGetMaterialxv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed *)"},
	glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = {"void (*)(const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *)"},
	glUniformMatrix2dv = {"void (*)(GLint, GLsizei, GLboolean, const GLdouble *)"},
	glVertex2hNV = {"void (*)(GLhalfNV, GLhalfNV)"},
	glGetMultiTexEnvivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glGetProgramLocalParameterfvARB = {"void (*)(GL_LUA_ENUMS, GLuint, GLfloat *)"},
	glMemoryBarrierByRegion = {"void (*)(GLbitfield)"},
	glProgramUniform1i64vNV = {"void (*)(GLuint, GLint, GLsizei, const GLint64EXT *)"},
	glProgramUniformMatrix2x4dv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glMinmaxEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLboolean)"},
	glVertex2bOES = {"void (*)(GLbyte, GLbyte)"},
	glIsFenceAPPLE = {"GLboolean (*)(GLuint)"},
	glGetVertexAttribivARB = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glExtGetShadersQCOM = {"void (*)(GLuint *, GLint, GLint *)"},
	glMakeTextureHandleNonResidentNV = {"void (*)(GLuint64)"},
	glConvolutionFilter1DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glMultiDrawArraysEXT = {"void (*)(GL_LUA_ENUMS, const GLint *, const GLsizei *, GLsizei)"},
	glUniform2fv = {"void (*)(GLint, GLsizei, const GLfloat *)"},
	glPathFogGenNV = {"void (*)(GL_LUA_ENUMS)"},
	glFlushMappedNamedBufferRangeEXT = {"void (*)(GLuint, GLintptr, GLsizeiptr)"},
	glMultiDrawElementsIndirect = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const void *, GLsizei, GLsizei)"},
	glTexEnviv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glGetListParameterivSGIX = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glGenFencesNV = {"void (*)(GLsizei, GLuint *)"},
	glPrimitiveBoundingBoxEXT = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glFragmentMaterialfvSGIX = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glMultiTexCoord1iv = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glGetColorTableParameterfvSGI = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glDrawPixels = {"void (*)(GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glMultiTexCoord1bOES = {"void (*)(GL_LUA_ENUMS, GLbyte)"},
	glRasterPos2f = {"void (*)(GLfloat, GLfloat)"},
	glMultiTexCoord4xOES = {"void (*)(GL_LUA_ENUMS, GLfixed, GLfixed, GLfixed, GLfixed)"},
	glMultiTexCoord1ivARB = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glMultiTexCoord1sARB = {"void (*)(GL_LUA_ENUMS, GLshort)"},
	glMultiTexCoord1svARB = {"void (*)(GL_LUA_ENUMS, const GLshort *)"},
	glColor4ubVertex2fSUN = {"void (*)(GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat)"},
	glPixelStoref = {"void (*)(GL_LUA_ENUMS, GLfloat)"},
	glFenceSync = {"GLsync (*)(GL_LUA_ENUMS, GLbitfield)"},
	glMultiTexCoord2dARB = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble)"},
	glProgramUniformMatrix3x2dvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glMultiTexCoord2dvARB = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glMultiTexCoord2fv = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glTextureParameterfv = {"void (*)(GLuint, GL_LUA_ENUMS, const GLfloat *)"},
	glTextureViewOES = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLuint, GLuint, GLuint, GLuint)"},
	glMultiTexCoord2iARB = {"void (*)(GL_LUA_ENUMS, GLint, GLint)"},
	glVertexAttrib4iv = {"void (*)(GLuint, const GLint *)"},
	glMultiTexCoord2sARB = {"void (*)(GL_LUA_ENUMS, GLshort, GLshort)"},
	glDrawTexfOES = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glGetnMapivARB = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLint *)"},
	glMultiTexCoord2xOES = {"void (*)(GL_LUA_ENUMS, GLfixed, GLfixed)"},
	glMultiTexCoord3bOES = {"void (*)(GL_LUA_ENUMS, GLbyte, GLbyte, GLbyte)"},
	glFrustumx = {"void (*)(GLfixed, GLfixed, GLfixed, GLfixed, GLfixed, GLfixed)"},
	glMateriali = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glDrawArraysIndirect = {"void (*)(GL_LUA_ENUMS, const void *)"},
	glMultiTexCoord3f = {"void (*)(GL_LUA_ENUMS, GLfloat, GLfloat, GLfloat)"},
	glEdgeFlagv = {"void (*)(const GLboolean *)"},
	glWeightbvARB = {"void (*)(GLint, const GLbyte *)"},
	glDrawTransformFeedbackNV = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glMultiTexCoord3hvNV = {"void (*)(GL_LUA_ENUMS, const GLhalfNV *)"},
	glEvalCoord1dv = {"void (*)(const GLdouble *)"},
	glCreateShaderProgramvEXT = {"GLuint (*)(GL_LUA_ENUMS, GLsizei, const GLchar **)"},
	glVertexAttribI1ivEXT = {"void (*)(GLuint, const GLint *)"},
	glQueryCounterEXT = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glRasterPos3d = {"void (*)(GLdouble, GLdouble, GLdouble)"},
	glProgramSubroutineParametersuivNV = {"void (*)(GL_LUA_ENUMS, GLsizei, const GLuint *)"},
	glLighti = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glDeleteVertexArrays = {"void (*)(GLsizei, const GLuint *)"},
	glMultiTexCoord3svARB = {"void (*)(GL_LUA_ENUMS, const GLshort *)"},
	glProgramPathFragmentInputGenNV = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLint, const GLfloat *)"},
	glEvalCoord2f = {"void (*)(GLfloat, GLfloat)"},
	glBeginQueryARB = {"void (*)(GL_LUA_ENUMS, GLuint)"},
	glGetProgramPipelineivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glGetArrayObjectivATI = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint *)"},
	glDebugMessageCallbackKHR = {"void (*)(GLDEBUGPROCKHR, const void *)"},
	glMultiTexCoord4dvARB = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glRasterPos4fv = {"void (*)(const GLfloat *)"},
	glMultiTexCoord4fvARB = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glGetObjectBufferivATI = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glMultiTexCoord4iARB = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint)"},
	glMultiTexCoord4ivARB = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glLightf = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat)"},
	glGetVideoivNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLint *)"},
	glTexCoord4fColor4fNormal3fVertex4fSUN = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glMultiTexCoord4svARB = {"void (*)(GL_LUA_ENUMS, const GLshort *)"},
	glTexCoord2fColor4fNormal3fVertex3fSUN = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat)"},
	glColor4xvOES = {"void (*)(const GLfixed *)"},
	glLoadTransposeMatrixf = {"void (*)(const GLfloat *)"},
	glRenderbufferStorage = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLsizei)"},
	glCoverStrokePathNV = {"void (*)(GLuint, GL_LUA_ENUMS)"},
	glCopyMultiTexImage2DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLint, GLint, GLsizei, GLsizei, GLint)"},
	glMultiTexGendvEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLdouble *)"},
	glMultiTexGenfEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat)"},
	glTexCoord3d = {"void (*)(GLdouble, GLdouble, GLdouble)"},
	glMultiTexImage3DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glMultiTexParameterIuivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLuint *)"},
	glNormal3xOES = {"void (*)(GLfixed, GLfixed, GLfixed)"},
	glAreTexturesResident = {"GLboolean (*)(GLsizei, const GLuint *, GLboolean *)"},
	glMultiTexParameterivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glProgramUniform1i = {"void (*)(GLuint, GLint, GLint)"},
	glProgramEnvParameterI4uivNV = {"void (*)(GL_LUA_ENUMS, GLuint, const GLuint *)"},
	glLightx = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfixed)"},
	glBlendFuncSeparateiARB = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glVideoCaptureStreamParameterivNV = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, const GLint *)"},
	glNamedBufferData = {"void (*)(GLuint, GLsizeiptr, const void *, GL_LUA_ENUMS)"},
	glClearDepthxOES = {"void (*)(GLfixed)"},
	glFragmentMaterialivSGIX = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLint *)"},
	glNormalStream3iATI = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint)"},
	glVertex4bvOES = {"void (*)(const GLbyte *)"},
	glCompressedMultiTexImage1DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLint, GLsizei, const void *)"},
	glColorFragmentOp3ATI = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)"},
	glEvalCoord2xOES = {"void (*)(GLfixed, GLfixed)"},
	glAlphaFragmentOp3ATI = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)"},
	glRasterPos3s = {"void (*)(GLshort, GLshort, GLshort)"},
	glNamedFramebufferTexture2DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint)"},
	glProgramLocalParameter4dvARB = {"void (*)(GL_LUA_ENUMS, GLuint, const GLdouble *)"},
	glCurrentPaletteMatrixOES = {"void (*)(GLuint)"},
	glGetTextureSubImage = {"void (*)(GLuint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *)"},
	glTagSampleBufferSGIX = {"void (*)()"},
	glNamedProgramLocalParameter4fvEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, const GLfloat *)"},
	glNamedProgramLocalParameterI4ivEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, const GLint *)"},
	glCompressedTexImage3DARB = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *)"},
	glGenerateMultiTexMipmapEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS)"},
	glImportSyncEXT = {"GLsync (*)(GL_LUA_ENUMS, GLintptr, GLbitfield)"},
	glMap2f = {"void (*)(GL_LUA_ENUMS, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *)"},
	glMultiTexCoord3sv = {"void (*)(GL_LUA_ENUMS, const GLshort *)"},
	glGetMultiTexParameterIuivEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint *)"},
	glBindSampler = {"void (*)(GLuint, GLuint)"},
	glMapGrid2d = {"void (*)(GLint, GLdouble, GLdouble, GLint, GLdouble, GLdouble)"},
	glWindowPos2dvMESA = {"void (*)(const GLdouble *)"},
	glGetProgramBinaryOES = {"void (*)(GLuint, GLsizei, GLsizei *, GLenum *, void *)"},
	glWaitSync = {"void (*)(GLsync, GLbitfield, GLuint64)"},
	glGetPerfMonitorCounterDataAMD = {"void (*)(GLuint, GL_LUA_ENUMS, GLsizei, GLuint *, GLint *)"},
	glFlushRasterSGIX = {"void (*)()"},
	glCompressedTextureSubImage1DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLint, GLint, GLsizei, GL_LUA_ENUMS, GLsizei, const void *)"},
	glGetVertexAttribdv = {"void (*)(GLuint, GL_LUA_ENUMS, GLdouble *)"},
	glNormalPointerListIBM = {"void (*)(GL_LUA_ENUMS, GLint, const void **, GLint)"},
	glMultiDrawArraysIndirectBindlessCountNV = {"void (*)(GL_LUA_ENUMS, const void *, GLsizei, GLsizei, GLsizei, GLint)"},
	glNormalStream3bvATI = {"void (*)(GL_LUA_ENUMS, const GLbyte *)"},
	glProgramUniformMatrix3fv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glNormalStream3dvATI = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glNormalStream3fvATI = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glNormalStream3ivATI = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glMultiTexCoord2svARB = {"void (*)(GL_LUA_ENUMS, const GLshort *)"},
	glColor3bv = {"void (*)(const GLbyte *)"},
	glGetInternalformativ = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLint *)"},
	glMultiTexCoord1hNV = {"void (*)(GL_LUA_ENUMS, GLhalfNV)"},
	glListParameterivSGIX = {"void (*)(GLuint, GL_LUA_ENUMS, const GLint *)"},
	glLoadTransposeMatrixdARB = {"void (*)(const GLdouble *)"},
	glMultiTexImage2DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLsizei, GLsizei, GLint, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glEdgeFlagPointerListIBM = {"void (*)(GLint, const GLboolean **, GLint)"},
	glPathColorGenNV = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glGetnMapiv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLint *)"},
	glProgramUniform1d = {"void (*)(GLuint, GLint, GLdouble)"},
	glPathGlyphsNV = {"void (*)(GLuint, GL_LUA_ENUMS, const void *, GLbitfield, GLsizei, GL_LUA_ENUMS, const void *, GL_LUA_ENUMS, GLuint, GLfloat)"},
	glClearColorIuiEXT = {"void (*)(GLuint, GLuint, GLuint, GLuint)"},
	glIsVertexArrayAPPLE = {"GLboolean (*)(GLuint)"},
	glPathParameterfvNV = {"void (*)(GLuint, GL_LUA_ENUMS, const GLfloat *)"},
	glMultiTexCoord3sARB = {"void (*)(GL_LUA_ENUMS, GLshort, GLshort, GLshort)"},
	glMultiTexCoordP4ui = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint)"},
	glDrawBuffersATI = {"void (*)(GLsizei, const GLenum *)"},
	glPixelStorei = {"void (*)(GL_LUA_ENUMS, GLint)"},
	glPointAlongPathNV = {"GLboolean (*)(GLuint, GLsizei, GLsizei, GLfloat, GLfloat *, GLfloat *, GLfloat *, GLfloat *)"},
	glPixelTexGenParameterfvSGIS = {"void (*)(GL_LUA_ENUMS, const GLfloat *)"},
	glMapGrid1f = {"void (*)(GLint, GLfloat, GLfloat)"},
	glIndexiv = {"void (*)(const GLint *)"},
	glDeleteSyncAPPLE = {"void (*)(GLsync)"},
	glProgramUniform4dEXT = {"void (*)(GLuint, GLint, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glGetTexParameterIuiv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint *)"},
	glPixelTransformParameterfvEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glFogx = {"void (*)(GL_LUA_ENUMS, GLfixed)"},
	glMultiTexCoord4dARB = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glMultiTexCoord2xvOES = {"void (*)(GL_LUA_ENUMS, const GLfixed *)"},
	glStencilThenCoverFillPathInstancedNV = {"void (*)(GLsizei, GL_LUA_ENUMS, const void *, GLuint, GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfloat *)"},
	glVertex4fv = {"void (*)(const GLfloat *)"},
	glPointSizePointerOES = {"void (*)(GL_LUA_ENUMS, GLsizei, const void *)"},
	glVertex3fv = {"void (*)(const GLfloat *)"},
	glPolygonOffsetEXT = {"void (*)(GLfloat, GLfloat)"},
	glMultiTexCoord3bvOES = {"void (*)(GL_LUA_ENUMS, const GLbyte *)"},
	glGetNamedStringARB = {"void (*)(GLint, const GLchar *, GLsizei, GLint *, GLchar *)"},
	glCopyTexImage1D = {"void (*)(GL_LUA_ENUMS, GLint, GL_LUA_ENUMS, GLint, GLint, GLsizei, GLint)"},
	glVertex4f = {"void (*)(GLfloat, GLfloat, GLfloat, GLfloat)"},
	glEvalMesh2 = {"void (*)(GL_LUA_ENUMS, GLint, GLint, GLint, GLint)"},
	glGetProgramSubroutineParameteruivNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLuint *)"},
	glNormal3hvNV = {"void (*)(const GLhalfNV *)"},
	glDeleteFencesNV = {"void (*)(GLsizei, const GLuint *)"},
	glVertex2fv = {"void (*)(const GLfloat *)"},
	glConvolutionFilter2D = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLsizei, GL_LUA_ENUMS, GL_LUA_ENUMS, const void *)"},
	glProgramEnvParametersI4ivNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLint *)"},
	glNamedFramebufferTexture3DEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint, GLint)"},
	glDrawElementsInstancedBaseVertexBaseInstance = {"void (*)(GL_LUA_ENUMS, GLsizei, GL_LUA_ENUMS, const void *, GLsizei, GLint, GLuint)"},
	glProgramLocalParameters4fvEXT = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLfloat *)"},
	glProgramLocalParametersI4ivNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLsizei, const GLint *)"},
	glGetnMapfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, GLfloat *)"},
	glMapVertexAttrib1dAPPLE = {"void (*)(GLuint, GLuint, GLdouble, GLdouble, GLint, GLint, const GLdouble *)"},
	glCopyConvolutionFilter1DEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint, GLint, GLsizei)"},
	glBindSamplers = {"void (*)(GLuint, GLsizei, const GLuint *)"},
	glColor3hvNV = {"void (*)(const GLhalfNV *)"},
	glFreeObjectBufferATI = {"void (*)(GLuint)"},
	glMap2d = {"void (*)(GL_LUA_ENUMS, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *)"},
	glPointParameterx = {"void (*)(GL_LUA_ENUMS, GLfixed)"},
	glGetTexGenfv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLfloat *)"},
	glMapGrid2xOES = {"void (*)(GLint, GLfixed, GLfixed, GLfixed, GLfixed)"},
	glProgramUniform1iEXT = {"void (*)(GLuint, GLint, GLint)"},
	glProgramUniform1ivEXT = {"void (*)(GLuint, GLint, GLsizei, const GLint *)"},
	glTexCoord1hNV = {"void (*)(GLhalfNV)"},
	glProgramUniform1uiEXT = {"void (*)(GLuint, GLint, GLuint)"},
	glProgramUniform1uivEXT = {"void (*)(GLuint, GLint, GLsizei, const GLuint *)"},
	glFramebufferTextureOES = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLuint, GLint)"},
	glProgramUniform2dvEXT = {"void (*)(GLuint, GLint, GLsizei, const GLdouble *)"},
	glProgramUniform2fEXT = {"void (*)(GLuint, GLint, GLfloat, GLfloat)"},
	glTexEnvxv = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const GLfixed *)"},
	glDebugMessageCallback = {"void (*)(GLDEBUGPROC, const void *)"},
	glProgramUniform2i64NV = {"void (*)(GLuint, GLint, GLint64EXT, GLint64EXT)"},
	glProgramUniform2i64vNV = {"void (*)(GLuint, GLint, GLsizei, const GLint64EXT *)"},
	glProgramUniform2iEXT = {"void (*)(GLuint, GLint, GLint, GLint)"},
	glConvolutionParameteriEXT = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, GLint)"},
	glRequestResidentProgramsNV = {"void (*)(GLsizei, const GLuint *)"},
	glSampleCoverageOES = {"void (*)(GLfixed, GLboolean)"},
	glExtGetBufferPointervQCOM = {"void (*)(GL_LUA_ENUMS, void **)"},
	glProgramUniform2uivEXT = {"void (*)(GLuint, GLint, GLsizei, const GLuint *)"},
	glProgramUniform3dEXT = {"void (*)(GLuint, GLint, GLdouble, GLdouble, GLdouble)"},
	glProgramUniform3fEXT = {"void (*)(GLuint, GLint, GLfloat, GLfloat, GLfloat)"},
	glLightModeliv = {"void (*)(GL_LUA_ENUMS, const GLint *)"},
	glSecondaryColor3ui = {"void (*)(GLuint, GLuint, GLuint)"},
	glProgramUniform3i64vNV = {"void (*)(GLuint, GLint, GLsizei, const GLint64EXT *)"},
	glTextureParameterIiv = {"void (*)(GLuint, GL_LUA_ENUMS, const GLint *)"},
	glGetnHistogram = {"void (*)(GL_LUA_ENUMS, GLboolean, GL_LUA_ENUMS, GL_LUA_ENUMS, GLsizei, void *)"},
	glProgramUniform3ui64NV = {"void (*)(GLuint, GLint, GLuint64EXT, GLuint64EXT, GLuint64EXT)"},
	glProgramUniform3ui64vNV = {"void (*)(GLuint, GLint, GLsizei, const GLuint64EXT *)"},
	glProgramUniform3uiEXT = {"void (*)(GLuint, GLint, GLuint, GLuint, GLuint)"},
	glProgramUniform3uivEXT = {"void (*)(GLuint, GLint, GLsizei, const GLuint *)"},
	glPolygonOffsetxOES = {"void (*)(GLfixed, GLfixed)"},
	glMultMatrixx = {"void (*)(const GLfixed *)"},
	glProgramUniform4i64NV = {"void (*)(GLuint, GLint, GLint64EXT, GLint64EXT, GLint64EXT, GLint64EXT)"},
	glNewObjectBufferATI = {"GLuint (*)(GLsizei, const void *, GL_LUA_ENUMS)"},
	glProgramUniform4iEXT = {"void (*)(GLuint, GLint, GLint, GLint, GLint, GLint)"},
	glProgramUniform4ivEXT = {"void (*)(GLuint, GLint, GLsizei, const GLint *)"},
	glProgramUniformMatrix2dvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glProgramUniformMatrix2fvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glActiveShaderProgram = {"void (*)(GLuint, GLuint)"},
	glProgramUniformMatrix2x3fvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glProgramParameter4dNV = {"void (*)(GL_LUA_ENUMS, GLuint, GLdouble, GLdouble, GLdouble, GLdouble)"},
	glProgramUniformMatrix2x4fv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glTextureViewEXT = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GL_LUA_ENUMS, GLuint, GLuint, GLuint, GLuint)"},
	glMultiDrawElementsIndirectAMD = {"void (*)(GL_LUA_ENUMS, GL_LUA_ENUMS, const void *, GLsizei, GLsizei)"},
	glProgramUniformMatrix3fvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glGetQueryBufferObjectuiv = {"void (*)(GLuint, GLuint, GL_LUA_ENUMS, GLintptr)"},
	glMultiTexCoord2dv = {"void (*)(GL_LUA_ENUMS, const GLdouble *)"},
	glProgramUniformMatrix3x2fv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glProgramUniformMatrix3x2fvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glGetTextureLevelParameterfv = {"void (*)(GLuint, GLint, GL_LUA_ENUMS, GLfloat *)"},
	glProgramUniformMatrix3x4fvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glGetVideoui64vNV = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint64EXT *)"},
	glNamedBufferSubData = {"void (*)(GLuint, GLintptr, GLsizeiptr, const void *)"},
	glProgramUniformMatrix4x2fvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glProgramUniformMatrix4x3dvEXT = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLdouble *)"},
	glProgramUniformMatrix4x3fv = {"void (*)(GLuint, GLint, GLsizei, GLboolean, const GLfloat *)"},
	glProgramUniformui64NV = {"void (*)(GLuint, GLint, GLuint64EXT)"},
	glIsSync = {"GLboolean (*)(GLsync)"},
	glGetActiveSubroutineUniformName = {"void (*)(GLuint, GL_LUA_ENUMS, GLuint, GLsizei, GLsizei *, GLchar *)"},
	glRasterPos3xvOES = {"void (*)(const GLfixed *)"},
	wglSwapIntervalEXT = {"void (*)(GLint)"},
	glTextureBarrier = {"void (*)()"},
}


function gl.Initialize(get_proc_address)
	if type(get_proc_address) == "function" then
		gl.GetProcAddress = get_proc_address
	end

	for name, info in pairs(functions) do
		local ptr = gl.GetProcAddress(name)
		if ptr ~= nil then
			local ok, func = pcall(ffi.cast, info[1], ptr)
			if ok then
				gl[name:sub(3)] = func
				if info[2] then
					gl[name:sub(3, -2)] = function()
						local id = ffi.new('GLint[1]')
						func(1, id)
						return id[0]
					end
				end
			end
		end
	end

	if not gl.TextureBarrier then
		gl.TextureBarrier = gl.TextureBarrierNV
	end

	local function __tostring(self)
		return ("gl_%s[%i]"):format(self.Type, self.id)
	end

	do -- VertexArray
		do
			local META = {}
			META.__index = META

			META.Type = "vertex_array_dsa"
			META.__tostring = __tostring

			function META:ElementBuffer(buffer)
				return gl.VertexArrayElementBuffer(self.id, buffer)
			end
			function META:DisableAttrib(index)
				return gl.DisableVertexArrayAttrib(self.id, index)
			end
			function META:AttribFormat(attribindex, size, type, normalized, relativeoffset)
				return gl.VertexArrayAttribFormat(self.id, attribindex, size, type, normalized, relativeoffset)
			end
			function META:AttribLFormat(attribindex, size, type, relativeoffset)
				return gl.VertexArrayAttribLFormat(self.id, attribindex, size, type, relativeoffset)
			end
			function META:AttribPointer2(attribindex, size, type, normalized, stride, relativeoffset)
				gl.BindVertexArray(self.id) return gl.VertexAttribPointer(attribindex, size, type, normalized, relativeoffset, ffi.cast("void*", stride))
			end
			function META:GetIndexediv(index, pname, param)
				return gl.GetVertexArrayIndexediv(self.id, index, pname, param)
			end
			function META:AttribIFormat(attribindex, size, type, relativeoffset)
				return gl.VertexArrayAttribIFormat(self.id, attribindex, size, type, relativeoffset)
			end
			function META:AttribBinding(attribindex, bindingindex)
				return gl.VertexArrayAttribBinding(self.id, attribindex, bindingindex)
			end
			function META:VertexBuffers(first, count, buffers, offsets, strides)
				return gl.VertexArrayVertexBuffers(self.id, first, count, buffers, offsets, strides)
			end
			function META:BindingDivisor(bindingindex, divisor)
				return gl.VertexArrayBindingDivisor(self.id, bindingindex, divisor)
			end
			function META:EnableAttrib(index)
				return gl.EnableVertexArrayAttrib(self.id, index)
			end
			function META:Getiv(pname, param)
				return gl.GetVertexArrayiv(self.id, pname, param)
			end
			function META:GetIndexed64iv(index, pname, param)
				return gl.GetVertexArrayIndexed64iv(self.id, index, pname, param)
			end
			function META:VertexBuffer(bindingindex, buffer, offset, stride)
				return gl.VertexArrayVertexBuffer(self.id, bindingindex, buffer, offset, stride)
			end
			local ctype = ffi.typeof('struct { int id; }')
			ffi.metatype(ctype, META)
			function META:Delete()
				gl.DeleteVertexArrays(1, ffi.new('GLuint[1]', self.id))
			end
			function gl.CreateVertexArray()
				local temp = ffi.new("GLuint[1]")
				gl.CreateVertexArrays(1, temp)
				local self = ffi.new(ctype)
				self.id = temp[0]
				return self
			end
		end
		do
			local META = {}
			META.__index = META

			META.Type = "vertex_array_no_dsa"
			META.__tostring = __tostring

			local bind
			do
				local last
				function bind(self)
					if self ~= last then
						gl.BindVertexArray(self.id)
					end
					last = self
				end
			end
			function META:ElementBuffer(buffer)
				bind(self) return gl.BindBuffer("GL_ELEMENT_ARRAY_BUFFER", buffer)
			end
			function META:DisableAttrib(index)
				bind(self) return gl.DisableVertexAttrib(index)
			end
			function META:AttribFormat(attribindex, size, type, normalized, relativeoffset)
				bind(self) return gl.VertexAttribFormat(attribindex, size, type, normalized, relativeoffset)
			end
			function META:AttribLFormat(attribindex, size, type, relativeoffset)
				bind(self) return gl.VertexAttribLFormat(attribindex, size, type, relativeoffset)
			end
			function META:AttribPointer(attribindex, size, type, normalized, relativeoffset, pointer)
				bind(self) return gl.VertexAttribPointer(attribindex, size, type, relativeoffset, pointer)
			end
			function META:AttribPointer2(attribindex, size, type, normalized, stride, relativeoffset)
				bind(self) return gl.VertexAttribPointer(attribindex, size, type, normalized, relativeoffset, ffi.cast("void*", stride))
			end
			function META:GetIndexediv(index, pname, param)
				bind(self) return gl.GetVertexIndexediv(index, pname, param)
			end
			function META:AttribIFormat(attribindex, size, type, relativeoffset)
				bind(self) return gl.VertexAttribIFormat(attribindex, size, type, relativeoffset)
			end
			function META:AttribBinding(attribindex, bindingindex)
				bind(self) return gl.VertexAttribBinding(attribindex, bindingindex)
			end
			function META:VertexBuffers(first, count, buffers, offsets, strides)
				bind(self) return gl.VertexVertexBuffers(first, count, buffers, offsets, strides)
			end
			function META:BindingDivisor(bindingindex, divisor)
				bind(self) return gl.VertexBindingDivisor(bindingindex, divisor)
			end
			function META:EnableAttrib(index)
				bind(self) return gl.EnableVertexAttribArray(index)
			end
			function META:Getiv(pname, param)
				bind(self) return gl.GetVertexiv(pname, param)
			end
			function META:GetIndexed64iv(index, pname, param)
				bind(self) return gl.GetVertexIndexed64iv(index, pname, param)
			end
			function META:VertexBuffer(bindingindex, buffer, offset, stride)
				bind(self) return gl.BindVertexBuffer(bindingindex, buffer, offset, stride)
			end
			local ctype = ffi.typeof('struct { int id; }')
			ffi.metatype(ctype, META)
			function META:Delete()
				gl.DeleteVertexArrays(1, ffi.new('GLuint[1]', self.id))
			end
			function gl.CreateVertexArrayNODSA()
				local self = setmetatable({}, META)
				self.id = gl.GenVertexArray()
				return self
			end
		end

		if GL_ARB_direct_state_access == false or not gl.CreateVertexArrays then
			gl.CreateVertexArray = gl.CreateVertexArrayNODSA
		end
	end
	do -- Framebuffer
		do
			local META = {}
			META.__index = META

			META.Type = "framebuffer_dsa"
			META.__tostring = __tostring

			function META:Bind(target)
				return gl.BindFramebuffer(target, self.id)
			end
			function META:ReadBuffer(src)
				return gl.NamedFramebufferReadBuffer(self.id, src)
			end
			function META:DrawBuffers(n, bufs)
				return gl.NamedFramebufferDrawBuffers(self.id, n, bufs)
			end
			function META:GetAttachmentParameteriv(attachment, pname, params)
				return gl.GetNamedFramebufferAttachmentParameteriv(self.id, attachment, pname, params)
			end
			function META:Clearfi(buffer, depth, stencil)
				return gl.ClearNamedFramebufferfi(self.id, buffer, depth, stencil)
			end
			function META:Clearuiv(buffer, drawbuffer, value)
				return gl.ClearNamedFramebufferuiv(self.id, buffer, drawbuffer, value)
			end
			function META:Texture3D(attachment, textarget, texture, level, zoffset)
				return gl.NamedFramebufferTexture3DEXT(self.id, attachment, textarget, texture, level, zoffset)
			end
			function META:CheckStatus(target)
				return gl.CheckNamedFramebufferStatus(self.id, target)
			end
			function META:Blit(drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter)
				return gl.BlitNamedFramebuffer(self.id, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter)
			end
			function META:Clearfv(buffer, drawbuffer, value)
				return gl.ClearNamedFramebufferfv(self.id, buffer, drawbuffer, value)
			end
			function META:CheckStatusEXT(target)
				return gl.CheckNamedFramebufferStatusEXT(self.id, target)
			end
			function META:RenderbufferEXT(attachment, renderbuffertarget, renderbuffer)
				return gl.NamedFramebufferRenderbufferEXT(self.id, attachment, renderbuffertarget, renderbuffer)
			end
			function META:TextureLayer(attachment, texture, level, layer)
				return gl.NamedFramebufferTextureLayer(self.id, attachment, texture, level, layer)
			end
			function META:SetParameteri(pname, param)
				return gl.NamedFramebufferParameteri(self.id, pname, param)
			end
			function META:Texture2D(attachment, textarget, texture, level)
				return gl.NamedFramebufferTexture2D(self.id, attachment, textarget, texture, level)
			end
			function META:DrawBuffersEXT(n, bufs)
				return gl.FramebufferDrawBuffersEXT(self.id, n, bufs)
			end
			function META:Texture(attachment, texture, level)
				return gl.NamedFramebufferTexture(self.id, attachment, texture, level)
			end
			function META:GetParameterivEXT(pname, params)
				return gl.GetFramebufferParameterivEXT(self.id, pname, params)
			end
			function META:ParameteriEXT(pname, param)
				return gl.NamedFramebufferParameteriEXT(self.id, pname, param)
			end
			function META:GetAttachmentParameterivEXT(attachment, pname, params)
				return gl.GetNamedFramebufferAttachmentParameterivEXT(self.id, attachment, pname, params)
			end
			function META:ReadBufferEXT(mode)
				return gl.FramebufferReadBufferEXT(self.id, mode)
			end
			function META:TextureFace(attachment, texture, level, face)
				return gl.NamedFramebufferTextureFaceEXT(self.id, attachment, texture, level, face)
			end
			function META:TextureLayerEXT(attachment, texture, level, layer)
				return gl.NamedFramebufferTextureLayerEXT(self.id, attachment, texture, level, layer)
			end
			function META:Renderbuffer(attachment, renderbuffer)
				return gl.NamedFramebufferRenderbuffer(self.id, attachment, "GL_RENDERBUFFER", renderbuffer)
			end
			function META:CreateFramebuffers(framebuffers)
				return gl.CreateFramebuffers(self.id, framebuffers)
			end
			function META:Cleariv(buffer, drawbuffer, value)
				return gl.ClearNamedFramebufferiv(self.id, buffer, drawbuffer, value)
			end
			function META:InvalidateData(numAttachments, attachments)
				return gl.InvalidateNamedFramebufferData(self.id, numAttachments, attachments)
			end
			function META:Texture1D(attachment, textarget, texture, level)
				return gl.NamedFramebufferTexture1DEXT(self.id, attachment, textarget, texture, level)
			end
			function META:InvalidateSubData(numAttachments, attachments, x, y, width, height)
				return gl.InvalidateNamedFramebufferSubData(self.id, numAttachments, attachments, x, y, width, height)
			end
			function META:DrawBuffer(buf)
				return gl.NamedFramebufferDrawBuffer(self.id, buf)
			end
			function META:GetParameteriv(pname, param)
				return gl.GetNamedFramebufferParameteriv(self.id, pname, param)
			end
			function META:TextureEXT(attachment, texture, level)
				return gl.NamedFramebufferTextureEXT(self.id, attachment, texture, level)
			end
			function META:DrawBufferEXT(mode)
				return gl.FramebufferDrawBufferEXT(self.id, mode)
			end
			local ctype = ffi.typeof('struct { int id; }')
			ffi.metatype(ctype, META)
			function META:Delete()
				gl.DeleteFramebuffers(1, ffi.new('GLuint[1]', self.id))
			end
			function gl.CreateFramebuffer(id)
				if id then
					local self = ffi.new(ctype)
					self.id = id
					return self
				else
					local temp = ffi.new("GLuint[1]")
					gl.CreateFramebuffers(1, temp)
					local self = ffi.new(ctype)
					self.id = temp[0]
					return self
				end
			end
		end

		do
			local META = {}
			META.__index = META

			META.Type = "framebuffer_no_dsa"
			META.__tostring = __tostring

			local bind
			do
				local last
				local last_target
				function bind(self, target)
					if self.id ~= last or target ~= last_target then
						gl.BindFramebuffer(target, self.id)
					end
					last = self.id
					last_target = target
				end
				local func = gl.BindFramebuffer
				function gl.BindFramebuffer(target, id)
					if id ~= last or target ~= last_target then
						func(target, id)
					end
					last = id
					last_target = target
				end
			end
			function META:Bind(target)
				gl.BindFramebuffer(target, self.id)
			end
			function META:DrawBuffers(n, bufs)
				bind(self, "GL_FRAMEBUFFER") gl.DrawBuffers(n, bufs)
			end
			function META:DrawBuffer(mode)
				bind(self, "GL_FRAMEBUFFER") gl.DrawBuffer(mode)
			end
			function META:ReadBuffer(mode)
				bind(self, "GL_FRAMEBUFFER") gl.ReadBuffer(mode)
			end
			function META:GetAttachmentParameteriv(target, attachment, pname, params)
				bind(self, target) return gl.GetFramebufferAttachmentParameteriv(target, attachment, pname, params)
			end
			function META:Texture3D(target, attachment, textarget, texture, level, zoffset)
				bind(self, target) return gl.FramebufferTexture3DEXT(target, attachment, textarget, texture, level, zoffset)
			end
			function META:CheckStatus(target)
				bind(self, target) return gl.CheckFramebufferStatus(target)
			end
			function META:Blit(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter)
				bind(self, "GL_FRAMEBUFFER") return gl.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter)
			end
			function META:CheckStatusEXT(target)
				bind(self, target) return gl.CheckFramebufferStatusEXT(target)
			end
			function META:RenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer)
				bind(self, target) return gl.FramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer)
			end
			function META:TextureLayer(attachment, texture, level, layer)
				bind(self, "GL_FRAMEBUFFER") return gl.FramebufferTextureLayer("GL_FRAMEBUFFER", attachment, texture, level, layer)
			end
			function META:SetParameteri(target, pname, param)
				bind(self, target) return gl.FramebufferParameteri(target, pname, param)
			end
			function META:Texture2D(attachment, textarget, texture, level)
				bind(self, "GL_FRAMEBUFFER") return gl.FramebufferTexture2DEXT("GL_FRAMEBUFFER", attachment, textarget, texture, level)
			end
			function META:DrawBuffersEXT(n, bufs)
				bind(self, "GL_FRAMEBUFFER") return gl.FramebufferDrawBuffersEXT(self.id, n, bufs)
			end
			function META:Texture(attachment, texture, level, target)
				--bind(self, "GL_FRAMEBUFFER") return gl.FramebufferTexture("GL_FRAMEBUFFER", attachment, texture, level)
				bind(self, "GL_FRAMEBUFFER") return gl.FramebufferTexture2D("GL_FRAMEBUFFER", attachment, target or "GL_TEXTURE_2D", texture, level)
			end
			function META:GetParameterivEXT(pname, params)
				bind(self, "GL_FRAMEBUFFER") return gl.GetFramebufferParameterivEXT(self.id, pname, params)
			end
			function META:GetAttachmentParameterivEXT(target, attachment, pname, params)
				bind(self, target) return gl.GetFramebufferAttachmentParameterivEXT(target, attachment, pname, params)
			end
			function META:ReadBufferEXT(mode)
				bind(self, "GL_FRAMEBUFFER") return gl.FramebufferReadBufferEXT(self.id, mode)
			end
			function META:TextureFace(target, attachment, texture, level, face)
				bind(self, target) return gl.FramebufferTextureFaceEXT(target, attachment, texture, level, face)
			end
			function META:TextureLayerEXT(target, attachment, texture, level, layer)
				bind(self, target) return gl.FramebufferTextureLayerEXT(target, attachment, texture, level, layer)
			end
			function META:Renderbuffer(attachment, renderbuffer)
				bind(self, "GL_FRAMEBUFFER") return gl.FramebufferRenderbuffer("GL_FRAMEBUFFER", attachment, "GL_RENDERBUFFER", renderbuffer)
			end
			function META:Texture1D(target, attachment, textarget, texture, level)
				bind(self, target) return gl.FramebufferTexture1DEXT(target, attachment, textarget, texture, level)
			end
			function META:GetParameteriv(target, pname, params)
				bind(self, target) return gl.GetFramebufferParameteriv(target, pname, params)
			end
			function META:TextureEXT(target, attachment, texture, level)
				bind(self, target) return gl.FramebufferTextureEXT(target, attachment, texture, level)
			end
			function META:DrawBufferEXT(mode)
				bind(self, "GL_FRAMEBUFFER") return gl.FramebufferDrawBufferEXT(self.id, mode)
			end
			function META:Cleariv(buffer, drawbuffer, value)
				bind(self, "GL_FRAMEBUFFER") gl.ClearBufferiv(buffer, drawbuffer, value)
			end
			function META:Clearuiv(buffer, drawbuffer, value)
				bind(self, "GL_FRAMEBUFFER") gl.ClearBufferuiv(buffer, drawbuffer, value)
			end
			function META:Clearfv(buffer, drawbuffer, value)
				bind(self, "GL_FRAMEBUFFER") gl.ClearBufferfv(buffer, drawbuffer, value)
			end
			function META:Clearfi(buffer, drawbuffer, depth, stencil)
				bind(self, "GL_FRAMEBUFFER") gl.ClearBufferfi(buffer, drawbuffer, depth, stencil)
			end
			local ctype = ffi.typeof('struct { int id; }')
			ffi.metatype(ctype, META)
			function META:Delete()
				gl.DeleteFramebuffers(1, ffi.new('GLuint[1]', self.id))
			end
			function gl.CreateFramebufferNODSA(id)
				local self = setmetatable({}, META)
				self.id = id or gl.GenFramebuffer()
				return self
			end
		end

		if GL_ARB_direct_state_access == false or not gl.CreateFramebuffers then
			gl.CreateFramebuffer = gl.CreateFramebufferNODSA
		end
	end
	do -- Buffer
		do
			local META = {}
			META.__index = META

			META.Type = "buffer_dsa"
			META.__tostring = __tostring

			function META:CreateBuffers(buffers)
				return gl.CreateBuffers(self.id, buffers)
			end
			function META:ClearData(internalformat, format, type, data)
				return gl.ClearNamedBufferData(self.id, internalformat, format, type, data)
			end
			function META:Data(size, data, usage)
				return gl.NamedBufferData(self.id, size, data, usage)
			end
			function META:Map(access)
				return gl.MapNamedBuffer(self.id, access)
			end
			function META:GetPointerv(pname, params)
				return gl.GetNamedBufferPointerv(self.id, pname, params)
			end
			function META:SetSubData(offset, size, data)
				return gl.NamedBufferSubData(self.id, offset, size, data)
			end
			function META:MapRange(offset, length, access)
				return gl.MapNamedBufferRange(self.id, offset, length, access)
			end
			function META:GetParameteri64v(pname, params)
				return gl.GetNamedBufferParameteri64v(self.id, pname, params)
			end
			function META:FlushMappedRange(offset, length)
				return gl.FlushMappedNamedBufferRange(self.id, offset, length)
			end
			function META:GetSubData(offset, size, data)
				return gl.GetNamedBufferSubData(self.id, offset, size, data)
			end
			function META:Storage(size, data, flags)
				return gl.NamedBufferStorage(self.id, size, data, flags)
			end
			function META:CopySubData(writeBuffer, readOffset, writeOffset, size)
				return gl.CopyNamedBufferSubData(self.id, writeBuffer, readOffset, writeOffset, size)
			end
			function META:GetParameteriv(pname, params)
				return gl.GetNamedBufferParameteriv(self.id, pname, params)
			end
			function META:ClearSubData(internalformat, offset, size, format, type, data)
				return gl.ClearNamedBufferSubData(self.id, internalformat, offset, size, format, type, data)
			end
			function META:Unmap()
				return gl.UnmapNamedBuffer(self.id)
			end
			local ctype = ffi.typeof('struct { int id; }')
			ffi.metatype(ctype, META)
			function META:Delete()
				gl.DeleteBuffers(1, ffi.new('GLuint[1]', self.id))
			end
			function gl.CreateBuffer()
				local temp = ffi.new("GLuint[1]")
				gl.CreateBuffers(1, temp)
				local self = ffi.new(ctype)
				self.id = temp[0]
				return self
			end
		end
		do
			local META = {}
			META.__index = META

			META.Type = "buffer_no_dsa"
			META.__tostring = __tostring

			local bind
			do
				local last
				function bind(self)
					if self ~= last then
						gl.BindBuffer(self.target, self.id)
					end
					last = self
				end
			end
			function META:Bind()
				bind(self)
			end
			function META:ClearData(internalformat, format, type, data)
				bind(self) return gl.ClearBufferData(self.target, internalformat, format, type, data)
			end
			function META:Data(size, data, usage)
				bind(self) return gl.BufferData(self.target, size, data, usage)
			end
			function META:Map(access)
				bind(self) return gl.MapBuffer(self.target, access)
			end
			function META:GetPointerv(pname, params)
				bind(self) return gl.GetBufferPointerv(self.target, pname, params)
			end
			function META:SetSubData(offset, size, data)
				bind(self) return gl.BufferSubData(self.target, offset, size, data)
			end
			function META:MapRange(offset, length, access)
				bind(self) return gl.MapBufferRange(self.target, offset, length, access)
			end
			function META:GetParameteri64v(pname, params)
				bind(self) return gl.GetBufferParameteri64v(self.target, pname, params)
			end
			function META:FlushMappedRange(offset, length)
				bind(self) return gl.FlushMappedBufferRange(self.target, offset, length)
			end
			function META:GetSubData(offset, size, data)
				bind(self) return gl.GetBufferSubData(self.target, offset, size, data)
			end
			function META:Storage(size, data, flags)
				bind(self) return gl.BufferStorage(self.target, size, data, flags)
			end
			function META:CopySubData(readTarget, writeTarget, readOffset, writeOffset, size)
				bind(self) return gl.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size)
			end
			function META:GetParameteriv(pname, params)
				bind(self) return gl.GetBufferParameteriv(self.target, pname, params)
			end
			function META:ClearSubData(internalformat, offset, size, format, type, data)
				bind(self) return gl.ClearBufferSubData(self.target, internalformat, offset, size, format, type, data)
			end
			function META:Unmap()
				bind(self) return gl.UnmapBuffer(self.target)
			end
			local ctype = ffi.typeof('struct { int id; }')
			ffi.metatype(ctype, META)
			function META:Delete()
				gl.DeleteBuffers(1, ffi.new('GLuint[1]', self.id))
			end
			function gl.CreateBufferNODSA(target)
				local self = setmetatable({}, META)
				self.id = gl.GenBuffer()
				self.target = target -- non dsa specific
				return self
			end
		end
		if GL_ARB_direct_state_access == false or not gl.CreateBuffers then
			gl.CreateBuffer = gl.CreateBufferNODSA
		end
	end
	do -- ProgramPipeline
		do
			local META = {}
			META.__index = META

			META.Type = "program_pipeline_dsa"
			META.__tostring = __tostring

			local ctype = ffi.typeof('struct { int id; }')
			ffi.metatype(ctype, META)
			function META:Delete()
				gl.DeleteProgramPipelines(1, ffi.new('GLuint[1]', self.id))
			end
			function gl.CreateProgramPipeline()
				local temp = ffi.new("GLuint[1]")
				gl.CreateProgramPipelines(1, temp)
				local self = ffi.new(ctype)
				self.id = temp[0]
				return self
			end
		end
		do
			local META = {}
			META.__index = META

			META.Type = "program_pipeline_no_dsa"
			META.__tostring = __tostring

			local bind
			do
				local last
				function bind(self)
					if self ~= last then
						gl.BindProgramPipeline(self.id)
					end
					last = self
				end
			end
			local ctype = ffi.typeof('struct { int id; }')
			ffi.metatype(ctype, META)
			function META:Delete()
				gl.DeleteProgramPipelines(1, ffi.new('GLuint[1]', self.id))
			end
			function gl.CreateProgramPipelineNODSA()
				local self = setmetatable({}, META)
				self.id = gl.GenProgramPipeline()
				return self
			end
		end

		if GL_ARB_direct_state_access == false or not gl.CreateProgramPipelines then
			gl.CreateProgramPipeline = gl.CreateProgramPipelineNODSA
		end
	end
	do -- Program
		local META = {}
		META.__index = META

		META.Type = "program"
		META.__tostring = __tostring

		function META:AttachShader(shader) return gl.AttachShader(self.id, shader) end
		function META:DetachShader(shader) return gl.DetachShader(self.id, shader) end
		function META:Link() return gl.LinkProgram(self.id) end
		function META:Use() return gl.UseProgram(self.id) end
		function META:GetInfoLog(...) return gl.GetProgramInfoLog(self.id, ...) end
		function META:Parameteri(pname, value) return gl.ProgramParameteri(self.id, pname, value) end
		function META:UniformBlockBinding(blockindex, blockbinding) return gl.UniformBlockBinding(self.id, blockindex, blockbinding) end
		function META:ShaderStorageBlockBinding(blockindex, blockbinding) return gl.ShaderStorageBlockBinding(self.id, blockindex, blockbinding) end

		function META:Getiv(pname, params) return gl.GetProgramiv(self.id, pname, params) end
		function META:GetUniformLocation(name) return gl.GetUniformLocation(self.id, name) end
		function META:GetUniformBlockIndex(name) return gl.GetUniformBlockIndex(self.id, name) end

		function META:BindAttribLocation(index, name) return gl.BindAttribLocation(self.id, index, name) end

		function META:UniformHandleui64(location, value) return gl.ProgramUniformHandleui64ARB(self.id, location, value) end

		function META:GetInterface(interface, name, params) return gl.GetProgramInterfaceiv(self.id, interface, name, params) end
		function META:GetResource(interface, index, properties_count, properties, buffer_size, length, params)
			return gl.GetProgramResourceiv(self.id, interface, index, properties_count, properties, buffer_size, length, params)
		end
		function META:GetResourceName(interface, index, buffer_size, length, name)
			return gl.GetProgramResourceName(self.id, interface, index, buffer_size, length, name)
		end

		function META:GetResourceIndex(interface, name)
			return gl.GetProgramResourceIndex(self.id, interface, name)
		end

		for i = 1, 4 do
		for _, t in ipairs({"i", "f", "d"}) do
		for _, v in ipairs({"", "v"}) do
			local func_name = "ProgramUniform" .. i .. t .. v
			local friendly = "Uniform" .. i .. t .. v
			if v == "v" then
				META[friendly] = function(self, location, count, value) return gl[func_name](self.id, location, count, value) end
			else
				if i == 1 then
					META[friendly] = function(self, location, a) return gl[func_name](self.id, location, a) end
				elseif i == 2 then
					META[friendly] = function(self, location, a,b) return gl[func_name](self.id, location, a,b) end
				elseif i == 3 then
					META[friendly] = function(self, location, a,b,c) return gl[func_name](self.id, location, a,b,c) end
				elseif i == 4 then
					META[friendly] = function(self, location, a,b,c,d) return gl[func_name](self.id, location, a,b,c,d) end
				end
			end
		end
		end
		end

		for i = 1, 4 do
			local func_name = "ProgramUniform" .. i .. "uiv"
			META["Uniform" .. i .. "uiv"] = function(self, location, count, value) return gl[func_name](self.id, location, count, value) end
		end

		function META:Uniform1ui(location, a) return gl.ProgramUniform1ui(self.id, location, a) end
		function META:Uniform2ui(location, a,b) return gl.ProgramUniform2ui(self.id, location, a,b) end
		function META:Uniform3ui(location, a,b,c) return gl.ProgramUniform3ui(self.id, location, a,b,c) end
		function META:Uniform4ui(location, a,b,c,d) return gl.ProgramUniform4ui(self.id, location, a,b,c,d) end

		for i = 2, 4 do
		for _, t in ipairs({"f", "d"}) do
		for _, v in ipairs({"", "v"}) do
			local func_name = "ProgramUniformMatrix" .. i .. t .. v
			META["UniformMatrix" .. i .. t .. v] = function(self, location, count, transpose, value) return gl[func_name](self.id, location, count, transpose, value) end
		end
		end
		end

		for _, i in ipairs({"2x3", "3x2", "2x4", "4x2", "3x4", "4x3"}) do
		for _, t in ipairs({"f", "d"}) do
		for _, v in ipairs({"", "v"}) do
			local func_name = "ProgramUniformMatrix" .. i .. t .. v
			META["UniformMatrix" .. i .. t .. v] = function(self, location, count, transpose, value) return gl[func_name](self.id, location, count, transpose, value) end
		end
		end
		end

		function META:Delete()
			gl.DeleteProgram(self.id)
		end
		function gl.CreateProgram2()
			local ctype = ffi.typeof('struct { int id; }')
			ffi.metatype(ctype, META)
			local self = ffi.new(ctype)
			self.id = gl.CreateProgram()
			return self
		end
	end
	do -- Shader
		local META = {}
		META.__index = META

		META.Type = "shader"
		META.__tostring = __tostring

		function META:Source(count, string, length) return gl.ShaderSource(self.id, count, string, length) end
		function META:Compile() return gl.CompileShader(self.id) end
		function META:Getiv(pname, params) return gl.GetShaderiv(self.id, pname, params) end
		function META:GetInfoLog(...) return gl.GetShaderInfoLog(self.id, ...) end

		function META:Delete()
			gl.DeleteShader(self.id)
		end
		function gl.CreateShader2(type)
			local ctype = ffi.typeof('struct { int id; }')
			ffi.metatype(ctype, META)
			local self = ffi.new(ctype)
			self.id = gl.CreateShader(type)
			return self
		end
	end
	do -- Sampler
		do
			local META = {}
			META.__index = META

			META.Type = "sampler_dsa"
			META.__tostring = __tostring

			local ctype = ffi.typeof('struct { int id; }')
			ffi.metatype(ctype, META)
			function META:Delete()
				gl.DeleteSamplers(1, ffi.new('GLuint[1]', self.id))
			end
			function gl.CreateSampler()
				local temp = ffi.new("GLuint[1]")
				gl.CreateSamplers(1, temp)
				local self = ffi.new(ctype)
				self.id = temp[0]
				return self
			end
		end
		do
			local META = {}
			META.__index = META

			META.Type = "sampler_no_dsa"
			META.__tostring = __tostring

			local bind
			do
				local last
				function bind(self)
					if self ~= last then
						gl.BindSampler(self.id)
					end
					last = self
				end
			end
			local ctype = ffi.typeof('struct { int id; }')
			ffi.metatype(ctype, META)
			function META:Delete()
				gl.DeleteSamplers(1, ffi.new('GLuint[1]', self.id))
			end

			function gl.CreateSamplerNODSA()
				local self = setmetatable({}, META)
				self.id = gl.GenSampler()
				return self
			end
		end
		if GL_ARB_direct_state_access == false or not gl.CreateSamplers then
			gl.CreateSampler = gl.CreateSamplerNODSA
		end
	end
	do -- Renderbuffer
		do
			local META = {}
			META.__index = META

			META.Type = "renderbuffer_dsa"
			META.__tostring = __tostring

			function META:GetParameterivEXT(pname, params)
				return gl.GetNamedRenderbufferParameterivEXT(self.id, pname, params)
			end
			function META:StorageMultisample(samples, internalformat, width, height)
				return gl.NamedRenderbufferStorageMultisample(self.id, samples, internalformat, width, height)
			end
			function META:StorageEXT(internalformat, width, height)
				return gl.NamedRenderbufferStorageEXT(self.id, internalformat, width, height)
			end
			function META:Storage(internalformat, width, height)
				return gl.NamedRenderbufferStorage(self.id, internalformat, width, height)
			end
			function META:StorageMultisampleEXT(samples, internalformat, width, height)
				return gl.NamedRenderbufferStorageMultisampleEXT(self.id, samples, internalformat, width, height)
			end
			function META:StorageMultisampleCoverage(coverageSamples, colorSamples, internalformat, width, height)
				return gl.NamedRenderbufferStorageMultisampleCoverageEXT(self.id, coverageSamples, colorSamples, internalformat, width, height)
			end
			function META:GetParameteriv(pname, params)
				return gl.GetNamedRenderbufferParameteriv(self.id, pname, params)
			end
			local ctype = ffi.typeof('struct { int id; }')
			ffi.metatype(ctype, META)
			function META:Delete()
				gl.DeleteRenderbuffers(1, ffi.new('GLuint[1]', self.id))
			end
			function gl.CreateRenderbuffer()
				local temp = ffi.new("GLuint[1]")
				gl.CreateRenderbuffers(1, temp)
				local self = ffi.new(ctype)
				self.id = temp[0]
				return self
			end
		end
		do
			local META = {}
			META.__index = META

			META.Type = "renderbuffer_no_dsa"
			META.__tostring = __tostring

			local bind
			do
				local last
				function bind(self)
					if self ~= last then
						gl.BindRenderbuffer("GL_RENDERBUFFER", self.id)
					end
					last = self
				end
			end
			function META:GetParameterivEXT(target, pname, params)
				bind(self) return gl.GetRenderbufferParameterivEXT(target, pname, params)
			end
			function META:StorageMultisample(target, samples, internalformat, width, height)
				bind(self) return gl.RenderbufferStorageMultisample(target, samples, internalformat, width, height)
			end
			function META:StorageEXT(target, internalformat, width, height)
				bind(self) return gl.RenderbufferStorageEXT(target, internalformat, width, height)
			end
			function META:Storage(internalformat, width, height)
				bind(self) return gl.RenderbufferStorage("GL_RENDERBUFFER", internalformat, width, height)
			end
			function META:StorageMultisampleEXT(target, samples, internalformat, width, height)
				bind(self) return gl.RenderbufferStorageMultisampleEXT(target, samples, internalformat, width, height)
			end
			function META:CreateRenderbuffers(n, renderbuffers)
				bind(self) return gl.CreateRenderbuffers(n, renderbuffers)
			end
			function META:GetParameteriv(target, pname, params)
				bind(self) return gl.GetRenderbufferParameteriv(target, pname, params)
			end
			local ctype = ffi.typeof('struct { int id; }')
			ffi.metatype(ctype, META)
			function META:Delete()
				gl.DeleteRenderbuffers(1, ffi.new('GLuint[1]', self.id))
			end
			function gl.CreateRenderbufferNODSA()
				local self = setmetatable({}, META)
				self.id = gl.GenRenderbuffer()
				return self
			end
		end
		if GL_ARB_direct_state_access == false or not gl.CreateRenderbuffers then
			gl.CreateRenderbuffer = gl.CreateRenderbufferNODSA
		end
	end
	do -- Texture
		do
			local META = {}
			META.__index = META

			META.Type = "texture_dsa"
			META.__tostring = __tostring

			function META:Bind(location)
				return gl.BindTextureUnit(location, self.id)
			end
			function META:SubImage1DEXT(target, level, xoffset, width, format, type, pixels)
				return gl.TextureSubImage1DEXT(self.id, target, level, xoffset, width, format, type, pixels)
			end
			function META:GetImageEXT(target, level, format, type, pixels)
				return gl.GetTextureImageEXT(self.id, target, level, format, type, pixels)
			end
			function META:Storage2DMultisampleEXT(target, samples, internalformat, width, height, fixedsamplelocations)
				return gl.TextureStorage2DMultisampleEXT(self.id, target, samples, internalformat, width, height, fixedsamplelocations)
			end
			function META:CopySubImage1D(level, xoffset, x, y, width)
				return gl.CopyTextureSubImage1D(self.id, level, xoffset, x, y, width)
			end
			function META:GetImage(level, format, type, bufSize, pixels)
				return gl.GetTextureImage(self.id, level, format, type, bufSize, pixels)
			end
			function META:CopyImage2D(target, level, internalformat, x, y, width, height, border)
				return gl.CopyTextureImage2DEXT(self.id, target, level, internalformat, x, y, width, height, border)
			end
			function META:Storage1D(levels, internalformat, width)
				return gl.TextureStorage1D(self.id, levels, internalformat, width)
			end
			function META:GetParameterIivEXT(target, pname, params)
				return gl.GetTextureParameterIivEXT(self.id, target, pname, params)
			end
			function META:BufferRange(internalformat, buffer, offset, size)
				return gl.TextureBufferRange(self.id, internalformat, buffer, offset, size)
			end
			function META:GetCompressedImage(level, bufSize, pixels)
				return gl.GetCompressedTextureImage(self.id, level, bufSize, pixels)
			end
			function META:GetParameterIiv(pname, params)
				return gl.GetTextureParameterIiv(self.id, pname, params)
			end
			function META:IsEXT()
				return gl.IsTextureEXT(self.id)
			end
			function META:Image1D(target, level, internalformat, width, border, format, type, pixels)
				return gl.TextureImage1DEXT(self.id, target, level, internalformat, width, border, format, type, pixels)
			end
			function META:SetParameterIiv(target, pname, params)
				return gl.TextureParameterIivEXT(self.id, target, pname, params)
			end
			function META:GetLevelParameterivEXT(target, level, pname, params)
				return gl.GetTextureLevelParameterivEXT(self.id, target, level, pname, params)
			end
			function META:GetParameterivEXT(target, pname, params)
				return gl.GetTextureParameterivEXT(self.id, target, pname, params)
			end
			function META:GetLevelParameterfv(level, pname, params)
				return gl.GetTextureLevelParameterfv(self.id, level, pname, params)
			end
			function META:BufferRangeEXT(target, internalformat, buffer, offset, size)
				return gl.TextureBufferRangeEXT(self.id, target, internalformat, buffer, offset, size)
			end
			function META:Image2D(target, level, internalformat, width, height, border, format, type, pixels)
				return gl.TextureImage2DEXT(self.id, target, level, internalformat, width, height, border, format, type, pixels)
			end
			function META:CopySubImage3DEXT(target, level, xoffset, yoffset, zoffset, x, y, width, height)
				return gl.CopyTextureSubImage3DEXT(self.id, target, level, xoffset, yoffset, zoffset, x, y, width, height)
			end
			function META:CompressedSubImage2D(level, xoffset, yoffset, width, height, format, imageSize, data)
				return gl.CompressedTextureSubImage2D(self.id, level, xoffset, yoffset, width, height, format, imageSize, data)
			end
			function META:GetParameterIuiv(pname, params)
				return gl.GetTextureParameterIuiv(self.id, pname, params)
			end
			function META:Image3D(target, level, internalformat, width, height, depth, border, format, type, pixels)
				return gl.TextureImage3DEXT(self.id, target, level, internalformat, width, height, depth, border, format, type, pixels)
			end
			function META:CompressedImage2D(target, level, internalformat, width, height, border, imageSize, bits)
				return gl.CompressedTextureImage2DEXT(self.id, target, level, internalformat, width, height, border, imageSize, bits)
			end
			function META:GetParameterIuivEXT(target, pname, params)
				return gl.GetTextureParameterIuivEXT(self.id, target, pname, params)
			end
			function META:CompressedSubImage3D(level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data)
				return gl.CompressedTextureSubImage3D(self.id, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data)
			end
			function META:Buffer(internalformat, buffer)
				return gl.TextureBuffer(self.id, internalformat, buffer)
			end
			function META:ParameteriEXT(target, pname, param)
				return gl.TextureParameteriEXT(self.id, target, pname, param)
			end
			function META:Is()
				return gl.IsTexture(self.id)
			end
			function META:SubImage3D(level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels)
				if AMD or ATI then
					if self.target == "GL_TEXTURE_CUBE_MAP" then
						return gl.TextureSubImage2D(self.id, gl.e.GL_TEXTURE_CUBE_MAP_POSITIVE_X + zoffset, level, xoffset, yoffset, width, height, format, type, pixels)
					end
				else
					return gl.TextureSubImage3D(self.id, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels)
				end
			end
			function META:CompressedSubImage2DEXT(target, level, xoffset, yoffset, width, height, format, imageSize, bits)
				return gl.CompressedTextureSubImage2DEXT(self.id, target, level, xoffset, yoffset, width, height, format, imageSize, bits)
			end
			function META:CompressedImage3D(target, level, internalformat, width, height, depth, border, imageSize, bits)
				return gl.CompressedTextureImage3DEXT(self.id, target, level, internalformat, width, height, depth, border, imageSize, bits)
			end
			function META:Renderbuffer(target, renderbuffer)
				return gl.TextureRenderbufferEXT(self.id, target, renderbuffer)
			end
			function META:CompressedSubImage1DEXT(target, level, xoffset, width, format, imageSize, bits)
				return gl.CompressedTextureSubImage1DEXT(self.id, target, level, xoffset, width, format, imageSize, bits)
			end
			function META:Storage3DMultisample(samples, internalformat, width, height, depth, fixedsamplelocations)
				return gl.TextureStorage3DMultisample(self.id, samples, internalformat, width, height, depth, fixedsamplelocations)
			end
			function META:SetParameterf(pname, param)
				return gl.TextureParameterf(self.id, pname, param)
			end
			function META:BindUnit(texture)
				return gl.BindTextureUnit(self.id, texture)
			end
			function META:Storage3D(levels, internalformat, width, height, depth)
				return gl.TextureStorage3D(self.id, levels, internalformat, width, height, depth)
			end
			function META:ParameterfEXT(target, pname, param)
				return gl.TextureParameterfEXT(self.id, target, pname, param)
			end
			function META:CopySubImage2D(level, xoffset, yoffset, x, y, width, height)
				return gl.CopyTextureSubImage2D(self.id, level, xoffset, yoffset, x, y, width, height)
			end
			function META:SetParameteriv(target, pname, params)
				return gl.TextureParameterivEXT(self.id, target, pname, params)
			end
			function META:CopySubImage1DEXT(target, level, xoffset, x, y, width)
				return gl.CopyTextureSubImage1DEXT(self.id, target, level, xoffset, x, y, width)
			end
			function META:BufferEXT(target, internalformat, buffer)
				return gl.TextureBufferEXT(self.id, target, internalformat, buffer)
			end
			function META:GetLevelParameterfvEXT(target, level, pname, params)
				return gl.GetTextureLevelParameterfvEXT(self.id, target, level, pname, params)
			end
			function META:SetParameterfv(pname, params)
				return gl.TextureParameterfv(self.id, pname, params)
			end
			function META:CompressedImage1D(target, level, internalformat, width, border, imageSize, bits)
				return gl.CompressedTextureImage1DEXT(self.id, target, level, internalformat, width, border, imageSize, bits)
			end
			function META:SetParameteri(pname, param)
				return gl.TextureParameteri(self.id, pname, param)
			end
			function META:GetParameteriv(pname, params)
				return gl.GetTextureParameteriv(self.id, pname, params)
			end
			function META:CopySubImage2DEXT(target, level, xoffset, yoffset, x, y, width, height)
				return gl.CopyTextureSubImage2DEXT(self.id, target, level, xoffset, yoffset, x, y, width, height)
			end
			function META:SetParameterIuiv(pname, params)
				return gl.TextureParameterIuiv(self.id, pname, params)
			end
			function META:Storage2DMultisample(samples, internalformat, width, height, fixedsamplelocations)
				return gl.TextureStorage2DMultisample(self.id, samples, internalformat, width, height, fixedsamplelocations)
			end
			function META:CompressedSubImage3DEXT(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits)
				return gl.CompressedTextureSubImage3DEXT(self.id, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits)
			end
			function META:GenerateMipmapEXT(target)
				return gl.GenerateTextureMipmapEXT(self.id, target)
			end
			function META:GetParameterfvEXT(target, pname, params)
				return gl.GetTextureParameterfvEXT(self.id, target, pname, params)
			end
			function META:GenerateMipmap()
				return gl.GenerateTextureMipmap(self.id)
			end
			function META:CopyImage1D(target, level, internalformat, x, y, width, border)
				return gl.CopyTextureImage1DEXT(self.id, target, level, internalformat, x, y, width, border)
			end
			function META:GetParameterfv(pname, params)
				return gl.GetTextureParameterfv(self.id, pname, params)
			end
			function META:CompressedSubImage1D(level, xoffset, width, format, imageSize, data)
				return gl.CompressedTextureSubImage1D(self.id, level, xoffset, width, format, imageSize, data)
			end
			function META:SubImage1D(level, xoffset, width, format, type, pixels)
				return gl.TextureSubImage1D(self.id, level, xoffset, width, format, type, pixels)
			end
			function META:CopySubImage3D(level, xoffset, yoffset, zoffset, x, y, width, height)
				return gl.CopyTextureSubImage3D(self.id, level, xoffset, yoffset, zoffset, x, y, width, height)
			end
			function META:GetLevelParameteriv(level, pname, params)
				return gl.GetTextureLevelParameteriv(self.id, level, pname, params)
			end
			function META:Storage2D(levels, internalformat, width, height)
				return gl.TextureStorage2D(self.id, levels, internalformat, width, height)
			end
			function META:SubImage2DEXT(target, level, xoffset, yoffset, width, height, format, type, pixels)
				return gl.TextureSubImage2DEXT(self.id, target, level, xoffset, yoffset, width, height, format, type, pixels)
			end
			function META:SubImage2D(level, xoffset, yoffset, width, height, format, type, pixels)
				return gl.TextureSubImage2D(self.id, level, xoffset, yoffset, width, height, format, type, pixels)
			end
			function META:GetCompressedImageEXT(target, lod, img)
				return gl.GetCompressedTextureImageEXT(self.id, target, lod, img)
			end
			function META:SubImage3DEXT(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels)
				return gl.TextureSubImage3DEXT(self.id, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels)
			end
			local ctype = ffi.typeof('struct { int id, target; }')
			ffi.metatype(ctype, META)
			function META:Delete()
				gl.DeleteTextures(1, ffi.new('GLuint[1]', self.id))
			end
			function gl.CreateTexture(target)
				local temp = ffi.new('GLuint[1]')
				gl.CreateTextures(target, 1, temp)
				local self = ffi.new(ctype)
				self.target = gl.e[target]
				self.id = temp[0]
				return self
			end
		end
		do
			local META = {}
			META.__index = META
			META.Type = "texture_no_dsa"
			META.__tostring = __tostring

			local bind
			do
				local last
				function bind(self)
					if self ~= last then
						gl.BindTexture(self.target, self.id)
					end
					last = self
				end
				local func = gl.BindTexture
				function gl.BindTexture(target, id)
					func(target, id)
					last = nil
				end

				if gl.ActiveTexture then
					local base = gl.e.GL_TEXTURE0

					function META:Bind(location)
						last = nil
						gl.ActiveTexture(base + location)
						bind(self)
					end
				else
					function META:Bind()
						last = nil
						bind(self)
					end
				end
			end

			function META:SubImage1DEXT(level, xoffset, width, format, type, pixels)
				bind(self) return gl.TexSubImage1DEXT(self.target, level, xoffset, width, format, type, pixels)
			end
			function META:GetImageEXT(texture, level, format, type, pixels)
				bind(self) return gl.GetTextureImageEXT(texture, self.target, level, format, type, pixels)
			end
			function META:Storage2DMultisampleEXT(texture, samples, internalformat, width, height, fixedsamplelocations)
				bind(self) return gl.TextureStorage2DMultisampleEXT(texture, self.target, samples, internalformat, width, height, fixedsamplelocations)
			end
			function META:CopySubImage1D(level, xoffset, x, y, width)
				bind(self) return gl.CopyTexSubImage1D(self.target, level, xoffset, x, y, width)
			end
			function META:GetImage(level, format, type, _, pixels)
				bind(self) return gl.GetTexImage(self.target, level, format, type, pixels)
			end
			function META:CopyImage2D(level, internalformat, x, y, width, height, border)
				bind(self) return gl.CopyTexImage2DEXT(self.target, level, internalformat, x, y, width, height, border)
			end
			function META:Storage1D(levels, internalformat, width)
				bind(self) return gl.TexStorage1D(self.target, levels, internalformat, width)
			end
			function META:GetParameterIivEXT(pname, params)
				bind(self) return gl.GetTexParameterIivEXT(self.target, pname, params)
			end
			function META:BufferRange(internalformat, buffer, offset, size)
				bind(self) return gl.TexBufferRange("GL_TEXTURE_BUFFER",  internalformat,  buffer,  offset,  size)
			end
			function META:GetCompressedImage(level, img)
				bind(self) return gl.GetCompressedTexImage(self.target, level, img)
			end
			function META:GetParameterIiv(pname, params)
				bind(self) return gl.GetTexParameterIiv(self.target, pname, params)
			end
			function META:IsEXT(texture)
				bind(self) return gl.IsTextureEXT(texture)
			end
			function META:Image1D(texture, level, internalformat, width, border, format, type, pixels)
				bind(self) return gl.TextureImage1DEXT(texture, self.target, level, internalformat, width, border, format, type, pixels)
			end
			function META:SetParameterIiv(pname, params)
				bind(self) return gl.TexParameterIivEXT(self.target, pname, params)
			end
			function META:GetLevelParameterivEXT(texture, level, pname, params)
				bind(self) return gl.GetTextureLevelParameterivEXT(texture, self.target, level, pname, params)
			end
			function META:GetParameterivEXT(texture, pname, params)
				bind(self) return gl.GetTextureParameterivEXT(texture, self.target, pname, params)
			end
			function META:GetLevelParameterfv(level, pname, params)
				bind(self) return gl.GetTexLevelParameterfv(self.target, level, pname, params)
			end
			function META:BufferRangeEXT(internalformat, buffer, offset, size)
				bind(self) return gl.TexBufferRangeEXT("GL_TEXTURE_BUFFER",  internalformat,  buffer,  offset,  size)
			end
			function META:Image2D(target, level, internalformat, width, height, border, format, type, pixels)
				bind(self) return gl.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels)
			end
			function META:CopySubImage3DEXT(level, xoffset, yoffset, zoffset, x, y, width, height)
				bind(self) return gl.CopyTexSubImage3DEXT(self.target, level, xoffset, yoffset, zoffset, x, y, width, height)
			end
			function META:CompressedSubImage2D(level, xoffset, yoffset, width, height, format, imageSize, data)
				bind(self) return gl.CompressedTexSubImage2D(self.target, level, xoffset, yoffset, width, height, format, imageSize, data)
			end
			function META:GetParameterIuiv(pname, params)
				bind(self) return gl.GetTexParameterIuiv(self.target, pname, params)
			end
			function META:Image3D(target, level, internalformat, width, height, depth, border, format, type, pixels)
				bind(self) return gl.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels)
			end
			function META:CompressedImage2D(texture, level, internalformat, width, height, border, imageSize, bits)
				bind(self) return gl.CompressedTextureImage2DEXT(texture, self.target, level, internalformat, width, height, border, imageSize, bits)
			end
			function META:GetParameterIuivEXT(pname, params)
				bind(self) return gl.GetTexParameterIuivEXT(self.target, pname, params)
			end
			function META:CompressedSubImage3D(level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data)
				bind(self) return gl.CompressedTexSubImage3D(self.target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data)
			end
			function META:Buffer(internalformat, buffer)
				bind(self) return gl.TexBuffer("GL_TEXTURE_BUFFER",  internalformat,  buffer)
			end
			function META:ParameteriEXT(texture, pname, param)
				bind(self) return gl.TextureParameteriEXT(texture, self.target, pname, param)
			end
			function META:Is(texture)
				bind(self) return gl.IsTexture(texture)
			end
			function META:SubImage3D(level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels)
				bind(self)
				if self.target == "GL_TEXTURE_CUBE_MAP" then
					return gl.TexSubImage2D(gl.e.GL_TEXTURE_CUBE_MAP_POSITIVE_X + zoffset, level, xoffset, yoffset, width, height, format, type, pixels)
				end
				return gl.TexSubImage3D(self.target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels)
			end
			function META:CompressedSubImage2D(level, xoffset, yoffset, width, height, format, imageSize, bits)
				bind(self) return gl.CompressedTexSubImage2D(self.target, level, xoffset, yoffset, width, height, format, imageSize, bits)
			end
			function META:CompressedImage3D(texture, level, internalformat, width, height, depth, border, imageSize, bits)
				bind(self) return gl.CompressedTextureImage3DEXT(texture, self.target, level, internalformat, width, height, depth, border, imageSize, bits)
			end
			function META:Renderbuffer(texture, renderbuffer)
				bind(self) return gl.TextureRenderbufferEXT(texture, self.target, renderbuffer)
			end
			function META:CompressedSubImage1DEXT(texture, level, xoffset, width, format, imageSize, bits)
				bind(self) return gl.CompressedTextureSubImage1DEXT(texture, self.target, level, xoffset, width, format, imageSize, bits)
			end
			function META:Storage3DMultisample(samples, internalformat, width, height, depth, fixedsamplelocations)
				bind(self) return gl.TexStorage3DMultisample(self.target, samples, internalformat, width, height, depth, fixedsamplelocations)
			end
			function META:SetParameterf(pname, param)
				bind(self) return gl.TexParameterf(self.target, pname, param)
			end
			function META:BindUnit(unit, texture)
				bind(self) return gl.BindTextureUnit(unit, texture)
			end
			function META:Storage3D(levels, internalformat, width, height, depth)
				bind(self) return gl.TexStorage3D(self.target, levels, internalformat, width, height, depth)
			end
			function META:ParameterfEXT(texture, pname, param)
				bind(self) return gl.TextureParameterfEXT(texture, self.target, pname, param)
			end
			function META:CopySubImage2D(level, xoffset, yoffset, x, y, width, height)
				bind(self) return gl.CopyTexSubImage2D(self.target, level, xoffset, yoffset, x, y, width, height)
			end
			function META:SetParameteriv(texture, pname, params)
				bind(self) return gl.TextureParameterivEXT(texture, self.target, pname, params)
			end
			function META:CopySubImage1DEXT(level, xoffset, x, y, width)
				bind(self) return gl.CopyTexSubImage1DEXT(self.target, level, xoffset, x, y, width)
			end
			function META:BufferEXT(internalformat, buffer)
				bind(self) return gl.TexBufferEXT(self.target, internalformat, buffer)
			end
			function META:GetLevelParameterfvEXT(texture, level, pname, params)
				bind(self) return gl.GetTextureLevelParameterfvEXT(texture, self.target, level, pname, params)
			end
			function META:SetParameterfv(pname, param)
				bind(self) return gl.TexParameterfv(self.target, pname, param)
			end
			function META:CompressedImage1D(texture, level, internalformat, width, border, imageSize, bits)
				bind(self) return gl.CompressedTextureImage1DEXT(texture, self.target, level, internalformat, width, border, imageSize, bits)
			end
			function META:SetParameteri(pname, param)
				bind(self) return gl.TexParameteri(self.target, pname, param)
			end
			function META:GetParameteriv(pname, params)
				bind(self) return gl.GetTexParameteriv(self.target, pname, params)
			end
			function META:CopySubImage2DEXT(level, xoffset, yoffset, x, y, width, height)
				bind(self) return gl.CopyTexSubImage2DEXT(self.target, level, xoffset, yoffset, x, y, width, height)
			end
			function META:SetParameterIuiv(pname, params)
				bind(self) return gl.TexParameterIuiv(self.target, pname, params)
			end
			function META:Storage2DMultisample(samples, internalformat, width, height, fixedsamplelocations)
				bind(self) return gl.TexStorage2DMultisample(self.target, samples, internalformat, width, height, fixedsamplelocations)
			end
			function META:CompressedSubImage3DEXT(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits)
				bind(self) return gl.CompressedTextureSubImage3DEXT(texture, self.target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits)
			end
			function META:GenerateMipmapEXT()
				if not gl.GenerateMipmapEXT then return end
				bind(self) return gl.GenerateMipmapEXT(self.target)
			end
			function META:GetParameterfvEXT(texture, pname, params)
				bind(self) return gl.GetTextureParameterfvEXT(texture, self.target, pname, params)
			end
			function META:GenerateMipmap()
				if not gl.GenerateMipmap then
					return self:GenerateMipmapEXT()
				end
				bind(self) return gl.GenerateMipmap(self.target)
			end
			function META:CopyImage1D(level, internalformat, x, y, width, border)
				bind(self) return gl.CopyTexImage1DEXT(self.target, level, internalformat, x, y, width, border)
			end
			function META:GetParameterfv(pname, params)
				bind(self) return gl.GetTexParameterfv(self.target, pname, params)
			end
			function META:CompressedSubImage1D(level, xoffset, width, format, imageSize, data)
				bind(self) return gl.CompressedTexSubImage1D(self.target, level, xoffset, width, format, imageSize, data)
			end
			function META:SubImage1D(level, xoffset, width, format, type, pixels)
				bind(self) return gl.TexSubImage1D(self.target, level, xoffset, width, format, type, pixels)
			end
			function META:CopySubImage3D(level, xoffset, yoffset, zoffset, x, y, width, height)
				bind(self) return gl.CopyTexSubImage3D(self.target, level, xoffset, yoffset, zoffset, x, y, width, height)
			end
			function META:GetLevelParameteriv(level, pname, params)
				bind(self) return gl.GetTexLevelParameteriv(self.target, level, pname, params)
			end
			function META:Storage2D(levels, internalformat, width, height)
				bind(self) return gl.TexStorage2D(self.target, levels, internalformat, width, height)
			end
			function META:SubImage2DEXT(level, xoffset, yoffset, width, height, format, type, pixels)
				bind(self) return gl.TexSubImage2DEXT(self.target, level, xoffset, yoffset, width, height, format, type, pixels)
			end
			function META:SubImage2D(level, xoffset, yoffset, width, height, format, type, pixels)
				bind(self) return gl.TexSubImage2D(self.target, level, xoffset, yoffset, width, height, format, type, pixels)
			end
			function META:GetCompressedImageEXT(texture, lod, img)
				bind(self) return gl.GetCompressedTextureImageEXT(texture, self.target, lod, img)
			end
			function META:SubImage3DEXT(level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels)
				bind(self) return gl.TexSubImage3DEXT(self.target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels)
			end
			local ctype = ffi.typeof('struct { int id, target; }')
			ffi.metatype(ctype, META)
			function META:Delete()
				gl.DeleteTextures(1, ffi.new('GLuint[1]', self.id))
			end
			function gl.CreateTextureNODSA(target)
				local self = setmetatable({}, META)
				self.id = gl.GenTexture()
				self.target = target
				return self
			end
		end
		if GL_ARB_direct_state_access == false or not gl.CreateTextures then
			gl.CreateTexture = gl.CreateTextureNODSA
		end
	end
end
gl.e = setmetatable({}, {__index = function(_, key)
	local ok, res = pcall(ffi.cast, "GL_LUA_ENUMS", key)

	if not ok then
		error(key .. "is not a valid enum", 2)
	end

	return tonumber(res)
end})

function gl.StartRecordingCalls()
	gl.old_funcs = gl.old_funcs or {}
	gl.call_log = gl.call_log or {}
	local i = 1
	for k,v in pairs(gl) do
		if (type(v) == "cdata" or type(v) == "function") and k ~= "StartRecordingCalls" and k ~= "StopRecordingCalls" and k:sub(1, 3) ~= "Gen" then
			gl.old_funcs[k] = v

			gl[k] = function(...)
				local ret = v(...)
				gl.call_log[i] = {func_name = k, ret = ret, args = {...}}
				i = i  + 1
				return ret
			end
		end
	end
end

function gl.StopRecordingCalls()
	if not gl.old_funcs then return end

	for k,v in pairs(gl.old_funcs) do
		gl[k] = v
	end

	local tbl = gl.call_log

	gl.call_log = nil

	return tbl
end

return gl
