glu-sys 0.1.4

Raw GLU and GL Rust bindings
Documentation
/* automatically generated by rust-bindgen */

pub const GL_VERSION_1_1: u32 = 1;
pub const GL_VERSION_1_2: u32 = 1;
pub const GL_VERSION_1_3: u32 = 1;
pub const GL_ARB_imaging: u32 = 1;
pub const GL_FALSE: u32 = 0;
pub const GL_TRUE: u32 = 1;
pub const GL_BYTE: u32 = 5120;
pub const GL_UNSIGNED_BYTE: u32 = 5121;
pub const GL_SHORT: u32 = 5122;
pub const GL_UNSIGNED_SHORT: u32 = 5123;
pub const GL_INT: u32 = 5124;
pub const GL_UNSIGNED_INT: u32 = 5125;
pub const GL_FLOAT: u32 = 5126;
pub const GL_2_BYTES: u32 = 5127;
pub const GL_3_BYTES: u32 = 5128;
pub const GL_4_BYTES: u32 = 5129;
pub const GL_DOUBLE: u32 = 5130;
pub const GL_POINTS: u32 = 0;
pub const GL_LINES: u32 = 1;
pub const GL_LINE_LOOP: u32 = 2;
pub const GL_LINE_STRIP: u32 = 3;
pub const GL_TRIANGLES: u32 = 4;
pub const GL_TRIANGLE_STRIP: u32 = 5;
pub const GL_TRIANGLE_FAN: u32 = 6;
pub const GL_QUADS: u32 = 7;
pub const GL_QUAD_STRIP: u32 = 8;
pub const GL_POLYGON: u32 = 9;
pub const GL_VERTEX_ARRAY: u32 = 32884;
pub const GL_NORMAL_ARRAY: u32 = 32885;
pub const GL_COLOR_ARRAY: u32 = 32886;
pub const GL_INDEX_ARRAY: u32 = 32887;
pub const GL_TEXTURE_COORD_ARRAY: u32 = 32888;
pub const GL_EDGE_FLAG_ARRAY: u32 = 32889;
pub const GL_VERTEX_ARRAY_SIZE: u32 = 32890;
pub const GL_VERTEX_ARRAY_TYPE: u32 = 32891;
pub const GL_VERTEX_ARRAY_STRIDE: u32 = 32892;
pub const GL_NORMAL_ARRAY_TYPE: u32 = 32894;
pub const GL_NORMAL_ARRAY_STRIDE: u32 = 32895;
pub const GL_COLOR_ARRAY_SIZE: u32 = 32897;
pub const GL_COLOR_ARRAY_TYPE: u32 = 32898;
pub const GL_COLOR_ARRAY_STRIDE: u32 = 32899;
pub const GL_INDEX_ARRAY_TYPE: u32 = 32901;
pub const GL_INDEX_ARRAY_STRIDE: u32 = 32902;
pub const GL_TEXTURE_COORD_ARRAY_SIZE: u32 = 32904;
pub const GL_TEXTURE_COORD_ARRAY_TYPE: u32 = 32905;
pub const GL_TEXTURE_COORD_ARRAY_STRIDE: u32 = 32906;
pub const GL_EDGE_FLAG_ARRAY_STRIDE: u32 = 32908;
pub const GL_VERTEX_ARRAY_POINTER: u32 = 32910;
pub const GL_NORMAL_ARRAY_POINTER: u32 = 32911;
pub const GL_COLOR_ARRAY_POINTER: u32 = 32912;
pub const GL_INDEX_ARRAY_POINTER: u32 = 32913;
pub const GL_TEXTURE_COORD_ARRAY_POINTER: u32 = 32914;
pub const GL_EDGE_FLAG_ARRAY_POINTER: u32 = 32915;
pub const GL_V2F: u32 = 10784;
pub const GL_V3F: u32 = 10785;
pub const GL_C4UB_V2F: u32 = 10786;
pub const GL_C4UB_V3F: u32 = 10787;
pub const GL_C3F_V3F: u32 = 10788;
pub const GL_N3F_V3F: u32 = 10789;
pub const GL_C4F_N3F_V3F: u32 = 10790;
pub const GL_T2F_V3F: u32 = 10791;
pub const GL_T4F_V4F: u32 = 10792;
pub const GL_T2F_C4UB_V3F: u32 = 10793;
pub const GL_T2F_C3F_V3F: u32 = 10794;
pub const GL_T2F_N3F_V3F: u32 = 10795;
pub const GL_T2F_C4F_N3F_V3F: u32 = 10796;
pub const GL_T4F_C4F_N3F_V4F: u32 = 10797;
pub const GL_MATRIX_MODE: u32 = 2976;
pub const GL_MODELVIEW: u32 = 5888;
pub const GL_PROJECTION: u32 = 5889;
pub const GL_TEXTURE: u32 = 5890;
pub const GL_POINT_SMOOTH: u32 = 2832;
pub const GL_POINT_SIZE: u32 = 2833;
pub const GL_POINT_SIZE_GRANULARITY: u32 = 2835;
pub const GL_POINT_SIZE_RANGE: u32 = 2834;
pub const GL_LINE_SMOOTH: u32 = 2848;
pub const GL_LINE_STIPPLE: u32 = 2852;
pub const GL_LINE_STIPPLE_PATTERN: u32 = 2853;
pub const GL_LINE_STIPPLE_REPEAT: u32 = 2854;
pub const GL_LINE_WIDTH: u32 = 2849;
pub const GL_LINE_WIDTH_GRANULARITY: u32 = 2851;
pub const GL_LINE_WIDTH_RANGE: u32 = 2850;
pub const GL_POINT: u32 = 6912;
pub const GL_LINE: u32 = 6913;
pub const GL_FILL: u32 = 6914;
pub const GL_CW: u32 = 2304;
pub const GL_CCW: u32 = 2305;
pub const GL_FRONT: u32 = 1028;
pub const GL_BACK: u32 = 1029;
pub const GL_POLYGON_MODE: u32 = 2880;
pub const GL_POLYGON_SMOOTH: u32 = 2881;
pub const GL_POLYGON_STIPPLE: u32 = 2882;
pub const GL_EDGE_FLAG: u32 = 2883;
pub const GL_CULL_FACE: u32 = 2884;
pub const GL_CULL_FACE_MODE: u32 = 2885;
pub const GL_FRONT_FACE: u32 = 2886;
pub const GL_POLYGON_OFFSET_FACTOR: u32 = 32824;
pub const GL_POLYGON_OFFSET_UNITS: u32 = 10752;
pub const GL_POLYGON_OFFSET_POINT: u32 = 10753;
pub const GL_POLYGON_OFFSET_LINE: u32 = 10754;
pub const GL_POLYGON_OFFSET_FILL: u32 = 32823;
pub const GL_COMPILE: u32 = 4864;
pub const GL_COMPILE_AND_EXECUTE: u32 = 4865;
pub const GL_LIST_BASE: u32 = 2866;
pub const GL_LIST_INDEX: u32 = 2867;
pub const GL_LIST_MODE: u32 = 2864;
pub const GL_NEVER: u32 = 512;
pub const GL_LESS: u32 = 513;
pub const GL_EQUAL: u32 = 514;
pub const GL_LEQUAL: u32 = 515;
pub const GL_GREATER: u32 = 516;
pub const GL_NOTEQUAL: u32 = 517;
pub const GL_GEQUAL: u32 = 518;
pub const GL_ALWAYS: u32 = 519;
pub const GL_DEPTH_TEST: u32 = 2929;
pub const GL_DEPTH_BITS: u32 = 3414;
pub const GL_DEPTH_CLEAR_VALUE: u32 = 2931;
pub const GL_DEPTH_FUNC: u32 = 2932;
pub const GL_DEPTH_RANGE: u32 = 2928;
pub const GL_DEPTH_WRITEMASK: u32 = 2930;
pub const GL_DEPTH_COMPONENT: u32 = 6402;
pub const GL_LIGHTING: u32 = 2896;
pub const GL_LIGHT0: u32 = 16384;
pub const GL_LIGHT1: u32 = 16385;
pub const GL_LIGHT2: u32 = 16386;
pub const GL_LIGHT3: u32 = 16387;
pub const GL_LIGHT4: u32 = 16388;
pub const GL_LIGHT5: u32 = 16389;
pub const GL_LIGHT6: u32 = 16390;
pub const GL_LIGHT7: u32 = 16391;
pub const GL_SPOT_EXPONENT: u32 = 4613;
pub const GL_SPOT_CUTOFF: u32 = 4614;
pub const GL_CONSTANT_ATTENUATION: u32 = 4615;
pub const GL_LINEAR_ATTENUATION: u32 = 4616;
pub const GL_QUADRATIC_ATTENUATION: u32 = 4617;
pub const GL_AMBIENT: u32 = 4608;
pub const GL_DIFFUSE: u32 = 4609;
pub const GL_SPECULAR: u32 = 4610;
pub const GL_SHININESS: u32 = 5633;
pub const GL_EMISSION: u32 = 5632;
pub const GL_POSITION: u32 = 4611;
pub const GL_SPOT_DIRECTION: u32 = 4612;
pub const GL_AMBIENT_AND_DIFFUSE: u32 = 5634;
pub const GL_COLOR_INDEXES: u32 = 5635;
pub const GL_LIGHT_MODEL_TWO_SIDE: u32 = 2898;
pub const GL_LIGHT_MODEL_LOCAL_VIEWER: u32 = 2897;
pub const GL_LIGHT_MODEL_AMBIENT: u32 = 2899;
pub const GL_FRONT_AND_BACK: u32 = 1032;
pub const GL_SHADE_MODEL: u32 = 2900;
pub const GL_FLAT: u32 = 7424;
pub const GL_SMOOTH: u32 = 7425;
pub const GL_COLOR_MATERIAL: u32 = 2903;
pub const GL_COLOR_MATERIAL_FACE: u32 = 2901;
pub const GL_COLOR_MATERIAL_PARAMETER: u32 = 2902;
pub const GL_NORMALIZE: u32 = 2977;
pub const GL_CLIP_PLANE0: u32 = 12288;
pub const GL_CLIP_PLANE1: u32 = 12289;
pub const GL_CLIP_PLANE2: u32 = 12290;
pub const GL_CLIP_PLANE3: u32 = 12291;
pub const GL_CLIP_PLANE4: u32 = 12292;
pub const GL_CLIP_PLANE5: u32 = 12293;
pub const GL_ACCUM_RED_BITS: u32 = 3416;
pub const GL_ACCUM_GREEN_BITS: u32 = 3417;
pub const GL_ACCUM_BLUE_BITS: u32 = 3418;
pub const GL_ACCUM_ALPHA_BITS: u32 = 3419;
pub const GL_ACCUM_CLEAR_VALUE: u32 = 2944;
pub const GL_ACCUM: u32 = 256;
pub const GL_ADD: u32 = 260;
pub const GL_LOAD: u32 = 257;
pub const GL_MULT: u32 = 259;
pub const GL_RETURN: u32 = 258;
pub const GL_ALPHA_TEST: u32 = 3008;
pub const GL_ALPHA_TEST_REF: u32 = 3010;
pub const GL_ALPHA_TEST_FUNC: u32 = 3009;
pub const GL_BLEND: u32 = 3042;
pub const GL_BLEND_SRC: u32 = 3041;
pub const GL_BLEND_DST: u32 = 3040;
pub const GL_ZERO: u32 = 0;
pub const GL_ONE: u32 = 1;
pub const GL_SRC_COLOR: u32 = 768;
pub const GL_ONE_MINUS_SRC_COLOR: u32 = 769;
pub const GL_SRC_ALPHA: u32 = 770;
pub const GL_ONE_MINUS_SRC_ALPHA: u32 = 771;
pub const GL_DST_ALPHA: u32 = 772;
pub const GL_ONE_MINUS_DST_ALPHA: u32 = 773;
pub const GL_DST_COLOR: u32 = 774;
pub const GL_ONE_MINUS_DST_COLOR: u32 = 775;
pub const GL_SRC_ALPHA_SATURATE: u32 = 776;
pub const GL_FEEDBACK: u32 = 7169;
pub const GL_RENDER: u32 = 7168;
pub const GL_SELECT: u32 = 7170;
pub const GL_2D: u32 = 1536;
pub const GL_3D: u32 = 1537;
pub const GL_3D_COLOR: u32 = 1538;
pub const GL_3D_COLOR_TEXTURE: u32 = 1539;
pub const GL_4D_COLOR_TEXTURE: u32 = 1540;
pub const GL_POINT_TOKEN: u32 = 1793;
pub const GL_LINE_TOKEN: u32 = 1794;
pub const GL_LINE_RESET_TOKEN: u32 = 1799;
pub const GL_POLYGON_TOKEN: u32 = 1795;
pub const GL_BITMAP_TOKEN: u32 = 1796;
pub const GL_DRAW_PIXEL_TOKEN: u32 = 1797;
pub const GL_COPY_PIXEL_TOKEN: u32 = 1798;
pub const GL_PASS_THROUGH_TOKEN: u32 = 1792;
pub const GL_FEEDBACK_BUFFER_POINTER: u32 = 3568;
pub const GL_FEEDBACK_BUFFER_SIZE: u32 = 3569;
pub const GL_FEEDBACK_BUFFER_TYPE: u32 = 3570;
pub const GL_SELECTION_BUFFER_POINTER: u32 = 3571;
pub const GL_SELECTION_BUFFER_SIZE: u32 = 3572;
pub const GL_FOG: u32 = 2912;
pub const GL_FOG_MODE: u32 = 2917;
pub const GL_FOG_DENSITY: u32 = 2914;
pub const GL_FOG_COLOR: u32 = 2918;
pub const GL_FOG_INDEX: u32 = 2913;
pub const GL_FOG_START: u32 = 2915;
pub const GL_FOG_END: u32 = 2916;
pub const GL_LINEAR: u32 = 9729;
pub const GL_EXP: u32 = 2048;
pub const GL_EXP2: u32 = 2049;
pub const GL_LOGIC_OP: u32 = 3057;
pub const GL_INDEX_LOGIC_OP: u32 = 3057;
pub const GL_COLOR_LOGIC_OP: u32 = 3058;
pub const GL_LOGIC_OP_MODE: u32 = 3056;
pub const GL_CLEAR: u32 = 5376;
pub const GL_SET: u32 = 5391;
pub const GL_COPY: u32 = 5379;
pub const GL_COPY_INVERTED: u32 = 5388;
pub const GL_NOOP: u32 = 5381;
pub const GL_INVERT: u32 = 5386;
pub const GL_AND: u32 = 5377;
pub const GL_NAND: u32 = 5390;
pub const GL_OR: u32 = 5383;
pub const GL_NOR: u32 = 5384;
pub const GL_XOR: u32 = 5382;
pub const GL_EQUIV: u32 = 5385;
pub const GL_AND_REVERSE: u32 = 5378;
pub const GL_AND_INVERTED: u32 = 5380;
pub const GL_OR_REVERSE: u32 = 5387;
pub const GL_OR_INVERTED: u32 = 5389;
pub const GL_STENCIL_BITS: u32 = 3415;
pub const GL_STENCIL_TEST: u32 = 2960;
pub const GL_STENCIL_CLEAR_VALUE: u32 = 2961;
pub const GL_STENCIL_FUNC: u32 = 2962;
pub const GL_STENCIL_VALUE_MASK: u32 = 2963;
pub const GL_STENCIL_FAIL: u32 = 2964;
pub const GL_STENCIL_PASS_DEPTH_FAIL: u32 = 2965;
pub const GL_STENCIL_PASS_DEPTH_PASS: u32 = 2966;
pub const GL_STENCIL_REF: u32 = 2967;
pub const GL_STENCIL_WRITEMASK: u32 = 2968;
pub const GL_STENCIL_INDEX: u32 = 6401;
pub const GL_KEEP: u32 = 7680;
pub const GL_REPLACE: u32 = 7681;
pub const GL_INCR: u32 = 7682;
pub const GL_DECR: u32 = 7683;
pub const GL_NONE: u32 = 0;
pub const GL_LEFT: u32 = 1030;
pub const GL_RIGHT: u32 = 1031;
pub const GL_FRONT_LEFT: u32 = 1024;
pub const GL_FRONT_RIGHT: u32 = 1025;
pub const GL_BACK_LEFT: u32 = 1026;
pub const GL_BACK_RIGHT: u32 = 1027;
pub const GL_AUX0: u32 = 1033;
pub const GL_AUX1: u32 = 1034;
pub const GL_AUX2: u32 = 1035;
pub const GL_AUX3: u32 = 1036;
pub const GL_COLOR_INDEX: u32 = 6400;
pub const GL_RED: u32 = 6403;
pub const GL_GREEN: u32 = 6404;
pub const GL_BLUE: u32 = 6405;
pub const GL_ALPHA: u32 = 6406;
pub const GL_LUMINANCE: u32 = 6409;
pub const GL_LUMINANCE_ALPHA: u32 = 6410;
pub const GL_ALPHA_BITS: u32 = 3413;
pub const GL_RED_BITS: u32 = 3410;
pub const GL_GREEN_BITS: u32 = 3411;
pub const GL_BLUE_BITS: u32 = 3412;
pub const GL_INDEX_BITS: u32 = 3409;
pub const GL_SUBPIXEL_BITS: u32 = 3408;
pub const GL_AUX_BUFFERS: u32 = 3072;
pub const GL_READ_BUFFER: u32 = 3074;
pub const GL_DRAW_BUFFER: u32 = 3073;
pub const GL_DOUBLEBUFFER: u32 = 3122;
pub const GL_STEREO: u32 = 3123;
pub const GL_BITMAP: u32 = 6656;
pub const GL_COLOR: u32 = 6144;
pub const GL_DEPTH: u32 = 6145;
pub const GL_STENCIL: u32 = 6146;
pub const GL_DITHER: u32 = 3024;
pub const GL_RGB: u32 = 6407;
pub const GL_RGBA: u32 = 6408;
pub const GL_MAX_LIST_NESTING: u32 = 2865;
pub const GL_MAX_EVAL_ORDER: u32 = 3376;
pub const GL_MAX_LIGHTS: u32 = 3377;
pub const GL_MAX_CLIP_PLANES: u32 = 3378;
pub const GL_MAX_TEXTURE_SIZE: u32 = 3379;
pub const GL_MAX_PIXEL_MAP_TABLE: u32 = 3380;
pub const GL_MAX_ATTRIB_STACK_DEPTH: u32 = 3381;
pub const GL_MAX_MODELVIEW_STACK_DEPTH: u32 = 3382;
pub const GL_MAX_NAME_STACK_DEPTH: u32 = 3383;
pub const GL_MAX_PROJECTION_STACK_DEPTH: u32 = 3384;
pub const GL_MAX_TEXTURE_STACK_DEPTH: u32 = 3385;
pub const GL_MAX_VIEWPORT_DIMS: u32 = 3386;
pub const GL_MAX_CLIENT_ATTRIB_STACK_DEPTH: u32 = 3387;
pub const GL_ATTRIB_STACK_DEPTH: u32 = 2992;
pub const GL_CLIENT_ATTRIB_STACK_DEPTH: u32 = 2993;
pub const GL_COLOR_CLEAR_VALUE: u32 = 3106;
pub const GL_COLOR_WRITEMASK: u32 = 3107;
pub const GL_CURRENT_INDEX: u32 = 2817;
pub const GL_CURRENT_COLOR: u32 = 2816;
pub const GL_CURRENT_NORMAL: u32 = 2818;
pub const GL_CURRENT_RASTER_COLOR: u32 = 2820;
pub const GL_CURRENT_RASTER_DISTANCE: u32 = 2825;
pub const GL_CURRENT_RASTER_INDEX: u32 = 2821;
pub const GL_CURRENT_RASTER_POSITION: u32 = 2823;
pub const GL_CURRENT_RASTER_TEXTURE_COORDS: u32 = 2822;
pub const GL_CURRENT_RASTER_POSITION_VALID: u32 = 2824;
pub const GL_CURRENT_TEXTURE_COORDS: u32 = 2819;
pub const GL_INDEX_CLEAR_VALUE: u32 = 3104;
pub const GL_INDEX_MODE: u32 = 3120;
pub const GL_INDEX_WRITEMASK: u32 = 3105;
pub const GL_MODELVIEW_MATRIX: u32 = 2982;
pub const GL_MODELVIEW_STACK_DEPTH: u32 = 2979;
pub const GL_NAME_STACK_DEPTH: u32 = 3440;
pub const GL_PROJECTION_MATRIX: u32 = 2983;
pub const GL_PROJECTION_STACK_DEPTH: u32 = 2980;
pub const GL_RENDER_MODE: u32 = 3136;
pub const GL_RGBA_MODE: u32 = 3121;
pub const GL_TEXTURE_MATRIX: u32 = 2984;
pub const GL_TEXTURE_STACK_DEPTH: u32 = 2981;
pub const GL_VIEWPORT: u32 = 2978;
pub const GL_AUTO_NORMAL: u32 = 3456;
pub const GL_MAP1_COLOR_4: u32 = 3472;
pub const GL_MAP1_INDEX: u32 = 3473;
pub const GL_MAP1_NORMAL: u32 = 3474;
pub const GL_MAP1_TEXTURE_COORD_1: u32 = 3475;
pub const GL_MAP1_TEXTURE_COORD_2: u32 = 3476;
pub const GL_MAP1_TEXTURE_COORD_3: u32 = 3477;
pub const GL_MAP1_TEXTURE_COORD_4: u32 = 3478;
pub const GL_MAP1_VERTEX_3: u32 = 3479;
pub const GL_MAP1_VERTEX_4: u32 = 3480;
pub const GL_MAP2_COLOR_4: u32 = 3504;
pub const GL_MAP2_INDEX: u32 = 3505;
pub const GL_MAP2_NORMAL: u32 = 3506;
pub const GL_MAP2_TEXTURE_COORD_1: u32 = 3507;
pub const GL_MAP2_TEXTURE_COORD_2: u32 = 3508;
pub const GL_MAP2_TEXTURE_COORD_3: u32 = 3509;
pub const GL_MAP2_TEXTURE_COORD_4: u32 = 3510;
pub const GL_MAP2_VERTEX_3: u32 = 3511;
pub const GL_MAP2_VERTEX_4: u32 = 3512;
pub const GL_MAP1_GRID_DOMAIN: u32 = 3536;
pub const GL_MAP1_GRID_SEGMENTS: u32 = 3537;
pub const GL_MAP2_GRID_DOMAIN: u32 = 3538;
pub const GL_MAP2_GRID_SEGMENTS: u32 = 3539;
pub const GL_COEFF: u32 = 2560;
pub const GL_ORDER: u32 = 2561;
pub const GL_DOMAIN: u32 = 2562;
pub const GL_PERSPECTIVE_CORRECTION_HINT: u32 = 3152;
pub const GL_POINT_SMOOTH_HINT: u32 = 3153;
pub const GL_LINE_SMOOTH_HINT: u32 = 3154;
pub const GL_POLYGON_SMOOTH_HINT: u32 = 3155;
pub const GL_FOG_HINT: u32 = 3156;
pub const GL_DONT_CARE: u32 = 4352;
pub const GL_FASTEST: u32 = 4353;
pub const GL_NICEST: u32 = 4354;
pub const GL_SCISSOR_BOX: u32 = 3088;
pub const GL_SCISSOR_TEST: u32 = 3089;
pub const GL_MAP_COLOR: u32 = 3344;
pub const GL_MAP_STENCIL: u32 = 3345;
pub const GL_INDEX_SHIFT: u32 = 3346;
pub const GL_INDEX_OFFSET: u32 = 3347;
pub const GL_RED_SCALE: u32 = 3348;
pub const GL_RED_BIAS: u32 = 3349;
pub const GL_GREEN_SCALE: u32 = 3352;
pub const GL_GREEN_BIAS: u32 = 3353;
pub const GL_BLUE_SCALE: u32 = 3354;
pub const GL_BLUE_BIAS: u32 = 3355;
pub const GL_ALPHA_SCALE: u32 = 3356;
pub const GL_ALPHA_BIAS: u32 = 3357;
pub const GL_DEPTH_SCALE: u32 = 3358;
pub const GL_DEPTH_BIAS: u32 = 3359;
pub const GL_PIXEL_MAP_S_TO_S_SIZE: u32 = 3249;
pub const GL_PIXEL_MAP_I_TO_I_SIZE: u32 = 3248;
pub const GL_PIXEL_MAP_I_TO_R_SIZE: u32 = 3250;
pub const GL_PIXEL_MAP_I_TO_G_SIZE: u32 = 3251;
pub const GL_PIXEL_MAP_I_TO_B_SIZE: u32 = 3252;
pub const GL_PIXEL_MAP_I_TO_A_SIZE: u32 = 3253;
pub const GL_PIXEL_MAP_R_TO_R_SIZE: u32 = 3254;
pub const GL_PIXEL_MAP_G_TO_G_SIZE: u32 = 3255;
pub const GL_PIXEL_MAP_B_TO_B_SIZE: u32 = 3256;
pub const GL_PIXEL_MAP_A_TO_A_SIZE: u32 = 3257;
pub const GL_PIXEL_MAP_S_TO_S: u32 = 3185;
pub const GL_PIXEL_MAP_I_TO_I: u32 = 3184;
pub const GL_PIXEL_MAP_I_TO_R: u32 = 3186;
pub const GL_PIXEL_MAP_I_TO_G: u32 = 3187;
pub const GL_PIXEL_MAP_I_TO_B: u32 = 3188;
pub const GL_PIXEL_MAP_I_TO_A: u32 = 3189;
pub const GL_PIXEL_MAP_R_TO_R: u32 = 3190;
pub const GL_PIXEL_MAP_G_TO_G: u32 = 3191;
pub const GL_PIXEL_MAP_B_TO_B: u32 = 3192;
pub const GL_PIXEL_MAP_A_TO_A: u32 = 3193;
pub const GL_PACK_ALIGNMENT: u32 = 3333;
pub const GL_PACK_LSB_FIRST: u32 = 3329;
pub const GL_PACK_ROW_LENGTH: u32 = 3330;
pub const GL_PACK_SKIP_PIXELS: u32 = 3332;
pub const GL_PACK_SKIP_ROWS: u32 = 3331;
pub const GL_PACK_SWAP_BYTES: u32 = 3328;
pub const GL_UNPACK_ALIGNMENT: u32 = 3317;
pub const GL_UNPACK_LSB_FIRST: u32 = 3313;
pub const GL_UNPACK_ROW_LENGTH: u32 = 3314;
pub const GL_UNPACK_SKIP_PIXELS: u32 = 3316;
pub const GL_UNPACK_SKIP_ROWS: u32 = 3315;
pub const GL_UNPACK_SWAP_BYTES: u32 = 3312;
pub const GL_ZOOM_X: u32 = 3350;
pub const GL_ZOOM_Y: u32 = 3351;
pub const GL_TEXTURE_ENV: u32 = 8960;
pub const GL_TEXTURE_ENV_MODE: u32 = 8704;
pub const GL_TEXTURE_1D: u32 = 3552;
pub const GL_TEXTURE_2D: u32 = 3553;
pub const GL_TEXTURE_WRAP_S: u32 = 10242;
pub const GL_TEXTURE_WRAP_T: u32 = 10243;
pub const GL_TEXTURE_MAG_FILTER: u32 = 10240;
pub const GL_TEXTURE_MIN_FILTER: u32 = 10241;
pub const GL_TEXTURE_ENV_COLOR: u32 = 8705;
pub const GL_TEXTURE_GEN_S: u32 = 3168;
pub const GL_TEXTURE_GEN_T: u32 = 3169;
pub const GL_TEXTURE_GEN_R: u32 = 3170;
pub const GL_TEXTURE_GEN_Q: u32 = 3171;
pub const GL_TEXTURE_GEN_MODE: u32 = 9472;
pub const GL_TEXTURE_BORDER_COLOR: u32 = 4100;
pub const GL_TEXTURE_WIDTH: u32 = 4096;
pub const GL_TEXTURE_HEIGHT: u32 = 4097;
pub const GL_TEXTURE_BORDER: u32 = 4101;
pub const GL_TEXTURE_COMPONENTS: u32 = 4099;
pub const GL_TEXTURE_RED_SIZE: u32 = 32860;
pub const GL_TEXTURE_GREEN_SIZE: u32 = 32861;
pub const GL_TEXTURE_BLUE_SIZE: u32 = 32862;
pub const GL_TEXTURE_ALPHA_SIZE: u32 = 32863;
pub const GL_TEXTURE_LUMINANCE_SIZE: u32 = 32864;
pub const GL_TEXTURE_INTENSITY_SIZE: u32 = 32865;
pub const GL_NEAREST_MIPMAP_NEAREST: u32 = 9984;
pub const GL_NEAREST_MIPMAP_LINEAR: u32 = 9986;
pub const GL_LINEAR_MIPMAP_NEAREST: u32 = 9985;
pub const GL_LINEAR_MIPMAP_LINEAR: u32 = 9987;
pub const GL_OBJECT_LINEAR: u32 = 9217;
pub const GL_OBJECT_PLANE: u32 = 9473;
pub const GL_EYE_LINEAR: u32 = 9216;
pub const GL_EYE_PLANE: u32 = 9474;
pub const GL_SPHERE_MAP: u32 = 9218;
pub const GL_DECAL: u32 = 8449;
pub const GL_MODULATE: u32 = 8448;
pub const GL_NEAREST: u32 = 9728;
pub const GL_REPEAT: u32 = 10497;
pub const GL_CLAMP: u32 = 10496;
pub const GL_S: u32 = 8192;
pub const GL_T: u32 = 8193;
pub const GL_R: u32 = 8194;
pub const GL_Q: u32 = 8195;
pub const GL_VENDOR: u32 = 7936;
pub const GL_RENDERER: u32 = 7937;
pub const GL_VERSION: u32 = 7938;
pub const GL_EXTENSIONS: u32 = 7939;
pub const GL_NO_ERROR: u32 = 0;
pub const GL_INVALID_ENUM: u32 = 1280;
pub const GL_INVALID_VALUE: u32 = 1281;
pub const GL_INVALID_OPERATION: u32 = 1282;
pub const GL_STACK_OVERFLOW: u32 = 1283;
pub const GL_STACK_UNDERFLOW: u32 = 1284;
pub const GL_OUT_OF_MEMORY: u32 = 1285;
pub const GL_CURRENT_BIT: u32 = 1;
pub const GL_POINT_BIT: u32 = 2;
pub const GL_LINE_BIT: u32 = 4;
pub const GL_POLYGON_BIT: u32 = 8;
pub const GL_POLYGON_STIPPLE_BIT: u32 = 16;
pub const GL_PIXEL_MODE_BIT: u32 = 32;
pub const GL_LIGHTING_BIT: u32 = 64;
pub const GL_FOG_BIT: u32 = 128;
pub const GL_DEPTH_BUFFER_BIT: u32 = 256;
pub const GL_ACCUM_BUFFER_BIT: u32 = 512;
pub const GL_STENCIL_BUFFER_BIT: u32 = 1024;
pub const GL_VIEWPORT_BIT: u32 = 2048;
pub const GL_TRANSFORM_BIT: u32 = 4096;
pub const GL_ENABLE_BIT: u32 = 8192;
pub const GL_COLOR_BUFFER_BIT: u32 = 16384;
pub const GL_HINT_BIT: u32 = 32768;
pub const GL_EVAL_BIT: u32 = 65536;
pub const GL_LIST_BIT: u32 = 131072;
pub const GL_TEXTURE_BIT: u32 = 262144;
pub const GL_SCISSOR_BIT: u32 = 524288;
pub const GL_ALL_ATTRIB_BITS: u32 = 4294967295;
pub const GL_PROXY_TEXTURE_1D: u32 = 32867;
pub const GL_PROXY_TEXTURE_2D: u32 = 32868;
pub const GL_TEXTURE_PRIORITY: u32 = 32870;
pub const GL_TEXTURE_RESIDENT: u32 = 32871;
pub const GL_TEXTURE_BINDING_1D: u32 = 32872;
pub const GL_TEXTURE_BINDING_2D: u32 = 32873;
pub const GL_TEXTURE_INTERNAL_FORMAT: u32 = 4099;
pub const GL_ALPHA4: u32 = 32827;
pub const GL_ALPHA8: u32 = 32828;
pub const GL_ALPHA12: u32 = 32829;
pub const GL_ALPHA16: u32 = 32830;
pub const GL_LUMINANCE4: u32 = 32831;
pub const GL_LUMINANCE8: u32 = 32832;
pub const GL_LUMINANCE12: u32 = 32833;
pub const GL_LUMINANCE16: u32 = 32834;
pub const GL_LUMINANCE4_ALPHA4: u32 = 32835;
pub const GL_LUMINANCE6_ALPHA2: u32 = 32836;
pub const GL_LUMINANCE8_ALPHA8: u32 = 32837;
pub const GL_LUMINANCE12_ALPHA4: u32 = 32838;
pub const GL_LUMINANCE12_ALPHA12: u32 = 32839;
pub const GL_LUMINANCE16_ALPHA16: u32 = 32840;
pub const GL_INTENSITY: u32 = 32841;
pub const GL_INTENSITY4: u32 = 32842;
pub const GL_INTENSITY8: u32 = 32843;
pub const GL_INTENSITY12: u32 = 32844;
pub const GL_INTENSITY16: u32 = 32845;
pub const GL_R3_G3_B2: u32 = 10768;
pub const GL_RGB4: u32 = 32847;
pub const GL_RGB5: u32 = 32848;
pub const GL_RGB8: u32 = 32849;
pub const GL_RGB10: u32 = 32850;
pub const GL_RGB12: u32 = 32851;
pub const GL_RGB16: u32 = 32852;
pub const GL_RGBA2: u32 = 32853;
pub const GL_RGBA4: u32 = 32854;
pub const GL_RGB5_A1: u32 = 32855;
pub const GL_RGBA8: u32 = 32856;
pub const GL_RGB10_A2: u32 = 32857;
pub const GL_RGBA12: u32 = 32858;
pub const GL_RGBA16: u32 = 32859;
pub const GL_CLIENT_PIXEL_STORE_BIT: u32 = 1;
pub const GL_CLIENT_VERTEX_ARRAY_BIT: u32 = 2;
pub const GL_ALL_CLIENT_ATTRIB_BITS: u32 = 4294967295;
pub const GL_CLIENT_ALL_ATTRIB_BITS: u32 = 4294967295;
pub const GL_RESCALE_NORMAL: u32 = 32826;
pub const GL_CLAMP_TO_EDGE: u32 = 33071;
pub const GL_MAX_ELEMENTS_VERTICES: u32 = 33000;
pub const GL_MAX_ELEMENTS_INDICES: u32 = 33001;
pub const GL_BGR: u32 = 32992;
pub const GL_BGRA: u32 = 32993;
pub const GL_UNSIGNED_BYTE_3_3_2: u32 = 32818;
pub const GL_UNSIGNED_BYTE_2_3_3_REV: u32 = 33634;
pub const GL_UNSIGNED_SHORT_5_6_5: u32 = 33635;
pub const GL_UNSIGNED_SHORT_5_6_5_REV: u32 = 33636;
pub const GL_UNSIGNED_SHORT_4_4_4_4: u32 = 32819;
pub const GL_UNSIGNED_SHORT_4_4_4_4_REV: u32 = 33637;
pub const GL_UNSIGNED_SHORT_5_5_5_1: u32 = 32820;
pub const GL_UNSIGNED_SHORT_1_5_5_5_REV: u32 = 33638;
pub const GL_UNSIGNED_INT_8_8_8_8: u32 = 32821;
pub const GL_UNSIGNED_INT_8_8_8_8_REV: u32 = 33639;
pub const GL_UNSIGNED_INT_10_10_10_2: u32 = 32822;
pub const GL_UNSIGNED_INT_2_10_10_10_REV: u32 = 33640;
pub const GL_LIGHT_MODEL_COLOR_CONTROL: u32 = 33272;
pub const GL_SINGLE_COLOR: u32 = 33273;
pub const GL_SEPARATE_SPECULAR_COLOR: u32 = 33274;
pub const GL_TEXTURE_MIN_LOD: u32 = 33082;
pub const GL_TEXTURE_MAX_LOD: u32 = 33083;
pub const GL_TEXTURE_BASE_LEVEL: u32 = 33084;
pub const GL_TEXTURE_MAX_LEVEL: u32 = 33085;
pub const GL_SMOOTH_POINT_SIZE_RANGE: u32 = 2834;
pub const GL_SMOOTH_POINT_SIZE_GRANULARITY: u32 = 2835;
pub const GL_SMOOTH_LINE_WIDTH_RANGE: u32 = 2850;
pub const GL_SMOOTH_LINE_WIDTH_GRANULARITY: u32 = 2851;
pub const GL_ALIASED_POINT_SIZE_RANGE: u32 = 33901;
pub const GL_ALIASED_LINE_WIDTH_RANGE: u32 = 33902;
pub const GL_PACK_SKIP_IMAGES: u32 = 32875;
pub const GL_PACK_IMAGE_HEIGHT: u32 = 32876;
pub const GL_UNPACK_SKIP_IMAGES: u32 = 32877;
pub const GL_UNPACK_IMAGE_HEIGHT: u32 = 32878;
pub const GL_TEXTURE_3D: u32 = 32879;
pub const GL_PROXY_TEXTURE_3D: u32 = 32880;
pub const GL_TEXTURE_DEPTH: u32 = 32881;
pub const GL_TEXTURE_WRAP_R: u32 = 32882;
pub const GL_MAX_3D_TEXTURE_SIZE: u32 = 32883;
pub const GL_TEXTURE_BINDING_3D: u32 = 32874;
pub const GL_CONSTANT_COLOR: u32 = 32769;
pub const GL_ONE_MINUS_CONSTANT_COLOR: u32 = 32770;
pub const GL_CONSTANT_ALPHA: u32 = 32771;
pub const GL_ONE_MINUS_CONSTANT_ALPHA: u32 = 32772;
pub const GL_COLOR_TABLE: u32 = 32976;
pub const GL_POST_CONVOLUTION_COLOR_TABLE: u32 = 32977;
pub const GL_POST_COLOR_MATRIX_COLOR_TABLE: u32 = 32978;
pub const GL_PROXY_COLOR_TABLE: u32 = 32979;
pub const GL_PROXY_POST_CONVOLUTION_COLOR_TABLE: u32 = 32980;
pub const GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE: u32 = 32981;
pub const GL_COLOR_TABLE_SCALE: u32 = 32982;
pub const GL_COLOR_TABLE_BIAS: u32 = 32983;
pub const GL_COLOR_TABLE_FORMAT: u32 = 32984;
pub const GL_COLOR_TABLE_WIDTH: u32 = 32985;
pub const GL_COLOR_TABLE_RED_SIZE: u32 = 32986;
pub const GL_COLOR_TABLE_GREEN_SIZE: u32 = 32987;
pub const GL_COLOR_TABLE_BLUE_SIZE: u32 = 32988;
pub const GL_COLOR_TABLE_ALPHA_SIZE: u32 = 32989;
pub const GL_COLOR_TABLE_LUMINANCE_SIZE: u32 = 32990;
pub const GL_COLOR_TABLE_INTENSITY_SIZE: u32 = 32991;
pub const GL_CONVOLUTION_1D: u32 = 32784;
pub const GL_CONVOLUTION_2D: u32 = 32785;
pub const GL_SEPARABLE_2D: u32 = 32786;
pub const GL_CONVOLUTION_BORDER_MODE: u32 = 32787;
pub const GL_CONVOLUTION_FILTER_SCALE: u32 = 32788;
pub const GL_CONVOLUTION_FILTER_BIAS: u32 = 32789;
pub const GL_REDUCE: u32 = 32790;
pub const GL_CONVOLUTION_FORMAT: u32 = 32791;
pub const GL_CONVOLUTION_WIDTH: u32 = 32792;
pub const GL_CONVOLUTION_HEIGHT: u32 = 32793;
pub const GL_MAX_CONVOLUTION_WIDTH: u32 = 32794;
pub const GL_MAX_CONVOLUTION_HEIGHT: u32 = 32795;
pub const GL_POST_CONVOLUTION_RED_SCALE: u32 = 32796;
pub const GL_POST_CONVOLUTION_GREEN_SCALE: u32 = 32797;
pub const GL_POST_CONVOLUTION_BLUE_SCALE: u32 = 32798;
pub const GL_POST_CONVOLUTION_ALPHA_SCALE: u32 = 32799;
pub const GL_POST_CONVOLUTION_RED_BIAS: u32 = 32800;
pub const GL_POST_CONVOLUTION_GREEN_BIAS: u32 = 32801;
pub const GL_POST_CONVOLUTION_BLUE_BIAS: u32 = 32802;
pub const GL_POST_CONVOLUTION_ALPHA_BIAS: u32 = 32803;
pub const GL_CONSTANT_BORDER: u32 = 33105;
pub const GL_REPLICATE_BORDER: u32 = 33107;
pub const GL_CONVOLUTION_BORDER_COLOR: u32 = 33108;
pub const GL_COLOR_MATRIX: u32 = 32945;
pub const GL_COLOR_MATRIX_STACK_DEPTH: u32 = 32946;
pub const GL_MAX_COLOR_MATRIX_STACK_DEPTH: u32 = 32947;
pub const GL_POST_COLOR_MATRIX_RED_SCALE: u32 = 32948;
pub const GL_POST_COLOR_MATRIX_GREEN_SCALE: u32 = 32949;
pub const GL_POST_COLOR_MATRIX_BLUE_SCALE: u32 = 32950;
pub const GL_POST_COLOR_MATRIX_ALPHA_SCALE: u32 = 32951;
pub const GL_POST_COLOR_MATRIX_RED_BIAS: u32 = 32952;
pub const GL_POST_COLOR_MATRIX_GREEN_BIAS: u32 = 32953;
pub const GL_POST_COLOR_MATRIX_BLUE_BIAS: u32 = 32954;
pub const GL_POST_COLOR_MATRIX_ALPHA_BIAS: u32 = 32955;
pub const GL_HISTOGRAM: u32 = 32804;
pub const GL_PROXY_HISTOGRAM: u32 = 32805;
pub const GL_HISTOGRAM_WIDTH: u32 = 32806;
pub const GL_HISTOGRAM_FORMAT: u32 = 32807;
pub const GL_HISTOGRAM_RED_SIZE: u32 = 32808;
pub const GL_HISTOGRAM_GREEN_SIZE: u32 = 32809;
pub const GL_HISTOGRAM_BLUE_SIZE: u32 = 32810;
pub const GL_HISTOGRAM_ALPHA_SIZE: u32 = 32811;
pub const GL_HISTOGRAM_LUMINANCE_SIZE: u32 = 32812;
pub const GL_HISTOGRAM_SINK: u32 = 32813;
pub const GL_MINMAX: u32 = 32814;
pub const GL_MINMAX_FORMAT: u32 = 32815;
pub const GL_MINMAX_SINK: u32 = 32816;
pub const GL_TABLE_TOO_LARGE: u32 = 32817;
pub const GL_BLEND_EQUATION: u32 = 32777;
pub const GL_MIN: u32 = 32775;
pub const GL_MAX: u32 = 32776;
pub const GL_FUNC_ADD: u32 = 32774;
pub const GL_FUNC_SUBTRACT: u32 = 32778;
pub const GL_FUNC_REVERSE_SUBTRACT: u32 = 32779;
pub const GL_BLEND_COLOR: u32 = 32773;
pub const GL_TEXTURE0: u32 = 33984;
pub const GL_TEXTURE1: u32 = 33985;
pub const GL_TEXTURE2: u32 = 33986;
pub const GL_TEXTURE3: u32 = 33987;
pub const GL_TEXTURE4: u32 = 33988;
pub const GL_TEXTURE5: u32 = 33989;
pub const GL_TEXTURE6: u32 = 33990;
pub const GL_TEXTURE7: u32 = 33991;
pub const GL_TEXTURE8: u32 = 33992;
pub const GL_TEXTURE9: u32 = 33993;
pub const GL_TEXTURE10: u32 = 33994;
pub const GL_TEXTURE11: u32 = 33995;
pub const GL_TEXTURE12: u32 = 33996;
pub const GL_TEXTURE13: u32 = 33997;
pub const GL_TEXTURE14: u32 = 33998;
pub const GL_TEXTURE15: u32 = 33999;
pub const GL_TEXTURE16: u32 = 34000;
pub const GL_TEXTURE17: u32 = 34001;
pub const GL_TEXTURE18: u32 = 34002;
pub const GL_TEXTURE19: u32 = 34003;
pub const GL_TEXTURE20: u32 = 34004;
pub const GL_TEXTURE21: u32 = 34005;
pub const GL_TEXTURE22: u32 = 34006;
pub const GL_TEXTURE23: u32 = 34007;
pub const GL_TEXTURE24: u32 = 34008;
pub const GL_TEXTURE25: u32 = 34009;
pub const GL_TEXTURE26: u32 = 34010;
pub const GL_TEXTURE27: u32 = 34011;
pub const GL_TEXTURE28: u32 = 34012;
pub const GL_TEXTURE29: u32 = 34013;
pub const GL_TEXTURE30: u32 = 34014;
pub const GL_TEXTURE31: u32 = 34015;
pub const GL_ACTIVE_TEXTURE: u32 = 34016;
pub const GL_CLIENT_ACTIVE_TEXTURE: u32 = 34017;
pub const GL_MAX_TEXTURE_UNITS: u32 = 34018;
pub const GL_NORMAL_MAP: u32 = 34065;
pub const GL_REFLECTION_MAP: u32 = 34066;
pub const GL_TEXTURE_CUBE_MAP: u32 = 34067;
pub const GL_TEXTURE_BINDING_CUBE_MAP: u32 = 34068;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_X: u32 = 34069;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_X: u32 = 34070;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Y: u32 = 34071;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: u32 = 34072;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Z: u32 = 34073;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: u32 = 34074;
pub const GL_PROXY_TEXTURE_CUBE_MAP: u32 = 34075;
pub const GL_MAX_CUBE_MAP_TEXTURE_SIZE: u32 = 34076;
pub const GL_COMPRESSED_ALPHA: u32 = 34025;
pub const GL_COMPRESSED_LUMINANCE: u32 = 34026;
pub const GL_COMPRESSED_LUMINANCE_ALPHA: u32 = 34027;
pub const GL_COMPRESSED_INTENSITY: u32 = 34028;
pub const GL_COMPRESSED_RGB: u32 = 34029;
pub const GL_COMPRESSED_RGBA: u32 = 34030;
pub const GL_TEXTURE_COMPRESSION_HINT: u32 = 34031;
pub const GL_TEXTURE_COMPRESSED_IMAGE_SIZE: u32 = 34464;
pub const GL_TEXTURE_COMPRESSED: u32 = 34465;
pub const GL_NUM_COMPRESSED_TEXTURE_FORMATS: u32 = 34466;
pub const GL_COMPRESSED_TEXTURE_FORMATS: u32 = 34467;
pub const GL_MULTISAMPLE: u32 = 32925;
pub const GL_SAMPLE_ALPHA_TO_COVERAGE: u32 = 32926;
pub const GL_SAMPLE_ALPHA_TO_ONE: u32 = 32927;
pub const GL_SAMPLE_COVERAGE: u32 = 32928;
pub const GL_SAMPLE_BUFFERS: u32 = 32936;
pub const GL_SAMPLES: u32 = 32937;
pub const GL_SAMPLE_COVERAGE_VALUE: u32 = 32938;
pub const GL_SAMPLE_COVERAGE_INVERT: u32 = 32939;
pub const GL_MULTISAMPLE_BIT: u32 = 536870912;
pub const GL_TRANSPOSE_MODELVIEW_MATRIX: u32 = 34019;
pub const GL_TRANSPOSE_PROJECTION_MATRIX: u32 = 34020;
pub const GL_TRANSPOSE_TEXTURE_MATRIX: u32 = 34021;
pub const GL_TRANSPOSE_COLOR_MATRIX: u32 = 34022;
pub const GL_COMBINE: u32 = 34160;
pub const GL_COMBINE_RGB: u32 = 34161;
pub const GL_COMBINE_ALPHA: u32 = 34162;
pub const GL_SOURCE0_RGB: u32 = 34176;
pub const GL_SOURCE1_RGB: u32 = 34177;
pub const GL_SOURCE2_RGB: u32 = 34178;
pub const GL_SOURCE0_ALPHA: u32 = 34184;
pub const GL_SOURCE1_ALPHA: u32 = 34185;
pub const GL_SOURCE2_ALPHA: u32 = 34186;
pub const GL_OPERAND0_RGB: u32 = 34192;
pub const GL_OPERAND1_RGB: u32 = 34193;
pub const GL_OPERAND2_RGB: u32 = 34194;
pub const GL_OPERAND0_ALPHA: u32 = 34200;
pub const GL_OPERAND1_ALPHA: u32 = 34201;
pub const GL_OPERAND2_ALPHA: u32 = 34202;
pub const GL_RGB_SCALE: u32 = 34163;
pub const GL_ADD_SIGNED: u32 = 34164;
pub const GL_INTERPOLATE: u32 = 34165;
pub const GL_SUBTRACT: u32 = 34023;
pub const GL_CONSTANT: u32 = 34166;
pub const GL_PRIMARY_COLOR: u32 = 34167;
pub const GL_PREVIOUS: u32 = 34168;
pub const GL_DOT3_RGB: u32 = 34478;
pub const GL_DOT3_RGBA: u32 = 34479;
pub const GL_CLAMP_TO_BORDER: u32 = 33069;
pub const GL_ARB_multitexture: u32 = 1;
pub const GL_TEXTURE0_ARB: u32 = 33984;
pub const GL_TEXTURE1_ARB: u32 = 33985;
pub const GL_TEXTURE2_ARB: u32 = 33986;
pub const GL_TEXTURE3_ARB: u32 = 33987;
pub const GL_TEXTURE4_ARB: u32 = 33988;
pub const GL_TEXTURE5_ARB: u32 = 33989;
pub const GL_TEXTURE6_ARB: u32 = 33990;
pub const GL_TEXTURE7_ARB: u32 = 33991;
pub const GL_TEXTURE8_ARB: u32 = 33992;
pub const GL_TEXTURE9_ARB: u32 = 33993;
pub const GL_TEXTURE10_ARB: u32 = 33994;
pub const GL_TEXTURE11_ARB: u32 = 33995;
pub const GL_TEXTURE12_ARB: u32 = 33996;
pub const GL_TEXTURE13_ARB: u32 = 33997;
pub const GL_TEXTURE14_ARB: u32 = 33998;
pub const GL_TEXTURE15_ARB: u32 = 33999;
pub const GL_TEXTURE16_ARB: u32 = 34000;
pub const GL_TEXTURE17_ARB: u32 = 34001;
pub const GL_TEXTURE18_ARB: u32 = 34002;
pub const GL_TEXTURE19_ARB: u32 = 34003;
pub const GL_TEXTURE20_ARB: u32 = 34004;
pub const GL_TEXTURE21_ARB: u32 = 34005;
pub const GL_TEXTURE22_ARB: u32 = 34006;
pub const GL_TEXTURE23_ARB: u32 = 34007;
pub const GL_TEXTURE24_ARB: u32 = 34008;
pub const GL_TEXTURE25_ARB: u32 = 34009;
pub const GL_TEXTURE26_ARB: u32 = 34010;
pub const GL_TEXTURE27_ARB: u32 = 34011;
pub const GL_TEXTURE28_ARB: u32 = 34012;
pub const GL_TEXTURE29_ARB: u32 = 34013;
pub const GL_TEXTURE30_ARB: u32 = 34014;
pub const GL_TEXTURE31_ARB: u32 = 34015;
pub const GL_ACTIVE_TEXTURE_ARB: u32 = 34016;
pub const GL_CLIENT_ACTIVE_TEXTURE_ARB: u32 = 34017;
pub const GL_MAX_TEXTURE_UNITS_ARB: u32 = 34018;
pub const __gl_glext_h_: u32 = 1;
pub const GL_GLEXT_VERSION: u32 = 20190611;
pub const _STDINT_H: u32 = 1;
pub const _FEATURES_H: u32 = 1;
pub const _DEFAULT_SOURCE: u32 = 1;
pub const __USE_ISOC11: u32 = 1;
pub const __USE_ISOC99: u32 = 1;
pub const __USE_ISOC95: u32 = 1;
pub const __USE_POSIX_IMPLICITLY: u32 = 1;
pub const _POSIX_SOURCE: u32 = 1;
pub const _POSIX_C_SOURCE: u32 = 200809;
pub const __USE_POSIX: u32 = 1;
pub const __USE_POSIX2: u32 = 1;
pub const __USE_POSIX199309: u32 = 1;
pub const __USE_POSIX199506: u32 = 1;
pub const __USE_XOPEN2K: u32 = 1;
pub const __USE_XOPEN2K8: u32 = 1;
pub const _ATFILE_SOURCE: u32 = 1;
pub const __USE_MISC: u32 = 1;
pub const __USE_ATFILE: u32 = 1;
pub const __USE_FORTIFY_LEVEL: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
pub const _STDC_PREDEF_H: u32 = 1;
pub const __STDC_IEC_559__: u32 = 1;
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
pub const __STDC_ISO_10646__: u32 = 201706;
pub const __STDC_NO_THREADS__: u32 = 1;
pub const __GNU_LIBRARY__: u32 = 6;
pub const __GLIBC__: u32 = 2;
pub const __GLIBC_MINOR__: u32 = 27;
pub const _SYS_CDEFS_H: u32 = 1;
pub const __glibc_c99_flexarr_available: u32 = 1;
pub const __WORDSIZE: u32 = 64;
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
pub const __SYSCALL_WORDSIZE: u32 = 64;
pub const __HAVE_GENERIC_SELECTION: u32 = 1;
pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
pub const _BITS_TYPES_H: u32 = 1;
pub const _BITS_TYPESIZES_H: u32 = 1;
pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
pub const __INO_T_MATCHES_INO64_T: u32 = 1;
pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
pub const __FD_SETSIZE: u32 = 1024;
pub const _BITS_WCHAR_H: u32 = 1;
pub const _BITS_STDINT_INTN_H: u32 = 1;
pub const _BITS_STDINT_UINTN_H: u32 = 1;
pub const INT8_MIN: i32 = -128;
pub const INT16_MIN: i32 = -32768;
pub const INT32_MIN: i32 = -2147483648;
pub const INT8_MAX: u32 = 127;
pub const INT16_MAX: u32 = 32767;
pub const INT32_MAX: u32 = 2147483647;
pub const UINT8_MAX: u32 = 255;
pub const UINT16_MAX: u32 = 65535;
pub const UINT32_MAX: u32 = 4294967295;
pub const INT_LEAST8_MIN: i32 = -128;
pub const INT_LEAST16_MIN: i32 = -32768;
pub const INT_LEAST32_MIN: i32 = -2147483648;
pub const INT_LEAST8_MAX: u32 = 127;
pub const INT_LEAST16_MAX: u32 = 32767;
pub const INT_LEAST32_MAX: u32 = 2147483647;
pub const UINT_LEAST8_MAX: u32 = 255;
pub const UINT_LEAST16_MAX: u32 = 65535;
pub const UINT_LEAST32_MAX: u32 = 4294967295;
pub const INT_FAST8_MIN: i32 = -128;
pub const INT_FAST16_MIN: i64 = -9223372036854775808;
pub const INT_FAST32_MIN: i64 = -9223372036854775808;
pub const INT_FAST8_MAX: u32 = 127;
pub const INT_FAST16_MAX: u64 = 9223372036854775807;
pub const INT_FAST32_MAX: u64 = 9223372036854775807;
pub const UINT_FAST8_MAX: u32 = 255;
pub const UINT_FAST16_MAX: i32 = -1;
pub const UINT_FAST32_MAX: i32 = -1;
pub const INTPTR_MIN: i64 = -9223372036854775808;
pub const INTPTR_MAX: u64 = 9223372036854775807;
pub const UINTPTR_MAX: i32 = -1;
pub const PTRDIFF_MIN: i64 = -9223372036854775808;
pub const PTRDIFF_MAX: u64 = 9223372036854775807;
pub const SIG_ATOMIC_MIN: i32 = -2147483648;
pub const SIG_ATOMIC_MAX: u32 = 2147483647;
pub const SIZE_MAX: i32 = -1;
pub const WINT_MIN: u32 = 0;
pub const WINT_MAX: u32 = 4294967295;
pub const KHRONOS_SUPPORT_INT64: u32 = 1;
pub const KHRONOS_SUPPORT_FLOAT: u32 = 1;
pub const KHRONOS_MAX_ENUM: u32 = 2147483647;
pub const GL_VERSION_1_4: u32 = 1;
pub const GL_BLEND_DST_RGB: u32 = 32968;
pub const GL_BLEND_SRC_RGB: u32 = 32969;
pub const GL_BLEND_DST_ALPHA: u32 = 32970;
pub const GL_BLEND_SRC_ALPHA: u32 = 32971;
pub const GL_POINT_FADE_THRESHOLD_SIZE: u32 = 33064;
pub const GL_DEPTH_COMPONENT16: u32 = 33189;
pub const GL_DEPTH_COMPONENT24: u32 = 33190;
pub const GL_DEPTH_COMPONENT32: u32 = 33191;
pub const GL_MIRRORED_REPEAT: u32 = 33648;
pub const GL_MAX_TEXTURE_LOD_BIAS: u32 = 34045;
pub const GL_TEXTURE_LOD_BIAS: u32 = 34049;
pub const GL_INCR_WRAP: u32 = 34055;
pub const GL_DECR_WRAP: u32 = 34056;
pub const GL_TEXTURE_DEPTH_SIZE: u32 = 34890;
pub const GL_TEXTURE_COMPARE_MODE: u32 = 34892;
pub const GL_TEXTURE_COMPARE_FUNC: u32 = 34893;
pub const GL_POINT_SIZE_MIN: u32 = 33062;
pub const GL_POINT_SIZE_MAX: u32 = 33063;
pub const GL_POINT_DISTANCE_ATTENUATION: u32 = 33065;
pub const GL_GENERATE_MIPMAP: u32 = 33169;
pub const GL_GENERATE_MIPMAP_HINT: u32 = 33170;
pub const GL_FOG_COORDINATE_SOURCE: u32 = 33872;
pub const GL_FOG_COORDINATE: u32 = 33873;
pub const GL_FRAGMENT_DEPTH: u32 = 33874;
pub const GL_CURRENT_FOG_COORDINATE: u32 = 33875;
pub const GL_FOG_COORDINATE_ARRAY_TYPE: u32 = 33876;
pub const GL_FOG_COORDINATE_ARRAY_STRIDE: u32 = 33877;
pub const GL_FOG_COORDINATE_ARRAY_POINTER: u32 = 33878;
pub const GL_FOG_COORDINATE_ARRAY: u32 = 33879;
pub const GL_COLOR_SUM: u32 = 33880;
pub const GL_CURRENT_SECONDARY_COLOR: u32 = 33881;
pub const GL_SECONDARY_COLOR_ARRAY_SIZE: u32 = 33882;
pub const GL_SECONDARY_COLOR_ARRAY_TYPE: u32 = 33883;
pub const GL_SECONDARY_COLOR_ARRAY_STRIDE: u32 = 33884;
pub const GL_SECONDARY_COLOR_ARRAY_POINTER: u32 = 33885;
pub const GL_SECONDARY_COLOR_ARRAY: u32 = 33886;
pub const GL_TEXTURE_FILTER_CONTROL: u32 = 34048;
pub const GL_DEPTH_TEXTURE_MODE: u32 = 34891;
pub const GL_COMPARE_R_TO_TEXTURE: u32 = 34894;
pub const GL_VERSION_1_5: u32 = 1;
pub const GL_BUFFER_SIZE: u32 = 34660;
pub const GL_BUFFER_USAGE: u32 = 34661;
pub const GL_QUERY_COUNTER_BITS: u32 = 34916;
pub const GL_CURRENT_QUERY: u32 = 34917;
pub const GL_QUERY_RESULT: u32 = 34918;
pub const GL_QUERY_RESULT_AVAILABLE: u32 = 34919;
pub const GL_ARRAY_BUFFER: u32 = 34962;
pub const GL_ELEMENT_ARRAY_BUFFER: u32 = 34963;
pub const GL_ARRAY_BUFFER_BINDING: u32 = 34964;
pub const GL_ELEMENT_ARRAY_BUFFER_BINDING: u32 = 34965;
pub const GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: u32 = 34975;
pub const GL_READ_ONLY: u32 = 35000;
pub const GL_WRITE_ONLY: u32 = 35001;
pub const GL_READ_WRITE: u32 = 35002;
pub const GL_BUFFER_ACCESS: u32 = 35003;
pub const GL_BUFFER_MAPPED: u32 = 35004;
pub const GL_BUFFER_MAP_POINTER: u32 = 35005;
pub const GL_STREAM_DRAW: u32 = 35040;
pub const GL_STREAM_READ: u32 = 35041;
pub const GL_STREAM_COPY: u32 = 35042;
pub const GL_STATIC_DRAW: u32 = 35044;
pub const GL_STATIC_READ: u32 = 35045;
pub const GL_STATIC_COPY: u32 = 35046;
pub const GL_DYNAMIC_DRAW: u32 = 35048;
pub const GL_DYNAMIC_READ: u32 = 35049;
pub const GL_DYNAMIC_COPY: u32 = 35050;
pub const GL_SAMPLES_PASSED: u32 = 35092;
pub const GL_SRC1_ALPHA: u32 = 34185;
pub const GL_VERTEX_ARRAY_BUFFER_BINDING: u32 = 34966;
pub const GL_NORMAL_ARRAY_BUFFER_BINDING: u32 = 34967;
pub const GL_COLOR_ARRAY_BUFFER_BINDING: u32 = 34968;
pub const GL_INDEX_ARRAY_BUFFER_BINDING: u32 = 34969;
pub const GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: u32 = 34970;
pub const GL_EDGE_FLAG_ARRAY_BUFFER_BINDING: u32 = 34971;
pub const GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING: u32 = 34972;
pub const GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING: u32 = 34973;
pub const GL_WEIGHT_ARRAY_BUFFER_BINDING: u32 = 34974;
pub const GL_FOG_COORD_SRC: u32 = 33872;
pub const GL_FOG_COORD: u32 = 33873;
pub const GL_CURRENT_FOG_COORD: u32 = 33875;
pub const GL_FOG_COORD_ARRAY_TYPE: u32 = 33876;
pub const GL_FOG_COORD_ARRAY_STRIDE: u32 = 33877;
pub const GL_FOG_COORD_ARRAY_POINTER: u32 = 33878;
pub const GL_FOG_COORD_ARRAY: u32 = 33879;
pub const GL_FOG_COORD_ARRAY_BUFFER_BINDING: u32 = 34973;
pub const GL_SRC0_RGB: u32 = 34176;
pub const GL_SRC1_RGB: u32 = 34177;
pub const GL_SRC2_RGB: u32 = 34178;
pub const GL_SRC0_ALPHA: u32 = 34184;
pub const GL_SRC2_ALPHA: u32 = 34186;
pub const GL_VERSION_2_0: u32 = 1;
pub const GL_BLEND_EQUATION_RGB: u32 = 32777;
pub const GL_VERTEX_ATTRIB_ARRAY_ENABLED: u32 = 34338;
pub const GL_VERTEX_ATTRIB_ARRAY_SIZE: u32 = 34339;
pub const GL_VERTEX_ATTRIB_ARRAY_STRIDE: u32 = 34340;
pub const GL_VERTEX_ATTRIB_ARRAY_TYPE: u32 = 34341;
pub const GL_CURRENT_VERTEX_ATTRIB: u32 = 34342;
pub const GL_VERTEX_PROGRAM_POINT_SIZE: u32 = 34370;
pub const GL_VERTEX_ATTRIB_ARRAY_POINTER: u32 = 34373;
pub const GL_STENCIL_BACK_FUNC: u32 = 34816;
pub const GL_STENCIL_BACK_FAIL: u32 = 34817;
pub const GL_STENCIL_BACK_PASS_DEPTH_FAIL: u32 = 34818;
pub const GL_STENCIL_BACK_PASS_DEPTH_PASS: u32 = 34819;
pub const GL_MAX_DRAW_BUFFERS: u32 = 34852;
pub const GL_DRAW_BUFFER0: u32 = 34853;
pub const GL_DRAW_BUFFER1: u32 = 34854;
pub const GL_DRAW_BUFFER2: u32 = 34855;
pub const GL_DRAW_BUFFER3: u32 = 34856;
pub const GL_DRAW_BUFFER4: u32 = 34857;
pub const GL_DRAW_BUFFER5: u32 = 34858;
pub const GL_DRAW_BUFFER6: u32 = 34859;
pub const GL_DRAW_BUFFER7: u32 = 34860;
pub const GL_DRAW_BUFFER8: u32 = 34861;
pub const GL_DRAW_BUFFER9: u32 = 34862;
pub const GL_DRAW_BUFFER10: u32 = 34863;
pub const GL_DRAW_BUFFER11: u32 = 34864;
pub const GL_DRAW_BUFFER12: u32 = 34865;
pub const GL_DRAW_BUFFER13: u32 = 34866;
pub const GL_DRAW_BUFFER14: u32 = 34867;
pub const GL_DRAW_BUFFER15: u32 = 34868;
pub const GL_BLEND_EQUATION_ALPHA: u32 = 34877;
pub const GL_MAX_VERTEX_ATTRIBS: u32 = 34921;
pub const GL_VERTEX_ATTRIB_ARRAY_NORMALIZED: u32 = 34922;
pub const GL_MAX_TEXTURE_IMAGE_UNITS: u32 = 34930;
pub const GL_FRAGMENT_SHADER: u32 = 35632;
pub const GL_VERTEX_SHADER: u32 = 35633;
pub const GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: u32 = 35657;
pub const GL_MAX_VERTEX_UNIFORM_COMPONENTS: u32 = 35658;
pub const GL_MAX_VARYING_FLOATS: u32 = 35659;
pub const GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: u32 = 35660;
pub const GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: u32 = 35661;
pub const GL_SHADER_TYPE: u32 = 35663;
pub const GL_FLOAT_VEC2: u32 = 35664;
pub const GL_FLOAT_VEC3: u32 = 35665;
pub const GL_FLOAT_VEC4: u32 = 35666;
pub const GL_INT_VEC2: u32 = 35667;
pub const GL_INT_VEC3: u32 = 35668;
pub const GL_INT_VEC4: u32 = 35669;
pub const GL_BOOL: u32 = 35670;
pub const GL_BOOL_VEC2: u32 = 35671;
pub const GL_BOOL_VEC3: u32 = 35672;
pub const GL_BOOL_VEC4: u32 = 35673;
pub const GL_FLOAT_MAT2: u32 = 35674;
pub const GL_FLOAT_MAT3: u32 = 35675;
pub const GL_FLOAT_MAT4: u32 = 35676;
pub const GL_SAMPLER_1D: u32 = 35677;
pub const GL_SAMPLER_2D: u32 = 35678;
pub const GL_SAMPLER_3D: u32 = 35679;
pub const GL_SAMPLER_CUBE: u32 = 35680;
pub const GL_SAMPLER_1D_SHADOW: u32 = 35681;
pub const GL_SAMPLER_2D_SHADOW: u32 = 35682;
pub const GL_DELETE_STATUS: u32 = 35712;
pub const GL_COMPILE_STATUS: u32 = 35713;
pub const GL_LINK_STATUS: u32 = 35714;
pub const GL_VALIDATE_STATUS: u32 = 35715;
pub const GL_INFO_LOG_LENGTH: u32 = 35716;
pub const GL_ATTACHED_SHADERS: u32 = 35717;
pub const GL_ACTIVE_UNIFORMS: u32 = 35718;
pub const GL_ACTIVE_UNIFORM_MAX_LENGTH: u32 = 35719;
pub const GL_SHADER_SOURCE_LENGTH: u32 = 35720;
pub const GL_ACTIVE_ATTRIBUTES: u32 = 35721;
pub const GL_ACTIVE_ATTRIBUTE_MAX_LENGTH: u32 = 35722;
pub const GL_FRAGMENT_SHADER_DERIVATIVE_HINT: u32 = 35723;
pub const GL_SHADING_LANGUAGE_VERSION: u32 = 35724;
pub const GL_CURRENT_PROGRAM: u32 = 35725;
pub const GL_POINT_SPRITE_COORD_ORIGIN: u32 = 36000;
pub const GL_LOWER_LEFT: u32 = 36001;
pub const GL_UPPER_LEFT: u32 = 36002;
pub const GL_STENCIL_BACK_REF: u32 = 36003;
pub const GL_STENCIL_BACK_VALUE_MASK: u32 = 36004;
pub const GL_STENCIL_BACK_WRITEMASK: u32 = 36005;
pub const GL_VERTEX_PROGRAM_TWO_SIDE: u32 = 34371;
pub const GL_POINT_SPRITE: u32 = 34913;
pub const GL_COORD_REPLACE: u32 = 34914;
pub const GL_MAX_TEXTURE_COORDS: u32 = 34929;
pub const GL_VERSION_2_1: u32 = 1;
pub const GL_PIXEL_PACK_BUFFER: u32 = 35051;
pub const GL_PIXEL_UNPACK_BUFFER: u32 = 35052;
pub const GL_PIXEL_PACK_BUFFER_BINDING: u32 = 35053;
pub const GL_PIXEL_UNPACK_BUFFER_BINDING: u32 = 35055;
pub const GL_FLOAT_MAT2x3: u32 = 35685;
pub const GL_FLOAT_MAT2x4: u32 = 35686;
pub const GL_FLOAT_MAT3x2: u32 = 35687;
pub const GL_FLOAT_MAT3x4: u32 = 35688;
pub const GL_FLOAT_MAT4x2: u32 = 35689;
pub const GL_FLOAT_MAT4x3: u32 = 35690;
pub const GL_SRGB: u32 = 35904;
pub const GL_SRGB8: u32 = 35905;
pub const GL_SRGB_ALPHA: u32 = 35906;
pub const GL_SRGB8_ALPHA8: u32 = 35907;
pub const GL_COMPRESSED_SRGB: u32 = 35912;
pub const GL_COMPRESSED_SRGB_ALPHA: u32 = 35913;
pub const GL_CURRENT_RASTER_SECONDARY_COLOR: u32 = 33887;
pub const GL_SLUMINANCE_ALPHA: u32 = 35908;
pub const GL_SLUMINANCE8_ALPHA8: u32 = 35909;
pub const GL_SLUMINANCE: u32 = 35910;
pub const GL_SLUMINANCE8: u32 = 35911;
pub const GL_COMPRESSED_SLUMINANCE: u32 = 35914;
pub const GL_COMPRESSED_SLUMINANCE_ALPHA: u32 = 35915;
pub const GL_VERSION_3_0: u32 = 1;
pub const GL_COMPARE_REF_TO_TEXTURE: u32 = 34894;
pub const GL_CLIP_DISTANCE0: u32 = 12288;
pub const GL_CLIP_DISTANCE1: u32 = 12289;
pub const GL_CLIP_DISTANCE2: u32 = 12290;
pub const GL_CLIP_DISTANCE3: u32 = 12291;
pub const GL_CLIP_DISTANCE4: u32 = 12292;
pub const GL_CLIP_DISTANCE5: u32 = 12293;
pub const GL_CLIP_DISTANCE6: u32 = 12294;
pub const GL_CLIP_DISTANCE7: u32 = 12295;
pub const GL_MAX_CLIP_DISTANCES: u32 = 3378;
pub const GL_MAJOR_VERSION: u32 = 33307;
pub const GL_MINOR_VERSION: u32 = 33308;
pub const GL_NUM_EXTENSIONS: u32 = 33309;
pub const GL_CONTEXT_FLAGS: u32 = 33310;
pub const GL_COMPRESSED_RED: u32 = 33317;
pub const GL_COMPRESSED_RG: u32 = 33318;
pub const GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT: u32 = 1;
pub const GL_RGBA32F: u32 = 34836;
pub const GL_RGB32F: u32 = 34837;
pub const GL_RGBA16F: u32 = 34842;
pub const GL_RGB16F: u32 = 34843;
pub const GL_VERTEX_ATTRIB_ARRAY_INTEGER: u32 = 35069;
pub const GL_MAX_ARRAY_TEXTURE_LAYERS: u32 = 35071;
pub const GL_MIN_PROGRAM_TEXEL_OFFSET: u32 = 35076;
pub const GL_MAX_PROGRAM_TEXEL_OFFSET: u32 = 35077;
pub const GL_CLAMP_READ_COLOR: u32 = 35100;
pub const GL_FIXED_ONLY: u32 = 35101;
pub const GL_MAX_VARYING_COMPONENTS: u32 = 35659;
pub const GL_TEXTURE_1D_ARRAY: u32 = 35864;
pub const GL_PROXY_TEXTURE_1D_ARRAY: u32 = 35865;
pub const GL_TEXTURE_2D_ARRAY: u32 = 35866;
pub const GL_PROXY_TEXTURE_2D_ARRAY: u32 = 35867;
pub const GL_TEXTURE_BINDING_1D_ARRAY: u32 = 35868;
pub const GL_TEXTURE_BINDING_2D_ARRAY: u32 = 35869;
pub const GL_R11F_G11F_B10F: u32 = 35898;
pub const GL_UNSIGNED_INT_10F_11F_11F_REV: u32 = 35899;
pub const GL_RGB9_E5: u32 = 35901;
pub const GL_UNSIGNED_INT_5_9_9_9_REV: u32 = 35902;
pub const GL_TEXTURE_SHARED_SIZE: u32 = 35903;
pub const GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH: u32 = 35958;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_MODE: u32 = 35967;
pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: u32 = 35968;
pub const GL_TRANSFORM_FEEDBACK_VARYINGS: u32 = 35971;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_START: u32 = 35972;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: u32 = 35973;
pub const GL_PRIMITIVES_GENERATED: u32 = 35975;
pub const GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: u32 = 35976;
pub const GL_RASTERIZER_DISCARD: u32 = 35977;
pub const GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: u32 = 35978;
pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: u32 = 35979;
pub const GL_INTERLEAVED_ATTRIBS: u32 = 35980;
pub const GL_SEPARATE_ATTRIBS: u32 = 35981;
pub const GL_TRANSFORM_FEEDBACK_BUFFER: u32 = 35982;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: u32 = 35983;
pub const GL_RGBA32UI: u32 = 36208;
pub const GL_RGB32UI: u32 = 36209;
pub const GL_RGBA16UI: u32 = 36214;
pub const GL_RGB16UI: u32 = 36215;
pub const GL_RGBA8UI: u32 = 36220;
pub const GL_RGB8UI: u32 = 36221;
pub const GL_RGBA32I: u32 = 36226;
pub const GL_RGB32I: u32 = 36227;
pub const GL_RGBA16I: u32 = 36232;
pub const GL_RGB16I: u32 = 36233;
pub const GL_RGBA8I: u32 = 36238;
pub const GL_RGB8I: u32 = 36239;
pub const GL_RED_INTEGER: u32 = 36244;
pub const GL_GREEN_INTEGER: u32 = 36245;
pub const GL_BLUE_INTEGER: u32 = 36246;
pub const GL_RGB_INTEGER: u32 = 36248;
pub const GL_RGBA_INTEGER: u32 = 36249;
pub const GL_BGR_INTEGER: u32 = 36250;
pub const GL_BGRA_INTEGER: u32 = 36251;
pub const GL_SAMPLER_1D_ARRAY: u32 = 36288;
pub const GL_SAMPLER_2D_ARRAY: u32 = 36289;
pub const GL_SAMPLER_1D_ARRAY_SHADOW: u32 = 36291;
pub const GL_SAMPLER_2D_ARRAY_SHADOW: u32 = 36292;
pub const GL_SAMPLER_CUBE_SHADOW: u32 = 36293;
pub const GL_UNSIGNED_INT_VEC2: u32 = 36294;
pub const GL_UNSIGNED_INT_VEC3: u32 = 36295;
pub const GL_UNSIGNED_INT_VEC4: u32 = 36296;
pub const GL_INT_SAMPLER_1D: u32 = 36297;
pub const GL_INT_SAMPLER_2D: u32 = 36298;
pub const GL_INT_SAMPLER_3D: u32 = 36299;
pub const GL_INT_SAMPLER_CUBE: u32 = 36300;
pub const GL_INT_SAMPLER_1D_ARRAY: u32 = 36302;
pub const GL_INT_SAMPLER_2D_ARRAY: u32 = 36303;
pub const GL_UNSIGNED_INT_SAMPLER_1D: u32 = 36305;
pub const GL_UNSIGNED_INT_SAMPLER_2D: u32 = 36306;
pub const GL_UNSIGNED_INT_SAMPLER_3D: u32 = 36307;
pub const GL_UNSIGNED_INT_SAMPLER_CUBE: u32 = 36308;
pub const GL_UNSIGNED_INT_SAMPLER_1D_ARRAY: u32 = 36310;
pub const GL_UNSIGNED_INT_SAMPLER_2D_ARRAY: u32 = 36311;
pub const GL_QUERY_WAIT: u32 = 36371;
pub const GL_QUERY_NO_WAIT: u32 = 36372;
pub const GL_QUERY_BY_REGION_WAIT: u32 = 36373;
pub const GL_QUERY_BY_REGION_NO_WAIT: u32 = 36374;
pub const GL_BUFFER_ACCESS_FLAGS: u32 = 37151;
pub const GL_BUFFER_MAP_LENGTH: u32 = 37152;
pub const GL_BUFFER_MAP_OFFSET: u32 = 37153;
pub const GL_DEPTH_COMPONENT32F: u32 = 36012;
pub const GL_DEPTH32F_STENCIL8: u32 = 36013;
pub const GL_FLOAT_32_UNSIGNED_INT_24_8_REV: u32 = 36269;
pub const GL_INVALID_FRAMEBUFFER_OPERATION: u32 = 1286;
pub const GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: u32 = 33296;
pub const GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: u32 = 33297;
pub const GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE: u32 = 33298;
pub const GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: u32 = 33299;
pub const GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: u32 = 33300;
pub const GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: u32 = 33301;
pub const GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: u32 = 33302;
pub const GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: u32 = 33303;
pub const GL_FRAMEBUFFER_DEFAULT: u32 = 33304;
pub const GL_FRAMEBUFFER_UNDEFINED: u32 = 33305;
pub const GL_DEPTH_STENCIL_ATTACHMENT: u32 = 33306;
pub const GL_MAX_RENDERBUFFER_SIZE: u32 = 34024;
pub const GL_DEPTH_STENCIL: u32 = 34041;
pub const GL_UNSIGNED_INT_24_8: u32 = 34042;
pub const GL_DEPTH24_STENCIL8: u32 = 35056;
pub const GL_TEXTURE_STENCIL_SIZE: u32 = 35057;
pub const GL_TEXTURE_RED_TYPE: u32 = 35856;
pub const GL_TEXTURE_GREEN_TYPE: u32 = 35857;
pub const GL_TEXTURE_BLUE_TYPE: u32 = 35858;
pub const GL_TEXTURE_ALPHA_TYPE: u32 = 35859;
pub const GL_TEXTURE_DEPTH_TYPE: u32 = 35862;
pub const GL_UNSIGNED_NORMALIZED: u32 = 35863;
pub const GL_FRAMEBUFFER_BINDING: u32 = 36006;
pub const GL_DRAW_FRAMEBUFFER_BINDING: u32 = 36006;
pub const GL_RENDERBUFFER_BINDING: u32 = 36007;
pub const GL_READ_FRAMEBUFFER: u32 = 36008;
pub const GL_DRAW_FRAMEBUFFER: u32 = 36009;
pub const GL_READ_FRAMEBUFFER_BINDING: u32 = 36010;
pub const GL_RENDERBUFFER_SAMPLES: u32 = 36011;
pub const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: u32 = 36048;
pub const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: u32 = 36049;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: u32 = 36050;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: u32 = 36051;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: u32 = 36052;
pub const GL_FRAMEBUFFER_COMPLETE: u32 = 36053;
pub const GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: u32 = 36054;
pub const GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: u32 = 36055;
pub const GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER: u32 = 36059;
pub const GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER: u32 = 36060;
pub const GL_FRAMEBUFFER_UNSUPPORTED: u32 = 36061;
pub const GL_MAX_COLOR_ATTACHMENTS: u32 = 36063;
pub const GL_COLOR_ATTACHMENT0: u32 = 36064;
pub const GL_COLOR_ATTACHMENT1: u32 = 36065;
pub const GL_COLOR_ATTACHMENT2: u32 = 36066;
pub const GL_COLOR_ATTACHMENT3: u32 = 36067;
pub const GL_COLOR_ATTACHMENT4: u32 = 36068;
pub const GL_COLOR_ATTACHMENT5: u32 = 36069;
pub const GL_COLOR_ATTACHMENT6: u32 = 36070;
pub const GL_COLOR_ATTACHMENT7: u32 = 36071;
pub const GL_COLOR_ATTACHMENT8: u32 = 36072;
pub const GL_COLOR_ATTACHMENT9: u32 = 36073;
pub const GL_COLOR_ATTACHMENT10: u32 = 36074;
pub const GL_COLOR_ATTACHMENT11: u32 = 36075;
pub const GL_COLOR_ATTACHMENT12: u32 = 36076;
pub const GL_COLOR_ATTACHMENT13: u32 = 36077;
pub const GL_COLOR_ATTACHMENT14: u32 = 36078;
pub const GL_COLOR_ATTACHMENT15: u32 = 36079;
pub const GL_COLOR_ATTACHMENT16: u32 = 36080;
pub const GL_COLOR_ATTACHMENT17: u32 = 36081;
pub const GL_COLOR_ATTACHMENT18: u32 = 36082;
pub const GL_COLOR_ATTACHMENT19: u32 = 36083;
pub const GL_COLOR_ATTACHMENT20: u32 = 36084;
pub const GL_COLOR_ATTACHMENT21: u32 = 36085;
pub const GL_COLOR_ATTACHMENT22: u32 = 36086;
pub const GL_COLOR_ATTACHMENT23: u32 = 36087;
pub const GL_COLOR_ATTACHMENT24: u32 = 36088;
pub const GL_COLOR_ATTACHMENT25: u32 = 36089;
pub const GL_COLOR_ATTACHMENT26: u32 = 36090;
pub const GL_COLOR_ATTACHMENT27: u32 = 36091;
pub const GL_COLOR_ATTACHMENT28: u32 = 36092;
pub const GL_COLOR_ATTACHMENT29: u32 = 36093;
pub const GL_COLOR_ATTACHMENT30: u32 = 36094;
pub const GL_COLOR_ATTACHMENT31: u32 = 36095;
pub const GL_DEPTH_ATTACHMENT: u32 = 36096;
pub const GL_STENCIL_ATTACHMENT: u32 = 36128;
pub const GL_FRAMEBUFFER: u32 = 36160;
pub const GL_RENDERBUFFER: u32 = 36161;
pub const GL_RENDERBUFFER_WIDTH: u32 = 36162;
pub const GL_RENDERBUFFER_HEIGHT: u32 = 36163;
pub const GL_RENDERBUFFER_INTERNAL_FORMAT: u32 = 36164;
pub const GL_STENCIL_INDEX1: u32 = 36166;
pub const GL_STENCIL_INDEX4: u32 = 36167;
pub const GL_STENCIL_INDEX8: u32 = 36168;
pub const GL_STENCIL_INDEX16: u32 = 36169;
pub const GL_RENDERBUFFER_RED_SIZE: u32 = 36176;
pub const GL_RENDERBUFFER_GREEN_SIZE: u32 = 36177;
pub const GL_RENDERBUFFER_BLUE_SIZE: u32 = 36178;
pub const GL_RENDERBUFFER_ALPHA_SIZE: u32 = 36179;
pub const GL_RENDERBUFFER_DEPTH_SIZE: u32 = 36180;
pub const GL_RENDERBUFFER_STENCIL_SIZE: u32 = 36181;
pub const GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: u32 = 36182;
pub const GL_MAX_SAMPLES: u32 = 36183;
pub const GL_INDEX: u32 = 33314;
pub const GL_TEXTURE_LUMINANCE_TYPE: u32 = 35860;
pub const GL_TEXTURE_INTENSITY_TYPE: u32 = 35861;
pub const GL_FRAMEBUFFER_SRGB: u32 = 36281;
pub const GL_HALF_FLOAT: u32 = 5131;
pub const GL_MAP_READ_BIT: u32 = 1;
pub const GL_MAP_WRITE_BIT: u32 = 2;
pub const GL_MAP_INVALIDATE_RANGE_BIT: u32 = 4;
pub const GL_MAP_INVALIDATE_BUFFER_BIT: u32 = 8;
pub const GL_MAP_FLUSH_EXPLICIT_BIT: u32 = 16;
pub const GL_MAP_UNSYNCHRONIZED_BIT: u32 = 32;
pub const GL_COMPRESSED_RED_RGTC1: u32 = 36283;
pub const GL_COMPRESSED_SIGNED_RED_RGTC1: u32 = 36284;
pub const GL_COMPRESSED_RG_RGTC2: u32 = 36285;
pub const GL_COMPRESSED_SIGNED_RG_RGTC2: u32 = 36286;
pub const GL_RG: u32 = 33319;
pub const GL_RG_INTEGER: u32 = 33320;
pub const GL_R8: u32 = 33321;
pub const GL_R16: u32 = 33322;
pub const GL_RG8: u32 = 33323;
pub const GL_RG16: u32 = 33324;
pub const GL_R16F: u32 = 33325;
pub const GL_R32F: u32 = 33326;
pub const GL_RG16F: u32 = 33327;
pub const GL_RG32F: u32 = 33328;
pub const GL_R8I: u32 = 33329;
pub const GL_R8UI: u32 = 33330;
pub const GL_R16I: u32 = 33331;
pub const GL_R16UI: u32 = 33332;
pub const GL_R32I: u32 = 33333;
pub const GL_R32UI: u32 = 33334;
pub const GL_RG8I: u32 = 33335;
pub const GL_RG8UI: u32 = 33336;
pub const GL_RG16I: u32 = 33337;
pub const GL_RG16UI: u32 = 33338;
pub const GL_RG32I: u32 = 33339;
pub const GL_RG32UI: u32 = 33340;
pub const GL_VERTEX_ARRAY_BINDING: u32 = 34229;
pub const GL_CLAMP_VERTEX_COLOR: u32 = 35098;
pub const GL_CLAMP_FRAGMENT_COLOR: u32 = 35099;
pub const GL_ALPHA_INTEGER: u32 = 36247;
pub const GL_VERSION_3_1: u32 = 1;
pub const GL_SAMPLER_2D_RECT: u32 = 35683;
pub const GL_SAMPLER_2D_RECT_SHADOW: u32 = 35684;
pub const GL_SAMPLER_BUFFER: u32 = 36290;
pub const GL_INT_SAMPLER_2D_RECT: u32 = 36301;
pub const GL_INT_SAMPLER_BUFFER: u32 = 36304;
pub const GL_UNSIGNED_INT_SAMPLER_2D_RECT: u32 = 36309;
pub const GL_UNSIGNED_INT_SAMPLER_BUFFER: u32 = 36312;
pub const GL_TEXTURE_BUFFER: u32 = 35882;
pub const GL_MAX_TEXTURE_BUFFER_SIZE: u32 = 35883;
pub const GL_TEXTURE_BINDING_BUFFER: u32 = 35884;
pub const GL_TEXTURE_BUFFER_DATA_STORE_BINDING: u32 = 35885;
pub const GL_TEXTURE_RECTANGLE: u32 = 34037;
pub const GL_TEXTURE_BINDING_RECTANGLE: u32 = 34038;
pub const GL_PROXY_TEXTURE_RECTANGLE: u32 = 34039;
pub const GL_MAX_RECTANGLE_TEXTURE_SIZE: u32 = 34040;
pub const GL_R8_SNORM: u32 = 36756;
pub const GL_RG8_SNORM: u32 = 36757;
pub const GL_RGB8_SNORM: u32 = 36758;
pub const GL_RGBA8_SNORM: u32 = 36759;
pub const GL_R16_SNORM: u32 = 36760;
pub const GL_RG16_SNORM: u32 = 36761;
pub const GL_RGB16_SNORM: u32 = 36762;
pub const GL_RGBA16_SNORM: u32 = 36763;
pub const GL_SIGNED_NORMALIZED: u32 = 36764;
pub const GL_PRIMITIVE_RESTART: u32 = 36765;
pub const GL_PRIMITIVE_RESTART_INDEX: u32 = 36766;
pub const GL_COPY_READ_BUFFER: u32 = 36662;
pub const GL_COPY_WRITE_BUFFER: u32 = 36663;
pub const GL_UNIFORM_BUFFER: u32 = 35345;
pub const GL_UNIFORM_BUFFER_BINDING: u32 = 35368;
pub const GL_UNIFORM_BUFFER_START: u32 = 35369;
pub const GL_UNIFORM_BUFFER_SIZE: u32 = 35370;
pub const GL_MAX_VERTEX_UNIFORM_BLOCKS: u32 = 35371;
pub const GL_MAX_GEOMETRY_UNIFORM_BLOCKS: u32 = 35372;
pub const GL_MAX_FRAGMENT_UNIFORM_BLOCKS: u32 = 35373;
pub const GL_MAX_COMBINED_UNIFORM_BLOCKS: u32 = 35374;
pub const GL_MAX_UNIFORM_BUFFER_BINDINGS: u32 = 35375;
pub const GL_MAX_UNIFORM_BLOCK_SIZE: u32 = 35376;
pub const GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: u32 = 35377;
pub const GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS: u32 = 35378;
pub const GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: u32 = 35379;
pub const GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: u32 = 35380;
pub const GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH: u32 = 35381;
pub const GL_ACTIVE_UNIFORM_BLOCKS: u32 = 35382;
pub const GL_UNIFORM_TYPE: u32 = 35383;
pub const GL_UNIFORM_SIZE: u32 = 35384;
pub const GL_UNIFORM_NAME_LENGTH: u32 = 35385;
pub const GL_UNIFORM_BLOCK_INDEX: u32 = 35386;
pub const GL_UNIFORM_OFFSET: u32 = 35387;
pub const GL_UNIFORM_ARRAY_STRIDE: u32 = 35388;
pub const GL_UNIFORM_MATRIX_STRIDE: u32 = 35389;
pub const GL_UNIFORM_IS_ROW_MAJOR: u32 = 35390;
pub const GL_UNIFORM_BLOCK_BINDING: u32 = 35391;
pub const GL_UNIFORM_BLOCK_DATA_SIZE: u32 = 35392;
pub const GL_UNIFORM_BLOCK_NAME_LENGTH: u32 = 35393;
pub const GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS: u32 = 35394;
pub const GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: u32 = 35395;
pub const GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: u32 = 35396;
pub const GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER: u32 = 35397;
pub const GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: u32 = 35398;
pub const GL_INVALID_INDEX: u32 = 4294967295;
pub const GL_VERSION_3_2: u32 = 1;
pub const GL_CONTEXT_CORE_PROFILE_BIT: u32 = 1;
pub const GL_CONTEXT_COMPATIBILITY_PROFILE_BIT: u32 = 2;
pub const GL_LINES_ADJACENCY: u32 = 10;
pub const GL_LINE_STRIP_ADJACENCY: u32 = 11;
pub const GL_TRIANGLES_ADJACENCY: u32 = 12;
pub const GL_TRIANGLE_STRIP_ADJACENCY: u32 = 13;
pub const GL_PROGRAM_POINT_SIZE: u32 = 34370;
pub const GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS: u32 = 35881;
pub const GL_FRAMEBUFFER_ATTACHMENT_LAYERED: u32 = 36263;
pub const GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS: u32 = 36264;
pub const GL_GEOMETRY_SHADER: u32 = 36313;
pub const GL_GEOMETRY_VERTICES_OUT: u32 = 35094;
pub const GL_GEOMETRY_INPUT_TYPE: u32 = 35095;
pub const GL_GEOMETRY_OUTPUT_TYPE: u32 = 35096;
pub const GL_MAX_GEOMETRY_UNIFORM_COMPONENTS: u32 = 36319;
pub const GL_MAX_GEOMETRY_OUTPUT_VERTICES: u32 = 36320;
pub const GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS: u32 = 36321;
pub const GL_MAX_VERTEX_OUTPUT_COMPONENTS: u32 = 37154;
pub const GL_MAX_GEOMETRY_INPUT_COMPONENTS: u32 = 37155;
pub const GL_MAX_GEOMETRY_OUTPUT_COMPONENTS: u32 = 37156;
pub const GL_MAX_FRAGMENT_INPUT_COMPONENTS: u32 = 37157;
pub const GL_CONTEXT_PROFILE_MASK: u32 = 37158;
pub const GL_DEPTH_CLAMP: u32 = 34383;
pub const GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION: u32 = 36428;
pub const GL_FIRST_VERTEX_CONVENTION: u32 = 36429;
pub const GL_LAST_VERTEX_CONVENTION: u32 = 36430;
pub const GL_PROVOKING_VERTEX: u32 = 36431;
pub const GL_TEXTURE_CUBE_MAP_SEAMLESS: u32 = 34895;
pub const GL_MAX_SERVER_WAIT_TIMEOUT: u32 = 37137;
pub const GL_OBJECT_TYPE: u32 = 37138;
pub const GL_SYNC_CONDITION: u32 = 37139;
pub const GL_SYNC_STATUS: u32 = 37140;
pub const GL_SYNC_FLAGS: u32 = 37141;
pub const GL_SYNC_FENCE: u32 = 37142;
pub const GL_SYNC_GPU_COMMANDS_COMPLETE: u32 = 37143;
pub const GL_UNSIGNALED: u32 = 37144;
pub const GL_SIGNALED: u32 = 37145;
pub const GL_ALREADY_SIGNALED: u32 = 37146;
pub const GL_TIMEOUT_EXPIRED: u32 = 37147;
pub const GL_CONDITION_SATISFIED: u32 = 37148;
pub const GL_WAIT_FAILED: u32 = 37149;
pub const GL_TIMEOUT_IGNORED: i32 = -1;
pub const GL_SYNC_FLUSH_COMMANDS_BIT: u32 = 1;
pub const GL_SAMPLE_POSITION: u32 = 36432;
pub const GL_SAMPLE_MASK: u32 = 36433;
pub const GL_SAMPLE_MASK_VALUE: u32 = 36434;
pub const GL_MAX_SAMPLE_MASK_WORDS: u32 = 36441;
pub const GL_TEXTURE_2D_MULTISAMPLE: u32 = 37120;
pub const GL_PROXY_TEXTURE_2D_MULTISAMPLE: u32 = 37121;
pub const GL_TEXTURE_2D_MULTISAMPLE_ARRAY: u32 = 37122;
pub const GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY: u32 = 37123;
pub const GL_TEXTURE_BINDING_2D_MULTISAMPLE: u32 = 37124;
pub const GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY: u32 = 37125;
pub const GL_TEXTURE_SAMPLES: u32 = 37126;
pub const GL_TEXTURE_FIXED_SAMPLE_LOCATIONS: u32 = 37127;
pub const GL_SAMPLER_2D_MULTISAMPLE: u32 = 37128;
pub const GL_INT_SAMPLER_2D_MULTISAMPLE: u32 = 37129;
pub const GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE: u32 = 37130;
pub const GL_SAMPLER_2D_MULTISAMPLE_ARRAY: u32 = 37131;
pub const GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: u32 = 37132;
pub const GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: u32 = 37133;
pub const GL_MAX_COLOR_TEXTURE_SAMPLES: u32 = 37134;
pub const GL_MAX_DEPTH_TEXTURE_SAMPLES: u32 = 37135;
pub const GL_MAX_INTEGER_SAMPLES: u32 = 37136;
pub const GL_VERSION_3_3: u32 = 1;
pub const GL_VERTEX_ATTRIB_ARRAY_DIVISOR: u32 = 35070;
pub const GL_SRC1_COLOR: u32 = 35065;
pub const GL_ONE_MINUS_SRC1_COLOR: u32 = 35066;
pub const GL_ONE_MINUS_SRC1_ALPHA: u32 = 35067;
pub const GL_MAX_DUAL_SOURCE_DRAW_BUFFERS: u32 = 35068;
pub const GL_ANY_SAMPLES_PASSED: u32 = 35887;
pub const GL_SAMPLER_BINDING: u32 = 35097;
pub const GL_RGB10_A2UI: u32 = 36975;
pub const GL_TEXTURE_SWIZZLE_R: u32 = 36418;
pub const GL_TEXTURE_SWIZZLE_G: u32 = 36419;
pub const GL_TEXTURE_SWIZZLE_B: u32 = 36420;
pub const GL_TEXTURE_SWIZZLE_A: u32 = 36421;
pub const GL_TEXTURE_SWIZZLE_RGBA: u32 = 36422;
pub const GL_TIME_ELAPSED: u32 = 35007;
pub const GL_TIMESTAMP: u32 = 36392;
pub const GL_INT_2_10_10_10_REV: u32 = 36255;
pub const GL_VERSION_4_0: u32 = 1;
pub const GL_SAMPLE_SHADING: u32 = 35894;
pub const GL_MIN_SAMPLE_SHADING_VALUE: u32 = 35895;
pub const GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET: u32 = 36446;
pub const GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET: u32 = 36447;
pub const GL_TEXTURE_CUBE_MAP_ARRAY: u32 = 36873;
pub const GL_TEXTURE_BINDING_CUBE_MAP_ARRAY: u32 = 36874;
pub const GL_PROXY_TEXTURE_CUBE_MAP_ARRAY: u32 = 36875;
pub const GL_SAMPLER_CUBE_MAP_ARRAY: u32 = 36876;
pub const GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW: u32 = 36877;
pub const GL_INT_SAMPLER_CUBE_MAP_ARRAY: u32 = 36878;
pub const GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY: u32 = 36879;
pub const GL_DRAW_INDIRECT_BUFFER: u32 = 36671;
pub const GL_DRAW_INDIRECT_BUFFER_BINDING: u32 = 36675;
pub const GL_GEOMETRY_SHADER_INVOCATIONS: u32 = 34943;
pub const GL_MAX_GEOMETRY_SHADER_INVOCATIONS: u32 = 36442;
pub const GL_MIN_FRAGMENT_INTERPOLATION_OFFSET: u32 = 36443;
pub const GL_MAX_FRAGMENT_INTERPOLATION_OFFSET: u32 = 36444;
pub const GL_FRAGMENT_INTERPOLATION_OFFSET_BITS: u32 = 36445;
pub const GL_MAX_VERTEX_STREAMS: u32 = 36465;
pub const GL_DOUBLE_VEC2: u32 = 36860;
pub const GL_DOUBLE_VEC3: u32 = 36861;
pub const GL_DOUBLE_VEC4: u32 = 36862;
pub const GL_DOUBLE_MAT2: u32 = 36678;
pub const GL_DOUBLE_MAT3: u32 = 36679;
pub const GL_DOUBLE_MAT4: u32 = 36680;
pub const GL_DOUBLE_MAT2x3: u32 = 36681;
pub const GL_DOUBLE_MAT2x4: u32 = 36682;
pub const GL_DOUBLE_MAT3x2: u32 = 36683;
pub const GL_DOUBLE_MAT3x4: u32 = 36684;
pub const GL_DOUBLE_MAT4x2: u32 = 36685;
pub const GL_DOUBLE_MAT4x3: u32 = 36686;
pub const GL_ACTIVE_SUBROUTINES: u32 = 36325;
pub const GL_ACTIVE_SUBROUTINE_UNIFORMS: u32 = 36326;
pub const GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS: u32 = 36423;
pub const GL_ACTIVE_SUBROUTINE_MAX_LENGTH: u32 = 36424;
pub const GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH: u32 = 36425;
pub const GL_MAX_SUBROUTINES: u32 = 36327;
pub const GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS: u32 = 36328;
pub const GL_NUM_COMPATIBLE_SUBROUTINES: u32 = 36426;
pub const GL_COMPATIBLE_SUBROUTINES: u32 = 36427;
pub const GL_PATCHES: u32 = 14;
pub const GL_PATCH_VERTICES: u32 = 36466;
pub const GL_PATCH_DEFAULT_INNER_LEVEL: u32 = 36467;
pub const GL_PATCH_DEFAULT_OUTER_LEVEL: u32 = 36468;
pub const GL_TESS_CONTROL_OUTPUT_VERTICES: u32 = 36469;
pub const GL_TESS_GEN_MODE: u32 = 36470;
pub const GL_TESS_GEN_SPACING: u32 = 36471;
pub const GL_TESS_GEN_VERTEX_ORDER: u32 = 36472;
pub const GL_TESS_GEN_POINT_MODE: u32 = 36473;
pub const GL_ISOLINES: u32 = 36474;
pub const GL_FRACTIONAL_ODD: u32 = 36475;
pub const GL_FRACTIONAL_EVEN: u32 = 36476;
pub const GL_MAX_PATCH_VERTICES: u32 = 36477;
pub const GL_MAX_TESS_GEN_LEVEL: u32 = 36478;
pub const GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS: u32 = 36479;
pub const GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS: u32 = 36480;
pub const GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS: u32 = 36481;
pub const GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS: u32 = 36482;
pub const GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS: u32 = 36483;
pub const GL_MAX_TESS_PATCH_COMPONENTS: u32 = 36484;
pub const GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS: u32 = 36485;
pub const GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS: u32 = 36486;
pub const GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS: u32 = 36489;
pub const GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS: u32 = 36490;
pub const GL_MAX_TESS_CONTROL_INPUT_COMPONENTS: u32 = 34924;
pub const GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS: u32 = 34925;
pub const GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS: u32 = 36382;
pub const GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS: u32 = 36383;
pub const GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER: u32 = 34032;
pub const GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER: u32 = 34033;
pub const GL_TESS_EVALUATION_SHADER: u32 = 36487;
pub const GL_TESS_CONTROL_SHADER: u32 = 36488;
pub const GL_TRANSFORM_FEEDBACK: u32 = 36386;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED: u32 = 36387;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE: u32 = 36388;
pub const GL_TRANSFORM_FEEDBACK_BINDING: u32 = 36389;
pub const GL_MAX_TRANSFORM_FEEDBACK_BUFFERS: u32 = 36464;
pub const GL_VERSION_4_1: u32 = 1;
pub const GL_FIXED: u32 = 5132;
pub const GL_IMPLEMENTATION_COLOR_READ_TYPE: u32 = 35738;
pub const GL_IMPLEMENTATION_COLOR_READ_FORMAT: u32 = 35739;
pub const GL_LOW_FLOAT: u32 = 36336;
pub const GL_MEDIUM_FLOAT: u32 = 36337;
pub const GL_HIGH_FLOAT: u32 = 36338;
pub const GL_LOW_INT: u32 = 36339;
pub const GL_MEDIUM_INT: u32 = 36340;
pub const GL_HIGH_INT: u32 = 36341;
pub const GL_SHADER_COMPILER: u32 = 36346;
pub const GL_SHADER_BINARY_FORMATS: u32 = 36344;
pub const GL_NUM_SHADER_BINARY_FORMATS: u32 = 36345;
pub const GL_MAX_VERTEX_UNIFORM_VECTORS: u32 = 36347;
pub const GL_MAX_VARYING_VECTORS: u32 = 36348;
pub const GL_MAX_FRAGMENT_UNIFORM_VECTORS: u32 = 36349;
pub const GL_RGB565: u32 = 36194;
pub const GL_PROGRAM_BINARY_RETRIEVABLE_HINT: u32 = 33367;
pub const GL_PROGRAM_BINARY_LENGTH: u32 = 34625;
pub const GL_NUM_PROGRAM_BINARY_FORMATS: u32 = 34814;
pub const GL_PROGRAM_BINARY_FORMATS: u32 = 34815;
pub const GL_VERTEX_SHADER_BIT: u32 = 1;
pub const GL_FRAGMENT_SHADER_BIT: u32 = 2;
pub const GL_GEOMETRY_SHADER_BIT: u32 = 4;
pub const GL_TESS_CONTROL_SHADER_BIT: u32 = 8;
pub const GL_TESS_EVALUATION_SHADER_BIT: u32 = 16;
pub const GL_ALL_SHADER_BITS: u32 = 4294967295;
pub const GL_PROGRAM_SEPARABLE: u32 = 33368;
pub const GL_ACTIVE_PROGRAM: u32 = 33369;
pub const GL_PROGRAM_PIPELINE_BINDING: u32 = 33370;
pub const GL_MAX_VIEWPORTS: u32 = 33371;
pub const GL_VIEWPORT_SUBPIXEL_BITS: u32 = 33372;
pub const GL_VIEWPORT_BOUNDS_RANGE: u32 = 33373;
pub const GL_LAYER_PROVOKING_VERTEX: u32 = 33374;
pub const GL_VIEWPORT_INDEX_PROVOKING_VERTEX: u32 = 33375;
pub const GL_UNDEFINED_VERTEX: u32 = 33376;
pub const GL_VERSION_4_2: u32 = 1;
pub const GL_COPY_READ_BUFFER_BINDING: u32 = 36662;
pub const GL_COPY_WRITE_BUFFER_BINDING: u32 = 36663;
pub const GL_TRANSFORM_FEEDBACK_ACTIVE: u32 = 36388;
pub const GL_TRANSFORM_FEEDBACK_PAUSED: u32 = 36387;
pub const GL_UNPACK_COMPRESSED_BLOCK_WIDTH: u32 = 37159;
pub const GL_UNPACK_COMPRESSED_BLOCK_HEIGHT: u32 = 37160;
pub const GL_UNPACK_COMPRESSED_BLOCK_DEPTH: u32 = 37161;
pub const GL_UNPACK_COMPRESSED_BLOCK_SIZE: u32 = 37162;
pub const GL_PACK_COMPRESSED_BLOCK_WIDTH: u32 = 37163;
pub const GL_PACK_COMPRESSED_BLOCK_HEIGHT: u32 = 37164;
pub const GL_PACK_COMPRESSED_BLOCK_DEPTH: u32 = 37165;
pub const GL_PACK_COMPRESSED_BLOCK_SIZE: u32 = 37166;
pub const GL_NUM_SAMPLE_COUNTS: u32 = 37760;
pub const GL_MIN_MAP_BUFFER_ALIGNMENT: u32 = 37052;
pub const GL_ATOMIC_COUNTER_BUFFER: u32 = 37568;
pub const GL_ATOMIC_COUNTER_BUFFER_BINDING: u32 = 37569;
pub const GL_ATOMIC_COUNTER_BUFFER_START: u32 = 37570;
pub const GL_ATOMIC_COUNTER_BUFFER_SIZE: u32 = 37571;
pub const GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE: u32 = 37572;
pub const GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS: u32 = 37573;
pub const GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES: u32 = 37574;
pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER: u32 = 37575;
pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER: u32 = 37576;
pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER: u32 = 37577;
pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER: u32 = 37578;
pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER: u32 = 37579;
pub const GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS: u32 = 37580;
pub const GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS: u32 = 37581;
pub const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS: u32 = 37582;
pub const GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS: u32 = 37583;
pub const GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS: u32 = 37584;
pub const GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS: u32 = 37585;
pub const GL_MAX_VERTEX_ATOMIC_COUNTERS: u32 = 37586;
pub const GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS: u32 = 37587;
pub const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS: u32 = 37588;
pub const GL_MAX_GEOMETRY_ATOMIC_COUNTERS: u32 = 37589;
pub const GL_MAX_FRAGMENT_ATOMIC_COUNTERS: u32 = 37590;
pub const GL_MAX_COMBINED_ATOMIC_COUNTERS: u32 = 37591;
pub const GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE: u32 = 37592;
pub const GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: u32 = 37596;
pub const GL_ACTIVE_ATOMIC_COUNTER_BUFFERS: u32 = 37593;
pub const GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX: u32 = 37594;
pub const GL_UNSIGNED_INT_ATOMIC_COUNTER: u32 = 37595;
pub const GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT: u32 = 1;
pub const GL_ELEMENT_ARRAY_BARRIER_BIT: u32 = 2;
pub const GL_UNIFORM_BARRIER_BIT: u32 = 4;
pub const GL_TEXTURE_FETCH_BARRIER_BIT: u32 = 8;
pub const GL_SHADER_IMAGE_ACCESS_BARRIER_BIT: u32 = 32;
pub const GL_COMMAND_BARRIER_BIT: u32 = 64;
pub const GL_PIXEL_BUFFER_BARRIER_BIT: u32 = 128;
pub const GL_TEXTURE_UPDATE_BARRIER_BIT: u32 = 256;
pub const GL_BUFFER_UPDATE_BARRIER_BIT: u32 = 512;
pub const GL_FRAMEBUFFER_BARRIER_BIT: u32 = 1024;
pub const GL_TRANSFORM_FEEDBACK_BARRIER_BIT: u32 = 2048;
pub const GL_ATOMIC_COUNTER_BARRIER_BIT: u32 = 4096;
pub const GL_ALL_BARRIER_BITS: u32 = 4294967295;
pub const GL_MAX_IMAGE_UNITS: u32 = 36664;
pub const GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS: u32 = 36665;
pub const GL_IMAGE_BINDING_NAME: u32 = 36666;
pub const GL_IMAGE_BINDING_LEVEL: u32 = 36667;
pub const GL_IMAGE_BINDING_LAYERED: u32 = 36668;
pub const GL_IMAGE_BINDING_LAYER: u32 = 36669;
pub const GL_IMAGE_BINDING_ACCESS: u32 = 36670;
pub const GL_IMAGE_1D: u32 = 36940;
pub const GL_IMAGE_2D: u32 = 36941;
pub const GL_IMAGE_3D: u32 = 36942;
pub const GL_IMAGE_2D_RECT: u32 = 36943;
pub const GL_IMAGE_CUBE: u32 = 36944;
pub const GL_IMAGE_BUFFER: u32 = 36945;
pub const GL_IMAGE_1D_ARRAY: u32 = 36946;
pub const GL_IMAGE_2D_ARRAY: u32 = 36947;
pub const GL_IMAGE_CUBE_MAP_ARRAY: u32 = 36948;
pub const GL_IMAGE_2D_MULTISAMPLE: u32 = 36949;
pub const GL_IMAGE_2D_MULTISAMPLE_ARRAY: u32 = 36950;
pub const GL_INT_IMAGE_1D: u32 = 36951;
pub const GL_INT_IMAGE_2D: u32 = 36952;
pub const GL_INT_IMAGE_3D: u32 = 36953;
pub const GL_INT_IMAGE_2D_RECT: u32 = 36954;
pub const GL_INT_IMAGE_CUBE: u32 = 36955;
pub const GL_INT_IMAGE_BUFFER: u32 = 36956;
pub const GL_INT_IMAGE_1D_ARRAY: u32 = 36957;
pub const GL_INT_IMAGE_2D_ARRAY: u32 = 36958;
pub const GL_INT_IMAGE_CUBE_MAP_ARRAY: u32 = 36959;
pub const GL_INT_IMAGE_2D_MULTISAMPLE: u32 = 36960;
pub const GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY: u32 = 36961;
pub const GL_UNSIGNED_INT_IMAGE_1D: u32 = 36962;
pub const GL_UNSIGNED_INT_IMAGE_2D: u32 = 36963;
pub const GL_UNSIGNED_INT_IMAGE_3D: u32 = 36964;
pub const GL_UNSIGNED_INT_IMAGE_2D_RECT: u32 = 36965;
pub const GL_UNSIGNED_INT_IMAGE_CUBE: u32 = 36966;
pub const GL_UNSIGNED_INT_IMAGE_BUFFER: u32 = 36967;
pub const GL_UNSIGNED_INT_IMAGE_1D_ARRAY: u32 = 36968;
pub const GL_UNSIGNED_INT_IMAGE_2D_ARRAY: u32 = 36969;
pub const GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY: u32 = 36970;
pub const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE: u32 = 36971;
pub const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY: u32 = 36972;
pub const GL_MAX_IMAGE_SAMPLES: u32 = 36973;
pub const GL_IMAGE_BINDING_FORMAT: u32 = 36974;
pub const GL_IMAGE_FORMAT_COMPATIBILITY_TYPE: u32 = 37063;
pub const GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE: u32 = 37064;
pub const GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS: u32 = 37065;
pub const GL_MAX_VERTEX_IMAGE_UNIFORMS: u32 = 37066;
pub const GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS: u32 = 37067;
pub const GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS: u32 = 37068;
pub const GL_MAX_GEOMETRY_IMAGE_UNIFORMS: u32 = 37069;
pub const GL_MAX_FRAGMENT_IMAGE_UNIFORMS: u32 = 37070;
pub const GL_MAX_COMBINED_IMAGE_UNIFORMS: u32 = 37071;
pub const GL_COMPRESSED_RGBA_BPTC_UNORM: u32 = 36492;
pub const GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM: u32 = 36493;
pub const GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT: u32 = 36494;
pub const GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT: u32 = 36495;
pub const GL_TEXTURE_IMMUTABLE_FORMAT: u32 = 37167;
pub const GL_VERSION_4_3: u32 = 1;
pub const GL_NUM_SHADING_LANGUAGE_VERSIONS: u32 = 33513;
pub const GL_VERTEX_ATTRIB_ARRAY_LONG: u32 = 34638;
pub const GL_COMPRESSED_RGB8_ETC2: u32 = 37492;
pub const GL_COMPRESSED_SRGB8_ETC2: u32 = 37493;
pub const GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: u32 = 37494;
pub const GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: u32 = 37495;
pub const GL_COMPRESSED_RGBA8_ETC2_EAC: u32 = 37496;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: u32 = 37497;
pub const GL_COMPRESSED_R11_EAC: u32 = 37488;
pub const GL_COMPRESSED_SIGNED_R11_EAC: u32 = 37489;
pub const GL_COMPRESSED_RG11_EAC: u32 = 37490;
pub const GL_COMPRESSED_SIGNED_RG11_EAC: u32 = 37491;
pub const GL_PRIMITIVE_RESTART_FIXED_INDEX: u32 = 36201;
pub const GL_ANY_SAMPLES_PASSED_CONSERVATIVE: u32 = 36202;
pub const GL_MAX_ELEMENT_INDEX: u32 = 36203;
pub const GL_COMPUTE_SHADER: u32 = 37305;
pub const GL_MAX_COMPUTE_UNIFORM_BLOCKS: u32 = 37307;
pub const GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS: u32 = 37308;
pub const GL_MAX_COMPUTE_IMAGE_UNIFORMS: u32 = 37309;
pub const GL_MAX_COMPUTE_SHARED_MEMORY_SIZE: u32 = 33378;
pub const GL_MAX_COMPUTE_UNIFORM_COMPONENTS: u32 = 33379;
pub const GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS: u32 = 33380;
pub const GL_MAX_COMPUTE_ATOMIC_COUNTERS: u32 = 33381;
pub const GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS: u32 = 33382;
pub const GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS: u32 = 37099;
pub const GL_MAX_COMPUTE_WORK_GROUP_COUNT: u32 = 37310;
pub const GL_MAX_COMPUTE_WORK_GROUP_SIZE: u32 = 37311;
pub const GL_COMPUTE_WORK_GROUP_SIZE: u32 = 33383;
pub const GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER: u32 = 37100;
pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER: u32 = 37101;
pub const GL_DISPATCH_INDIRECT_BUFFER: u32 = 37102;
pub const GL_DISPATCH_INDIRECT_BUFFER_BINDING: u32 = 37103;
pub const GL_COMPUTE_SHADER_BIT: u32 = 32;
pub const GL_DEBUG_OUTPUT_SYNCHRONOUS: u32 = 33346;
pub const GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH: u32 = 33347;
pub const GL_DEBUG_CALLBACK_FUNCTION: u32 = 33348;
pub const GL_DEBUG_CALLBACK_USER_PARAM: u32 = 33349;
pub const GL_DEBUG_SOURCE_API: u32 = 33350;
pub const GL_DEBUG_SOURCE_WINDOW_SYSTEM: u32 = 33351;
pub const GL_DEBUG_SOURCE_SHADER_COMPILER: u32 = 33352;
pub const GL_DEBUG_SOURCE_THIRD_PARTY: u32 = 33353;
pub const GL_DEBUG_SOURCE_APPLICATION: u32 = 33354;
pub const GL_DEBUG_SOURCE_OTHER: u32 = 33355;
pub const GL_DEBUG_TYPE_ERROR: u32 = 33356;
pub const GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR: u32 = 33357;
pub const GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR: u32 = 33358;
pub const GL_DEBUG_TYPE_PORTABILITY: u32 = 33359;
pub const GL_DEBUG_TYPE_PERFORMANCE: u32 = 33360;
pub const GL_DEBUG_TYPE_OTHER: u32 = 33361;
pub const GL_MAX_DEBUG_MESSAGE_LENGTH: u32 = 37187;
pub const GL_MAX_DEBUG_LOGGED_MESSAGES: u32 = 37188;
pub const GL_DEBUG_LOGGED_MESSAGES: u32 = 37189;
pub const GL_DEBUG_SEVERITY_HIGH: u32 = 37190;
pub const GL_DEBUG_SEVERITY_MEDIUM: u32 = 37191;
pub const GL_DEBUG_SEVERITY_LOW: u32 = 37192;
pub const GL_DEBUG_TYPE_MARKER: u32 = 33384;
pub const GL_DEBUG_TYPE_PUSH_GROUP: u32 = 33385;
pub const GL_DEBUG_TYPE_POP_GROUP: u32 = 33386;
pub const GL_DEBUG_SEVERITY_NOTIFICATION: u32 = 33387;
pub const GL_MAX_DEBUG_GROUP_STACK_DEPTH: u32 = 33388;
pub const GL_DEBUG_GROUP_STACK_DEPTH: u32 = 33389;
pub const GL_BUFFER: u32 = 33504;
pub const GL_SHADER: u32 = 33505;
pub const GL_PROGRAM: u32 = 33506;
pub const GL_QUERY: u32 = 33507;
pub const GL_PROGRAM_PIPELINE: u32 = 33508;
pub const GL_SAMPLER: u32 = 33510;
pub const GL_MAX_LABEL_LENGTH: u32 = 33512;
pub const GL_DEBUG_OUTPUT: u32 = 37600;
pub const GL_CONTEXT_FLAG_DEBUG_BIT: u32 = 2;
pub const GL_MAX_UNIFORM_LOCATIONS: u32 = 33390;
pub const GL_FRAMEBUFFER_DEFAULT_WIDTH: u32 = 37648;
pub const GL_FRAMEBUFFER_DEFAULT_HEIGHT: u32 = 37649;
pub const GL_FRAMEBUFFER_DEFAULT_LAYERS: u32 = 37650;
pub const GL_FRAMEBUFFER_DEFAULT_SAMPLES: u32 = 37651;
pub const GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS: u32 = 37652;
pub const GL_MAX_FRAMEBUFFER_WIDTH: u32 = 37653;
pub const GL_MAX_FRAMEBUFFER_HEIGHT: u32 = 37654;
pub const GL_MAX_FRAMEBUFFER_LAYERS: u32 = 37655;
pub const GL_MAX_FRAMEBUFFER_SAMPLES: u32 = 37656;
pub const GL_INTERNALFORMAT_SUPPORTED: u32 = 33391;
pub const GL_INTERNALFORMAT_PREFERRED: u32 = 33392;
pub const GL_INTERNALFORMAT_RED_SIZE: u32 = 33393;
pub const GL_INTERNALFORMAT_GREEN_SIZE: u32 = 33394;
pub const GL_INTERNALFORMAT_BLUE_SIZE: u32 = 33395;
pub const GL_INTERNALFORMAT_ALPHA_SIZE: u32 = 33396;
pub const GL_INTERNALFORMAT_DEPTH_SIZE: u32 = 33397;
pub const GL_INTERNALFORMAT_STENCIL_SIZE: u32 = 33398;
pub const GL_INTERNALFORMAT_SHARED_SIZE: u32 = 33399;
pub const GL_INTERNALFORMAT_RED_TYPE: u32 = 33400;
pub const GL_INTERNALFORMAT_GREEN_TYPE: u32 = 33401;
pub const GL_INTERNALFORMAT_BLUE_TYPE: u32 = 33402;
pub const GL_INTERNALFORMAT_ALPHA_TYPE: u32 = 33403;
pub const GL_INTERNALFORMAT_DEPTH_TYPE: u32 = 33404;
pub const GL_INTERNALFORMAT_STENCIL_TYPE: u32 = 33405;
pub const GL_MAX_WIDTH: u32 = 33406;
pub const GL_MAX_HEIGHT: u32 = 33407;
pub const GL_MAX_DEPTH: u32 = 33408;
pub const GL_MAX_LAYERS: u32 = 33409;
pub const GL_MAX_COMBINED_DIMENSIONS: u32 = 33410;
pub const GL_COLOR_COMPONENTS: u32 = 33411;
pub const GL_DEPTH_COMPONENTS: u32 = 33412;
pub const GL_STENCIL_COMPONENTS: u32 = 33413;
pub const GL_COLOR_RENDERABLE: u32 = 33414;
pub const GL_DEPTH_RENDERABLE: u32 = 33415;
pub const GL_STENCIL_RENDERABLE: u32 = 33416;
pub const GL_FRAMEBUFFER_RENDERABLE: u32 = 33417;
pub const GL_FRAMEBUFFER_RENDERABLE_LAYERED: u32 = 33418;
pub const GL_FRAMEBUFFER_BLEND: u32 = 33419;
pub const GL_READ_PIXELS: u32 = 33420;
pub const GL_READ_PIXELS_FORMAT: u32 = 33421;
pub const GL_READ_PIXELS_TYPE: u32 = 33422;
pub const GL_TEXTURE_IMAGE_FORMAT: u32 = 33423;
pub const GL_TEXTURE_IMAGE_TYPE: u32 = 33424;
pub const GL_GET_TEXTURE_IMAGE_FORMAT: u32 = 33425;
pub const GL_GET_TEXTURE_IMAGE_TYPE: u32 = 33426;
pub const GL_MIPMAP: u32 = 33427;
pub const GL_MANUAL_GENERATE_MIPMAP: u32 = 33428;
pub const GL_AUTO_GENERATE_MIPMAP: u32 = 33429;
pub const GL_COLOR_ENCODING: u32 = 33430;
pub const GL_SRGB_READ: u32 = 33431;
pub const GL_SRGB_WRITE: u32 = 33432;
pub const GL_FILTER: u32 = 33434;
pub const GL_VERTEX_TEXTURE: u32 = 33435;
pub const GL_TESS_CONTROL_TEXTURE: u32 = 33436;
pub const GL_TESS_EVALUATION_TEXTURE: u32 = 33437;
pub const GL_GEOMETRY_TEXTURE: u32 = 33438;
pub const GL_FRAGMENT_TEXTURE: u32 = 33439;
pub const GL_COMPUTE_TEXTURE: u32 = 33440;
pub const GL_TEXTURE_SHADOW: u32 = 33441;
pub const GL_TEXTURE_GATHER: u32 = 33442;
pub const GL_TEXTURE_GATHER_SHADOW: u32 = 33443;
pub const GL_SHADER_IMAGE_LOAD: u32 = 33444;
pub const GL_SHADER_IMAGE_STORE: u32 = 33445;
pub const GL_SHADER_IMAGE_ATOMIC: u32 = 33446;
pub const GL_IMAGE_TEXEL_SIZE: u32 = 33447;
pub const GL_IMAGE_COMPATIBILITY_CLASS: u32 = 33448;
pub const GL_IMAGE_PIXEL_FORMAT: u32 = 33449;
pub const GL_IMAGE_PIXEL_TYPE: u32 = 33450;
pub const GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST: u32 = 33452;
pub const GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST: u32 = 33453;
pub const GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE: u32 = 33454;
pub const GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE: u32 = 33455;
pub const GL_TEXTURE_COMPRESSED_BLOCK_WIDTH: u32 = 33457;
pub const GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT: u32 = 33458;
pub const GL_TEXTURE_COMPRESSED_BLOCK_SIZE: u32 = 33459;
pub const GL_CLEAR_BUFFER: u32 = 33460;
pub const GL_TEXTURE_VIEW: u32 = 33461;
pub const GL_VIEW_COMPATIBILITY_CLASS: u32 = 33462;
pub const GL_FULL_SUPPORT: u32 = 33463;
pub const GL_CAVEAT_SUPPORT: u32 = 33464;
pub const GL_IMAGE_CLASS_4_X_32: u32 = 33465;
pub const GL_IMAGE_CLASS_2_X_32: u32 = 33466;
pub const GL_IMAGE_CLASS_1_X_32: u32 = 33467;
pub const GL_IMAGE_CLASS_4_X_16: u32 = 33468;
pub const GL_IMAGE_CLASS_2_X_16: u32 = 33469;
pub const GL_IMAGE_CLASS_1_X_16: u32 = 33470;
pub const GL_IMAGE_CLASS_4_X_8: u32 = 33471;
pub const GL_IMAGE_CLASS_2_X_8: u32 = 33472;
pub const GL_IMAGE_CLASS_1_X_8: u32 = 33473;
pub const GL_IMAGE_CLASS_11_11_10: u32 = 33474;
pub const GL_IMAGE_CLASS_10_10_10_2: u32 = 33475;
pub const GL_VIEW_CLASS_128_BITS: u32 = 33476;
pub const GL_VIEW_CLASS_96_BITS: u32 = 33477;
pub const GL_VIEW_CLASS_64_BITS: u32 = 33478;
pub const GL_VIEW_CLASS_48_BITS: u32 = 33479;
pub const GL_VIEW_CLASS_32_BITS: u32 = 33480;
pub const GL_VIEW_CLASS_24_BITS: u32 = 33481;
pub const GL_VIEW_CLASS_16_BITS: u32 = 33482;
pub const GL_VIEW_CLASS_8_BITS: u32 = 33483;
pub const GL_VIEW_CLASS_S3TC_DXT1_RGB: u32 = 33484;
pub const GL_VIEW_CLASS_S3TC_DXT1_RGBA: u32 = 33485;
pub const GL_VIEW_CLASS_S3TC_DXT3_RGBA: u32 = 33486;
pub const GL_VIEW_CLASS_S3TC_DXT5_RGBA: u32 = 33487;
pub const GL_VIEW_CLASS_RGTC1_RED: u32 = 33488;
pub const GL_VIEW_CLASS_RGTC2_RG: u32 = 33489;
pub const GL_VIEW_CLASS_BPTC_UNORM: u32 = 33490;
pub const GL_VIEW_CLASS_BPTC_FLOAT: u32 = 33491;
pub const GL_UNIFORM: u32 = 37601;
pub const GL_UNIFORM_BLOCK: u32 = 37602;
pub const GL_PROGRAM_INPUT: u32 = 37603;
pub const GL_PROGRAM_OUTPUT: u32 = 37604;
pub const GL_BUFFER_VARIABLE: u32 = 37605;
pub const GL_SHADER_STORAGE_BLOCK: u32 = 37606;
pub const GL_VERTEX_SUBROUTINE: u32 = 37608;
pub const GL_TESS_CONTROL_SUBROUTINE: u32 = 37609;
pub const GL_TESS_EVALUATION_SUBROUTINE: u32 = 37610;
pub const GL_GEOMETRY_SUBROUTINE: u32 = 37611;
pub const GL_FRAGMENT_SUBROUTINE: u32 = 37612;
pub const GL_COMPUTE_SUBROUTINE: u32 = 37613;
pub const GL_VERTEX_SUBROUTINE_UNIFORM: u32 = 37614;
pub const GL_TESS_CONTROL_SUBROUTINE_UNIFORM: u32 = 37615;
pub const GL_TESS_EVALUATION_SUBROUTINE_UNIFORM: u32 = 37616;
pub const GL_GEOMETRY_SUBROUTINE_UNIFORM: u32 = 37617;
pub const GL_FRAGMENT_SUBROUTINE_UNIFORM: u32 = 37618;
pub const GL_COMPUTE_SUBROUTINE_UNIFORM: u32 = 37619;
pub const GL_TRANSFORM_FEEDBACK_VARYING: u32 = 37620;
pub const GL_ACTIVE_RESOURCES: u32 = 37621;
pub const GL_MAX_NAME_LENGTH: u32 = 37622;
pub const GL_MAX_NUM_ACTIVE_VARIABLES: u32 = 37623;
pub const GL_MAX_NUM_COMPATIBLE_SUBROUTINES: u32 = 37624;
pub const GL_NAME_LENGTH: u32 = 37625;
pub const GL_TYPE: u32 = 37626;
pub const GL_ARRAY_SIZE: u32 = 37627;
pub const GL_OFFSET: u32 = 37628;
pub const GL_BLOCK_INDEX: u32 = 37629;
pub const GL_ARRAY_STRIDE: u32 = 37630;
pub const GL_MATRIX_STRIDE: u32 = 37631;
pub const GL_IS_ROW_MAJOR: u32 = 37632;
pub const GL_ATOMIC_COUNTER_BUFFER_INDEX: u32 = 37633;
pub const GL_BUFFER_BINDING: u32 = 37634;
pub const GL_BUFFER_DATA_SIZE: u32 = 37635;
pub const GL_NUM_ACTIVE_VARIABLES: u32 = 37636;
pub const GL_ACTIVE_VARIABLES: u32 = 37637;
pub const GL_REFERENCED_BY_VERTEX_SHADER: u32 = 37638;
pub const GL_REFERENCED_BY_TESS_CONTROL_SHADER: u32 = 37639;
pub const GL_REFERENCED_BY_TESS_EVALUATION_SHADER: u32 = 37640;
pub const GL_REFERENCED_BY_GEOMETRY_SHADER: u32 = 37641;
pub const GL_REFERENCED_BY_FRAGMENT_SHADER: u32 = 37642;
pub const GL_REFERENCED_BY_COMPUTE_SHADER: u32 = 37643;
pub const GL_TOP_LEVEL_ARRAY_SIZE: u32 = 37644;
pub const GL_TOP_LEVEL_ARRAY_STRIDE: u32 = 37645;
pub const GL_LOCATION: u32 = 37646;
pub const GL_LOCATION_INDEX: u32 = 37647;
pub const GL_IS_PER_PATCH: u32 = 37607;
pub const GL_SHADER_STORAGE_BUFFER: u32 = 37074;
pub const GL_SHADER_STORAGE_BUFFER_BINDING: u32 = 37075;
pub const GL_SHADER_STORAGE_BUFFER_START: u32 = 37076;
pub const GL_SHADER_STORAGE_BUFFER_SIZE: u32 = 37077;
pub const GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS: u32 = 37078;
pub const GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS: u32 = 37079;
pub const GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS: u32 = 37080;
pub const GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS: u32 = 37081;
pub const GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS: u32 = 37082;
pub const GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS: u32 = 37083;
pub const GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS: u32 = 37084;
pub const GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS: u32 = 37085;
pub const GL_MAX_SHADER_STORAGE_BLOCK_SIZE: u32 = 37086;
pub const GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT: u32 = 37087;
pub const GL_SHADER_STORAGE_BARRIER_BIT: u32 = 8192;
pub const GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES: u32 = 36665;
pub const GL_DEPTH_STENCIL_TEXTURE_MODE: u32 = 37098;
pub const GL_TEXTURE_BUFFER_OFFSET: u32 = 37277;
pub const GL_TEXTURE_BUFFER_SIZE: u32 = 37278;
pub const GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT: u32 = 37279;
pub const GL_TEXTURE_VIEW_MIN_LEVEL: u32 = 33499;
pub const GL_TEXTURE_VIEW_NUM_LEVELS: u32 = 33500;
pub const GL_TEXTURE_VIEW_MIN_LAYER: u32 = 33501;
pub const GL_TEXTURE_VIEW_NUM_LAYERS: u32 = 33502;
pub const GL_TEXTURE_IMMUTABLE_LEVELS: u32 = 33503;
pub const GL_VERTEX_ATTRIB_BINDING: u32 = 33492;
pub const GL_VERTEX_ATTRIB_RELATIVE_OFFSET: u32 = 33493;
pub const GL_VERTEX_BINDING_DIVISOR: u32 = 33494;
pub const GL_VERTEX_BINDING_OFFSET: u32 = 33495;
pub const GL_VERTEX_BINDING_STRIDE: u32 = 33496;
pub const GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET: u32 = 33497;
pub const GL_MAX_VERTEX_ATTRIB_BINDINGS: u32 = 33498;
pub const GL_VERTEX_BINDING_BUFFER: u32 = 36687;
pub const GL_DISPLAY_LIST: u32 = 33511;
pub const GL_VERSION_4_4: u32 = 1;
pub const GL_MAX_VERTEX_ATTRIB_STRIDE: u32 = 33509;
pub const GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED: u32 = 33313;
pub const GL_TEXTURE_BUFFER_BINDING: u32 = 35882;
pub const GL_MAP_PERSISTENT_BIT: u32 = 64;
pub const GL_MAP_COHERENT_BIT: u32 = 128;
pub const GL_DYNAMIC_STORAGE_BIT: u32 = 256;
pub const GL_CLIENT_STORAGE_BIT: u32 = 512;
pub const GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT: u32 = 16384;
pub const GL_BUFFER_IMMUTABLE_STORAGE: u32 = 33311;
pub const GL_BUFFER_STORAGE_FLAGS: u32 = 33312;
pub const GL_CLEAR_TEXTURE: u32 = 37733;
pub const GL_LOCATION_COMPONENT: u32 = 37706;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_INDEX: u32 = 37707;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE: u32 = 37708;
pub const GL_QUERY_BUFFER: u32 = 37266;
pub const GL_QUERY_BUFFER_BARRIER_BIT: u32 = 32768;
pub const GL_QUERY_BUFFER_BINDING: u32 = 37267;
pub const GL_QUERY_RESULT_NO_WAIT: u32 = 37268;
pub const GL_MIRROR_CLAMP_TO_EDGE: u32 = 34627;
pub const GL_VERSION_4_5: u32 = 1;
pub const GL_CONTEXT_LOST: u32 = 1287;
pub const GL_NEGATIVE_ONE_TO_ONE: u32 = 37726;
pub const GL_ZERO_TO_ONE: u32 = 37727;
pub const GL_CLIP_ORIGIN: u32 = 37724;
pub const GL_CLIP_DEPTH_MODE: u32 = 37725;
pub const GL_QUERY_WAIT_INVERTED: u32 = 36375;
pub const GL_QUERY_NO_WAIT_INVERTED: u32 = 36376;
pub const GL_QUERY_BY_REGION_WAIT_INVERTED: u32 = 36377;
pub const GL_QUERY_BY_REGION_NO_WAIT_INVERTED: u32 = 36378;
pub const GL_MAX_CULL_DISTANCES: u32 = 33529;
pub const GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES: u32 = 33530;
pub const GL_TEXTURE_TARGET: u32 = 4102;
pub const GL_QUERY_TARGET: u32 = 33514;
pub const GL_GUILTY_CONTEXT_RESET: u32 = 33363;
pub const GL_INNOCENT_CONTEXT_RESET: u32 = 33364;
pub const GL_UNKNOWN_CONTEXT_RESET: u32 = 33365;
pub const GL_RESET_NOTIFICATION_STRATEGY: u32 = 33366;
pub const GL_LOSE_CONTEXT_ON_RESET: u32 = 33362;
pub const GL_NO_RESET_NOTIFICATION: u32 = 33377;
pub const GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT: u32 = 4;
pub const GL_CONTEXT_RELEASE_BEHAVIOR: u32 = 33531;
pub const GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH: u32 = 33532;
pub const GL_VERSION_4_6: u32 = 1;
pub const GL_SHADER_BINARY_FORMAT_SPIR_V: u32 = 38225;
pub const GL_SPIR_V_BINARY: u32 = 38226;
pub const GL_PARAMETER_BUFFER: u32 = 33006;
pub const GL_PARAMETER_BUFFER_BINDING: u32 = 33007;
pub const GL_CONTEXT_FLAG_NO_ERROR_BIT: u32 = 8;
pub const GL_VERTICES_SUBMITTED: u32 = 33518;
pub const GL_PRIMITIVES_SUBMITTED: u32 = 33519;
pub const GL_VERTEX_SHADER_INVOCATIONS: u32 = 33520;
pub const GL_TESS_CONTROL_SHADER_PATCHES: u32 = 33521;
pub const GL_TESS_EVALUATION_SHADER_INVOCATIONS: u32 = 33522;
pub const GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED: u32 = 33523;
pub const GL_FRAGMENT_SHADER_INVOCATIONS: u32 = 33524;
pub const GL_COMPUTE_SHADER_INVOCATIONS: u32 = 33525;
pub const GL_CLIPPING_INPUT_PRIMITIVES: u32 = 33526;
pub const GL_CLIPPING_OUTPUT_PRIMITIVES: u32 = 33527;
pub const GL_POLYGON_OFFSET_CLAMP: u32 = 36379;
pub const GL_SPIR_V_EXTENSIONS: u32 = 38227;
pub const GL_NUM_SPIR_V_EXTENSIONS: u32 = 38228;
pub const GL_TEXTURE_MAX_ANISOTROPY: u32 = 34046;
pub const GL_MAX_TEXTURE_MAX_ANISOTROPY: u32 = 34047;
pub const GL_TRANSFORM_FEEDBACK_OVERFLOW: u32 = 33516;
pub const GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW: u32 = 33517;
pub const GL_ARB_ES2_compatibility: u32 = 1;
pub const GL_ARB_ES3_1_compatibility: u32 = 1;
pub const GL_ARB_ES3_2_compatibility: u32 = 1;
pub const GL_PRIMITIVE_BOUNDING_BOX_ARB: u32 = 37566;
pub const GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB: u32 = 37761;
pub const GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB: u32 = 37762;
pub const GL_ARB_ES3_compatibility: u32 = 1;
pub const GL_ARB_arrays_of_arrays: u32 = 1;
pub const GL_ARB_base_instance: u32 = 1;
pub const GL_ARB_bindless_texture: u32 = 1;
pub const GL_UNSIGNED_INT64_ARB: u32 = 5135;
pub const GL_ARB_blend_func_extended: u32 = 1;
pub const GL_ARB_buffer_storage: u32 = 1;
pub const GL_ARB_cl_event: u32 = 1;
pub const GL_SYNC_CL_EVENT_ARB: u32 = 33344;
pub const GL_SYNC_CL_EVENT_COMPLETE_ARB: u32 = 33345;
pub const GL_ARB_clear_buffer_object: u32 = 1;
pub const GL_ARB_clear_texture: u32 = 1;
pub const GL_ARB_clip_control: u32 = 1;
pub const GL_ARB_color_buffer_float: u32 = 1;
pub const GL_RGBA_FLOAT_MODE_ARB: u32 = 34848;
pub const GL_CLAMP_VERTEX_COLOR_ARB: u32 = 35098;
pub const GL_CLAMP_FRAGMENT_COLOR_ARB: u32 = 35099;
pub const GL_CLAMP_READ_COLOR_ARB: u32 = 35100;
pub const GL_FIXED_ONLY_ARB: u32 = 35101;
pub const GL_ARB_compatibility: u32 = 1;
pub const GL_ARB_compressed_texture_pixel_storage: u32 = 1;
pub const GL_ARB_compute_shader: u32 = 1;
pub const GL_ARB_compute_variable_group_size: u32 = 1;
pub const GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB: u32 = 37700;
pub const GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB: u32 = 37099;
pub const GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB: u32 = 37701;
pub const GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB: u32 = 37311;
pub const GL_ARB_conditional_render_inverted: u32 = 1;
pub const GL_ARB_conservative_depth: u32 = 1;
pub const GL_ARB_copy_buffer: u32 = 1;
pub const GL_ARB_copy_image: u32 = 1;
pub const GL_ARB_cull_distance: u32 = 1;
pub const GL_ARB_debug_output: u32 = 1;
pub const GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB: u32 = 33346;
pub const GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB: u32 = 33347;
pub const GL_DEBUG_CALLBACK_FUNCTION_ARB: u32 = 33348;
pub const GL_DEBUG_CALLBACK_USER_PARAM_ARB: u32 = 33349;
pub const GL_DEBUG_SOURCE_API_ARB: u32 = 33350;
pub const GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB: u32 = 33351;
pub const GL_DEBUG_SOURCE_SHADER_COMPILER_ARB: u32 = 33352;
pub const GL_DEBUG_SOURCE_THIRD_PARTY_ARB: u32 = 33353;
pub const GL_DEBUG_SOURCE_APPLICATION_ARB: u32 = 33354;
pub const GL_DEBUG_SOURCE_OTHER_ARB: u32 = 33355;
pub const GL_DEBUG_TYPE_ERROR_ARB: u32 = 33356;
pub const GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB: u32 = 33357;
pub const GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB: u32 = 33358;
pub const GL_DEBUG_TYPE_PORTABILITY_ARB: u32 = 33359;
pub const GL_DEBUG_TYPE_PERFORMANCE_ARB: u32 = 33360;
pub const GL_DEBUG_TYPE_OTHER_ARB: u32 = 33361;
pub const GL_MAX_DEBUG_MESSAGE_LENGTH_ARB: u32 = 37187;
pub const GL_MAX_DEBUG_LOGGED_MESSAGES_ARB: u32 = 37188;
pub const GL_DEBUG_LOGGED_MESSAGES_ARB: u32 = 37189;
pub const GL_DEBUG_SEVERITY_HIGH_ARB: u32 = 37190;
pub const GL_DEBUG_SEVERITY_MEDIUM_ARB: u32 = 37191;
pub const GL_DEBUG_SEVERITY_LOW_ARB: u32 = 37192;
pub const GL_ARB_depth_buffer_float: u32 = 1;
pub const GL_ARB_depth_clamp: u32 = 1;
pub const GL_ARB_depth_texture: u32 = 1;
pub const GL_DEPTH_COMPONENT16_ARB: u32 = 33189;
pub const GL_DEPTH_COMPONENT24_ARB: u32 = 33190;
pub const GL_DEPTH_COMPONENT32_ARB: u32 = 33191;
pub const GL_TEXTURE_DEPTH_SIZE_ARB: u32 = 34890;
pub const GL_DEPTH_TEXTURE_MODE_ARB: u32 = 34891;
pub const GL_ARB_derivative_control: u32 = 1;
pub const GL_ARB_direct_state_access: u32 = 1;
pub const GL_ARB_draw_buffers: u32 = 1;
pub const GL_MAX_DRAW_BUFFERS_ARB: u32 = 34852;
pub const GL_DRAW_BUFFER0_ARB: u32 = 34853;
pub const GL_DRAW_BUFFER1_ARB: u32 = 34854;
pub const GL_DRAW_BUFFER2_ARB: u32 = 34855;
pub const GL_DRAW_BUFFER3_ARB: u32 = 34856;
pub const GL_DRAW_BUFFER4_ARB: u32 = 34857;
pub const GL_DRAW_BUFFER5_ARB: u32 = 34858;
pub const GL_DRAW_BUFFER6_ARB: u32 = 34859;
pub const GL_DRAW_BUFFER7_ARB: u32 = 34860;
pub const GL_DRAW_BUFFER8_ARB: u32 = 34861;
pub const GL_DRAW_BUFFER9_ARB: u32 = 34862;
pub const GL_DRAW_BUFFER10_ARB: u32 = 34863;
pub const GL_DRAW_BUFFER11_ARB: u32 = 34864;
pub const GL_DRAW_BUFFER12_ARB: u32 = 34865;
pub const GL_DRAW_BUFFER13_ARB: u32 = 34866;
pub const GL_DRAW_BUFFER14_ARB: u32 = 34867;
pub const GL_DRAW_BUFFER15_ARB: u32 = 34868;
pub const GL_ARB_draw_buffers_blend: u32 = 1;
pub const GL_ARB_draw_elements_base_vertex: u32 = 1;
pub const GL_ARB_draw_indirect: u32 = 1;
pub const GL_ARB_draw_instanced: u32 = 1;
pub const GL_ARB_enhanced_layouts: u32 = 1;
pub const GL_ARB_explicit_attrib_location: u32 = 1;
pub const GL_ARB_explicit_uniform_location: u32 = 1;
pub const GL_ARB_fragment_coord_conventions: u32 = 1;
pub const GL_ARB_fragment_layer_viewport: u32 = 1;
pub const GL_ARB_fragment_program: u32 = 1;
pub const GL_FRAGMENT_PROGRAM_ARB: u32 = 34820;
pub const GL_PROGRAM_FORMAT_ASCII_ARB: u32 = 34933;
pub const GL_PROGRAM_LENGTH_ARB: u32 = 34343;
pub const GL_PROGRAM_FORMAT_ARB: u32 = 34934;
pub const GL_PROGRAM_BINDING_ARB: u32 = 34423;
pub const GL_PROGRAM_INSTRUCTIONS_ARB: u32 = 34976;
pub const GL_MAX_PROGRAM_INSTRUCTIONS_ARB: u32 = 34977;
pub const GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB: u32 = 34978;
pub const GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB: u32 = 34979;
pub const GL_PROGRAM_TEMPORARIES_ARB: u32 = 34980;
pub const GL_MAX_PROGRAM_TEMPORARIES_ARB: u32 = 34981;
pub const GL_PROGRAM_NATIVE_TEMPORARIES_ARB: u32 = 34982;
pub const GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB: u32 = 34983;
pub const GL_PROGRAM_PARAMETERS_ARB: u32 = 34984;
pub const GL_MAX_PROGRAM_PARAMETERS_ARB: u32 = 34985;
pub const GL_PROGRAM_NATIVE_PARAMETERS_ARB: u32 = 34986;
pub const GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB: u32 = 34987;
pub const GL_PROGRAM_ATTRIBS_ARB: u32 = 34988;
pub const GL_MAX_PROGRAM_ATTRIBS_ARB: u32 = 34989;
pub const GL_PROGRAM_NATIVE_ATTRIBS_ARB: u32 = 34990;
pub const GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB: u32 = 34991;
pub const GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB: u32 = 34996;
pub const GL_MAX_PROGRAM_ENV_PARAMETERS_ARB: u32 = 34997;
pub const GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB: u32 = 34998;
pub const GL_PROGRAM_ALU_INSTRUCTIONS_ARB: u32 = 34821;
pub const GL_PROGRAM_TEX_INSTRUCTIONS_ARB: u32 = 34822;
pub const GL_PROGRAM_TEX_INDIRECTIONS_ARB: u32 = 34823;
pub const GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB: u32 = 34824;
pub const GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB: u32 = 34825;
pub const GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB: u32 = 34826;
pub const GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB: u32 = 34827;
pub const GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB: u32 = 34828;
pub const GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB: u32 = 34829;
pub const GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB: u32 = 34830;
pub const GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB: u32 = 34831;
pub const GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB: u32 = 34832;
pub const GL_PROGRAM_STRING_ARB: u32 = 34344;
pub const GL_PROGRAM_ERROR_POSITION_ARB: u32 = 34379;
pub const GL_CURRENT_MATRIX_ARB: u32 = 34369;
pub const GL_TRANSPOSE_CURRENT_MATRIX_ARB: u32 = 34999;
pub const GL_CURRENT_MATRIX_STACK_DEPTH_ARB: u32 = 34368;
pub const GL_MAX_PROGRAM_MATRICES_ARB: u32 = 34351;
pub const GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB: u32 = 34350;
pub const GL_MAX_TEXTURE_COORDS_ARB: u32 = 34929;
pub const GL_MAX_TEXTURE_IMAGE_UNITS_ARB: u32 = 34930;
pub const GL_PROGRAM_ERROR_STRING_ARB: u32 = 34932;
pub const GL_MATRIX0_ARB: u32 = 35008;
pub const GL_MATRIX1_ARB: u32 = 35009;
pub const GL_MATRIX2_ARB: u32 = 35010;
pub const GL_MATRIX3_ARB: u32 = 35011;
pub const GL_MATRIX4_ARB: u32 = 35012;
pub const GL_MATRIX5_ARB: u32 = 35013;
pub const GL_MATRIX6_ARB: u32 = 35014;
pub const GL_MATRIX7_ARB: u32 = 35015;
pub const GL_MATRIX8_ARB: u32 = 35016;
pub const GL_MATRIX9_ARB: u32 = 35017;
pub const GL_MATRIX10_ARB: u32 = 35018;
pub const GL_MATRIX11_ARB: u32 = 35019;
pub const GL_MATRIX12_ARB: u32 = 35020;
pub const GL_MATRIX13_ARB: u32 = 35021;
pub const GL_MATRIX14_ARB: u32 = 35022;
pub const GL_MATRIX15_ARB: u32 = 35023;
pub const GL_MATRIX16_ARB: u32 = 35024;
pub const GL_MATRIX17_ARB: u32 = 35025;
pub const GL_MATRIX18_ARB: u32 = 35026;
pub const GL_MATRIX19_ARB: u32 = 35027;
pub const GL_MATRIX20_ARB: u32 = 35028;
pub const GL_MATRIX21_ARB: u32 = 35029;
pub const GL_MATRIX22_ARB: u32 = 35030;
pub const GL_MATRIX23_ARB: u32 = 35031;
pub const GL_MATRIX24_ARB: u32 = 35032;
pub const GL_MATRIX25_ARB: u32 = 35033;
pub const GL_MATRIX26_ARB: u32 = 35034;
pub const GL_MATRIX27_ARB: u32 = 35035;
pub const GL_MATRIX28_ARB: u32 = 35036;
pub const GL_MATRIX29_ARB: u32 = 35037;
pub const GL_MATRIX30_ARB: u32 = 35038;
pub const GL_MATRIX31_ARB: u32 = 35039;
pub const GL_ARB_fragment_program_shadow: u32 = 1;
pub const GL_ARB_fragment_shader: u32 = 1;
pub const GL_FRAGMENT_SHADER_ARB: u32 = 35632;
pub const GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB: u32 = 35657;
pub const GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB: u32 = 35723;
pub const GL_ARB_fragment_shader_interlock: u32 = 1;
pub const GL_ARB_framebuffer_no_attachments: u32 = 1;
pub const GL_ARB_framebuffer_object: u32 = 1;
pub const GL_ARB_framebuffer_sRGB: u32 = 1;
pub const GL_ARB_geometry_shader4: u32 = 1;
pub const GL_LINES_ADJACENCY_ARB: u32 = 10;
pub const GL_LINE_STRIP_ADJACENCY_ARB: u32 = 11;
pub const GL_TRIANGLES_ADJACENCY_ARB: u32 = 12;
pub const GL_TRIANGLE_STRIP_ADJACENCY_ARB: u32 = 13;
pub const GL_PROGRAM_POINT_SIZE_ARB: u32 = 34370;
pub const GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB: u32 = 35881;
pub const GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB: u32 = 36263;
pub const GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB: u32 = 36264;
pub const GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB: u32 = 36265;
pub const GL_GEOMETRY_SHADER_ARB: u32 = 36313;
pub const GL_GEOMETRY_VERTICES_OUT_ARB: u32 = 36314;
pub const GL_GEOMETRY_INPUT_TYPE_ARB: u32 = 36315;
pub const GL_GEOMETRY_OUTPUT_TYPE_ARB: u32 = 36316;
pub const GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB: u32 = 36317;
pub const GL_MAX_VERTEX_VARYING_COMPONENTS_ARB: u32 = 36318;
pub const GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB: u32 = 36319;
pub const GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB: u32 = 36320;
pub const GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB: u32 = 36321;
pub const GL_ARB_get_program_binary: u32 = 1;
pub const GL_ARB_get_texture_sub_image: u32 = 1;
pub const GL_ARB_gl_spirv: u32 = 1;
pub const GL_SHADER_BINARY_FORMAT_SPIR_V_ARB: u32 = 38225;
pub const GL_SPIR_V_BINARY_ARB: u32 = 38226;
pub const GL_ARB_gpu_shader5: u32 = 1;
pub const GL_ARB_gpu_shader_fp64: u32 = 1;
pub const GL_ARB_gpu_shader_int64: u32 = 1;
pub const GL_INT64_ARB: u32 = 5134;
pub const GL_INT64_VEC2_ARB: u32 = 36841;
pub const GL_INT64_VEC3_ARB: u32 = 36842;
pub const GL_INT64_VEC4_ARB: u32 = 36843;
pub const GL_UNSIGNED_INT64_VEC2_ARB: u32 = 36853;
pub const GL_UNSIGNED_INT64_VEC3_ARB: u32 = 36854;
pub const GL_UNSIGNED_INT64_VEC4_ARB: u32 = 36855;
pub const GL_ARB_half_float_pixel: u32 = 1;
pub const GL_HALF_FLOAT_ARB: u32 = 5131;
pub const GL_ARB_half_float_vertex: u32 = 1;
pub const GL_ARB_indirect_parameters: u32 = 1;
pub const GL_PARAMETER_BUFFER_ARB: u32 = 33006;
pub const GL_PARAMETER_BUFFER_BINDING_ARB: u32 = 33007;
pub const GL_ARB_instanced_arrays: u32 = 1;
pub const GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB: u32 = 35070;
pub const GL_ARB_internalformat_query: u32 = 1;
pub const GL_ARB_internalformat_query2: u32 = 1;
pub const GL_SRGB_DECODE_ARB: u32 = 33433;
pub const GL_VIEW_CLASS_EAC_R11: u32 = 37763;
pub const GL_VIEW_CLASS_EAC_RG11: u32 = 37764;
pub const GL_VIEW_CLASS_ETC2_RGB: u32 = 37765;
pub const GL_VIEW_CLASS_ETC2_RGBA: u32 = 37766;
pub const GL_VIEW_CLASS_ETC2_EAC_RGBA: u32 = 37767;
pub const GL_VIEW_CLASS_ASTC_4x4_RGBA: u32 = 37768;
pub const GL_VIEW_CLASS_ASTC_5x4_RGBA: u32 = 37769;
pub const GL_VIEW_CLASS_ASTC_5x5_RGBA: u32 = 37770;
pub const GL_VIEW_CLASS_ASTC_6x5_RGBA: u32 = 37771;
pub const GL_VIEW_CLASS_ASTC_6x6_RGBA: u32 = 37772;
pub const GL_VIEW_CLASS_ASTC_8x5_RGBA: u32 = 37773;
pub const GL_VIEW_CLASS_ASTC_8x6_RGBA: u32 = 37774;
pub const GL_VIEW_CLASS_ASTC_8x8_RGBA: u32 = 37775;
pub const GL_VIEW_CLASS_ASTC_10x5_RGBA: u32 = 37776;
pub const GL_VIEW_CLASS_ASTC_10x6_RGBA: u32 = 37777;
pub const GL_VIEW_CLASS_ASTC_10x8_RGBA: u32 = 37778;
pub const GL_VIEW_CLASS_ASTC_10x10_RGBA: u32 = 37779;
pub const GL_VIEW_CLASS_ASTC_12x10_RGBA: u32 = 37780;
pub const GL_VIEW_CLASS_ASTC_12x12_RGBA: u32 = 37781;
pub const GL_ARB_invalidate_subdata: u32 = 1;
pub const GL_ARB_map_buffer_alignment: u32 = 1;
pub const GL_ARB_map_buffer_range: u32 = 1;
pub const GL_ARB_matrix_palette: u32 = 1;
pub const GL_MATRIX_PALETTE_ARB: u32 = 34880;
pub const GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB: u32 = 34881;
pub const GL_MAX_PALETTE_MATRICES_ARB: u32 = 34882;
pub const GL_CURRENT_PALETTE_MATRIX_ARB: u32 = 34883;
pub const GL_MATRIX_INDEX_ARRAY_ARB: u32 = 34884;
pub const GL_CURRENT_MATRIX_INDEX_ARB: u32 = 34885;
pub const GL_MATRIX_INDEX_ARRAY_SIZE_ARB: u32 = 34886;
pub const GL_MATRIX_INDEX_ARRAY_TYPE_ARB: u32 = 34887;
pub const GL_MATRIX_INDEX_ARRAY_STRIDE_ARB: u32 = 34888;
pub const GL_MATRIX_INDEX_ARRAY_POINTER_ARB: u32 = 34889;
pub const GL_ARB_multi_bind: u32 = 1;
pub const GL_ARB_multi_draw_indirect: u32 = 1;
pub const GL_ARB_multisample: u32 = 1;
pub const GL_MULTISAMPLE_ARB: u32 = 32925;
pub const GL_SAMPLE_ALPHA_TO_COVERAGE_ARB: u32 = 32926;
pub const GL_SAMPLE_ALPHA_TO_ONE_ARB: u32 = 32927;
pub const GL_SAMPLE_COVERAGE_ARB: u32 = 32928;
pub const GL_SAMPLE_BUFFERS_ARB: u32 = 32936;
pub const GL_SAMPLES_ARB: u32 = 32937;
pub const GL_SAMPLE_COVERAGE_VALUE_ARB: u32 = 32938;
pub const GL_SAMPLE_COVERAGE_INVERT_ARB: u32 = 32939;
pub const GL_MULTISAMPLE_BIT_ARB: u32 = 536870912;
pub const GL_ARB_occlusion_query: u32 = 1;
pub const GL_QUERY_COUNTER_BITS_ARB: u32 = 34916;
pub const GL_CURRENT_QUERY_ARB: u32 = 34917;
pub const GL_QUERY_RESULT_ARB: u32 = 34918;
pub const GL_QUERY_RESULT_AVAILABLE_ARB: u32 = 34919;
pub const GL_SAMPLES_PASSED_ARB: u32 = 35092;
pub const GL_ARB_occlusion_query2: u32 = 1;
pub const GL_ARB_parallel_shader_compile: u32 = 1;
pub const GL_MAX_SHADER_COMPILER_THREADS_ARB: u32 = 37296;
pub const GL_COMPLETION_STATUS_ARB: u32 = 37297;
pub const GL_ARB_pipeline_statistics_query: u32 = 1;
pub const GL_VERTICES_SUBMITTED_ARB: u32 = 33518;
pub const GL_PRIMITIVES_SUBMITTED_ARB: u32 = 33519;
pub const GL_VERTEX_SHADER_INVOCATIONS_ARB: u32 = 33520;
pub const GL_TESS_CONTROL_SHADER_PATCHES_ARB: u32 = 33521;
pub const GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB: u32 = 33522;
pub const GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB: u32 = 33523;
pub const GL_FRAGMENT_SHADER_INVOCATIONS_ARB: u32 = 33524;
pub const GL_COMPUTE_SHADER_INVOCATIONS_ARB: u32 = 33525;
pub const GL_CLIPPING_INPUT_PRIMITIVES_ARB: u32 = 33526;
pub const GL_CLIPPING_OUTPUT_PRIMITIVES_ARB: u32 = 33527;
pub const GL_ARB_pixel_buffer_object: u32 = 1;
pub const GL_PIXEL_PACK_BUFFER_ARB: u32 = 35051;
pub const GL_PIXEL_UNPACK_BUFFER_ARB: u32 = 35052;
pub const GL_PIXEL_PACK_BUFFER_BINDING_ARB: u32 = 35053;
pub const GL_PIXEL_UNPACK_BUFFER_BINDING_ARB: u32 = 35055;
pub const GL_ARB_point_parameters: u32 = 1;
pub const GL_POINT_SIZE_MIN_ARB: u32 = 33062;
pub const GL_POINT_SIZE_MAX_ARB: u32 = 33063;
pub const GL_POINT_FADE_THRESHOLD_SIZE_ARB: u32 = 33064;
pub const GL_POINT_DISTANCE_ATTENUATION_ARB: u32 = 33065;
pub const GL_ARB_point_sprite: u32 = 1;
pub const GL_POINT_SPRITE_ARB: u32 = 34913;
pub const GL_COORD_REPLACE_ARB: u32 = 34914;
pub const GL_ARB_polygon_offset_clamp: u32 = 1;
pub const GL_ARB_post_depth_coverage: u32 = 1;
pub const GL_ARB_program_interface_query: u32 = 1;
pub const GL_ARB_provoking_vertex: u32 = 1;
pub const GL_ARB_query_buffer_object: u32 = 1;
pub const GL_ARB_robust_buffer_access_behavior: u32 = 1;
pub const GL_ARB_robustness: u32 = 1;
pub const GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB: u32 = 4;
pub const GL_LOSE_CONTEXT_ON_RESET_ARB: u32 = 33362;
pub const GL_GUILTY_CONTEXT_RESET_ARB: u32 = 33363;
pub const GL_INNOCENT_CONTEXT_RESET_ARB: u32 = 33364;
pub const GL_UNKNOWN_CONTEXT_RESET_ARB: u32 = 33365;
pub const GL_RESET_NOTIFICATION_STRATEGY_ARB: u32 = 33366;
pub const GL_NO_RESET_NOTIFICATION_ARB: u32 = 33377;
pub const GL_ARB_robustness_isolation: u32 = 1;
pub const GL_ARB_sample_locations: u32 = 1;
pub const GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB: u32 = 37693;
pub const GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB: u32 = 37694;
pub const GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB: u32 = 37695;
pub const GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB: u32 = 37696;
pub const GL_SAMPLE_LOCATION_ARB: u32 = 36432;
pub const GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB: u32 = 37697;
pub const GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB: u32 = 37698;
pub const GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB: u32 = 37699;
pub const GL_ARB_sample_shading: u32 = 1;
pub const GL_SAMPLE_SHADING_ARB: u32 = 35894;
pub const GL_MIN_SAMPLE_SHADING_VALUE_ARB: u32 = 35895;
pub const GL_ARB_sampler_objects: u32 = 1;
pub const GL_ARB_seamless_cube_map: u32 = 1;
pub const GL_ARB_seamless_cubemap_per_texture: u32 = 1;
pub const GL_ARB_separate_shader_objects: u32 = 1;
pub const GL_ARB_shader_atomic_counter_ops: u32 = 1;
pub const GL_ARB_shader_atomic_counters: u32 = 1;
pub const GL_ARB_shader_ballot: u32 = 1;
pub const GL_ARB_shader_bit_encoding: u32 = 1;
pub const GL_ARB_shader_clock: u32 = 1;
pub const GL_ARB_shader_draw_parameters: u32 = 1;
pub const GL_ARB_shader_group_vote: u32 = 1;
pub const GL_ARB_shader_image_load_store: u32 = 1;
pub const GL_ARB_shader_image_size: u32 = 1;
pub const GL_ARB_shader_objects: u32 = 1;
pub const GL_PROGRAM_OBJECT_ARB: u32 = 35648;
pub const GL_SHADER_OBJECT_ARB: u32 = 35656;
pub const GL_OBJECT_TYPE_ARB: u32 = 35662;
pub const GL_OBJECT_SUBTYPE_ARB: u32 = 35663;
pub const GL_FLOAT_VEC2_ARB: u32 = 35664;
pub const GL_FLOAT_VEC3_ARB: u32 = 35665;
pub const GL_FLOAT_VEC4_ARB: u32 = 35666;
pub const GL_INT_VEC2_ARB: u32 = 35667;
pub const GL_INT_VEC3_ARB: u32 = 35668;
pub const GL_INT_VEC4_ARB: u32 = 35669;
pub const GL_BOOL_ARB: u32 = 35670;
pub const GL_BOOL_VEC2_ARB: u32 = 35671;
pub const GL_BOOL_VEC3_ARB: u32 = 35672;
pub const GL_BOOL_VEC4_ARB: u32 = 35673;
pub const GL_FLOAT_MAT2_ARB: u32 = 35674;
pub const GL_FLOAT_MAT3_ARB: u32 = 35675;
pub const GL_FLOAT_MAT4_ARB: u32 = 35676;
pub const GL_SAMPLER_1D_ARB: u32 = 35677;
pub const GL_SAMPLER_2D_ARB: u32 = 35678;
pub const GL_SAMPLER_3D_ARB: u32 = 35679;
pub const GL_SAMPLER_CUBE_ARB: u32 = 35680;
pub const GL_SAMPLER_1D_SHADOW_ARB: u32 = 35681;
pub const GL_SAMPLER_2D_SHADOW_ARB: u32 = 35682;
pub const GL_SAMPLER_2D_RECT_ARB: u32 = 35683;
pub const GL_SAMPLER_2D_RECT_SHADOW_ARB: u32 = 35684;
pub const GL_OBJECT_DELETE_STATUS_ARB: u32 = 35712;
pub const GL_OBJECT_COMPILE_STATUS_ARB: u32 = 35713;
pub const GL_OBJECT_LINK_STATUS_ARB: u32 = 35714;
pub const GL_OBJECT_VALIDATE_STATUS_ARB: u32 = 35715;
pub const GL_OBJECT_INFO_LOG_LENGTH_ARB: u32 = 35716;
pub const GL_OBJECT_ATTACHED_OBJECTS_ARB: u32 = 35717;
pub const GL_OBJECT_ACTIVE_UNIFORMS_ARB: u32 = 35718;
pub const GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB: u32 = 35719;
pub const GL_OBJECT_SHADER_SOURCE_LENGTH_ARB: u32 = 35720;
pub const GL_ARB_shader_precision: u32 = 1;
pub const GL_ARB_shader_stencil_export: u32 = 1;
pub const GL_ARB_shader_storage_buffer_object: u32 = 1;
pub const GL_ARB_shader_subroutine: u32 = 1;
pub const GL_ARB_shader_texture_image_samples: u32 = 1;
pub const GL_ARB_shader_texture_lod: u32 = 1;
pub const GL_ARB_shader_viewport_layer_array: u32 = 1;
pub const GL_ARB_shading_language_100: u32 = 1;
pub const GL_SHADING_LANGUAGE_VERSION_ARB: u32 = 35724;
pub const GL_ARB_shading_language_420pack: u32 = 1;
pub const GL_ARB_shading_language_include: u32 = 1;
pub const GL_SHADER_INCLUDE_ARB: u32 = 36270;
pub const GL_NAMED_STRING_LENGTH_ARB: u32 = 36329;
pub const GL_NAMED_STRING_TYPE_ARB: u32 = 36330;
pub const GL_ARB_shading_language_packing: u32 = 1;
pub const GL_ARB_shadow: u32 = 1;
pub const GL_TEXTURE_COMPARE_MODE_ARB: u32 = 34892;
pub const GL_TEXTURE_COMPARE_FUNC_ARB: u32 = 34893;
pub const GL_COMPARE_R_TO_TEXTURE_ARB: u32 = 34894;
pub const GL_ARB_shadow_ambient: u32 = 1;
pub const GL_TEXTURE_COMPARE_FAIL_VALUE_ARB: u32 = 32959;
pub const GL_ARB_sparse_buffer: u32 = 1;
pub const GL_SPARSE_STORAGE_BIT_ARB: u32 = 1024;
pub const GL_SPARSE_BUFFER_PAGE_SIZE_ARB: u32 = 33528;
pub const GL_ARB_sparse_texture: u32 = 1;
pub const GL_TEXTURE_SPARSE_ARB: u32 = 37286;
pub const GL_VIRTUAL_PAGE_SIZE_INDEX_ARB: u32 = 37287;
pub const GL_NUM_SPARSE_LEVELS_ARB: u32 = 37290;
pub const GL_NUM_VIRTUAL_PAGE_SIZES_ARB: u32 = 37288;
pub const GL_VIRTUAL_PAGE_SIZE_X_ARB: u32 = 37269;
pub const GL_VIRTUAL_PAGE_SIZE_Y_ARB: u32 = 37270;
pub const GL_VIRTUAL_PAGE_SIZE_Z_ARB: u32 = 37271;
pub const GL_MAX_SPARSE_TEXTURE_SIZE_ARB: u32 = 37272;
pub const GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB: u32 = 37273;
pub const GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB: u32 = 37274;
pub const GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB: u32 = 37289;
pub const GL_ARB_sparse_texture2: u32 = 1;
pub const GL_ARB_sparse_texture_clamp: u32 = 1;
pub const GL_ARB_spirv_extensions: u32 = 1;
pub const GL_ARB_stencil_texturing: u32 = 1;
pub const GL_ARB_sync: u32 = 1;
pub const GL_ARB_tessellation_shader: u32 = 1;
pub const GL_ARB_texture_barrier: u32 = 1;
pub const GL_ARB_texture_border_clamp: u32 = 1;
pub const GL_CLAMP_TO_BORDER_ARB: u32 = 33069;
pub const GL_ARB_texture_buffer_object: u32 = 1;
pub const GL_TEXTURE_BUFFER_ARB: u32 = 35882;
pub const GL_MAX_TEXTURE_BUFFER_SIZE_ARB: u32 = 35883;
pub const GL_TEXTURE_BINDING_BUFFER_ARB: u32 = 35884;
pub const GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB: u32 = 35885;
pub const GL_TEXTURE_BUFFER_FORMAT_ARB: u32 = 35886;
pub const GL_ARB_texture_buffer_object_rgb32: u32 = 1;
pub const GL_ARB_texture_buffer_range: u32 = 1;
pub const GL_ARB_texture_compression: u32 = 1;
pub const GL_COMPRESSED_ALPHA_ARB: u32 = 34025;
pub const GL_COMPRESSED_LUMINANCE_ARB: u32 = 34026;
pub const GL_COMPRESSED_LUMINANCE_ALPHA_ARB: u32 = 34027;
pub const GL_COMPRESSED_INTENSITY_ARB: u32 = 34028;
pub const GL_COMPRESSED_RGB_ARB: u32 = 34029;
pub const GL_COMPRESSED_RGBA_ARB: u32 = 34030;
pub const GL_TEXTURE_COMPRESSION_HINT_ARB: u32 = 34031;
pub const GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB: u32 = 34464;
pub const GL_TEXTURE_COMPRESSED_ARB: u32 = 34465;
pub const GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB: u32 = 34466;
pub const GL_COMPRESSED_TEXTURE_FORMATS_ARB: u32 = 34467;
pub const GL_ARB_texture_compression_bptc: u32 = 1;
pub const GL_COMPRESSED_RGBA_BPTC_UNORM_ARB: u32 = 36492;
pub const GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB: u32 = 36493;
pub const GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB: u32 = 36494;
pub const GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB: u32 = 36495;
pub const GL_ARB_texture_compression_rgtc: u32 = 1;
pub const GL_ARB_texture_cube_map: u32 = 1;
pub const GL_NORMAL_MAP_ARB: u32 = 34065;
pub const GL_REFLECTION_MAP_ARB: u32 = 34066;
pub const GL_TEXTURE_CUBE_MAP_ARB: u32 = 34067;
pub const GL_TEXTURE_BINDING_CUBE_MAP_ARB: u32 = 34068;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB: u32 = 34069;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB: u32 = 34070;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB: u32 = 34071;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB: u32 = 34072;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB: u32 = 34073;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB: u32 = 34074;
pub const GL_PROXY_TEXTURE_CUBE_MAP_ARB: u32 = 34075;
pub const GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB: u32 = 34076;
pub const GL_ARB_texture_cube_map_array: u32 = 1;
pub const GL_TEXTURE_CUBE_MAP_ARRAY_ARB: u32 = 36873;
pub const GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB: u32 = 36874;
pub const GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB: u32 = 36875;
pub const GL_SAMPLER_CUBE_MAP_ARRAY_ARB: u32 = 36876;
pub const GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB: u32 = 36877;
pub const GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB: u32 = 36878;
pub const GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB: u32 = 36879;
pub const GL_ARB_texture_env_add: u32 = 1;
pub const GL_ARB_texture_env_combine: u32 = 1;
pub const GL_COMBINE_ARB: u32 = 34160;
pub const GL_COMBINE_RGB_ARB: u32 = 34161;
pub const GL_COMBINE_ALPHA_ARB: u32 = 34162;
pub const GL_SOURCE0_RGB_ARB: u32 = 34176;
pub const GL_SOURCE1_RGB_ARB: u32 = 34177;
pub const GL_SOURCE2_RGB_ARB: u32 = 34178;
pub const GL_SOURCE0_ALPHA_ARB: u32 = 34184;
pub const GL_SOURCE1_ALPHA_ARB: u32 = 34185;
pub const GL_SOURCE2_ALPHA_ARB: u32 = 34186;
pub const GL_OPERAND0_RGB_ARB: u32 = 34192;
pub const GL_OPERAND1_RGB_ARB: u32 = 34193;
pub const GL_OPERAND2_RGB_ARB: u32 = 34194;
pub const GL_OPERAND0_ALPHA_ARB: u32 = 34200;
pub const GL_OPERAND1_ALPHA_ARB: u32 = 34201;
pub const GL_OPERAND2_ALPHA_ARB: u32 = 34202;
pub const GL_RGB_SCALE_ARB: u32 = 34163;
pub const GL_ADD_SIGNED_ARB: u32 = 34164;
pub const GL_INTERPOLATE_ARB: u32 = 34165;
pub const GL_SUBTRACT_ARB: u32 = 34023;
pub const GL_CONSTANT_ARB: u32 = 34166;
pub const GL_PRIMARY_COLOR_ARB: u32 = 34167;
pub const GL_PREVIOUS_ARB: u32 = 34168;
pub const GL_ARB_texture_env_crossbar: u32 = 1;
pub const GL_ARB_texture_env_dot3: u32 = 1;
pub const GL_DOT3_RGB_ARB: u32 = 34478;
pub const GL_DOT3_RGBA_ARB: u32 = 34479;
pub const GL_ARB_texture_filter_anisotropic: u32 = 1;
pub const GL_ARB_texture_filter_minmax: u32 = 1;
pub const GL_TEXTURE_REDUCTION_MODE_ARB: u32 = 37734;
pub const GL_WEIGHTED_AVERAGE_ARB: u32 = 37735;
pub const GL_ARB_texture_float: u32 = 1;
pub const GL_TEXTURE_RED_TYPE_ARB: u32 = 35856;
pub const GL_TEXTURE_GREEN_TYPE_ARB: u32 = 35857;
pub const GL_TEXTURE_BLUE_TYPE_ARB: u32 = 35858;
pub const GL_TEXTURE_ALPHA_TYPE_ARB: u32 = 35859;
pub const GL_TEXTURE_LUMINANCE_TYPE_ARB: u32 = 35860;
pub const GL_TEXTURE_INTENSITY_TYPE_ARB: u32 = 35861;
pub const GL_TEXTURE_DEPTH_TYPE_ARB: u32 = 35862;
pub const GL_UNSIGNED_NORMALIZED_ARB: u32 = 35863;
pub const GL_RGBA32F_ARB: u32 = 34836;
pub const GL_RGB32F_ARB: u32 = 34837;
pub const GL_ALPHA32F_ARB: u32 = 34838;
pub const GL_INTENSITY32F_ARB: u32 = 34839;
pub const GL_LUMINANCE32F_ARB: u32 = 34840;
pub const GL_LUMINANCE_ALPHA32F_ARB: u32 = 34841;
pub const GL_RGBA16F_ARB: u32 = 34842;
pub const GL_RGB16F_ARB: u32 = 34843;
pub const GL_ALPHA16F_ARB: u32 = 34844;
pub const GL_INTENSITY16F_ARB: u32 = 34845;
pub const GL_LUMINANCE16F_ARB: u32 = 34846;
pub const GL_LUMINANCE_ALPHA16F_ARB: u32 = 34847;
pub const GL_ARB_texture_gather: u32 = 1;
pub const GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB: u32 = 36446;
pub const GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB: u32 = 36447;
pub const GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB: u32 = 36767;
pub const GL_ARB_texture_mirror_clamp_to_edge: u32 = 1;
pub const GL_ARB_texture_mirrored_repeat: u32 = 1;
pub const GL_MIRRORED_REPEAT_ARB: u32 = 33648;
pub const GL_ARB_texture_multisample: u32 = 1;
pub const GL_ARB_texture_non_power_of_two: u32 = 1;
pub const GL_ARB_texture_query_levels: u32 = 1;
pub const GL_ARB_texture_query_lod: u32 = 1;
pub const GL_ARB_texture_rectangle: u32 = 1;
pub const GL_TEXTURE_RECTANGLE_ARB: u32 = 34037;
pub const GL_TEXTURE_BINDING_RECTANGLE_ARB: u32 = 34038;
pub const GL_PROXY_TEXTURE_RECTANGLE_ARB: u32 = 34039;
pub const GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB: u32 = 34040;
pub const GL_ARB_texture_rg: u32 = 1;
pub const GL_ARB_texture_rgb10_a2ui: u32 = 1;
pub const GL_ARB_texture_stencil8: u32 = 1;
pub const GL_ARB_texture_storage: u32 = 1;
pub const GL_ARB_texture_storage_multisample: u32 = 1;
pub const GL_ARB_texture_swizzle: u32 = 1;
pub const GL_ARB_texture_view: u32 = 1;
pub const GL_ARB_timer_query: u32 = 1;
pub const GL_ARB_transform_feedback2: u32 = 1;
pub const GL_ARB_transform_feedback3: u32 = 1;
pub const GL_ARB_transform_feedback_instanced: u32 = 1;
pub const GL_ARB_transform_feedback_overflow_query: u32 = 1;
pub const GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB: u32 = 33516;
pub const GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB: u32 = 33517;
pub const GL_ARB_transpose_matrix: u32 = 1;
pub const GL_TRANSPOSE_MODELVIEW_MATRIX_ARB: u32 = 34019;
pub const GL_TRANSPOSE_PROJECTION_MATRIX_ARB: u32 = 34020;
pub const GL_TRANSPOSE_TEXTURE_MATRIX_ARB: u32 = 34021;
pub const GL_TRANSPOSE_COLOR_MATRIX_ARB: u32 = 34022;
pub const GL_ARB_uniform_buffer_object: u32 = 1;
pub const GL_ARB_vertex_array_bgra: u32 = 1;
pub const GL_ARB_vertex_array_object: u32 = 1;
pub const GL_ARB_vertex_attrib_64bit: u32 = 1;
pub const GL_ARB_vertex_attrib_binding: u32 = 1;
pub const GL_ARB_vertex_blend: u32 = 1;
pub const GL_MAX_VERTEX_UNITS_ARB: u32 = 34468;
pub const GL_ACTIVE_VERTEX_UNITS_ARB: u32 = 34469;
pub const GL_WEIGHT_SUM_UNITY_ARB: u32 = 34470;
pub const GL_VERTEX_BLEND_ARB: u32 = 34471;
pub const GL_CURRENT_WEIGHT_ARB: u32 = 34472;
pub const GL_WEIGHT_ARRAY_TYPE_ARB: u32 = 34473;
pub const GL_WEIGHT_ARRAY_STRIDE_ARB: u32 = 34474;
pub const GL_WEIGHT_ARRAY_SIZE_ARB: u32 = 34475;
pub const GL_WEIGHT_ARRAY_POINTER_ARB: u32 = 34476;
pub const GL_WEIGHT_ARRAY_ARB: u32 = 34477;
pub const GL_MODELVIEW0_ARB: u32 = 5888;
pub const GL_MODELVIEW1_ARB: u32 = 34058;
pub const GL_MODELVIEW2_ARB: u32 = 34594;
pub const GL_MODELVIEW3_ARB: u32 = 34595;
pub const GL_MODELVIEW4_ARB: u32 = 34596;
pub const GL_MODELVIEW5_ARB: u32 = 34597;
pub const GL_MODELVIEW6_ARB: u32 = 34598;
pub const GL_MODELVIEW7_ARB: u32 = 34599;
pub const GL_MODELVIEW8_ARB: u32 = 34600;
pub const GL_MODELVIEW9_ARB: u32 = 34601;
pub const GL_MODELVIEW10_ARB: u32 = 34602;
pub const GL_MODELVIEW11_ARB: u32 = 34603;
pub const GL_MODELVIEW12_ARB: u32 = 34604;
pub const GL_MODELVIEW13_ARB: u32 = 34605;
pub const GL_MODELVIEW14_ARB: u32 = 34606;
pub const GL_MODELVIEW15_ARB: u32 = 34607;
pub const GL_MODELVIEW16_ARB: u32 = 34608;
pub const GL_MODELVIEW17_ARB: u32 = 34609;
pub const GL_MODELVIEW18_ARB: u32 = 34610;
pub const GL_MODELVIEW19_ARB: u32 = 34611;
pub const GL_MODELVIEW20_ARB: u32 = 34612;
pub const GL_MODELVIEW21_ARB: u32 = 34613;
pub const GL_MODELVIEW22_ARB: u32 = 34614;
pub const GL_MODELVIEW23_ARB: u32 = 34615;
pub const GL_MODELVIEW24_ARB: u32 = 34616;
pub const GL_MODELVIEW25_ARB: u32 = 34617;
pub const GL_MODELVIEW26_ARB: u32 = 34618;
pub const GL_MODELVIEW27_ARB: u32 = 34619;
pub const GL_MODELVIEW28_ARB: u32 = 34620;
pub const GL_MODELVIEW29_ARB: u32 = 34621;
pub const GL_MODELVIEW30_ARB: u32 = 34622;
pub const GL_MODELVIEW31_ARB: u32 = 34623;
pub const GL_ARB_vertex_buffer_object: u32 = 1;
pub const GL_BUFFER_SIZE_ARB: u32 = 34660;
pub const GL_BUFFER_USAGE_ARB: u32 = 34661;
pub const GL_ARRAY_BUFFER_ARB: u32 = 34962;
pub const GL_ELEMENT_ARRAY_BUFFER_ARB: u32 = 34963;
pub const GL_ARRAY_BUFFER_BINDING_ARB: u32 = 34964;
pub const GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB: u32 = 34965;
pub const GL_VERTEX_ARRAY_BUFFER_BINDING_ARB: u32 = 34966;
pub const GL_NORMAL_ARRAY_BUFFER_BINDING_ARB: u32 = 34967;
pub const GL_COLOR_ARRAY_BUFFER_BINDING_ARB: u32 = 34968;
pub const GL_INDEX_ARRAY_BUFFER_BINDING_ARB: u32 = 34969;
pub const GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB: u32 = 34970;
pub const GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB: u32 = 34971;
pub const GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB: u32 = 34972;
pub const GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB: u32 = 34973;
pub const GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB: u32 = 34974;
pub const GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB: u32 = 34975;
pub const GL_READ_ONLY_ARB: u32 = 35000;
pub const GL_WRITE_ONLY_ARB: u32 = 35001;
pub const GL_READ_WRITE_ARB: u32 = 35002;
pub const GL_BUFFER_ACCESS_ARB: u32 = 35003;
pub const GL_BUFFER_MAPPED_ARB: u32 = 35004;
pub const GL_BUFFER_MAP_POINTER_ARB: u32 = 35005;
pub const GL_STREAM_DRAW_ARB: u32 = 35040;
pub const GL_STREAM_READ_ARB: u32 = 35041;
pub const GL_STREAM_COPY_ARB: u32 = 35042;
pub const GL_STATIC_DRAW_ARB: u32 = 35044;
pub const GL_STATIC_READ_ARB: u32 = 35045;
pub const GL_STATIC_COPY_ARB: u32 = 35046;
pub const GL_DYNAMIC_DRAW_ARB: u32 = 35048;
pub const GL_DYNAMIC_READ_ARB: u32 = 35049;
pub const GL_DYNAMIC_COPY_ARB: u32 = 35050;
pub const GL_ARB_vertex_program: u32 = 1;
pub const GL_COLOR_SUM_ARB: u32 = 33880;
pub const GL_VERTEX_PROGRAM_ARB: u32 = 34336;
pub const GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB: u32 = 34338;
pub const GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB: u32 = 34339;
pub const GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB: u32 = 34340;
pub const GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB: u32 = 34341;
pub const GL_CURRENT_VERTEX_ATTRIB_ARB: u32 = 34342;
pub const GL_VERTEX_PROGRAM_POINT_SIZE_ARB: u32 = 34370;
pub const GL_VERTEX_PROGRAM_TWO_SIDE_ARB: u32 = 34371;
pub const GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB: u32 = 34373;
pub const GL_MAX_VERTEX_ATTRIBS_ARB: u32 = 34921;
pub const GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB: u32 = 34922;
pub const GL_PROGRAM_ADDRESS_REGISTERS_ARB: u32 = 34992;
pub const GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB: u32 = 34993;
pub const GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB: u32 = 34994;
pub const GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB: u32 = 34995;
pub const GL_ARB_vertex_shader: u32 = 1;
pub const GL_VERTEX_SHADER_ARB: u32 = 35633;
pub const GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB: u32 = 35658;
pub const GL_MAX_VARYING_FLOATS_ARB: u32 = 35659;
pub const GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB: u32 = 35660;
pub const GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB: u32 = 35661;
pub const GL_OBJECT_ACTIVE_ATTRIBUTES_ARB: u32 = 35721;
pub const GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB: u32 = 35722;
pub const GL_ARB_vertex_type_10f_11f_11f_rev: u32 = 1;
pub const GL_ARB_vertex_type_2_10_10_10_rev: u32 = 1;
pub const GL_ARB_viewport_array: u32 = 1;
pub const GL_ARB_window_pos: u32 = 1;
pub const GL_KHR_blend_equation_advanced: u32 = 1;
pub const GL_MULTIPLY_KHR: u32 = 37524;
pub const GL_SCREEN_KHR: u32 = 37525;
pub const GL_OVERLAY_KHR: u32 = 37526;
pub const GL_DARKEN_KHR: u32 = 37527;
pub const GL_LIGHTEN_KHR: u32 = 37528;
pub const GL_COLORDODGE_KHR: u32 = 37529;
pub const GL_COLORBURN_KHR: u32 = 37530;
pub const GL_HARDLIGHT_KHR: u32 = 37531;
pub const GL_SOFTLIGHT_KHR: u32 = 37532;
pub const GL_DIFFERENCE_KHR: u32 = 37534;
pub const GL_EXCLUSION_KHR: u32 = 37536;
pub const GL_HSL_HUE_KHR: u32 = 37549;
pub const GL_HSL_SATURATION_KHR: u32 = 37550;
pub const GL_HSL_COLOR_KHR: u32 = 37551;
pub const GL_HSL_LUMINOSITY_KHR: u32 = 37552;
pub const GL_KHR_blend_equation_advanced_coherent: u32 = 1;
pub const GL_BLEND_ADVANCED_COHERENT_KHR: u32 = 37509;
pub const GL_KHR_context_flush_control: u32 = 1;
pub const GL_KHR_debug: u32 = 1;
pub const GL_KHR_no_error: u32 = 1;
pub const GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR: u32 = 8;
pub const GL_KHR_parallel_shader_compile: u32 = 1;
pub const GL_MAX_SHADER_COMPILER_THREADS_KHR: u32 = 37296;
pub const GL_COMPLETION_STATUS_KHR: u32 = 37297;
pub const GL_KHR_robust_buffer_access_behavior: u32 = 1;
pub const GL_KHR_robustness: u32 = 1;
pub const GL_CONTEXT_ROBUST_ACCESS: u32 = 37107;
pub const GL_KHR_texture_compression_astc_hdr: u32 = 1;
pub const GL_COMPRESSED_RGBA_ASTC_4x4_KHR: u32 = 37808;
pub const GL_COMPRESSED_RGBA_ASTC_5x4_KHR: u32 = 37809;
pub const GL_COMPRESSED_RGBA_ASTC_5x5_KHR: u32 = 37810;
pub const GL_COMPRESSED_RGBA_ASTC_6x5_KHR: u32 = 37811;
pub const GL_COMPRESSED_RGBA_ASTC_6x6_KHR: u32 = 37812;
pub const GL_COMPRESSED_RGBA_ASTC_8x5_KHR: u32 = 37813;
pub const GL_COMPRESSED_RGBA_ASTC_8x6_KHR: u32 = 37814;
pub const GL_COMPRESSED_RGBA_ASTC_8x8_KHR: u32 = 37815;
pub const GL_COMPRESSED_RGBA_ASTC_10x5_KHR: u32 = 37816;
pub const GL_COMPRESSED_RGBA_ASTC_10x6_KHR: u32 = 37817;
pub const GL_COMPRESSED_RGBA_ASTC_10x8_KHR: u32 = 37818;
pub const GL_COMPRESSED_RGBA_ASTC_10x10_KHR: u32 = 37819;
pub const GL_COMPRESSED_RGBA_ASTC_12x10_KHR: u32 = 37820;
pub const GL_COMPRESSED_RGBA_ASTC_12x12_KHR: u32 = 37821;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: u32 = 37840;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: u32 = 37841;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: u32 = 37842;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: u32 = 37843;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: u32 = 37844;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: u32 = 37845;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: u32 = 37846;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: u32 = 37847;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: u32 = 37848;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: u32 = 37849;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: u32 = 37850;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: u32 = 37851;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: u32 = 37852;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: u32 = 37853;
pub const GL_KHR_texture_compression_astc_ldr: u32 = 1;
pub const GL_KHR_texture_compression_astc_sliced_3d: u32 = 1;
pub const GL_OES_byte_coordinates: u32 = 1;
pub const GL_OES_compressed_paletted_texture: u32 = 1;
pub const GL_PALETTE4_RGB8_OES: u32 = 35728;
pub const GL_PALETTE4_RGBA8_OES: u32 = 35729;
pub const GL_PALETTE4_R5_G6_B5_OES: u32 = 35730;
pub const GL_PALETTE4_RGBA4_OES: u32 = 35731;
pub const GL_PALETTE4_RGB5_A1_OES: u32 = 35732;
pub const GL_PALETTE8_RGB8_OES: u32 = 35733;
pub const GL_PALETTE8_RGBA8_OES: u32 = 35734;
pub const GL_PALETTE8_R5_G6_B5_OES: u32 = 35735;
pub const GL_PALETTE8_RGBA4_OES: u32 = 35736;
pub const GL_PALETTE8_RGB5_A1_OES: u32 = 35737;
pub const GL_OES_fixed_point: u32 = 1;
pub const GL_FIXED_OES: u32 = 5132;
pub const GL_OES_query_matrix: u32 = 1;
pub const GL_OES_read_format: u32 = 1;
pub const GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: u32 = 35738;
pub const GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: u32 = 35739;
pub const GL_OES_single_precision: u32 = 1;
pub const GL_3DFX_multisample: u32 = 1;
pub const GL_MULTISAMPLE_3DFX: u32 = 34482;
pub const GL_SAMPLE_BUFFERS_3DFX: u32 = 34483;
pub const GL_SAMPLES_3DFX: u32 = 34484;
pub const GL_MULTISAMPLE_BIT_3DFX: u32 = 536870912;
pub const GL_3DFX_tbuffer: u32 = 1;
pub const GL_3DFX_texture_compression_FXT1: u32 = 1;
pub const GL_COMPRESSED_RGB_FXT1_3DFX: u32 = 34480;
pub const GL_COMPRESSED_RGBA_FXT1_3DFX: u32 = 34481;
pub const GL_AMD_blend_minmax_factor: u32 = 1;
pub const GL_FACTOR_MIN_AMD: u32 = 36892;
pub const GL_FACTOR_MAX_AMD: u32 = 36893;
pub const GL_AMD_conservative_depth: u32 = 1;
pub const GL_AMD_debug_output: u32 = 1;
pub const GL_MAX_DEBUG_MESSAGE_LENGTH_AMD: u32 = 37187;
pub const GL_MAX_DEBUG_LOGGED_MESSAGES_AMD: u32 = 37188;
pub const GL_DEBUG_LOGGED_MESSAGES_AMD: u32 = 37189;
pub const GL_DEBUG_SEVERITY_HIGH_AMD: u32 = 37190;
pub const GL_DEBUG_SEVERITY_MEDIUM_AMD: u32 = 37191;
pub const GL_DEBUG_SEVERITY_LOW_AMD: u32 = 37192;
pub const GL_DEBUG_CATEGORY_API_ERROR_AMD: u32 = 37193;
pub const GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD: u32 = 37194;
pub const GL_DEBUG_CATEGORY_DEPRECATION_AMD: u32 = 37195;
pub const GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD: u32 = 37196;
pub const GL_DEBUG_CATEGORY_PERFORMANCE_AMD: u32 = 37197;
pub const GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD: u32 = 37198;
pub const GL_DEBUG_CATEGORY_APPLICATION_AMD: u32 = 37199;
pub const GL_DEBUG_CATEGORY_OTHER_AMD: u32 = 37200;
pub const GL_AMD_depth_clamp_separate: u32 = 1;
pub const GL_DEPTH_CLAMP_NEAR_AMD: u32 = 36894;
pub const GL_DEPTH_CLAMP_FAR_AMD: u32 = 36895;
pub const GL_AMD_draw_buffers_blend: u32 = 1;
pub const GL_AMD_framebuffer_multisample_advanced: u32 = 1;
pub const GL_RENDERBUFFER_STORAGE_SAMPLES_AMD: u32 = 37298;
pub const GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD: u32 = 37299;
pub const GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD: u32 = 37300;
pub const GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD: u32 = 37301;
pub const GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD: u32 = 37302;
pub const GL_SUPPORTED_MULTISAMPLE_MODES_AMD: u32 = 37303;
pub const GL_AMD_framebuffer_sample_positions: u32 = 1;
pub const GL_SUBSAMPLE_DISTANCE_AMD: u32 = 34879;
pub const GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD: u32 = 37294;
pub const GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD: u32 = 37295;
pub const GL_ALL_PIXELS_AMD: u32 = 4294967295;
pub const GL_AMD_gcn_shader: u32 = 1;
pub const GL_AMD_gpu_shader_half_float: u32 = 1;
pub const GL_FLOAT16_NV: u32 = 36856;
pub const GL_FLOAT16_VEC2_NV: u32 = 36857;
pub const GL_FLOAT16_VEC3_NV: u32 = 36858;
pub const GL_FLOAT16_VEC4_NV: u32 = 36859;
pub const GL_FLOAT16_MAT2_AMD: u32 = 37317;
pub const GL_FLOAT16_MAT3_AMD: u32 = 37318;
pub const GL_FLOAT16_MAT4_AMD: u32 = 37319;
pub const GL_FLOAT16_MAT2x3_AMD: u32 = 37320;
pub const GL_FLOAT16_MAT2x4_AMD: u32 = 37321;
pub const GL_FLOAT16_MAT3x2_AMD: u32 = 37322;
pub const GL_FLOAT16_MAT3x4_AMD: u32 = 37323;
pub const GL_FLOAT16_MAT4x2_AMD: u32 = 37324;
pub const GL_FLOAT16_MAT4x3_AMD: u32 = 37325;
pub const GL_AMD_gpu_shader_int16: u32 = 1;
pub const GL_AMD_gpu_shader_int64: u32 = 1;
pub const GL_INT64_NV: u32 = 5134;
pub const GL_UNSIGNED_INT64_NV: u32 = 5135;
pub const GL_INT8_NV: u32 = 36832;
pub const GL_INT8_VEC2_NV: u32 = 36833;
pub const GL_INT8_VEC3_NV: u32 = 36834;
pub const GL_INT8_VEC4_NV: u32 = 36835;
pub const GL_INT16_NV: u32 = 36836;
pub const GL_INT16_VEC2_NV: u32 = 36837;
pub const GL_INT16_VEC3_NV: u32 = 36838;
pub const GL_INT16_VEC4_NV: u32 = 36839;
pub const GL_INT64_VEC2_NV: u32 = 36841;
pub const GL_INT64_VEC3_NV: u32 = 36842;
pub const GL_INT64_VEC4_NV: u32 = 36843;
pub const GL_UNSIGNED_INT8_NV: u32 = 36844;
pub const GL_UNSIGNED_INT8_VEC2_NV: u32 = 36845;
pub const GL_UNSIGNED_INT8_VEC3_NV: u32 = 36846;
pub const GL_UNSIGNED_INT8_VEC4_NV: u32 = 36847;
pub const GL_UNSIGNED_INT16_NV: u32 = 36848;
pub const GL_UNSIGNED_INT16_VEC2_NV: u32 = 36849;
pub const GL_UNSIGNED_INT16_VEC3_NV: u32 = 36850;
pub const GL_UNSIGNED_INT16_VEC4_NV: u32 = 36851;
pub const GL_UNSIGNED_INT64_VEC2_NV: u32 = 36853;
pub const GL_UNSIGNED_INT64_VEC3_NV: u32 = 36854;
pub const GL_UNSIGNED_INT64_VEC4_NV: u32 = 36855;
pub const GL_AMD_interleaved_elements: u32 = 1;
pub const GL_VERTEX_ELEMENT_SWIZZLE_AMD: u32 = 37284;
pub const GL_VERTEX_ID_SWIZZLE_AMD: u32 = 37285;
pub const GL_AMD_multi_draw_indirect: u32 = 1;
pub const GL_AMD_name_gen_delete: u32 = 1;
pub const GL_DATA_BUFFER_AMD: u32 = 37201;
pub const GL_PERFORMANCE_MONITOR_AMD: u32 = 37202;
pub const GL_QUERY_OBJECT_AMD: u32 = 37203;
pub const GL_VERTEX_ARRAY_OBJECT_AMD: u32 = 37204;
pub const GL_SAMPLER_OBJECT_AMD: u32 = 37205;
pub const GL_AMD_occlusion_query_event: u32 = 1;
pub const GL_OCCLUSION_QUERY_EVENT_MASK_AMD: u32 = 34639;
pub const GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD: u32 = 1;
pub const GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD: u32 = 2;
pub const GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD: u32 = 4;
pub const GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD: u32 = 8;
pub const GL_QUERY_ALL_EVENT_BITS_AMD: u32 = 4294967295;
pub const GL_AMD_performance_monitor: u32 = 1;
pub const GL_COUNTER_TYPE_AMD: u32 = 35776;
pub const GL_COUNTER_RANGE_AMD: u32 = 35777;
pub const GL_UNSIGNED_INT64_AMD: u32 = 35778;
pub const GL_PERCENTAGE_AMD: u32 = 35779;
pub const GL_PERFMON_RESULT_AVAILABLE_AMD: u32 = 35780;
pub const GL_PERFMON_RESULT_SIZE_AMD: u32 = 35781;
pub const GL_PERFMON_RESULT_AMD: u32 = 35782;
pub const GL_AMD_pinned_memory: u32 = 1;
pub const GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD: u32 = 37216;
pub const GL_AMD_query_buffer_object: u32 = 1;
pub const GL_QUERY_BUFFER_AMD: u32 = 37266;
pub const GL_QUERY_BUFFER_BINDING_AMD: u32 = 37267;
pub const GL_QUERY_RESULT_NO_WAIT_AMD: u32 = 37268;
pub const GL_AMD_sample_positions: u32 = 1;
pub const GL_AMD_seamless_cubemap_per_texture: u32 = 1;
pub const GL_AMD_shader_atomic_counter_ops: u32 = 1;
pub const GL_AMD_shader_ballot: u32 = 1;
pub const GL_AMD_shader_explicit_vertex_parameter: u32 = 1;
pub const GL_AMD_shader_gpu_shader_half_float_fetch: u32 = 1;
pub const GL_AMD_shader_image_load_store_lod: u32 = 1;
pub const GL_AMD_shader_stencil_export: u32 = 1;
pub const GL_AMD_shader_trinary_minmax: u32 = 1;
pub const GL_AMD_sparse_texture: u32 = 1;
pub const GL_VIRTUAL_PAGE_SIZE_X_AMD: u32 = 37269;
pub const GL_VIRTUAL_PAGE_SIZE_Y_AMD: u32 = 37270;
pub const GL_VIRTUAL_PAGE_SIZE_Z_AMD: u32 = 37271;
pub const GL_MAX_SPARSE_TEXTURE_SIZE_AMD: u32 = 37272;
pub const GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD: u32 = 37273;
pub const GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS: u32 = 37274;
pub const GL_MIN_SPARSE_LEVEL_AMD: u32 = 37275;
pub const GL_MIN_LOD_WARNING_AMD: u32 = 37276;
pub const GL_TEXTURE_STORAGE_SPARSE_BIT_AMD: u32 = 1;
pub const GL_AMD_stencil_operation_extended: u32 = 1;
pub const GL_SET_AMD: u32 = 34634;
pub const GL_REPLACE_VALUE_AMD: u32 = 34635;
pub const GL_STENCIL_OP_VALUE_AMD: u32 = 34636;
pub const GL_STENCIL_BACK_OP_VALUE_AMD: u32 = 34637;
pub const GL_AMD_texture_gather_bias_lod: u32 = 1;
pub const GL_AMD_texture_texture4: u32 = 1;
pub const GL_AMD_transform_feedback3_lines_triangles: u32 = 1;
pub const GL_AMD_transform_feedback4: u32 = 1;
pub const GL_STREAM_RASTERIZATION_AMD: u32 = 37280;
pub const GL_AMD_vertex_shader_layer: u32 = 1;
pub const GL_AMD_vertex_shader_tessellator: u32 = 1;
pub const GL_SAMPLER_BUFFER_AMD: u32 = 36865;
pub const GL_INT_SAMPLER_BUFFER_AMD: u32 = 36866;
pub const GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD: u32 = 36867;
pub const GL_TESSELLATION_MODE_AMD: u32 = 36868;
pub const GL_TESSELLATION_FACTOR_AMD: u32 = 36869;
pub const GL_DISCRETE_AMD: u32 = 36870;
pub const GL_CONTINUOUS_AMD: u32 = 36871;
pub const GL_AMD_vertex_shader_viewport_index: u32 = 1;
pub const GL_APPLE_aux_depth_stencil: u32 = 1;
pub const GL_AUX_DEPTH_STENCIL_APPLE: u32 = 35348;
pub const GL_APPLE_client_storage: u32 = 1;
pub const GL_UNPACK_CLIENT_STORAGE_APPLE: u32 = 34226;
pub const GL_APPLE_element_array: u32 = 1;
pub const GL_ELEMENT_ARRAY_APPLE: u32 = 35340;
pub const GL_ELEMENT_ARRAY_TYPE_APPLE: u32 = 35341;
pub const GL_ELEMENT_ARRAY_POINTER_APPLE: u32 = 35342;
pub const GL_APPLE_fence: u32 = 1;
pub const GL_DRAW_PIXELS_APPLE: u32 = 35338;
pub const GL_FENCE_APPLE: u32 = 35339;
pub const GL_APPLE_float_pixels: u32 = 1;
pub const GL_HALF_APPLE: u32 = 5131;
pub const GL_RGBA_FLOAT32_APPLE: u32 = 34836;
pub const GL_RGB_FLOAT32_APPLE: u32 = 34837;
pub const GL_ALPHA_FLOAT32_APPLE: u32 = 34838;
pub const GL_INTENSITY_FLOAT32_APPLE: u32 = 34839;
pub const GL_LUMINANCE_FLOAT32_APPLE: u32 = 34840;
pub const GL_LUMINANCE_ALPHA_FLOAT32_APPLE: u32 = 34841;
pub const GL_RGBA_FLOAT16_APPLE: u32 = 34842;
pub const GL_RGB_FLOAT16_APPLE: u32 = 34843;
pub const GL_ALPHA_FLOAT16_APPLE: u32 = 34844;
pub const GL_INTENSITY_FLOAT16_APPLE: u32 = 34845;
pub const GL_LUMINANCE_FLOAT16_APPLE: u32 = 34846;
pub const GL_LUMINANCE_ALPHA_FLOAT16_APPLE: u32 = 34847;
pub const GL_COLOR_FLOAT_APPLE: u32 = 35343;
pub const GL_APPLE_flush_buffer_range: u32 = 1;
pub const GL_BUFFER_SERIALIZED_MODIFY_APPLE: u32 = 35346;
pub const GL_BUFFER_FLUSHING_UNMAP_APPLE: u32 = 35347;
pub const GL_APPLE_object_purgeable: u32 = 1;
pub const GL_BUFFER_OBJECT_APPLE: u32 = 34227;
pub const GL_RELEASED_APPLE: u32 = 35353;
pub const GL_VOLATILE_APPLE: u32 = 35354;
pub const GL_RETAINED_APPLE: u32 = 35355;
pub const GL_UNDEFINED_APPLE: u32 = 35356;
pub const GL_PURGEABLE_APPLE: u32 = 35357;
pub const GL_APPLE_rgb_422: u32 = 1;
pub const GL_RGB_422_APPLE: u32 = 35359;
pub const GL_UNSIGNED_SHORT_8_8_APPLE: u32 = 34234;
pub const GL_UNSIGNED_SHORT_8_8_REV_APPLE: u32 = 34235;
pub const GL_RGB_RAW_422_APPLE: u32 = 35409;
pub const GL_APPLE_row_bytes: u32 = 1;
pub const GL_PACK_ROW_BYTES_APPLE: u32 = 35349;
pub const GL_UNPACK_ROW_BYTES_APPLE: u32 = 35350;
pub const GL_APPLE_specular_vector: u32 = 1;
pub const GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE: u32 = 34224;
pub const GL_APPLE_texture_range: u32 = 1;
pub const GL_TEXTURE_RANGE_LENGTH_APPLE: u32 = 34231;
pub const GL_TEXTURE_RANGE_POINTER_APPLE: u32 = 34232;
pub const GL_TEXTURE_STORAGE_HINT_APPLE: u32 = 34236;
pub const GL_STORAGE_PRIVATE_APPLE: u32 = 34237;
pub const GL_STORAGE_CACHED_APPLE: u32 = 34238;
pub const GL_STORAGE_SHARED_APPLE: u32 = 34239;
pub const GL_APPLE_transform_hint: u32 = 1;
pub const GL_TRANSFORM_HINT_APPLE: u32 = 34225;
pub const GL_APPLE_vertex_array_object: u32 = 1;
pub const GL_VERTEX_ARRAY_BINDING_APPLE: u32 = 34229;
pub const GL_APPLE_vertex_array_range: u32 = 1;
pub const GL_VERTEX_ARRAY_RANGE_APPLE: u32 = 34077;
pub const GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE: u32 = 34078;
pub const GL_VERTEX_ARRAY_STORAGE_HINT_APPLE: u32 = 34079;
pub const GL_VERTEX_ARRAY_RANGE_POINTER_APPLE: u32 = 34081;
pub const GL_STORAGE_CLIENT_APPLE: u32 = 34228;
pub const GL_APPLE_vertex_program_evaluators: u32 = 1;
pub const GL_VERTEX_ATTRIB_MAP1_APPLE: u32 = 35328;
pub const GL_VERTEX_ATTRIB_MAP2_APPLE: u32 = 35329;
pub const GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE: u32 = 35330;
pub const GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE: u32 = 35331;
pub const GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE: u32 = 35332;
pub const GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE: u32 = 35333;
pub const GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE: u32 = 35334;
pub const GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE: u32 = 35335;
pub const GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE: u32 = 35336;
pub const GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE: u32 = 35337;
pub const GL_APPLE_ycbcr_422: u32 = 1;
pub const GL_YCBCR_422_APPLE: u32 = 34233;
pub const GL_ATI_draw_buffers: u32 = 1;
pub const GL_MAX_DRAW_BUFFERS_ATI: u32 = 34852;
pub const GL_DRAW_BUFFER0_ATI: u32 = 34853;
pub const GL_DRAW_BUFFER1_ATI: u32 = 34854;
pub const GL_DRAW_BUFFER2_ATI: u32 = 34855;
pub const GL_DRAW_BUFFER3_ATI: u32 = 34856;
pub const GL_DRAW_BUFFER4_ATI: u32 = 34857;
pub const GL_DRAW_BUFFER5_ATI: u32 = 34858;
pub const GL_DRAW_BUFFER6_ATI: u32 = 34859;
pub const GL_DRAW_BUFFER7_ATI: u32 = 34860;
pub const GL_DRAW_BUFFER8_ATI: u32 = 34861;
pub const GL_DRAW_BUFFER9_ATI: u32 = 34862;
pub const GL_DRAW_BUFFER10_ATI: u32 = 34863;
pub const GL_DRAW_BUFFER11_ATI: u32 = 34864;
pub const GL_DRAW_BUFFER12_ATI: u32 = 34865;
pub const GL_DRAW_BUFFER13_ATI: u32 = 34866;
pub const GL_DRAW_BUFFER14_ATI: u32 = 34867;
pub const GL_DRAW_BUFFER15_ATI: u32 = 34868;
pub const GL_ATI_element_array: u32 = 1;
pub const GL_ELEMENT_ARRAY_ATI: u32 = 34664;
pub const GL_ELEMENT_ARRAY_TYPE_ATI: u32 = 34665;
pub const GL_ELEMENT_ARRAY_POINTER_ATI: u32 = 34666;
pub const GL_ATI_envmap_bumpmap: u32 = 1;
pub const GL_BUMP_ROT_MATRIX_ATI: u32 = 34677;
pub const GL_BUMP_ROT_MATRIX_SIZE_ATI: u32 = 34678;
pub const GL_BUMP_NUM_TEX_UNITS_ATI: u32 = 34679;
pub const GL_BUMP_TEX_UNITS_ATI: u32 = 34680;
pub const GL_DUDV_ATI: u32 = 34681;
pub const GL_DU8DV8_ATI: u32 = 34682;
pub const GL_BUMP_ENVMAP_ATI: u32 = 34683;
pub const GL_BUMP_TARGET_ATI: u32 = 34684;
pub const GL_ATI_fragment_shader: u32 = 1;
pub const GL_FRAGMENT_SHADER_ATI: u32 = 35104;
pub const GL_REG_0_ATI: u32 = 35105;
pub const GL_REG_1_ATI: u32 = 35106;
pub const GL_REG_2_ATI: u32 = 35107;
pub const GL_REG_3_ATI: u32 = 35108;
pub const GL_REG_4_ATI: u32 = 35109;
pub const GL_REG_5_ATI: u32 = 35110;
pub const GL_REG_6_ATI: u32 = 35111;
pub const GL_REG_7_ATI: u32 = 35112;
pub const GL_REG_8_ATI: u32 = 35113;
pub const GL_REG_9_ATI: u32 = 35114;
pub const GL_REG_10_ATI: u32 = 35115;
pub const GL_REG_11_ATI: u32 = 35116;
pub const GL_REG_12_ATI: u32 = 35117;
pub const GL_REG_13_ATI: u32 = 35118;
pub const GL_REG_14_ATI: u32 = 35119;
pub const GL_REG_15_ATI: u32 = 35120;
pub const GL_REG_16_ATI: u32 = 35121;
pub const GL_REG_17_ATI: u32 = 35122;
pub const GL_REG_18_ATI: u32 = 35123;
pub const GL_REG_19_ATI: u32 = 35124;
pub const GL_REG_20_ATI: u32 = 35125;
pub const GL_REG_21_ATI: u32 = 35126;
pub const GL_REG_22_ATI: u32 = 35127;
pub const GL_REG_23_ATI: u32 = 35128;
pub const GL_REG_24_ATI: u32 = 35129;
pub const GL_REG_25_ATI: u32 = 35130;
pub const GL_REG_26_ATI: u32 = 35131;
pub const GL_REG_27_ATI: u32 = 35132;
pub const GL_REG_28_ATI: u32 = 35133;
pub const GL_REG_29_ATI: u32 = 35134;
pub const GL_REG_30_ATI: u32 = 35135;
pub const GL_REG_31_ATI: u32 = 35136;
pub const GL_CON_0_ATI: u32 = 35137;
pub const GL_CON_1_ATI: u32 = 35138;
pub const GL_CON_2_ATI: u32 = 35139;
pub const GL_CON_3_ATI: u32 = 35140;
pub const GL_CON_4_ATI: u32 = 35141;
pub const GL_CON_5_ATI: u32 = 35142;
pub const GL_CON_6_ATI: u32 = 35143;
pub const GL_CON_7_ATI: u32 = 35144;
pub const GL_CON_8_ATI: u32 = 35145;
pub const GL_CON_9_ATI: u32 = 35146;
pub const GL_CON_10_ATI: u32 = 35147;
pub const GL_CON_11_ATI: u32 = 35148;
pub const GL_CON_12_ATI: u32 = 35149;
pub const GL_CON_13_ATI: u32 = 35150;
pub const GL_CON_14_ATI: u32 = 35151;
pub const GL_CON_15_ATI: u32 = 35152;
pub const GL_CON_16_ATI: u32 = 35153;
pub const GL_CON_17_ATI: u32 = 35154;
pub const GL_CON_18_ATI: u32 = 35155;
pub const GL_CON_19_ATI: u32 = 35156;
pub const GL_CON_20_ATI: u32 = 35157;
pub const GL_CON_21_ATI: u32 = 35158;
pub const GL_CON_22_ATI: u32 = 35159;
pub const GL_CON_23_ATI: u32 = 35160;
pub const GL_CON_24_ATI: u32 = 35161;
pub const GL_CON_25_ATI: u32 = 35162;
pub const GL_CON_26_ATI: u32 = 35163;
pub const GL_CON_27_ATI: u32 = 35164;
pub const GL_CON_28_ATI: u32 = 35165;
pub const GL_CON_29_ATI: u32 = 35166;
pub const GL_CON_30_ATI: u32 = 35167;
pub const GL_CON_31_ATI: u32 = 35168;
pub const GL_MOV_ATI: u32 = 35169;
pub const GL_ADD_ATI: u32 = 35171;
pub const GL_MUL_ATI: u32 = 35172;
pub const GL_SUB_ATI: u32 = 35173;
pub const GL_DOT3_ATI: u32 = 35174;
pub const GL_DOT4_ATI: u32 = 35175;
pub const GL_MAD_ATI: u32 = 35176;
pub const GL_LERP_ATI: u32 = 35177;
pub const GL_CND_ATI: u32 = 35178;
pub const GL_CND0_ATI: u32 = 35179;
pub const GL_DOT2_ADD_ATI: u32 = 35180;
pub const GL_SECONDARY_INTERPOLATOR_ATI: u32 = 35181;
pub const GL_NUM_FRAGMENT_REGISTERS_ATI: u32 = 35182;
pub const GL_NUM_FRAGMENT_CONSTANTS_ATI: u32 = 35183;
pub const GL_NUM_PASSES_ATI: u32 = 35184;
pub const GL_NUM_INSTRUCTIONS_PER_PASS_ATI: u32 = 35185;
pub const GL_NUM_INSTRUCTIONS_TOTAL_ATI: u32 = 35186;
pub const GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI: u32 = 35187;
pub const GL_NUM_LOOPBACK_COMPONENTS_ATI: u32 = 35188;
pub const GL_COLOR_ALPHA_PAIRING_ATI: u32 = 35189;
pub const GL_SWIZZLE_STR_ATI: u32 = 35190;
pub const GL_SWIZZLE_STQ_ATI: u32 = 35191;
pub const GL_SWIZZLE_STR_DR_ATI: u32 = 35192;
pub const GL_SWIZZLE_STQ_DQ_ATI: u32 = 35193;
pub const GL_SWIZZLE_STRQ_ATI: u32 = 35194;
pub const GL_SWIZZLE_STRQ_DQ_ATI: u32 = 35195;
pub const GL_RED_BIT_ATI: u32 = 1;
pub const GL_GREEN_BIT_ATI: u32 = 2;
pub const GL_BLUE_BIT_ATI: u32 = 4;
pub const GL_2X_BIT_ATI: u32 = 1;
pub const GL_4X_BIT_ATI: u32 = 2;
pub const GL_8X_BIT_ATI: u32 = 4;
pub const GL_HALF_BIT_ATI: u32 = 8;
pub const GL_QUARTER_BIT_ATI: u32 = 16;
pub const GL_EIGHTH_BIT_ATI: u32 = 32;
pub const GL_SATURATE_BIT_ATI: u32 = 64;
pub const GL_COMP_BIT_ATI: u32 = 2;
pub const GL_NEGATE_BIT_ATI: u32 = 4;
pub const GL_BIAS_BIT_ATI: u32 = 8;
pub const GL_ATI_map_object_buffer: u32 = 1;
pub const GL_ATI_meminfo: u32 = 1;
pub const GL_VBO_FREE_MEMORY_ATI: u32 = 34811;
pub const GL_TEXTURE_FREE_MEMORY_ATI: u32 = 34812;
pub const GL_RENDERBUFFER_FREE_MEMORY_ATI: u32 = 34813;
pub const GL_ATI_pixel_format_float: u32 = 1;
pub const GL_RGBA_FLOAT_MODE_ATI: u32 = 34848;
pub const GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI: u32 = 34869;
pub const GL_ATI_pn_triangles: u32 = 1;
pub const GL_PN_TRIANGLES_ATI: u32 = 34800;
pub const GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI: u32 = 34801;
pub const GL_PN_TRIANGLES_POINT_MODE_ATI: u32 = 34802;
pub const GL_PN_TRIANGLES_NORMAL_MODE_ATI: u32 = 34803;
pub const GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI: u32 = 34804;
pub const GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI: u32 = 34805;
pub const GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI: u32 = 34806;
pub const GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI: u32 = 34807;
pub const GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI: u32 = 34808;
pub const GL_ATI_separate_stencil: u32 = 1;
pub const GL_STENCIL_BACK_FUNC_ATI: u32 = 34816;
pub const GL_STENCIL_BACK_FAIL_ATI: u32 = 34817;
pub const GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI: u32 = 34818;
pub const GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI: u32 = 34819;
pub const GL_ATI_text_fragment_shader: u32 = 1;
pub const GL_TEXT_FRAGMENT_SHADER_ATI: u32 = 33280;
pub const GL_ATI_texture_env_combine3: u32 = 1;
pub const GL_MODULATE_ADD_ATI: u32 = 34628;
pub const GL_MODULATE_SIGNED_ADD_ATI: u32 = 34629;
pub const GL_MODULATE_SUBTRACT_ATI: u32 = 34630;
pub const GL_ATI_texture_float: u32 = 1;
pub const GL_RGBA_FLOAT32_ATI: u32 = 34836;
pub const GL_RGB_FLOAT32_ATI: u32 = 34837;
pub const GL_ALPHA_FLOAT32_ATI: u32 = 34838;
pub const GL_INTENSITY_FLOAT32_ATI: u32 = 34839;
pub const GL_LUMINANCE_FLOAT32_ATI: u32 = 34840;
pub const GL_LUMINANCE_ALPHA_FLOAT32_ATI: u32 = 34841;
pub const GL_RGBA_FLOAT16_ATI: u32 = 34842;
pub const GL_RGB_FLOAT16_ATI: u32 = 34843;
pub const GL_ALPHA_FLOAT16_ATI: u32 = 34844;
pub const GL_INTENSITY_FLOAT16_ATI: u32 = 34845;
pub const GL_LUMINANCE_FLOAT16_ATI: u32 = 34846;
pub const GL_LUMINANCE_ALPHA_FLOAT16_ATI: u32 = 34847;
pub const GL_ATI_texture_mirror_once: u32 = 1;
pub const GL_MIRROR_CLAMP_ATI: u32 = 34626;
pub const GL_MIRROR_CLAMP_TO_EDGE_ATI: u32 = 34627;
pub const GL_ATI_vertex_array_object: u32 = 1;
pub const GL_STATIC_ATI: u32 = 34656;
pub const GL_DYNAMIC_ATI: u32 = 34657;
pub const GL_PRESERVE_ATI: u32 = 34658;
pub const GL_DISCARD_ATI: u32 = 34659;
pub const GL_OBJECT_BUFFER_SIZE_ATI: u32 = 34660;
pub const GL_OBJECT_BUFFER_USAGE_ATI: u32 = 34661;
pub const GL_ARRAY_OBJECT_BUFFER_ATI: u32 = 34662;
pub const GL_ARRAY_OBJECT_OFFSET_ATI: u32 = 34663;
pub const GL_ATI_vertex_attrib_array_object: u32 = 1;
pub const GL_ATI_vertex_streams: u32 = 1;
pub const GL_MAX_VERTEX_STREAMS_ATI: u32 = 34667;
pub const GL_VERTEX_STREAM0_ATI: u32 = 34668;
pub const GL_VERTEX_STREAM1_ATI: u32 = 34669;
pub const GL_VERTEX_STREAM2_ATI: u32 = 34670;
pub const GL_VERTEX_STREAM3_ATI: u32 = 34671;
pub const GL_VERTEX_STREAM4_ATI: u32 = 34672;
pub const GL_VERTEX_STREAM5_ATI: u32 = 34673;
pub const GL_VERTEX_STREAM6_ATI: u32 = 34674;
pub const GL_VERTEX_STREAM7_ATI: u32 = 34675;
pub const GL_VERTEX_SOURCE_ATI: u32 = 34676;
pub const GL_EXT_422_pixels: u32 = 1;
pub const GL_422_EXT: u32 = 32972;
pub const GL_422_REV_EXT: u32 = 32973;
pub const GL_422_AVERAGE_EXT: u32 = 32974;
pub const GL_422_REV_AVERAGE_EXT: u32 = 32975;
pub const GL_EXT_EGL_image_storage: u32 = 1;
pub const GL_EXT_abgr: u32 = 1;
pub const GL_ABGR_EXT: u32 = 32768;
pub const GL_EXT_bgra: u32 = 1;
pub const GL_BGR_EXT: u32 = 32992;
pub const GL_BGRA_EXT: u32 = 32993;
pub const GL_EXT_bindable_uniform: u32 = 1;
pub const GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT: u32 = 36322;
pub const GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT: u32 = 36323;
pub const GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT: u32 = 36324;
pub const GL_MAX_BINDABLE_UNIFORM_SIZE_EXT: u32 = 36333;
pub const GL_UNIFORM_BUFFER_EXT: u32 = 36334;
pub const GL_UNIFORM_BUFFER_BINDING_EXT: u32 = 36335;
pub const GL_EXT_blend_color: u32 = 1;
pub const GL_CONSTANT_COLOR_EXT: u32 = 32769;
pub const GL_ONE_MINUS_CONSTANT_COLOR_EXT: u32 = 32770;
pub const GL_CONSTANT_ALPHA_EXT: u32 = 32771;
pub const GL_ONE_MINUS_CONSTANT_ALPHA_EXT: u32 = 32772;
pub const GL_BLEND_COLOR_EXT: u32 = 32773;
pub const GL_EXT_blend_equation_separate: u32 = 1;
pub const GL_BLEND_EQUATION_RGB_EXT: u32 = 32777;
pub const GL_BLEND_EQUATION_ALPHA_EXT: u32 = 34877;
pub const GL_EXT_blend_func_separate: u32 = 1;
pub const GL_BLEND_DST_RGB_EXT: u32 = 32968;
pub const GL_BLEND_SRC_RGB_EXT: u32 = 32969;
pub const GL_BLEND_DST_ALPHA_EXT: u32 = 32970;
pub const GL_BLEND_SRC_ALPHA_EXT: u32 = 32971;
pub const GL_EXT_blend_logic_op: u32 = 1;
pub const GL_EXT_blend_minmax: u32 = 1;
pub const GL_MIN_EXT: u32 = 32775;
pub const GL_MAX_EXT: u32 = 32776;
pub const GL_FUNC_ADD_EXT: u32 = 32774;
pub const GL_BLEND_EQUATION_EXT: u32 = 32777;
pub const GL_EXT_blend_subtract: u32 = 1;
pub const GL_FUNC_SUBTRACT_EXT: u32 = 32778;
pub const GL_FUNC_REVERSE_SUBTRACT_EXT: u32 = 32779;
pub const GL_EXT_clip_volume_hint: u32 = 1;
pub const GL_CLIP_VOLUME_CLIPPING_HINT_EXT: u32 = 33008;
pub const GL_EXT_cmyka: u32 = 1;
pub const GL_CMYK_EXT: u32 = 32780;
pub const GL_CMYKA_EXT: u32 = 32781;
pub const GL_PACK_CMYK_HINT_EXT: u32 = 32782;
pub const GL_UNPACK_CMYK_HINT_EXT: u32 = 32783;
pub const GL_EXT_color_subtable: u32 = 1;
pub const GL_EXT_compiled_vertex_array: u32 = 1;
pub const GL_ARRAY_ELEMENT_LOCK_FIRST_EXT: u32 = 33192;
pub const GL_ARRAY_ELEMENT_LOCK_COUNT_EXT: u32 = 33193;
pub const GL_EXT_convolution: u32 = 1;
pub const GL_CONVOLUTION_1D_EXT: u32 = 32784;
pub const GL_CONVOLUTION_2D_EXT: u32 = 32785;
pub const GL_SEPARABLE_2D_EXT: u32 = 32786;
pub const GL_CONVOLUTION_BORDER_MODE_EXT: u32 = 32787;
pub const GL_CONVOLUTION_FILTER_SCALE_EXT: u32 = 32788;
pub const GL_CONVOLUTION_FILTER_BIAS_EXT: u32 = 32789;
pub const GL_REDUCE_EXT: u32 = 32790;
pub const GL_CONVOLUTION_FORMAT_EXT: u32 = 32791;
pub const GL_CONVOLUTION_WIDTH_EXT: u32 = 32792;
pub const GL_CONVOLUTION_HEIGHT_EXT: u32 = 32793;
pub const GL_MAX_CONVOLUTION_WIDTH_EXT: u32 = 32794;
pub const GL_MAX_CONVOLUTION_HEIGHT_EXT: u32 = 32795;
pub const GL_POST_CONVOLUTION_RED_SCALE_EXT: u32 = 32796;
pub const GL_POST_CONVOLUTION_GREEN_SCALE_EXT: u32 = 32797;
pub const GL_POST_CONVOLUTION_BLUE_SCALE_EXT: u32 = 32798;
pub const GL_POST_CONVOLUTION_ALPHA_SCALE_EXT: u32 = 32799;
pub const GL_POST_CONVOLUTION_RED_BIAS_EXT: u32 = 32800;
pub const GL_POST_CONVOLUTION_GREEN_BIAS_EXT: u32 = 32801;
pub const GL_POST_CONVOLUTION_BLUE_BIAS_EXT: u32 = 32802;
pub const GL_POST_CONVOLUTION_ALPHA_BIAS_EXT: u32 = 32803;
pub const GL_EXT_coordinate_frame: u32 = 1;
pub const GL_TANGENT_ARRAY_EXT: u32 = 33849;
pub const GL_BINORMAL_ARRAY_EXT: u32 = 33850;
pub const GL_CURRENT_TANGENT_EXT: u32 = 33851;
pub const GL_CURRENT_BINORMAL_EXT: u32 = 33852;
pub const GL_TANGENT_ARRAY_TYPE_EXT: u32 = 33854;
pub const GL_TANGENT_ARRAY_STRIDE_EXT: u32 = 33855;
pub const GL_BINORMAL_ARRAY_TYPE_EXT: u32 = 33856;
pub const GL_BINORMAL_ARRAY_STRIDE_EXT: u32 = 33857;
pub const GL_TANGENT_ARRAY_POINTER_EXT: u32 = 33858;
pub const GL_BINORMAL_ARRAY_POINTER_EXT: u32 = 33859;
pub const GL_MAP1_TANGENT_EXT: u32 = 33860;
pub const GL_MAP2_TANGENT_EXT: u32 = 33861;
pub const GL_MAP1_BINORMAL_EXT: u32 = 33862;
pub const GL_MAP2_BINORMAL_EXT: u32 = 33863;
pub const GL_EXT_copy_texture: u32 = 1;
pub const GL_EXT_cull_vertex: u32 = 1;
pub const GL_CULL_VERTEX_EXT: u32 = 33194;
pub const GL_CULL_VERTEX_EYE_POSITION_EXT: u32 = 33195;
pub const GL_CULL_VERTEX_OBJECT_POSITION_EXT: u32 = 33196;
pub const GL_EXT_debug_label: u32 = 1;
pub const GL_PROGRAM_PIPELINE_OBJECT_EXT: u32 = 35407;
pub const GL_PROGRAM_OBJECT_EXT: u32 = 35648;
pub const GL_SHADER_OBJECT_EXT: u32 = 35656;
pub const GL_BUFFER_OBJECT_EXT: u32 = 37201;
pub const GL_QUERY_OBJECT_EXT: u32 = 37203;
pub const GL_VERTEX_ARRAY_OBJECT_EXT: u32 = 37204;
pub const GL_EXT_debug_marker: u32 = 1;
pub const GL_EXT_depth_bounds_test: u32 = 1;
pub const GL_DEPTH_BOUNDS_TEST_EXT: u32 = 34960;
pub const GL_DEPTH_BOUNDS_EXT: u32 = 34961;
pub const GL_EXT_direct_state_access: u32 = 1;
pub const GL_PROGRAM_MATRIX_EXT: u32 = 36397;
pub const GL_TRANSPOSE_PROGRAM_MATRIX_EXT: u32 = 36398;
pub const GL_PROGRAM_MATRIX_STACK_DEPTH_EXT: u32 = 36399;
pub const GL_EXT_draw_buffers2: u32 = 1;
pub const GL_EXT_draw_instanced: u32 = 1;
pub const GL_EXT_draw_range_elements: u32 = 1;
pub const GL_MAX_ELEMENTS_VERTICES_EXT: u32 = 33000;
pub const GL_MAX_ELEMENTS_INDICES_EXT: u32 = 33001;
pub const GL_EXT_external_buffer: u32 = 1;
pub const GL_EXT_fog_coord: u32 = 1;
pub const GL_FOG_COORDINATE_SOURCE_EXT: u32 = 33872;
pub const GL_FOG_COORDINATE_EXT: u32 = 33873;
pub const GL_FRAGMENT_DEPTH_EXT: u32 = 33874;
pub const GL_CURRENT_FOG_COORDINATE_EXT: u32 = 33875;
pub const GL_FOG_COORDINATE_ARRAY_TYPE_EXT: u32 = 33876;
pub const GL_FOG_COORDINATE_ARRAY_STRIDE_EXT: u32 = 33877;
pub const GL_FOG_COORDINATE_ARRAY_POINTER_EXT: u32 = 33878;
pub const GL_FOG_COORDINATE_ARRAY_EXT: u32 = 33879;
pub const GL_EXT_framebuffer_blit: u32 = 1;
pub const GL_READ_FRAMEBUFFER_EXT: u32 = 36008;
pub const GL_DRAW_FRAMEBUFFER_EXT: u32 = 36009;
pub const GL_DRAW_FRAMEBUFFER_BINDING_EXT: u32 = 36006;
pub const GL_READ_FRAMEBUFFER_BINDING_EXT: u32 = 36010;
pub const GL_EXT_framebuffer_multisample: u32 = 1;
pub const GL_RENDERBUFFER_SAMPLES_EXT: u32 = 36011;
pub const GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT: u32 = 36182;
pub const GL_MAX_SAMPLES_EXT: u32 = 36183;
pub const GL_EXT_framebuffer_multisample_blit_scaled: u32 = 1;
pub const GL_SCALED_RESOLVE_FASTEST_EXT: u32 = 37050;
pub const GL_SCALED_RESOLVE_NICEST_EXT: u32 = 37051;
pub const GL_EXT_framebuffer_object: u32 = 1;
pub const GL_INVALID_FRAMEBUFFER_OPERATION_EXT: u32 = 1286;
pub const GL_MAX_RENDERBUFFER_SIZE_EXT: u32 = 34024;
pub const GL_FRAMEBUFFER_BINDING_EXT: u32 = 36006;
pub const GL_RENDERBUFFER_BINDING_EXT: u32 = 36007;
pub const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT: u32 = 36048;
pub const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT: u32 = 36049;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT: u32 = 36050;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT: u32 = 36051;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT: u32 = 36052;
pub const GL_FRAMEBUFFER_COMPLETE_EXT: u32 = 36053;
pub const GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT: u32 = 36054;
pub const GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT: u32 = 36055;
pub const GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT: u32 = 36057;
pub const GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT: u32 = 36058;
pub const GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT: u32 = 36059;
pub const GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT: u32 = 36060;
pub const GL_FRAMEBUFFER_UNSUPPORTED_EXT: u32 = 36061;
pub const GL_MAX_COLOR_ATTACHMENTS_EXT: u32 = 36063;
pub const GL_COLOR_ATTACHMENT0_EXT: u32 = 36064;
pub const GL_COLOR_ATTACHMENT1_EXT: u32 = 36065;
pub const GL_COLOR_ATTACHMENT2_EXT: u32 = 36066;
pub const GL_COLOR_ATTACHMENT3_EXT: u32 = 36067;
pub const GL_COLOR_ATTACHMENT4_EXT: u32 = 36068;
pub const GL_COLOR_ATTACHMENT5_EXT: u32 = 36069;
pub const GL_COLOR_ATTACHMENT6_EXT: u32 = 36070;
pub const GL_COLOR_ATTACHMENT7_EXT: u32 = 36071;
pub const GL_COLOR_ATTACHMENT8_EXT: u32 = 36072;
pub const GL_COLOR_ATTACHMENT9_EXT: u32 = 36073;
pub const GL_COLOR_ATTACHMENT10_EXT: u32 = 36074;
pub const GL_COLOR_ATTACHMENT11_EXT: u32 = 36075;
pub const GL_COLOR_ATTACHMENT12_EXT: u32 = 36076;
pub const GL_COLOR_ATTACHMENT13_EXT: u32 = 36077;
pub const GL_COLOR_ATTACHMENT14_EXT: u32 = 36078;
pub const GL_COLOR_ATTACHMENT15_EXT: u32 = 36079;
pub const GL_DEPTH_ATTACHMENT_EXT: u32 = 36096;
pub const GL_STENCIL_ATTACHMENT_EXT: u32 = 36128;
pub const GL_FRAMEBUFFER_EXT: u32 = 36160;
pub const GL_RENDERBUFFER_EXT: u32 = 36161;
pub const GL_RENDERBUFFER_WIDTH_EXT: u32 = 36162;
pub const GL_RENDERBUFFER_HEIGHT_EXT: u32 = 36163;
pub const GL_RENDERBUFFER_INTERNAL_FORMAT_EXT: u32 = 36164;
pub const GL_STENCIL_INDEX1_EXT: u32 = 36166;
pub const GL_STENCIL_INDEX4_EXT: u32 = 36167;
pub const GL_STENCIL_INDEX8_EXT: u32 = 36168;
pub const GL_STENCIL_INDEX16_EXT: u32 = 36169;
pub const GL_RENDERBUFFER_RED_SIZE_EXT: u32 = 36176;
pub const GL_RENDERBUFFER_GREEN_SIZE_EXT: u32 = 36177;
pub const GL_RENDERBUFFER_BLUE_SIZE_EXT: u32 = 36178;
pub const GL_RENDERBUFFER_ALPHA_SIZE_EXT: u32 = 36179;
pub const GL_RENDERBUFFER_DEPTH_SIZE_EXT: u32 = 36180;
pub const GL_RENDERBUFFER_STENCIL_SIZE_EXT: u32 = 36181;
pub const GL_EXT_framebuffer_sRGB: u32 = 1;
pub const GL_FRAMEBUFFER_SRGB_EXT: u32 = 36281;
pub const GL_FRAMEBUFFER_SRGB_CAPABLE_EXT: u32 = 36282;
pub const GL_EXT_geometry_shader4: u32 = 1;
pub const GL_GEOMETRY_SHADER_EXT: u32 = 36313;
pub const GL_GEOMETRY_VERTICES_OUT_EXT: u32 = 36314;
pub const GL_GEOMETRY_INPUT_TYPE_EXT: u32 = 36315;
pub const GL_GEOMETRY_OUTPUT_TYPE_EXT: u32 = 36316;
pub const GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT: u32 = 35881;
pub const GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT: u32 = 36317;
pub const GL_MAX_VERTEX_VARYING_COMPONENTS_EXT: u32 = 36318;
pub const GL_MAX_VARYING_COMPONENTS_EXT: u32 = 35659;
pub const GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT: u32 = 36319;
pub const GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT: u32 = 36320;
pub const GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT: u32 = 36321;
pub const GL_LINES_ADJACENCY_EXT: u32 = 10;
pub const GL_LINE_STRIP_ADJACENCY_EXT: u32 = 11;
pub const GL_TRIANGLES_ADJACENCY_EXT: u32 = 12;
pub const GL_TRIANGLE_STRIP_ADJACENCY_EXT: u32 = 13;
pub const GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT: u32 = 36264;
pub const GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT: u32 = 36265;
pub const GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT: u32 = 36263;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT: u32 = 36052;
pub const GL_PROGRAM_POINT_SIZE_EXT: u32 = 34370;
pub const GL_EXT_gpu_program_parameters: u32 = 1;
pub const GL_EXT_gpu_shader4: u32 = 1;
pub const GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT: u32 = 35069;
pub const GL_SAMPLER_1D_ARRAY_EXT: u32 = 36288;
pub const GL_SAMPLER_2D_ARRAY_EXT: u32 = 36289;
pub const GL_SAMPLER_BUFFER_EXT: u32 = 36290;
pub const GL_SAMPLER_1D_ARRAY_SHADOW_EXT: u32 = 36291;
pub const GL_SAMPLER_2D_ARRAY_SHADOW_EXT: u32 = 36292;
pub const GL_SAMPLER_CUBE_SHADOW_EXT: u32 = 36293;
pub const GL_UNSIGNED_INT_VEC2_EXT: u32 = 36294;
pub const GL_UNSIGNED_INT_VEC3_EXT: u32 = 36295;
pub const GL_UNSIGNED_INT_VEC4_EXT: u32 = 36296;
pub const GL_INT_SAMPLER_1D_EXT: u32 = 36297;
pub const GL_INT_SAMPLER_2D_EXT: u32 = 36298;
pub const GL_INT_SAMPLER_3D_EXT: u32 = 36299;
pub const GL_INT_SAMPLER_CUBE_EXT: u32 = 36300;
pub const GL_INT_SAMPLER_2D_RECT_EXT: u32 = 36301;
pub const GL_INT_SAMPLER_1D_ARRAY_EXT: u32 = 36302;
pub const GL_INT_SAMPLER_2D_ARRAY_EXT: u32 = 36303;
pub const GL_INT_SAMPLER_BUFFER_EXT: u32 = 36304;
pub const GL_UNSIGNED_INT_SAMPLER_1D_EXT: u32 = 36305;
pub const GL_UNSIGNED_INT_SAMPLER_2D_EXT: u32 = 36306;
pub const GL_UNSIGNED_INT_SAMPLER_3D_EXT: u32 = 36307;
pub const GL_UNSIGNED_INT_SAMPLER_CUBE_EXT: u32 = 36308;
pub const GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT: u32 = 36309;
pub const GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT: u32 = 36310;
pub const GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT: u32 = 36311;
pub const GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT: u32 = 36312;
pub const GL_MIN_PROGRAM_TEXEL_OFFSET_EXT: u32 = 35076;
pub const GL_MAX_PROGRAM_TEXEL_OFFSET_EXT: u32 = 35077;
pub const GL_EXT_histogram: u32 = 1;
pub const GL_HISTOGRAM_EXT: u32 = 32804;
pub const GL_PROXY_HISTOGRAM_EXT: u32 = 32805;
pub const GL_HISTOGRAM_WIDTH_EXT: u32 = 32806;
pub const GL_HISTOGRAM_FORMAT_EXT: u32 = 32807;
pub const GL_HISTOGRAM_RED_SIZE_EXT: u32 = 32808;
pub const GL_HISTOGRAM_GREEN_SIZE_EXT: u32 = 32809;
pub const GL_HISTOGRAM_BLUE_SIZE_EXT: u32 = 32810;
pub const GL_HISTOGRAM_ALPHA_SIZE_EXT: u32 = 32811;
pub const GL_HISTOGRAM_LUMINANCE_SIZE_EXT: u32 = 32812;
pub const GL_HISTOGRAM_SINK_EXT: u32 = 32813;
pub const GL_MINMAX_EXT: u32 = 32814;
pub const GL_MINMAX_FORMAT_EXT: u32 = 32815;
pub const GL_MINMAX_SINK_EXT: u32 = 32816;
pub const GL_TABLE_TOO_LARGE_EXT: u32 = 32817;
pub const GL_EXT_index_array_formats: u32 = 1;
pub const GL_IUI_V2F_EXT: u32 = 33197;
pub const GL_IUI_V3F_EXT: u32 = 33198;
pub const GL_IUI_N3F_V2F_EXT: u32 = 33199;
pub const GL_IUI_N3F_V3F_EXT: u32 = 33200;
pub const GL_T2F_IUI_V2F_EXT: u32 = 33201;
pub const GL_T2F_IUI_V3F_EXT: u32 = 33202;
pub const GL_T2F_IUI_N3F_V2F_EXT: u32 = 33203;
pub const GL_T2F_IUI_N3F_V3F_EXT: u32 = 33204;
pub const GL_EXT_index_func: u32 = 1;
pub const GL_INDEX_TEST_EXT: u32 = 33205;
pub const GL_INDEX_TEST_FUNC_EXT: u32 = 33206;
pub const GL_INDEX_TEST_REF_EXT: u32 = 33207;
pub const GL_EXT_index_material: u32 = 1;
pub const GL_INDEX_MATERIAL_EXT: u32 = 33208;
pub const GL_INDEX_MATERIAL_PARAMETER_EXT: u32 = 33209;
pub const GL_INDEX_MATERIAL_FACE_EXT: u32 = 33210;
pub const GL_EXT_index_texture: u32 = 1;
pub const GL_EXT_light_texture: u32 = 1;
pub const GL_FRAGMENT_MATERIAL_EXT: u32 = 33609;
pub const GL_FRAGMENT_NORMAL_EXT: u32 = 33610;
pub const GL_FRAGMENT_COLOR_EXT: u32 = 33612;
pub const GL_ATTENUATION_EXT: u32 = 33613;
pub const GL_SHADOW_ATTENUATION_EXT: u32 = 33614;
pub const GL_TEXTURE_APPLICATION_MODE_EXT: u32 = 33615;
pub const GL_TEXTURE_LIGHT_EXT: u32 = 33616;
pub const GL_TEXTURE_MATERIAL_FACE_EXT: u32 = 33617;
pub const GL_TEXTURE_MATERIAL_PARAMETER_EXT: u32 = 33618;
pub const GL_EXT_memory_object: u32 = 1;
pub const GL_TEXTURE_TILING_EXT: u32 = 38272;
pub const GL_DEDICATED_MEMORY_OBJECT_EXT: u32 = 38273;
pub const GL_PROTECTED_MEMORY_OBJECT_EXT: u32 = 38299;
pub const GL_NUM_TILING_TYPES_EXT: u32 = 38274;
pub const GL_TILING_TYPES_EXT: u32 = 38275;
pub const GL_OPTIMAL_TILING_EXT: u32 = 38276;
pub const GL_LINEAR_TILING_EXT: u32 = 38277;
pub const GL_NUM_DEVICE_UUIDS_EXT: u32 = 38294;
pub const GL_DEVICE_UUID_EXT: u32 = 38295;
pub const GL_DRIVER_UUID_EXT: u32 = 38296;
pub const GL_UUID_SIZE_EXT: u32 = 16;
pub const GL_EXT_memory_object_fd: u32 = 1;
pub const GL_HANDLE_TYPE_OPAQUE_FD_EXT: u32 = 38278;
pub const GL_EXT_memory_object_win32: u32 = 1;
pub const GL_HANDLE_TYPE_OPAQUE_WIN32_EXT: u32 = 38279;
pub const GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT: u32 = 38280;
pub const GL_DEVICE_LUID_EXT: u32 = 38297;
pub const GL_DEVICE_NODE_MASK_EXT: u32 = 38298;
pub const GL_LUID_SIZE_EXT: u32 = 8;
pub const GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT: u32 = 38281;
pub const GL_HANDLE_TYPE_D3D12_RESOURCE_EXT: u32 = 38282;
pub const GL_HANDLE_TYPE_D3D11_IMAGE_EXT: u32 = 38283;
pub const GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT: u32 = 38284;
pub const GL_EXT_misc_attribute: u32 = 1;
pub const GL_EXT_multi_draw_arrays: u32 = 1;
pub const GL_EXT_multisample: u32 = 1;
pub const GL_MULTISAMPLE_EXT: u32 = 32925;
pub const GL_SAMPLE_ALPHA_TO_MASK_EXT: u32 = 32926;
pub const GL_SAMPLE_ALPHA_TO_ONE_EXT: u32 = 32927;
pub const GL_SAMPLE_MASK_EXT: u32 = 32928;
pub const GL_1PASS_EXT: u32 = 32929;
pub const GL_2PASS_0_EXT: u32 = 32930;
pub const GL_2PASS_1_EXT: u32 = 32931;
pub const GL_4PASS_0_EXT: u32 = 32932;
pub const GL_4PASS_1_EXT: u32 = 32933;
pub const GL_4PASS_2_EXT: u32 = 32934;
pub const GL_4PASS_3_EXT: u32 = 32935;
pub const GL_SAMPLE_BUFFERS_EXT: u32 = 32936;
pub const GL_SAMPLES_EXT: u32 = 32937;
pub const GL_SAMPLE_MASK_VALUE_EXT: u32 = 32938;
pub const GL_SAMPLE_MASK_INVERT_EXT: u32 = 32939;
pub const GL_SAMPLE_PATTERN_EXT: u32 = 32940;
pub const GL_MULTISAMPLE_BIT_EXT: u32 = 536870912;
pub const GL_EXT_multiview_tessellation_geometry_shader: u32 = 1;
pub const GL_EXT_multiview_texture_multisample: u32 = 1;
pub const GL_EXT_multiview_timer_query: u32 = 1;
pub const GL_EXT_packed_depth_stencil: u32 = 1;
pub const GL_DEPTH_STENCIL_EXT: u32 = 34041;
pub const GL_UNSIGNED_INT_24_8_EXT: u32 = 34042;
pub const GL_DEPTH24_STENCIL8_EXT: u32 = 35056;
pub const GL_TEXTURE_STENCIL_SIZE_EXT: u32 = 35057;
pub const GL_EXT_packed_float: u32 = 1;
pub const GL_R11F_G11F_B10F_EXT: u32 = 35898;
pub const GL_UNSIGNED_INT_10F_11F_11F_REV_EXT: u32 = 35899;
pub const GL_RGBA_SIGNED_COMPONENTS_EXT: u32 = 35900;
pub const GL_EXT_packed_pixels: u32 = 1;
pub const GL_UNSIGNED_BYTE_3_3_2_EXT: u32 = 32818;
pub const GL_UNSIGNED_SHORT_4_4_4_4_EXT: u32 = 32819;
pub const GL_UNSIGNED_SHORT_5_5_5_1_EXT: u32 = 32820;
pub const GL_UNSIGNED_INT_8_8_8_8_EXT: u32 = 32821;
pub const GL_UNSIGNED_INT_10_10_10_2_EXT: u32 = 32822;
pub const GL_EXT_paletted_texture: u32 = 1;
pub const GL_COLOR_INDEX1_EXT: u32 = 32994;
pub const GL_COLOR_INDEX2_EXT: u32 = 32995;
pub const GL_COLOR_INDEX4_EXT: u32 = 32996;
pub const GL_COLOR_INDEX8_EXT: u32 = 32997;
pub const GL_COLOR_INDEX12_EXT: u32 = 32998;
pub const GL_COLOR_INDEX16_EXT: u32 = 32999;
pub const GL_TEXTURE_INDEX_SIZE_EXT: u32 = 33005;
pub const GL_EXT_pixel_buffer_object: u32 = 1;
pub const GL_PIXEL_PACK_BUFFER_EXT: u32 = 35051;
pub const GL_PIXEL_UNPACK_BUFFER_EXT: u32 = 35052;
pub const GL_PIXEL_PACK_BUFFER_BINDING_EXT: u32 = 35053;
pub const GL_PIXEL_UNPACK_BUFFER_BINDING_EXT: u32 = 35055;
pub const GL_EXT_pixel_transform: u32 = 1;
pub const GL_PIXEL_TRANSFORM_2D_EXT: u32 = 33584;
pub const GL_PIXEL_MAG_FILTER_EXT: u32 = 33585;
pub const GL_PIXEL_MIN_FILTER_EXT: u32 = 33586;
pub const GL_PIXEL_CUBIC_WEIGHT_EXT: u32 = 33587;
pub const GL_CUBIC_EXT: u32 = 33588;
pub const GL_AVERAGE_EXT: u32 = 33589;
pub const GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT: u32 = 33590;
pub const GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT: u32 = 33591;
pub const GL_PIXEL_TRANSFORM_2D_MATRIX_EXT: u32 = 33592;
pub const GL_EXT_pixel_transform_color_table: u32 = 1;
pub const GL_EXT_point_parameters: u32 = 1;
pub const GL_POINT_SIZE_MIN_EXT: u32 = 33062;
pub const GL_POINT_SIZE_MAX_EXT: u32 = 33063;
pub const GL_POINT_FADE_THRESHOLD_SIZE_EXT: u32 = 33064;
pub const GL_DISTANCE_ATTENUATION_EXT: u32 = 33065;
pub const GL_EXT_polygon_offset: u32 = 1;
pub const GL_POLYGON_OFFSET_EXT: u32 = 32823;
pub const GL_POLYGON_OFFSET_FACTOR_EXT: u32 = 32824;
pub const GL_POLYGON_OFFSET_BIAS_EXT: u32 = 32825;
pub const GL_EXT_polygon_offset_clamp: u32 = 1;
pub const GL_POLYGON_OFFSET_CLAMP_EXT: u32 = 36379;
pub const GL_EXT_post_depth_coverage: u32 = 1;
pub const GL_EXT_provoking_vertex: u32 = 1;
pub const GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT: u32 = 36428;
pub const GL_FIRST_VERTEX_CONVENTION_EXT: u32 = 36429;
pub const GL_LAST_VERTEX_CONVENTION_EXT: u32 = 36430;
pub const GL_PROVOKING_VERTEX_EXT: u32 = 36431;
pub const GL_EXT_raster_multisample: u32 = 1;
pub const GL_RASTER_MULTISAMPLE_EXT: u32 = 37671;
pub const GL_RASTER_SAMPLES_EXT: u32 = 37672;
pub const GL_MAX_RASTER_SAMPLES_EXT: u32 = 37673;
pub const GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT: u32 = 37674;
pub const GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT: u32 = 37675;
pub const GL_EFFECTIVE_RASTER_SAMPLES_EXT: u32 = 37676;
pub const GL_EXT_rescale_normal: u32 = 1;
pub const GL_RESCALE_NORMAL_EXT: u32 = 32826;
pub const GL_EXT_secondary_color: u32 = 1;
pub const GL_COLOR_SUM_EXT: u32 = 33880;
pub const GL_CURRENT_SECONDARY_COLOR_EXT: u32 = 33881;
pub const GL_SECONDARY_COLOR_ARRAY_SIZE_EXT: u32 = 33882;
pub const GL_SECONDARY_COLOR_ARRAY_TYPE_EXT: u32 = 33883;
pub const GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT: u32 = 33884;
pub const GL_SECONDARY_COLOR_ARRAY_POINTER_EXT: u32 = 33885;
pub const GL_SECONDARY_COLOR_ARRAY_EXT: u32 = 33886;
pub const GL_EXT_semaphore: u32 = 1;
pub const GL_LAYOUT_GENERAL_EXT: u32 = 38285;
pub const GL_LAYOUT_COLOR_ATTACHMENT_EXT: u32 = 38286;
pub const GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT: u32 = 38287;
pub const GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT: u32 = 38288;
pub const GL_LAYOUT_SHADER_READ_ONLY_EXT: u32 = 38289;
pub const GL_LAYOUT_TRANSFER_SRC_EXT: u32 = 38290;
pub const GL_LAYOUT_TRANSFER_DST_EXT: u32 = 38291;
pub const GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT: u32 = 38192;
pub const GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT: u32 = 38193;
pub const GL_EXT_semaphore_fd: u32 = 1;
pub const GL_EXT_semaphore_win32: u32 = 1;
pub const GL_HANDLE_TYPE_D3D12_FENCE_EXT: u32 = 38292;
pub const GL_D3D12_FENCE_VALUE_EXT: u32 = 38293;
pub const GL_EXT_separate_shader_objects: u32 = 1;
pub const GL_ACTIVE_PROGRAM_EXT: u32 = 35725;
pub const GL_EXT_separate_specular_color: u32 = 1;
pub const GL_LIGHT_MODEL_COLOR_CONTROL_EXT: u32 = 33272;
pub const GL_SINGLE_COLOR_EXT: u32 = 33273;
pub const GL_SEPARATE_SPECULAR_COLOR_EXT: u32 = 33274;
pub const GL_EXT_shader_framebuffer_fetch: u32 = 1;
pub const GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT: u32 = 35410;
pub const GL_EXT_shader_framebuffer_fetch_non_coherent: u32 = 1;
pub const GL_EXT_shader_image_load_formatted: u32 = 1;
pub const GL_EXT_shader_image_load_store: u32 = 1;
pub const GL_MAX_IMAGE_UNITS_EXT: u32 = 36664;
pub const GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT: u32 = 36665;
pub const GL_IMAGE_BINDING_NAME_EXT: u32 = 36666;
pub const GL_IMAGE_BINDING_LEVEL_EXT: u32 = 36667;
pub const GL_IMAGE_BINDING_LAYERED_EXT: u32 = 36668;
pub const GL_IMAGE_BINDING_LAYER_EXT: u32 = 36669;
pub const GL_IMAGE_BINDING_ACCESS_EXT: u32 = 36670;
pub const GL_IMAGE_1D_EXT: u32 = 36940;
pub const GL_IMAGE_2D_EXT: u32 = 36941;
pub const GL_IMAGE_3D_EXT: u32 = 36942;
pub const GL_IMAGE_2D_RECT_EXT: u32 = 36943;
pub const GL_IMAGE_CUBE_EXT: u32 = 36944;
pub const GL_IMAGE_BUFFER_EXT: u32 = 36945;
pub const GL_IMAGE_1D_ARRAY_EXT: u32 = 36946;
pub const GL_IMAGE_2D_ARRAY_EXT: u32 = 36947;
pub const GL_IMAGE_CUBE_MAP_ARRAY_EXT: u32 = 36948;
pub const GL_IMAGE_2D_MULTISAMPLE_EXT: u32 = 36949;
pub const GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT: u32 = 36950;
pub const GL_INT_IMAGE_1D_EXT: u32 = 36951;
pub const GL_INT_IMAGE_2D_EXT: u32 = 36952;
pub const GL_INT_IMAGE_3D_EXT: u32 = 36953;
pub const GL_INT_IMAGE_2D_RECT_EXT: u32 = 36954;
pub const GL_INT_IMAGE_CUBE_EXT: u32 = 36955;
pub const GL_INT_IMAGE_BUFFER_EXT: u32 = 36956;
pub const GL_INT_IMAGE_1D_ARRAY_EXT: u32 = 36957;
pub const GL_INT_IMAGE_2D_ARRAY_EXT: u32 = 36958;
pub const GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT: u32 = 36959;
pub const GL_INT_IMAGE_2D_MULTISAMPLE_EXT: u32 = 36960;
pub const GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT: u32 = 36961;
pub const GL_UNSIGNED_INT_IMAGE_1D_EXT: u32 = 36962;
pub const GL_UNSIGNED_INT_IMAGE_2D_EXT: u32 = 36963;
pub const GL_UNSIGNED_INT_IMAGE_3D_EXT: u32 = 36964;
pub const GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT: u32 = 36965;
pub const GL_UNSIGNED_INT_IMAGE_CUBE_EXT: u32 = 36966;
pub const GL_UNSIGNED_INT_IMAGE_BUFFER_EXT: u32 = 36967;
pub const GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT: u32 = 36968;
pub const GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT: u32 = 36969;
pub const GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT: u32 = 36970;
pub const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT: u32 = 36971;
pub const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT: u32 = 36972;
pub const GL_MAX_IMAGE_SAMPLES_EXT: u32 = 36973;
pub const GL_IMAGE_BINDING_FORMAT_EXT: u32 = 36974;
pub const GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT: u32 = 1;
pub const GL_ELEMENT_ARRAY_BARRIER_BIT_EXT: u32 = 2;
pub const GL_UNIFORM_BARRIER_BIT_EXT: u32 = 4;
pub const GL_TEXTURE_FETCH_BARRIER_BIT_EXT: u32 = 8;
pub const GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT: u32 = 32;
pub const GL_COMMAND_BARRIER_BIT_EXT: u32 = 64;
pub const GL_PIXEL_BUFFER_BARRIER_BIT_EXT: u32 = 128;
pub const GL_TEXTURE_UPDATE_BARRIER_BIT_EXT: u32 = 256;
pub const GL_BUFFER_UPDATE_BARRIER_BIT_EXT: u32 = 512;
pub const GL_FRAMEBUFFER_BARRIER_BIT_EXT: u32 = 1024;
pub const GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT: u32 = 2048;
pub const GL_ATOMIC_COUNTER_BARRIER_BIT_EXT: u32 = 4096;
pub const GL_ALL_BARRIER_BITS_EXT: u32 = 4294967295;
pub const GL_EXT_shader_integer_mix: u32 = 1;
pub const GL_EXT_shadow_funcs: u32 = 1;
pub const GL_EXT_shared_texture_palette: u32 = 1;
pub const GL_SHARED_TEXTURE_PALETTE_EXT: u32 = 33275;
pub const GL_EXT_sparse_texture2: u32 = 1;
pub const GL_EXT_stencil_clear_tag: u32 = 1;
pub const GL_STENCIL_TAG_BITS_EXT: u32 = 35058;
pub const GL_STENCIL_CLEAR_TAG_VALUE_EXT: u32 = 35059;
pub const GL_EXT_stencil_two_side: u32 = 1;
pub const GL_STENCIL_TEST_TWO_SIDE_EXT: u32 = 35088;
pub const GL_ACTIVE_STENCIL_FACE_EXT: u32 = 35089;
pub const GL_EXT_stencil_wrap: u32 = 1;
pub const GL_INCR_WRAP_EXT: u32 = 34055;
pub const GL_DECR_WRAP_EXT: u32 = 34056;
pub const GL_EXT_subtexture: u32 = 1;
pub const GL_EXT_texture: u32 = 1;
pub const GL_ALPHA4_EXT: u32 = 32827;
pub const GL_ALPHA8_EXT: u32 = 32828;
pub const GL_ALPHA12_EXT: u32 = 32829;
pub const GL_ALPHA16_EXT: u32 = 32830;
pub const GL_LUMINANCE4_EXT: u32 = 32831;
pub const GL_LUMINANCE8_EXT: u32 = 32832;
pub const GL_LUMINANCE12_EXT: u32 = 32833;
pub const GL_LUMINANCE16_EXT: u32 = 32834;
pub const GL_LUMINANCE4_ALPHA4_EXT: u32 = 32835;
pub const GL_LUMINANCE6_ALPHA2_EXT: u32 = 32836;
pub const GL_LUMINANCE8_ALPHA8_EXT: u32 = 32837;
pub const GL_LUMINANCE12_ALPHA4_EXT: u32 = 32838;
pub const GL_LUMINANCE12_ALPHA12_EXT: u32 = 32839;
pub const GL_LUMINANCE16_ALPHA16_EXT: u32 = 32840;
pub const GL_INTENSITY_EXT: u32 = 32841;
pub const GL_INTENSITY4_EXT: u32 = 32842;
pub const GL_INTENSITY8_EXT: u32 = 32843;
pub const GL_INTENSITY12_EXT: u32 = 32844;
pub const GL_INTENSITY16_EXT: u32 = 32845;
pub const GL_RGB2_EXT: u32 = 32846;
pub const GL_RGB4_EXT: u32 = 32847;
pub const GL_RGB5_EXT: u32 = 32848;
pub const GL_RGB8_EXT: u32 = 32849;
pub const GL_RGB10_EXT: u32 = 32850;
pub const GL_RGB12_EXT: u32 = 32851;
pub const GL_RGB16_EXT: u32 = 32852;
pub const GL_RGBA2_EXT: u32 = 32853;
pub const GL_RGBA4_EXT: u32 = 32854;
pub const GL_RGB5_A1_EXT: u32 = 32855;
pub const GL_RGBA8_EXT: u32 = 32856;
pub const GL_RGB10_A2_EXT: u32 = 32857;
pub const GL_RGBA12_EXT: u32 = 32858;
pub const GL_RGBA16_EXT: u32 = 32859;
pub const GL_TEXTURE_RED_SIZE_EXT: u32 = 32860;
pub const GL_TEXTURE_GREEN_SIZE_EXT: u32 = 32861;
pub const GL_TEXTURE_BLUE_SIZE_EXT: u32 = 32862;
pub const GL_TEXTURE_ALPHA_SIZE_EXT: u32 = 32863;
pub const GL_TEXTURE_LUMINANCE_SIZE_EXT: u32 = 32864;
pub const GL_TEXTURE_INTENSITY_SIZE_EXT: u32 = 32865;
pub const GL_REPLACE_EXT: u32 = 32866;
pub const GL_PROXY_TEXTURE_1D_EXT: u32 = 32867;
pub const GL_PROXY_TEXTURE_2D_EXT: u32 = 32868;
pub const GL_TEXTURE_TOO_LARGE_EXT: u32 = 32869;
pub const GL_EXT_texture3D: u32 = 1;
pub const GL_PACK_SKIP_IMAGES_EXT: u32 = 32875;
pub const GL_PACK_IMAGE_HEIGHT_EXT: u32 = 32876;
pub const GL_UNPACK_SKIP_IMAGES_EXT: u32 = 32877;
pub const GL_UNPACK_IMAGE_HEIGHT_EXT: u32 = 32878;
pub const GL_TEXTURE_3D_EXT: u32 = 32879;
pub const GL_PROXY_TEXTURE_3D_EXT: u32 = 32880;
pub const GL_TEXTURE_DEPTH_EXT: u32 = 32881;
pub const GL_TEXTURE_WRAP_R_EXT: u32 = 32882;
pub const GL_MAX_3D_TEXTURE_SIZE_EXT: u32 = 32883;
pub const GL_EXT_texture_array: u32 = 1;
pub const GL_TEXTURE_1D_ARRAY_EXT: u32 = 35864;
pub const GL_PROXY_TEXTURE_1D_ARRAY_EXT: u32 = 35865;
pub const GL_TEXTURE_2D_ARRAY_EXT: u32 = 35866;
pub const GL_PROXY_TEXTURE_2D_ARRAY_EXT: u32 = 35867;
pub const GL_TEXTURE_BINDING_1D_ARRAY_EXT: u32 = 35868;
pub const GL_TEXTURE_BINDING_2D_ARRAY_EXT: u32 = 35869;
pub const GL_MAX_ARRAY_TEXTURE_LAYERS_EXT: u32 = 35071;
pub const GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT: u32 = 34894;
pub const GL_EXT_texture_buffer_object: u32 = 1;
pub const GL_TEXTURE_BUFFER_EXT: u32 = 35882;
pub const GL_MAX_TEXTURE_BUFFER_SIZE_EXT: u32 = 35883;
pub const GL_TEXTURE_BINDING_BUFFER_EXT: u32 = 35884;
pub const GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT: u32 = 35885;
pub const GL_TEXTURE_BUFFER_FORMAT_EXT: u32 = 35886;
pub const GL_EXT_texture_compression_latc: u32 = 1;
pub const GL_COMPRESSED_LUMINANCE_LATC1_EXT: u32 = 35952;
pub const GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT: u32 = 35953;
pub const GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT: u32 = 35954;
pub const GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT: u32 = 35955;
pub const GL_EXT_texture_compression_rgtc: u32 = 1;
pub const GL_COMPRESSED_RED_RGTC1_EXT: u32 = 36283;
pub const GL_COMPRESSED_SIGNED_RED_RGTC1_EXT: u32 = 36284;
pub const GL_COMPRESSED_RED_GREEN_RGTC2_EXT: u32 = 36285;
pub const GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: u32 = 36286;
pub const GL_EXT_texture_compression_s3tc: u32 = 1;
pub const GL_COMPRESSED_RGB_S3TC_DXT1_EXT: u32 = 33776;
pub const GL_COMPRESSED_RGBA_S3TC_DXT1_EXT: u32 = 33777;
pub const GL_COMPRESSED_RGBA_S3TC_DXT3_EXT: u32 = 33778;
pub const GL_COMPRESSED_RGBA_S3TC_DXT5_EXT: u32 = 33779;
pub const GL_EXT_texture_cube_map: u32 = 1;
pub const GL_NORMAL_MAP_EXT: u32 = 34065;
pub const GL_REFLECTION_MAP_EXT: u32 = 34066;
pub const GL_TEXTURE_CUBE_MAP_EXT: u32 = 34067;
pub const GL_TEXTURE_BINDING_CUBE_MAP_EXT: u32 = 34068;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT: u32 = 34069;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT: u32 = 34070;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT: u32 = 34071;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT: u32 = 34072;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT: u32 = 34073;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT: u32 = 34074;
pub const GL_PROXY_TEXTURE_CUBE_MAP_EXT: u32 = 34075;
pub const GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT: u32 = 34076;
pub const GL_EXT_texture_env_add: u32 = 1;
pub const GL_EXT_texture_env_combine: u32 = 1;
pub const GL_COMBINE_EXT: u32 = 34160;
pub const GL_COMBINE_RGB_EXT: u32 = 34161;
pub const GL_COMBINE_ALPHA_EXT: u32 = 34162;
pub const GL_RGB_SCALE_EXT: u32 = 34163;
pub const GL_ADD_SIGNED_EXT: u32 = 34164;
pub const GL_INTERPOLATE_EXT: u32 = 34165;
pub const GL_CONSTANT_EXT: u32 = 34166;
pub const GL_PRIMARY_COLOR_EXT: u32 = 34167;
pub const GL_PREVIOUS_EXT: u32 = 34168;
pub const GL_SOURCE0_RGB_EXT: u32 = 34176;
pub const GL_SOURCE1_RGB_EXT: u32 = 34177;
pub const GL_SOURCE2_RGB_EXT: u32 = 34178;
pub const GL_SOURCE0_ALPHA_EXT: u32 = 34184;
pub const GL_SOURCE1_ALPHA_EXT: u32 = 34185;
pub const GL_SOURCE2_ALPHA_EXT: u32 = 34186;
pub const GL_OPERAND0_RGB_EXT: u32 = 34192;
pub const GL_OPERAND1_RGB_EXT: u32 = 34193;
pub const GL_OPERAND2_RGB_EXT: u32 = 34194;
pub const GL_OPERAND0_ALPHA_EXT: u32 = 34200;
pub const GL_OPERAND1_ALPHA_EXT: u32 = 34201;
pub const GL_OPERAND2_ALPHA_EXT: u32 = 34202;
pub const GL_EXT_texture_env_dot3: u32 = 1;
pub const GL_DOT3_RGB_EXT: u32 = 34624;
pub const GL_DOT3_RGBA_EXT: u32 = 34625;
pub const GL_EXT_texture_filter_anisotropic: u32 = 1;
pub const GL_TEXTURE_MAX_ANISOTROPY_EXT: u32 = 34046;
pub const GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: u32 = 34047;
pub const GL_EXT_texture_filter_minmax: u32 = 1;
pub const GL_TEXTURE_REDUCTION_MODE_EXT: u32 = 37734;
pub const GL_WEIGHTED_AVERAGE_EXT: u32 = 37735;
pub const GL_EXT_texture_integer: u32 = 1;
pub const GL_RGBA32UI_EXT: u32 = 36208;
pub const GL_RGB32UI_EXT: u32 = 36209;
pub const GL_ALPHA32UI_EXT: u32 = 36210;
pub const GL_INTENSITY32UI_EXT: u32 = 36211;
pub const GL_LUMINANCE32UI_EXT: u32 = 36212;
pub const GL_LUMINANCE_ALPHA32UI_EXT: u32 = 36213;
pub const GL_RGBA16UI_EXT: u32 = 36214;
pub const GL_RGB16UI_EXT: u32 = 36215;
pub const GL_ALPHA16UI_EXT: u32 = 36216;
pub const GL_INTENSITY16UI_EXT: u32 = 36217;
pub const GL_LUMINANCE16UI_EXT: u32 = 36218;
pub const GL_LUMINANCE_ALPHA16UI_EXT: u32 = 36219;
pub const GL_RGBA8UI_EXT: u32 = 36220;
pub const GL_RGB8UI_EXT: u32 = 36221;
pub const GL_ALPHA8UI_EXT: u32 = 36222;
pub const GL_INTENSITY8UI_EXT: u32 = 36223;
pub const GL_LUMINANCE8UI_EXT: u32 = 36224;
pub const GL_LUMINANCE_ALPHA8UI_EXT: u32 = 36225;
pub const GL_RGBA32I_EXT: u32 = 36226;
pub const GL_RGB32I_EXT: u32 = 36227;
pub const GL_ALPHA32I_EXT: u32 = 36228;
pub const GL_INTENSITY32I_EXT: u32 = 36229;
pub const GL_LUMINANCE32I_EXT: u32 = 36230;
pub const GL_LUMINANCE_ALPHA32I_EXT: u32 = 36231;
pub const GL_RGBA16I_EXT: u32 = 36232;
pub const GL_RGB16I_EXT: u32 = 36233;
pub const GL_ALPHA16I_EXT: u32 = 36234;
pub const GL_INTENSITY16I_EXT: u32 = 36235;
pub const GL_LUMINANCE16I_EXT: u32 = 36236;
pub const GL_LUMINANCE_ALPHA16I_EXT: u32 = 36237;
pub const GL_RGBA8I_EXT: u32 = 36238;
pub const GL_RGB8I_EXT: u32 = 36239;
pub const GL_ALPHA8I_EXT: u32 = 36240;
pub const GL_INTENSITY8I_EXT: u32 = 36241;
pub const GL_LUMINANCE8I_EXT: u32 = 36242;
pub const GL_LUMINANCE_ALPHA8I_EXT: u32 = 36243;
pub const GL_RED_INTEGER_EXT: u32 = 36244;
pub const GL_GREEN_INTEGER_EXT: u32 = 36245;
pub const GL_BLUE_INTEGER_EXT: u32 = 36246;
pub const GL_ALPHA_INTEGER_EXT: u32 = 36247;
pub const GL_RGB_INTEGER_EXT: u32 = 36248;
pub const GL_RGBA_INTEGER_EXT: u32 = 36249;
pub const GL_BGR_INTEGER_EXT: u32 = 36250;
pub const GL_BGRA_INTEGER_EXT: u32 = 36251;
pub const GL_LUMINANCE_INTEGER_EXT: u32 = 36252;
pub const GL_LUMINANCE_ALPHA_INTEGER_EXT: u32 = 36253;
pub const GL_RGBA_INTEGER_MODE_EXT: u32 = 36254;
pub const GL_EXT_texture_lod_bias: u32 = 1;
pub const GL_MAX_TEXTURE_LOD_BIAS_EXT: u32 = 34045;
pub const GL_TEXTURE_FILTER_CONTROL_EXT: u32 = 34048;
pub const GL_TEXTURE_LOD_BIAS_EXT: u32 = 34049;
pub const GL_EXT_texture_mirror_clamp: u32 = 1;
pub const GL_MIRROR_CLAMP_EXT: u32 = 34626;
pub const GL_MIRROR_CLAMP_TO_EDGE_EXT: u32 = 34627;
pub const GL_MIRROR_CLAMP_TO_BORDER_EXT: u32 = 35090;
pub const GL_EXT_texture_object: u32 = 1;
pub const GL_TEXTURE_PRIORITY_EXT: u32 = 32870;
pub const GL_TEXTURE_RESIDENT_EXT: u32 = 32871;
pub const GL_TEXTURE_1D_BINDING_EXT: u32 = 32872;
pub const GL_TEXTURE_2D_BINDING_EXT: u32 = 32873;
pub const GL_TEXTURE_3D_BINDING_EXT: u32 = 32874;
pub const GL_EXT_texture_perturb_normal: u32 = 1;
pub const GL_PERTURB_EXT: u32 = 34222;
pub const GL_TEXTURE_NORMAL_EXT: u32 = 34223;
pub const GL_EXT_texture_sRGB: u32 = 1;
pub const GL_SRGB_EXT: u32 = 35904;
pub const GL_SRGB8_EXT: u32 = 35905;
pub const GL_SRGB_ALPHA_EXT: u32 = 35906;
pub const GL_SRGB8_ALPHA8_EXT: u32 = 35907;
pub const GL_SLUMINANCE_ALPHA_EXT: u32 = 35908;
pub const GL_SLUMINANCE8_ALPHA8_EXT: u32 = 35909;
pub const GL_SLUMINANCE_EXT: u32 = 35910;
pub const GL_SLUMINANCE8_EXT: u32 = 35911;
pub const GL_COMPRESSED_SRGB_EXT: u32 = 35912;
pub const GL_COMPRESSED_SRGB_ALPHA_EXT: u32 = 35913;
pub const GL_COMPRESSED_SLUMINANCE_EXT: u32 = 35914;
pub const GL_COMPRESSED_SLUMINANCE_ALPHA_EXT: u32 = 35915;
pub const GL_COMPRESSED_SRGB_S3TC_DXT1_EXT: u32 = 35916;
pub const GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: u32 = 35917;
pub const GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: u32 = 35918;
pub const GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: u32 = 35919;
pub const GL_EXT_texture_sRGB_R8: u32 = 1;
pub const GL_SR8_EXT: u32 = 36797;
pub const GL_EXT_texture_sRGB_decode: u32 = 1;
pub const GL_TEXTURE_SRGB_DECODE_EXT: u32 = 35400;
pub const GL_DECODE_EXT: u32 = 35401;
pub const GL_SKIP_DECODE_EXT: u32 = 35402;
pub const GL_EXT_texture_shadow_lod: u32 = 1;
pub const GL_EXT_texture_shared_exponent: u32 = 1;
pub const GL_RGB9_E5_EXT: u32 = 35901;
pub const GL_UNSIGNED_INT_5_9_9_9_REV_EXT: u32 = 35902;
pub const GL_TEXTURE_SHARED_SIZE_EXT: u32 = 35903;
pub const GL_EXT_texture_snorm: u32 = 1;
pub const GL_ALPHA_SNORM: u32 = 36880;
pub const GL_LUMINANCE_SNORM: u32 = 36881;
pub const GL_LUMINANCE_ALPHA_SNORM: u32 = 36882;
pub const GL_INTENSITY_SNORM: u32 = 36883;
pub const GL_ALPHA8_SNORM: u32 = 36884;
pub const GL_LUMINANCE8_SNORM: u32 = 36885;
pub const GL_LUMINANCE8_ALPHA8_SNORM: u32 = 36886;
pub const GL_INTENSITY8_SNORM: u32 = 36887;
pub const GL_ALPHA16_SNORM: u32 = 36888;
pub const GL_LUMINANCE16_SNORM: u32 = 36889;
pub const GL_LUMINANCE16_ALPHA16_SNORM: u32 = 36890;
pub const GL_INTENSITY16_SNORM: u32 = 36891;
pub const GL_RED_SNORM: u32 = 36752;
pub const GL_RG_SNORM: u32 = 36753;
pub const GL_RGB_SNORM: u32 = 36754;
pub const GL_RGBA_SNORM: u32 = 36755;
pub const GL_EXT_texture_swizzle: u32 = 1;
pub const GL_TEXTURE_SWIZZLE_R_EXT: u32 = 36418;
pub const GL_TEXTURE_SWIZZLE_G_EXT: u32 = 36419;
pub const GL_TEXTURE_SWIZZLE_B_EXT: u32 = 36420;
pub const GL_TEXTURE_SWIZZLE_A_EXT: u32 = 36421;
pub const GL_TEXTURE_SWIZZLE_RGBA_EXT: u32 = 36422;
pub const GL_EXT_timer_query: u32 = 1;
pub const GL_TIME_ELAPSED_EXT: u32 = 35007;
pub const GL_EXT_transform_feedback: u32 = 1;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_EXT: u32 = 35982;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT: u32 = 35972;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT: u32 = 35973;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT: u32 = 35983;
pub const GL_INTERLEAVED_ATTRIBS_EXT: u32 = 35980;
pub const GL_SEPARATE_ATTRIBS_EXT: u32 = 35981;
pub const GL_PRIMITIVES_GENERATED_EXT: u32 = 35975;
pub const GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT: u32 = 35976;
pub const GL_RASTERIZER_DISCARD_EXT: u32 = 35977;
pub const GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT: u32 = 35978;
pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT: u32 = 35979;
pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT: u32 = 35968;
pub const GL_TRANSFORM_FEEDBACK_VARYINGS_EXT: u32 = 35971;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT: u32 = 35967;
pub const GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT: u32 = 35958;
pub const GL_EXT_vertex_array: u32 = 1;
pub const GL_VERTEX_ARRAY_EXT: u32 = 32884;
pub const GL_NORMAL_ARRAY_EXT: u32 = 32885;
pub const GL_COLOR_ARRAY_EXT: u32 = 32886;
pub const GL_INDEX_ARRAY_EXT: u32 = 32887;
pub const GL_TEXTURE_COORD_ARRAY_EXT: u32 = 32888;
pub const GL_EDGE_FLAG_ARRAY_EXT: u32 = 32889;
pub const GL_VERTEX_ARRAY_SIZE_EXT: u32 = 32890;
pub const GL_VERTEX_ARRAY_TYPE_EXT: u32 = 32891;
pub const GL_VERTEX_ARRAY_STRIDE_EXT: u32 = 32892;
pub const GL_VERTEX_ARRAY_COUNT_EXT: u32 = 32893;
pub const GL_NORMAL_ARRAY_TYPE_EXT: u32 = 32894;
pub const GL_NORMAL_ARRAY_STRIDE_EXT: u32 = 32895;
pub const GL_NORMAL_ARRAY_COUNT_EXT: u32 = 32896;
pub const GL_COLOR_ARRAY_SIZE_EXT: u32 = 32897;
pub const GL_COLOR_ARRAY_TYPE_EXT: u32 = 32898;
pub const GL_COLOR_ARRAY_STRIDE_EXT: u32 = 32899;
pub const GL_COLOR_ARRAY_COUNT_EXT: u32 = 32900;
pub const GL_INDEX_ARRAY_TYPE_EXT: u32 = 32901;
pub const GL_INDEX_ARRAY_STRIDE_EXT: u32 = 32902;
pub const GL_INDEX_ARRAY_COUNT_EXT: u32 = 32903;
pub const GL_TEXTURE_COORD_ARRAY_SIZE_EXT: u32 = 32904;
pub const GL_TEXTURE_COORD_ARRAY_TYPE_EXT: u32 = 32905;
pub const GL_TEXTURE_COORD_ARRAY_STRIDE_EXT: u32 = 32906;
pub const GL_TEXTURE_COORD_ARRAY_COUNT_EXT: u32 = 32907;
pub const GL_EDGE_FLAG_ARRAY_STRIDE_EXT: u32 = 32908;
pub const GL_EDGE_FLAG_ARRAY_COUNT_EXT: u32 = 32909;
pub const GL_VERTEX_ARRAY_POINTER_EXT: u32 = 32910;
pub const GL_NORMAL_ARRAY_POINTER_EXT: u32 = 32911;
pub const GL_COLOR_ARRAY_POINTER_EXT: u32 = 32912;
pub const GL_INDEX_ARRAY_POINTER_EXT: u32 = 32913;
pub const GL_TEXTURE_COORD_ARRAY_POINTER_EXT: u32 = 32914;
pub const GL_EDGE_FLAG_ARRAY_POINTER_EXT: u32 = 32915;
pub const GL_EXT_vertex_array_bgra: u32 = 1;
pub const GL_EXT_vertex_attrib_64bit: u32 = 1;
pub const GL_DOUBLE_VEC2_EXT: u32 = 36860;
pub const GL_DOUBLE_VEC3_EXT: u32 = 36861;
pub const GL_DOUBLE_VEC4_EXT: u32 = 36862;
pub const GL_DOUBLE_MAT2_EXT: u32 = 36678;
pub const GL_DOUBLE_MAT3_EXT: u32 = 36679;
pub const GL_DOUBLE_MAT4_EXT: u32 = 36680;
pub const GL_DOUBLE_MAT2x3_EXT: u32 = 36681;
pub const GL_DOUBLE_MAT2x4_EXT: u32 = 36682;
pub const GL_DOUBLE_MAT3x2_EXT: u32 = 36683;
pub const GL_DOUBLE_MAT3x4_EXT: u32 = 36684;
pub const GL_DOUBLE_MAT4x2_EXT: u32 = 36685;
pub const GL_DOUBLE_MAT4x3_EXT: u32 = 36686;
pub const GL_EXT_vertex_shader: u32 = 1;
pub const GL_VERTEX_SHADER_EXT: u32 = 34688;
pub const GL_VERTEX_SHADER_BINDING_EXT: u32 = 34689;
pub const GL_OP_INDEX_EXT: u32 = 34690;
pub const GL_OP_NEGATE_EXT: u32 = 34691;
pub const GL_OP_DOT3_EXT: u32 = 34692;
pub const GL_OP_DOT4_EXT: u32 = 34693;
pub const GL_OP_MUL_EXT: u32 = 34694;
pub const GL_OP_ADD_EXT: u32 = 34695;
pub const GL_OP_MADD_EXT: u32 = 34696;
pub const GL_OP_FRAC_EXT: u32 = 34697;
pub const GL_OP_MAX_EXT: u32 = 34698;
pub const GL_OP_MIN_EXT: u32 = 34699;
pub const GL_OP_SET_GE_EXT: u32 = 34700;
pub const GL_OP_SET_LT_EXT: u32 = 34701;
pub const GL_OP_CLAMP_EXT: u32 = 34702;
pub const GL_OP_FLOOR_EXT: u32 = 34703;
pub const GL_OP_ROUND_EXT: u32 = 34704;
pub const GL_OP_EXP_BASE_2_EXT: u32 = 34705;
pub const GL_OP_LOG_BASE_2_EXT: u32 = 34706;
pub const GL_OP_POWER_EXT: u32 = 34707;
pub const GL_OP_RECIP_EXT: u32 = 34708;
pub const GL_OP_RECIP_SQRT_EXT: u32 = 34709;
pub const GL_OP_SUB_EXT: u32 = 34710;
pub const GL_OP_CROSS_PRODUCT_EXT: u32 = 34711;
pub const GL_OP_MULTIPLY_MATRIX_EXT: u32 = 34712;
pub const GL_OP_MOV_EXT: u32 = 34713;
pub const GL_OUTPUT_VERTEX_EXT: u32 = 34714;
pub const GL_OUTPUT_COLOR0_EXT: u32 = 34715;
pub const GL_OUTPUT_COLOR1_EXT: u32 = 34716;
pub const GL_OUTPUT_TEXTURE_COORD0_EXT: u32 = 34717;
pub const GL_OUTPUT_TEXTURE_COORD1_EXT: u32 = 34718;
pub const GL_OUTPUT_TEXTURE_COORD2_EXT: u32 = 34719;
pub const GL_OUTPUT_TEXTURE_COORD3_EXT: u32 = 34720;
pub const GL_OUTPUT_TEXTURE_COORD4_EXT: u32 = 34721;
pub const GL_OUTPUT_TEXTURE_COORD5_EXT: u32 = 34722;
pub const GL_OUTPUT_TEXTURE_COORD6_EXT: u32 = 34723;
pub const GL_OUTPUT_TEXTURE_COORD7_EXT: u32 = 34724;
pub const GL_OUTPUT_TEXTURE_COORD8_EXT: u32 = 34725;
pub const GL_OUTPUT_TEXTURE_COORD9_EXT: u32 = 34726;
pub const GL_OUTPUT_TEXTURE_COORD10_EXT: u32 = 34727;
pub const GL_OUTPUT_TEXTURE_COORD11_EXT: u32 = 34728;
pub const GL_OUTPUT_TEXTURE_COORD12_EXT: u32 = 34729;
pub const GL_OUTPUT_TEXTURE_COORD13_EXT: u32 = 34730;
pub const GL_OUTPUT_TEXTURE_COORD14_EXT: u32 = 34731;
pub const GL_OUTPUT_TEXTURE_COORD15_EXT: u32 = 34732;
pub const GL_OUTPUT_TEXTURE_COORD16_EXT: u32 = 34733;
pub const GL_OUTPUT_TEXTURE_COORD17_EXT: u32 = 34734;
pub const GL_OUTPUT_TEXTURE_COORD18_EXT: u32 = 34735;
pub const GL_OUTPUT_TEXTURE_COORD19_EXT: u32 = 34736;
pub const GL_OUTPUT_TEXTURE_COORD20_EXT: u32 = 34737;
pub const GL_OUTPUT_TEXTURE_COORD21_EXT: u32 = 34738;
pub const GL_OUTPUT_TEXTURE_COORD22_EXT: u32 = 34739;
pub const GL_OUTPUT_TEXTURE_COORD23_EXT: u32 = 34740;
pub const GL_OUTPUT_TEXTURE_COORD24_EXT: u32 = 34741;
pub const GL_OUTPUT_TEXTURE_COORD25_EXT: u32 = 34742;
pub const GL_OUTPUT_TEXTURE_COORD26_EXT: u32 = 34743;
pub const GL_OUTPUT_TEXTURE_COORD27_EXT: u32 = 34744;
pub const GL_OUTPUT_TEXTURE_COORD28_EXT: u32 = 34745;
pub const GL_OUTPUT_TEXTURE_COORD29_EXT: u32 = 34746;
pub const GL_OUTPUT_TEXTURE_COORD30_EXT: u32 = 34747;
pub const GL_OUTPUT_TEXTURE_COORD31_EXT: u32 = 34748;
pub const GL_OUTPUT_FOG_EXT: u32 = 34749;
pub const GL_SCALAR_EXT: u32 = 34750;
pub const GL_VECTOR_EXT: u32 = 34751;
pub const GL_MATRIX_EXT: u32 = 34752;
pub const GL_VARIANT_EXT: u32 = 34753;
pub const GL_INVARIANT_EXT: u32 = 34754;
pub const GL_LOCAL_CONSTANT_EXT: u32 = 34755;
pub const GL_LOCAL_EXT: u32 = 34756;
pub const GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT: u32 = 34757;
pub const GL_MAX_VERTEX_SHADER_VARIANTS_EXT: u32 = 34758;
pub const GL_MAX_VERTEX_SHADER_INVARIANTS_EXT: u32 = 34759;
pub const GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT: u32 = 34760;
pub const GL_MAX_VERTEX_SHADER_LOCALS_EXT: u32 = 34761;
pub const GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT: u32 = 34762;
pub const GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT: u32 = 34763;
pub const GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT: u32 = 34764;
pub const GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT: u32 = 34765;
pub const GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT: u32 = 34766;
pub const GL_VERTEX_SHADER_INSTRUCTIONS_EXT: u32 = 34767;
pub const GL_VERTEX_SHADER_VARIANTS_EXT: u32 = 34768;
pub const GL_VERTEX_SHADER_INVARIANTS_EXT: u32 = 34769;
pub const GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT: u32 = 34770;
pub const GL_VERTEX_SHADER_LOCALS_EXT: u32 = 34771;
pub const GL_VERTEX_SHADER_OPTIMIZED_EXT: u32 = 34772;
pub const GL_X_EXT: u32 = 34773;
pub const GL_Y_EXT: u32 = 34774;
pub const GL_Z_EXT: u32 = 34775;
pub const GL_W_EXT: u32 = 34776;
pub const GL_NEGATIVE_X_EXT: u32 = 34777;
pub const GL_NEGATIVE_Y_EXT: u32 = 34778;
pub const GL_NEGATIVE_Z_EXT: u32 = 34779;
pub const GL_NEGATIVE_W_EXT: u32 = 34780;
pub const GL_ZERO_EXT: u32 = 34781;
pub const GL_ONE_EXT: u32 = 34782;
pub const GL_NEGATIVE_ONE_EXT: u32 = 34783;
pub const GL_NORMALIZED_RANGE_EXT: u32 = 34784;
pub const GL_FULL_RANGE_EXT: u32 = 34785;
pub const GL_CURRENT_VERTEX_EXT: u32 = 34786;
pub const GL_MVP_MATRIX_EXT: u32 = 34787;
pub const GL_VARIANT_VALUE_EXT: u32 = 34788;
pub const GL_VARIANT_DATATYPE_EXT: u32 = 34789;
pub const GL_VARIANT_ARRAY_STRIDE_EXT: u32 = 34790;
pub const GL_VARIANT_ARRAY_TYPE_EXT: u32 = 34791;
pub const GL_VARIANT_ARRAY_EXT: u32 = 34792;
pub const GL_VARIANT_ARRAY_POINTER_EXT: u32 = 34793;
pub const GL_INVARIANT_VALUE_EXT: u32 = 34794;
pub const GL_INVARIANT_DATATYPE_EXT: u32 = 34795;
pub const GL_LOCAL_CONSTANT_VALUE_EXT: u32 = 34796;
pub const GL_LOCAL_CONSTANT_DATATYPE_EXT: u32 = 34797;
pub const GL_EXT_vertex_weighting: u32 = 1;
pub const GL_MODELVIEW0_STACK_DEPTH_EXT: u32 = 2979;
pub const GL_MODELVIEW1_STACK_DEPTH_EXT: u32 = 34050;
pub const GL_MODELVIEW0_MATRIX_EXT: u32 = 2982;
pub const GL_MODELVIEW1_MATRIX_EXT: u32 = 34054;
pub const GL_VERTEX_WEIGHTING_EXT: u32 = 34057;
pub const GL_MODELVIEW0_EXT: u32 = 5888;
pub const GL_MODELVIEW1_EXT: u32 = 34058;
pub const GL_CURRENT_VERTEX_WEIGHT_EXT: u32 = 34059;
pub const GL_VERTEX_WEIGHT_ARRAY_EXT: u32 = 34060;
pub const GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT: u32 = 34061;
pub const GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT: u32 = 34062;
pub const GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT: u32 = 34063;
pub const GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT: u32 = 34064;
pub const GL_EXT_win32_keyed_mutex: u32 = 1;
pub const GL_EXT_window_rectangles: u32 = 1;
pub const GL_INCLUSIVE_EXT: u32 = 36624;
pub const GL_EXCLUSIVE_EXT: u32 = 36625;
pub const GL_WINDOW_RECTANGLE_EXT: u32 = 36626;
pub const GL_WINDOW_RECTANGLE_MODE_EXT: u32 = 36627;
pub const GL_MAX_WINDOW_RECTANGLES_EXT: u32 = 36628;
pub const GL_NUM_WINDOW_RECTANGLES_EXT: u32 = 36629;
pub const GL_EXT_x11_sync_object: u32 = 1;
pub const GL_SYNC_X11_FENCE_EXT: u32 = 37089;
pub const GL_GREMEDY_frame_terminator: u32 = 1;
pub const GL_GREMEDY_string_marker: u32 = 1;
pub const GL_HP_convolution_border_modes: u32 = 1;
pub const GL_IGNORE_BORDER_HP: u32 = 33104;
pub const GL_CONSTANT_BORDER_HP: u32 = 33105;
pub const GL_REPLICATE_BORDER_HP: u32 = 33107;
pub const GL_CONVOLUTION_BORDER_COLOR_HP: u32 = 33108;
pub const GL_HP_image_transform: u32 = 1;
pub const GL_IMAGE_SCALE_X_HP: u32 = 33109;
pub const GL_IMAGE_SCALE_Y_HP: u32 = 33110;
pub const GL_IMAGE_TRANSLATE_X_HP: u32 = 33111;
pub const GL_IMAGE_TRANSLATE_Y_HP: u32 = 33112;
pub const GL_IMAGE_ROTATE_ANGLE_HP: u32 = 33113;
pub const GL_IMAGE_ROTATE_ORIGIN_X_HP: u32 = 33114;
pub const GL_IMAGE_ROTATE_ORIGIN_Y_HP: u32 = 33115;
pub const GL_IMAGE_MAG_FILTER_HP: u32 = 33116;
pub const GL_IMAGE_MIN_FILTER_HP: u32 = 33117;
pub const GL_IMAGE_CUBIC_WEIGHT_HP: u32 = 33118;
pub const GL_CUBIC_HP: u32 = 33119;
pub const GL_AVERAGE_HP: u32 = 33120;
pub const GL_IMAGE_TRANSFORM_2D_HP: u32 = 33121;
pub const GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP: u32 = 33122;
pub const GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP: u32 = 33123;
pub const GL_HP_occlusion_test: u32 = 1;
pub const GL_OCCLUSION_TEST_HP: u32 = 33125;
pub const GL_OCCLUSION_TEST_RESULT_HP: u32 = 33126;
pub const GL_HP_texture_lighting: u32 = 1;
pub const GL_TEXTURE_LIGHTING_MODE_HP: u32 = 33127;
pub const GL_TEXTURE_POST_SPECULAR_HP: u32 = 33128;
pub const GL_TEXTURE_PRE_SPECULAR_HP: u32 = 33129;
pub const GL_IBM_cull_vertex: u32 = 1;
pub const GL_CULL_VERTEX_IBM: u32 = 103050;
pub const GL_IBM_multimode_draw_arrays: u32 = 1;
pub const GL_IBM_rasterpos_clip: u32 = 1;
pub const GL_RASTER_POSITION_UNCLIPPED_IBM: u32 = 103010;
pub const GL_IBM_static_data: u32 = 1;
pub const GL_ALL_STATIC_DATA_IBM: u32 = 103060;
pub const GL_STATIC_VERTEX_ARRAY_IBM: u32 = 103061;
pub const GL_IBM_texture_mirrored_repeat: u32 = 1;
pub const GL_MIRRORED_REPEAT_IBM: u32 = 33648;
pub const GL_IBM_vertex_array_lists: u32 = 1;
pub const GL_VERTEX_ARRAY_LIST_IBM: u32 = 103070;
pub const GL_NORMAL_ARRAY_LIST_IBM: u32 = 103071;
pub const GL_COLOR_ARRAY_LIST_IBM: u32 = 103072;
pub const GL_INDEX_ARRAY_LIST_IBM: u32 = 103073;
pub const GL_TEXTURE_COORD_ARRAY_LIST_IBM: u32 = 103074;
pub const GL_EDGE_FLAG_ARRAY_LIST_IBM: u32 = 103075;
pub const GL_FOG_COORDINATE_ARRAY_LIST_IBM: u32 = 103076;
pub const GL_SECONDARY_COLOR_ARRAY_LIST_IBM: u32 = 103077;
pub const GL_VERTEX_ARRAY_LIST_STRIDE_IBM: u32 = 103080;
pub const GL_NORMAL_ARRAY_LIST_STRIDE_IBM: u32 = 103081;
pub const GL_COLOR_ARRAY_LIST_STRIDE_IBM: u32 = 103082;
pub const GL_INDEX_ARRAY_LIST_STRIDE_IBM: u32 = 103083;
pub const GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM: u32 = 103084;
pub const GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM: u32 = 103085;
pub const GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM: u32 = 103086;
pub const GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM: u32 = 103087;
pub const GL_INGR_blend_func_separate: u32 = 1;
pub const GL_INGR_color_clamp: u32 = 1;
pub const GL_RED_MIN_CLAMP_INGR: u32 = 34144;
pub const GL_GREEN_MIN_CLAMP_INGR: u32 = 34145;
pub const GL_BLUE_MIN_CLAMP_INGR: u32 = 34146;
pub const GL_ALPHA_MIN_CLAMP_INGR: u32 = 34147;
pub const GL_RED_MAX_CLAMP_INGR: u32 = 34148;
pub const GL_GREEN_MAX_CLAMP_INGR: u32 = 34149;
pub const GL_BLUE_MAX_CLAMP_INGR: u32 = 34150;
pub const GL_ALPHA_MAX_CLAMP_INGR: u32 = 34151;
pub const GL_INGR_interlace_read: u32 = 1;
pub const GL_INTERLACE_READ_INGR: u32 = 34152;
pub const GL_INTEL_blackhole_render: u32 = 1;
pub const GL_BLACKHOLE_RENDER_INTEL: u32 = 33788;
pub const GL_INTEL_conservative_rasterization: u32 = 1;
pub const GL_CONSERVATIVE_RASTERIZATION_INTEL: u32 = 33790;
pub const GL_INTEL_fragment_shader_ordering: u32 = 1;
pub const GL_INTEL_framebuffer_CMAA: u32 = 1;
pub const GL_INTEL_map_texture: u32 = 1;
pub const GL_TEXTURE_MEMORY_LAYOUT_INTEL: u32 = 33791;
pub const GL_LAYOUT_DEFAULT_INTEL: u32 = 0;
pub const GL_LAYOUT_LINEAR_INTEL: u32 = 1;
pub const GL_LAYOUT_LINEAR_CPU_CACHED_INTEL: u32 = 2;
pub const GL_INTEL_parallel_arrays: u32 = 1;
pub const GL_PARALLEL_ARRAYS_INTEL: u32 = 33780;
pub const GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL: u32 = 33781;
pub const GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL: u32 = 33782;
pub const GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL: u32 = 33783;
pub const GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL: u32 = 33784;
pub const GL_INTEL_performance_query: u32 = 1;
pub const GL_PERFQUERY_SINGLE_CONTEXT_INTEL: u32 = 0;
pub const GL_PERFQUERY_GLOBAL_CONTEXT_INTEL: u32 = 1;
pub const GL_PERFQUERY_WAIT_INTEL: u32 = 33787;
pub const GL_PERFQUERY_FLUSH_INTEL: u32 = 33786;
pub const GL_PERFQUERY_DONOT_FLUSH_INTEL: u32 = 33785;
pub const GL_PERFQUERY_COUNTER_EVENT_INTEL: u32 = 38128;
pub const GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL: u32 = 38129;
pub const GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL: u32 = 38130;
pub const GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL: u32 = 38131;
pub const GL_PERFQUERY_COUNTER_RAW_INTEL: u32 = 38132;
pub const GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL: u32 = 38133;
pub const GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL: u32 = 38136;
pub const GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL: u32 = 38137;
pub const GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL: u32 = 38138;
pub const GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL: u32 = 38139;
pub const GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL: u32 = 38140;
pub const GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL: u32 = 38141;
pub const GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL: u32 = 38142;
pub const GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL: u32 = 38143;
pub const GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL: u32 = 38144;
pub const GL_MESAX_texture_stack: u32 = 1;
pub const GL_TEXTURE_1D_STACK_MESAX: u32 = 34649;
pub const GL_TEXTURE_2D_STACK_MESAX: u32 = 34650;
pub const GL_PROXY_TEXTURE_1D_STACK_MESAX: u32 = 34651;
pub const GL_PROXY_TEXTURE_2D_STACK_MESAX: u32 = 34652;
pub const GL_TEXTURE_1D_STACK_BINDING_MESAX: u32 = 34653;
pub const GL_TEXTURE_2D_STACK_BINDING_MESAX: u32 = 34654;
pub const GL_MESA_pack_invert: u32 = 1;
pub const GL_PACK_INVERT_MESA: u32 = 34648;
pub const GL_MESA_program_binary_formats: u32 = 1;
pub const GL_PROGRAM_BINARY_FORMAT_MESA: u32 = 34655;
pub const GL_MESA_resize_buffers: u32 = 1;
pub const GL_MESA_shader_integer_functions: u32 = 1;
pub const GL_MESA_tile_raster_order: u32 = 1;
pub const GL_TILE_RASTER_ORDER_FIXED_MESA: u32 = 35768;
pub const GL_TILE_RASTER_ORDER_INCREASING_X_MESA: u32 = 35769;
pub const GL_TILE_RASTER_ORDER_INCREASING_Y_MESA: u32 = 35770;
pub const GL_MESA_window_pos: u32 = 1;
pub const GL_MESA_ycbcr_texture: u32 = 1;
pub const GL_UNSIGNED_SHORT_8_8_MESA: u32 = 34234;
pub const GL_UNSIGNED_SHORT_8_8_REV_MESA: u32 = 34235;
pub const GL_YCBCR_MESA: u32 = 34647;
pub const GL_NVX_blend_equation_advanced_multi_draw_buffers: u32 = 1;
pub const GL_NVX_conditional_render: u32 = 1;
pub const GL_NVX_gpu_memory_info: u32 = 1;
pub const GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX: u32 = 36935;
pub const GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX: u32 = 36936;
pub const GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX: u32 = 36937;
pub const GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX: u32 = 36938;
pub const GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX: u32 = 36939;
pub const GL_NVX_linked_gpu_multicast: u32 = 1;
pub const GL_LGPU_SEPARATE_STORAGE_BIT_NVX: u32 = 2048;
pub const GL_MAX_LGPU_GPUS_NVX: u32 = 37562;
pub const GL_NV_alpha_to_coverage_dither_control: u32 = 1;
pub const GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV: u32 = 37709;
pub const GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV: u32 = 37710;
pub const GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV: u32 = 37711;
pub const GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV: u32 = 37567;
pub const GL_NV_bindless_multi_draw_indirect: u32 = 1;
pub const GL_NV_bindless_multi_draw_indirect_count: u32 = 1;
pub const GL_NV_bindless_texture: u32 = 1;
pub const GL_NV_blend_equation_advanced: u32 = 1;
pub const GL_BLEND_OVERLAP_NV: u32 = 37505;
pub const GL_BLEND_PREMULTIPLIED_SRC_NV: u32 = 37504;
pub const GL_BLUE_NV: u32 = 6405;
pub const GL_COLORBURN_NV: u32 = 37530;
pub const GL_COLORDODGE_NV: u32 = 37529;
pub const GL_CONJOINT_NV: u32 = 37508;
pub const GL_CONTRAST_NV: u32 = 37537;
pub const GL_DARKEN_NV: u32 = 37527;
pub const GL_DIFFERENCE_NV: u32 = 37534;
pub const GL_DISJOINT_NV: u32 = 37507;
pub const GL_DST_ATOP_NV: u32 = 37519;
pub const GL_DST_IN_NV: u32 = 37515;
pub const GL_DST_NV: u32 = 37511;
pub const GL_DST_OUT_NV: u32 = 37517;
pub const GL_DST_OVER_NV: u32 = 37513;
pub const GL_EXCLUSION_NV: u32 = 37536;
pub const GL_GREEN_NV: u32 = 6404;
pub const GL_HARDLIGHT_NV: u32 = 37531;
pub const GL_HARDMIX_NV: u32 = 37545;
pub const GL_HSL_COLOR_NV: u32 = 37551;
pub const GL_HSL_HUE_NV: u32 = 37549;
pub const GL_HSL_LUMINOSITY_NV: u32 = 37552;
pub const GL_HSL_SATURATION_NV: u32 = 37550;
pub const GL_INVERT_OVG_NV: u32 = 37556;
pub const GL_INVERT_RGB_NV: u32 = 37539;
pub const GL_LIGHTEN_NV: u32 = 37528;
pub const GL_LINEARBURN_NV: u32 = 37541;
pub const GL_LINEARDODGE_NV: u32 = 37540;
pub const GL_LINEARLIGHT_NV: u32 = 37543;
pub const GL_MINUS_CLAMPED_NV: u32 = 37555;
pub const GL_MINUS_NV: u32 = 37535;
pub const GL_MULTIPLY_NV: u32 = 37524;
pub const GL_OVERLAY_NV: u32 = 37526;
pub const GL_PINLIGHT_NV: u32 = 37544;
pub const GL_PLUS_CLAMPED_ALPHA_NV: u32 = 37554;
pub const GL_PLUS_CLAMPED_NV: u32 = 37553;
pub const GL_PLUS_DARKER_NV: u32 = 37522;
pub const GL_PLUS_NV: u32 = 37521;
pub const GL_RED_NV: u32 = 6403;
pub const GL_SCREEN_NV: u32 = 37525;
pub const GL_SOFTLIGHT_NV: u32 = 37532;
pub const GL_SRC_ATOP_NV: u32 = 37518;
pub const GL_SRC_IN_NV: u32 = 37514;
pub const GL_SRC_NV: u32 = 37510;
pub const GL_SRC_OUT_NV: u32 = 37516;
pub const GL_SRC_OVER_NV: u32 = 37512;
pub const GL_UNCORRELATED_NV: u32 = 37506;
pub const GL_VIVIDLIGHT_NV: u32 = 37542;
pub const GL_XOR_NV: u32 = 5382;
pub const GL_NV_blend_equation_advanced_coherent: u32 = 1;
pub const GL_BLEND_ADVANCED_COHERENT_NV: u32 = 37509;
pub const GL_NV_blend_minmax_factor: u32 = 1;
pub const GL_NV_blend_square: u32 = 1;
pub const GL_NV_clip_space_w_scaling: u32 = 1;
pub const GL_VIEWPORT_POSITION_W_SCALE_NV: u32 = 37756;
pub const GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV: u32 = 37757;
pub const GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV: u32 = 37758;
pub const GL_NV_command_list: u32 = 1;
pub const GL_TERMINATE_SEQUENCE_COMMAND_NV: u32 = 0;
pub const GL_NOP_COMMAND_NV: u32 = 1;
pub const GL_DRAW_ELEMENTS_COMMAND_NV: u32 = 2;
pub const GL_DRAW_ARRAYS_COMMAND_NV: u32 = 3;
pub const GL_DRAW_ELEMENTS_STRIP_COMMAND_NV: u32 = 4;
pub const GL_DRAW_ARRAYS_STRIP_COMMAND_NV: u32 = 5;
pub const GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV: u32 = 6;
pub const GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV: u32 = 7;
pub const GL_ELEMENT_ADDRESS_COMMAND_NV: u32 = 8;
pub const GL_ATTRIBUTE_ADDRESS_COMMAND_NV: u32 = 9;
pub const GL_UNIFORM_ADDRESS_COMMAND_NV: u32 = 10;
pub const GL_BLEND_COLOR_COMMAND_NV: u32 = 11;
pub const GL_STENCIL_REF_COMMAND_NV: u32 = 12;
pub const GL_LINE_WIDTH_COMMAND_NV: u32 = 13;
pub const GL_POLYGON_OFFSET_COMMAND_NV: u32 = 14;
pub const GL_ALPHA_REF_COMMAND_NV: u32 = 15;
pub const GL_VIEWPORT_COMMAND_NV: u32 = 16;
pub const GL_SCISSOR_COMMAND_NV: u32 = 17;
pub const GL_FRONT_FACE_COMMAND_NV: u32 = 18;
pub const GL_NV_compute_program5: u32 = 1;
pub const GL_COMPUTE_PROGRAM_NV: u32 = 37115;
pub const GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV: u32 = 37116;
pub const GL_NV_compute_shader_derivatives: u32 = 1;
pub const GL_NV_conditional_render: u32 = 1;
pub const GL_QUERY_WAIT_NV: u32 = 36371;
pub const GL_QUERY_NO_WAIT_NV: u32 = 36372;
pub const GL_QUERY_BY_REGION_WAIT_NV: u32 = 36373;
pub const GL_QUERY_BY_REGION_NO_WAIT_NV: u32 = 36374;
pub const GL_NV_conservative_raster: u32 = 1;
pub const GL_CONSERVATIVE_RASTERIZATION_NV: u32 = 37702;
pub const GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV: u32 = 37703;
pub const GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV: u32 = 37704;
pub const GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV: u32 = 37705;
pub const GL_NV_conservative_raster_dilate: u32 = 1;
pub const GL_CONSERVATIVE_RASTER_DILATE_NV: u32 = 37753;
pub const GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV: u32 = 37754;
pub const GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV: u32 = 37755;
pub const GL_NV_conservative_raster_pre_snap: u32 = 1;
pub const GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV: u32 = 38224;
pub const GL_NV_conservative_raster_pre_snap_triangles: u32 = 1;
pub const GL_CONSERVATIVE_RASTER_MODE_NV: u32 = 38221;
pub const GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV: u32 = 38222;
pub const GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV: u32 = 38223;
pub const GL_NV_conservative_raster_underestimation: u32 = 1;
pub const GL_NV_copy_depth_to_color: u32 = 1;
pub const GL_DEPTH_STENCIL_TO_RGBA_NV: u32 = 34926;
pub const GL_DEPTH_STENCIL_TO_BGRA_NV: u32 = 34927;
pub const GL_NV_copy_image: u32 = 1;
pub const GL_NV_deep_texture3D: u32 = 1;
pub const GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV: u32 = 37072;
pub const GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV: u32 = 37073;
pub const GL_NV_depth_buffer_float: u32 = 1;
pub const GL_DEPTH_COMPONENT32F_NV: u32 = 36267;
pub const GL_DEPTH32F_STENCIL8_NV: u32 = 36268;
pub const GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV: u32 = 36269;
pub const GL_DEPTH_BUFFER_FLOAT_MODE_NV: u32 = 36271;
pub const GL_NV_depth_clamp: u32 = 1;
pub const GL_DEPTH_CLAMP_NV: u32 = 34383;
pub const GL_NV_draw_texture: u32 = 1;
pub const GL_NV_draw_vulkan_image: u32 = 1;
pub const GL_NV_evaluators: u32 = 1;
pub const GL_EVAL_2D_NV: u32 = 34496;
pub const GL_EVAL_TRIANGULAR_2D_NV: u32 = 34497;
pub const GL_MAP_TESSELLATION_NV: u32 = 34498;
pub const GL_MAP_ATTRIB_U_ORDER_NV: u32 = 34499;
pub const GL_MAP_ATTRIB_V_ORDER_NV: u32 = 34500;
pub const GL_EVAL_FRACTIONAL_TESSELLATION_NV: u32 = 34501;
pub const GL_EVAL_VERTEX_ATTRIB0_NV: u32 = 34502;
pub const GL_EVAL_VERTEX_ATTRIB1_NV: u32 = 34503;
pub const GL_EVAL_VERTEX_ATTRIB2_NV: u32 = 34504;
pub const GL_EVAL_VERTEX_ATTRIB3_NV: u32 = 34505;
pub const GL_EVAL_VERTEX_ATTRIB4_NV: u32 = 34506;
pub const GL_EVAL_VERTEX_ATTRIB5_NV: u32 = 34507;
pub const GL_EVAL_VERTEX_ATTRIB6_NV: u32 = 34508;
pub const GL_EVAL_VERTEX_ATTRIB7_NV: u32 = 34509;
pub const GL_EVAL_VERTEX_ATTRIB8_NV: u32 = 34510;
pub const GL_EVAL_VERTEX_ATTRIB9_NV: u32 = 34511;
pub const GL_EVAL_VERTEX_ATTRIB10_NV: u32 = 34512;
pub const GL_EVAL_VERTEX_ATTRIB11_NV: u32 = 34513;
pub const GL_EVAL_VERTEX_ATTRIB12_NV: u32 = 34514;
pub const GL_EVAL_VERTEX_ATTRIB13_NV: u32 = 34515;
pub const GL_EVAL_VERTEX_ATTRIB14_NV: u32 = 34516;
pub const GL_EVAL_VERTEX_ATTRIB15_NV: u32 = 34517;
pub const GL_MAX_MAP_TESSELLATION_NV: u32 = 34518;
pub const GL_MAX_RATIONAL_EVAL_ORDER_NV: u32 = 34519;
pub const GL_NV_explicit_multisample: u32 = 1;
pub const GL_SAMPLE_POSITION_NV: u32 = 36432;
pub const GL_SAMPLE_MASK_NV: u32 = 36433;
pub const GL_SAMPLE_MASK_VALUE_NV: u32 = 36434;
pub const GL_TEXTURE_BINDING_RENDERBUFFER_NV: u32 = 36435;
pub const GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV: u32 = 36436;
pub const GL_TEXTURE_RENDERBUFFER_NV: u32 = 36437;
pub const GL_SAMPLER_RENDERBUFFER_NV: u32 = 36438;
pub const GL_INT_SAMPLER_RENDERBUFFER_NV: u32 = 36439;
pub const GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV: u32 = 36440;
pub const GL_MAX_SAMPLE_MASK_WORDS_NV: u32 = 36441;
pub const GL_NV_fence: u32 = 1;
pub const GL_ALL_COMPLETED_NV: u32 = 34034;
pub const GL_FENCE_STATUS_NV: u32 = 34035;
pub const GL_FENCE_CONDITION_NV: u32 = 34036;
pub const GL_NV_fill_rectangle: u32 = 1;
pub const GL_FILL_RECTANGLE_NV: u32 = 37692;
pub const GL_NV_float_buffer: u32 = 1;
pub const GL_FLOAT_R_NV: u32 = 34944;
pub const GL_FLOAT_RG_NV: u32 = 34945;
pub const GL_FLOAT_RGB_NV: u32 = 34946;
pub const GL_FLOAT_RGBA_NV: u32 = 34947;
pub const GL_FLOAT_R16_NV: u32 = 34948;
pub const GL_FLOAT_R32_NV: u32 = 34949;
pub const GL_FLOAT_RG16_NV: u32 = 34950;
pub const GL_FLOAT_RG32_NV: u32 = 34951;
pub const GL_FLOAT_RGB16_NV: u32 = 34952;
pub const GL_FLOAT_RGB32_NV: u32 = 34953;
pub const GL_FLOAT_RGBA16_NV: u32 = 34954;
pub const GL_FLOAT_RGBA32_NV: u32 = 34955;
pub const GL_TEXTURE_FLOAT_COMPONENTS_NV: u32 = 34956;
pub const GL_FLOAT_CLEAR_COLOR_VALUE_NV: u32 = 34957;
pub const GL_FLOAT_RGBA_MODE_NV: u32 = 34958;
pub const GL_NV_fog_distance: u32 = 1;
pub const GL_FOG_DISTANCE_MODE_NV: u32 = 34138;
pub const GL_EYE_RADIAL_NV: u32 = 34139;
pub const GL_EYE_PLANE_ABSOLUTE_NV: u32 = 34140;
pub const GL_NV_fragment_coverage_to_color: u32 = 1;
pub const GL_FRAGMENT_COVERAGE_TO_COLOR_NV: u32 = 37597;
pub const GL_FRAGMENT_COVERAGE_COLOR_NV: u32 = 37598;
pub const GL_NV_fragment_program: u32 = 1;
pub const GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV: u32 = 34920;
pub const GL_FRAGMENT_PROGRAM_NV: u32 = 34928;
pub const GL_MAX_TEXTURE_COORDS_NV: u32 = 34929;
pub const GL_MAX_TEXTURE_IMAGE_UNITS_NV: u32 = 34930;
pub const GL_FRAGMENT_PROGRAM_BINDING_NV: u32 = 34931;
pub const GL_PROGRAM_ERROR_STRING_NV: u32 = 34932;
pub const GL_NV_fragment_program2: u32 = 1;
pub const GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV: u32 = 35060;
pub const GL_MAX_PROGRAM_CALL_DEPTH_NV: u32 = 35061;
pub const GL_MAX_PROGRAM_IF_DEPTH_NV: u32 = 35062;
pub const GL_MAX_PROGRAM_LOOP_DEPTH_NV: u32 = 35063;
pub const GL_MAX_PROGRAM_LOOP_COUNT_NV: u32 = 35064;
pub const GL_NV_fragment_program4: u32 = 1;
pub const GL_NV_fragment_program_option: u32 = 1;
pub const GL_NV_fragment_shader_barycentric: u32 = 1;
pub const GL_NV_fragment_shader_interlock: u32 = 1;
pub const GL_NV_framebuffer_mixed_samples: u32 = 1;
pub const GL_COVERAGE_MODULATION_TABLE_NV: u32 = 37681;
pub const GL_COLOR_SAMPLES_NV: u32 = 36384;
pub const GL_DEPTH_SAMPLES_NV: u32 = 37677;
pub const GL_STENCIL_SAMPLES_NV: u32 = 37678;
pub const GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV: u32 = 37679;
pub const GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV: u32 = 37680;
pub const GL_COVERAGE_MODULATION_NV: u32 = 37682;
pub const GL_COVERAGE_MODULATION_TABLE_SIZE_NV: u32 = 37683;
pub const GL_NV_framebuffer_multisample_coverage: u32 = 1;
pub const GL_RENDERBUFFER_COVERAGE_SAMPLES_NV: u32 = 36011;
pub const GL_RENDERBUFFER_COLOR_SAMPLES_NV: u32 = 36368;
pub const GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV: u32 = 36369;
pub const GL_MULTISAMPLE_COVERAGE_MODES_NV: u32 = 36370;
pub const GL_NV_geometry_program4: u32 = 1;
pub const GL_GEOMETRY_PROGRAM_NV: u32 = 35878;
pub const GL_MAX_PROGRAM_OUTPUT_VERTICES_NV: u32 = 35879;
pub const GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV: u32 = 35880;
pub const GL_NV_geometry_shader4: u32 = 1;
pub const GL_NV_geometry_shader_passthrough: u32 = 1;
pub const GL_NV_gpu_multicast: u32 = 1;
pub const GL_PER_GPU_STORAGE_BIT_NV: u32 = 2048;
pub const GL_MULTICAST_GPUS_NV: u32 = 37562;
pub const GL_RENDER_GPU_MASK_NV: u32 = 38232;
pub const GL_PER_GPU_STORAGE_NV: u32 = 38216;
pub const GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV: u32 = 38217;
pub const GL_NV_gpu_program4: u32 = 1;
pub const GL_MIN_PROGRAM_TEXEL_OFFSET_NV: u32 = 35076;
pub const GL_MAX_PROGRAM_TEXEL_OFFSET_NV: u32 = 35077;
pub const GL_PROGRAM_ATTRIB_COMPONENTS_NV: u32 = 35078;
pub const GL_PROGRAM_RESULT_COMPONENTS_NV: u32 = 35079;
pub const GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV: u32 = 35080;
pub const GL_MAX_PROGRAM_RESULT_COMPONENTS_NV: u32 = 35081;
pub const GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV: u32 = 36261;
pub const GL_MAX_PROGRAM_GENERIC_RESULTS_NV: u32 = 36262;
pub const GL_NV_gpu_program5: u32 = 1;
pub const GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV: u32 = 36442;
pub const GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV: u32 = 36443;
pub const GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV: u32 = 36444;
pub const GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV: u32 = 36445;
pub const GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV: u32 = 36446;
pub const GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV: u32 = 36447;
pub const GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV: u32 = 36676;
pub const GL_MAX_PROGRAM_SUBROUTINE_NUM_NV: u32 = 36677;
pub const GL_NV_gpu_program5_mem_extended: u32 = 1;
pub const GL_NV_gpu_shader5: u32 = 1;
pub const GL_NV_half_float: u32 = 1;
pub const GL_HALF_FLOAT_NV: u32 = 5131;
pub const GL_NV_internalformat_sample_query: u32 = 1;
pub const GL_MULTISAMPLES_NV: u32 = 37745;
pub const GL_SUPERSAMPLE_SCALE_X_NV: u32 = 37746;
pub const GL_SUPERSAMPLE_SCALE_Y_NV: u32 = 37747;
pub const GL_CONFORMANT_NV: u32 = 37748;
pub const GL_NV_light_max_exponent: u32 = 1;
pub const GL_MAX_SHININESS_NV: u32 = 34052;
pub const GL_MAX_SPOT_EXPONENT_NV: u32 = 34053;
pub const GL_NV_memory_attachment: u32 = 1;
pub const GL_ATTACHED_MEMORY_OBJECT_NV: u32 = 38308;
pub const GL_ATTACHED_MEMORY_OFFSET_NV: u32 = 38309;
pub const GL_MEMORY_ATTACHABLE_ALIGNMENT_NV: u32 = 38310;
pub const GL_MEMORY_ATTACHABLE_SIZE_NV: u32 = 38311;
pub const GL_MEMORY_ATTACHABLE_NV: u32 = 38312;
pub const GL_DETACHED_MEMORY_INCARNATION_NV: u32 = 38313;
pub const GL_DETACHED_TEXTURES_NV: u32 = 38314;
pub const GL_DETACHED_BUFFERS_NV: u32 = 38315;
pub const GL_MAX_DETACHED_TEXTURES_NV: u32 = 38316;
pub const GL_MAX_DETACHED_BUFFERS_NV: u32 = 38317;
pub const GL_NV_mesh_shader: u32 = 1;
pub const GL_MESH_SHADER_NV: u32 = 38233;
pub const GL_TASK_SHADER_NV: u32 = 38234;
pub const GL_MAX_MESH_UNIFORM_BLOCKS_NV: u32 = 36448;
pub const GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV: u32 = 36449;
pub const GL_MAX_MESH_IMAGE_UNIFORMS_NV: u32 = 36450;
pub const GL_MAX_MESH_UNIFORM_COMPONENTS_NV: u32 = 36451;
pub const GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV: u32 = 36452;
pub const GL_MAX_MESH_ATOMIC_COUNTERS_NV: u32 = 36453;
pub const GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV: u32 = 36454;
pub const GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV: u32 = 36455;
pub const GL_MAX_TASK_UNIFORM_BLOCKS_NV: u32 = 36456;
pub const GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV: u32 = 36457;
pub const GL_MAX_TASK_IMAGE_UNIFORMS_NV: u32 = 36458;
pub const GL_MAX_TASK_UNIFORM_COMPONENTS_NV: u32 = 36459;
pub const GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV: u32 = 36460;
pub const GL_MAX_TASK_ATOMIC_COUNTERS_NV: u32 = 36461;
pub const GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV: u32 = 36462;
pub const GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV: u32 = 36463;
pub const GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV: u32 = 38306;
pub const GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV: u32 = 38307;
pub const GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV: u32 = 38198;
pub const GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV: u32 = 38199;
pub const GL_MAX_MESH_OUTPUT_VERTICES_NV: u32 = 38200;
pub const GL_MAX_MESH_OUTPUT_PRIMITIVES_NV: u32 = 38201;
pub const GL_MAX_TASK_OUTPUT_COUNT_NV: u32 = 38202;
pub const GL_MAX_DRAW_MESH_TASKS_COUNT_NV: u32 = 38205;
pub const GL_MAX_MESH_VIEWS_NV: u32 = 38231;
pub const GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV: u32 = 37599;
pub const GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV: u32 = 38211;
pub const GL_MAX_MESH_WORK_GROUP_SIZE_NV: u32 = 38203;
pub const GL_MAX_TASK_WORK_GROUP_SIZE_NV: u32 = 38204;
pub const GL_MESH_WORK_GROUP_SIZE_NV: u32 = 38206;
pub const GL_TASK_WORK_GROUP_SIZE_NV: u32 = 38207;
pub const GL_MESH_VERTICES_OUT_NV: u32 = 38265;
pub const GL_MESH_PRIMITIVES_OUT_NV: u32 = 38266;
pub const GL_MESH_OUTPUT_TYPE_NV: u32 = 38267;
pub const GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV: u32 = 38300;
pub const GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV: u32 = 38301;
pub const GL_REFERENCED_BY_MESH_SHADER_NV: u32 = 38304;
pub const GL_REFERENCED_BY_TASK_SHADER_NV: u32 = 38305;
pub const GL_MESH_SHADER_BIT_NV: u32 = 64;
pub const GL_TASK_SHADER_BIT_NV: u32 = 128;
pub const GL_MESH_SUBROUTINE_NV: u32 = 38268;
pub const GL_TASK_SUBROUTINE_NV: u32 = 38269;
pub const GL_MESH_SUBROUTINE_UNIFORM_NV: u32 = 38270;
pub const GL_TASK_SUBROUTINE_UNIFORM_NV: u32 = 38271;
pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV: u32 = 38302;
pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV: u32 = 38303;
pub const GL_NV_multisample_coverage: u32 = 1;
pub const GL_NV_multisample_filter_hint: u32 = 1;
pub const GL_MULTISAMPLE_FILTER_HINT_NV: u32 = 34100;
pub const GL_NV_occlusion_query: u32 = 1;
pub const GL_PIXEL_COUNTER_BITS_NV: u32 = 34916;
pub const GL_CURRENT_OCCLUSION_QUERY_ID_NV: u32 = 34917;
pub const GL_PIXEL_COUNT_NV: u32 = 34918;
pub const GL_PIXEL_COUNT_AVAILABLE_NV: u32 = 34919;
pub const GL_NV_packed_depth_stencil: u32 = 1;
pub const GL_DEPTH_STENCIL_NV: u32 = 34041;
pub const GL_UNSIGNED_INT_24_8_NV: u32 = 34042;
pub const GL_NV_parameter_buffer_object: u32 = 1;
pub const GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV: u32 = 36256;
pub const GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV: u32 = 36257;
pub const GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV: u32 = 36258;
pub const GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV: u32 = 36259;
pub const GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV: u32 = 36260;
pub const GL_NV_parameter_buffer_object2: u32 = 1;
pub const GL_NV_path_rendering: u32 = 1;
pub const GL_PATH_FORMAT_SVG_NV: u32 = 36976;
pub const GL_PATH_FORMAT_PS_NV: u32 = 36977;
pub const GL_STANDARD_FONT_NAME_NV: u32 = 36978;
pub const GL_SYSTEM_FONT_NAME_NV: u32 = 36979;
pub const GL_FILE_NAME_NV: u32 = 36980;
pub const GL_PATH_STROKE_WIDTH_NV: u32 = 36981;
pub const GL_PATH_END_CAPS_NV: u32 = 36982;
pub const GL_PATH_INITIAL_END_CAP_NV: u32 = 36983;
pub const GL_PATH_TERMINAL_END_CAP_NV: u32 = 36984;
pub const GL_PATH_JOIN_STYLE_NV: u32 = 36985;
pub const GL_PATH_MITER_LIMIT_NV: u32 = 36986;
pub const GL_PATH_DASH_CAPS_NV: u32 = 36987;
pub const GL_PATH_INITIAL_DASH_CAP_NV: u32 = 36988;
pub const GL_PATH_TERMINAL_DASH_CAP_NV: u32 = 36989;
pub const GL_PATH_DASH_OFFSET_NV: u32 = 36990;
pub const GL_PATH_CLIENT_LENGTH_NV: u32 = 36991;
pub const GL_PATH_FILL_MODE_NV: u32 = 36992;
pub const GL_PATH_FILL_MASK_NV: u32 = 36993;
pub const GL_PATH_FILL_COVER_MODE_NV: u32 = 36994;
pub const GL_PATH_STROKE_COVER_MODE_NV: u32 = 36995;
pub const GL_PATH_STROKE_MASK_NV: u32 = 36996;
pub const GL_COUNT_UP_NV: u32 = 37000;
pub const GL_COUNT_DOWN_NV: u32 = 37001;
pub const GL_PATH_OBJECT_BOUNDING_BOX_NV: u32 = 37002;
pub const GL_CONVEX_HULL_NV: u32 = 37003;
pub const GL_BOUNDING_BOX_NV: u32 = 37005;
pub const GL_TRANSLATE_X_NV: u32 = 37006;
pub const GL_TRANSLATE_Y_NV: u32 = 37007;
pub const GL_TRANSLATE_2D_NV: u32 = 37008;
pub const GL_TRANSLATE_3D_NV: u32 = 37009;
pub const GL_AFFINE_2D_NV: u32 = 37010;
pub const GL_AFFINE_3D_NV: u32 = 37012;
pub const GL_TRANSPOSE_AFFINE_2D_NV: u32 = 37014;
pub const GL_TRANSPOSE_AFFINE_3D_NV: u32 = 37016;
pub const GL_UTF8_NV: u32 = 37018;
pub const GL_UTF16_NV: u32 = 37019;
pub const GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV: u32 = 37020;
pub const GL_PATH_COMMAND_COUNT_NV: u32 = 37021;
pub const GL_PATH_COORD_COUNT_NV: u32 = 37022;
pub const GL_PATH_DASH_ARRAY_COUNT_NV: u32 = 37023;
pub const GL_PATH_COMPUTED_LENGTH_NV: u32 = 37024;
pub const GL_PATH_FILL_BOUNDING_BOX_NV: u32 = 37025;
pub const GL_PATH_STROKE_BOUNDING_BOX_NV: u32 = 37026;
pub const GL_SQUARE_NV: u32 = 37027;
pub const GL_ROUND_NV: u32 = 37028;
pub const GL_TRIANGULAR_NV: u32 = 37029;
pub const GL_BEVEL_NV: u32 = 37030;
pub const GL_MITER_REVERT_NV: u32 = 37031;
pub const GL_MITER_TRUNCATE_NV: u32 = 37032;
pub const GL_SKIP_MISSING_GLYPH_NV: u32 = 37033;
pub const GL_USE_MISSING_GLYPH_NV: u32 = 37034;
pub const GL_PATH_ERROR_POSITION_NV: u32 = 37035;
pub const GL_ACCUM_ADJACENT_PAIRS_NV: u32 = 37037;
pub const GL_ADJACENT_PAIRS_NV: u32 = 37038;
pub const GL_FIRST_TO_REST_NV: u32 = 37039;
pub const GL_PATH_GEN_MODE_NV: u32 = 37040;
pub const GL_PATH_GEN_COEFF_NV: u32 = 37041;
pub const GL_PATH_GEN_COMPONENTS_NV: u32 = 37043;
pub const GL_PATH_STENCIL_FUNC_NV: u32 = 37047;
pub const GL_PATH_STENCIL_REF_NV: u32 = 37048;
pub const GL_PATH_STENCIL_VALUE_MASK_NV: u32 = 37049;
pub const GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV: u32 = 37053;
pub const GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV: u32 = 37054;
pub const GL_PATH_COVER_DEPTH_FUNC_NV: u32 = 37055;
pub const GL_PATH_DASH_OFFSET_RESET_NV: u32 = 37044;
pub const GL_MOVE_TO_RESETS_NV: u32 = 37045;
pub const GL_MOVE_TO_CONTINUES_NV: u32 = 37046;
pub const GL_CLOSE_PATH_NV: u32 = 0;
pub const GL_MOVE_TO_NV: u32 = 2;
pub const GL_RELATIVE_MOVE_TO_NV: u32 = 3;
pub const GL_LINE_TO_NV: u32 = 4;
pub const GL_RELATIVE_LINE_TO_NV: u32 = 5;
pub const GL_HORIZONTAL_LINE_TO_NV: u32 = 6;
pub const GL_RELATIVE_HORIZONTAL_LINE_TO_NV: u32 = 7;
pub const GL_VERTICAL_LINE_TO_NV: u32 = 8;
pub const GL_RELATIVE_VERTICAL_LINE_TO_NV: u32 = 9;
pub const GL_QUADRATIC_CURVE_TO_NV: u32 = 10;
pub const GL_RELATIVE_QUADRATIC_CURVE_TO_NV: u32 = 11;
pub const GL_CUBIC_CURVE_TO_NV: u32 = 12;
pub const GL_RELATIVE_CUBIC_CURVE_TO_NV: u32 = 13;
pub const GL_SMOOTH_QUADRATIC_CURVE_TO_NV: u32 = 14;
pub const GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV: u32 = 15;
pub const GL_SMOOTH_CUBIC_CURVE_TO_NV: u32 = 16;
pub const GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV: u32 = 17;
pub const GL_SMALL_CCW_ARC_TO_NV: u32 = 18;
pub const GL_RELATIVE_SMALL_CCW_ARC_TO_NV: u32 = 19;
pub const GL_SMALL_CW_ARC_TO_NV: u32 = 20;
pub const GL_RELATIVE_SMALL_CW_ARC_TO_NV: u32 = 21;
pub const GL_LARGE_CCW_ARC_TO_NV: u32 = 22;
pub const GL_RELATIVE_LARGE_CCW_ARC_TO_NV: u32 = 23;
pub const GL_LARGE_CW_ARC_TO_NV: u32 = 24;
pub const GL_RELATIVE_LARGE_CW_ARC_TO_NV: u32 = 25;
pub const GL_RESTART_PATH_NV: u32 = 240;
pub const GL_DUP_FIRST_CUBIC_CURVE_TO_NV: u32 = 242;
pub const GL_DUP_LAST_CUBIC_CURVE_TO_NV: u32 = 244;
pub const GL_RECT_NV: u32 = 246;
pub const GL_CIRCULAR_CCW_ARC_TO_NV: u32 = 248;
pub const GL_CIRCULAR_CW_ARC_TO_NV: u32 = 250;
pub const GL_CIRCULAR_TANGENT_ARC_TO_NV: u32 = 252;
pub const GL_ARC_TO_NV: u32 = 254;
pub const GL_RELATIVE_ARC_TO_NV: u32 = 255;
pub const GL_BOLD_BIT_NV: u32 = 1;
pub const GL_ITALIC_BIT_NV: u32 = 2;
pub const GL_GLYPH_WIDTH_BIT_NV: u32 = 1;
pub const GL_GLYPH_HEIGHT_BIT_NV: u32 = 2;
pub const GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV: u32 = 4;
pub const GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV: u32 = 8;
pub const GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV: u32 = 16;
pub const GL_GLYPH_VERTICAL_BEARING_X_BIT_NV: u32 = 32;
pub const GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV: u32 = 64;
pub const GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV: u32 = 128;
pub const GL_GLYPH_HAS_KERNING_BIT_NV: u32 = 256;
pub const GL_FONT_X_MIN_BOUNDS_BIT_NV: u32 = 65536;
pub const GL_FONT_Y_MIN_BOUNDS_BIT_NV: u32 = 131072;
pub const GL_FONT_X_MAX_BOUNDS_BIT_NV: u32 = 262144;
pub const GL_FONT_Y_MAX_BOUNDS_BIT_NV: u32 = 524288;
pub const GL_FONT_UNITS_PER_EM_BIT_NV: u32 = 1048576;
pub const GL_FONT_ASCENDER_BIT_NV: u32 = 2097152;
pub const GL_FONT_DESCENDER_BIT_NV: u32 = 4194304;
pub const GL_FONT_HEIGHT_BIT_NV: u32 = 8388608;
pub const GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV: u32 = 16777216;
pub const GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV: u32 = 33554432;
pub const GL_FONT_UNDERLINE_POSITION_BIT_NV: u32 = 67108864;
pub const GL_FONT_UNDERLINE_THICKNESS_BIT_NV: u32 = 134217728;
pub const GL_FONT_HAS_KERNING_BIT_NV: u32 = 268435456;
pub const GL_ROUNDED_RECT_NV: u32 = 232;
pub const GL_RELATIVE_ROUNDED_RECT_NV: u32 = 233;
pub const GL_ROUNDED_RECT2_NV: u32 = 234;
pub const GL_RELATIVE_ROUNDED_RECT2_NV: u32 = 235;
pub const GL_ROUNDED_RECT4_NV: u32 = 236;
pub const GL_RELATIVE_ROUNDED_RECT4_NV: u32 = 237;
pub const GL_ROUNDED_RECT8_NV: u32 = 238;
pub const GL_RELATIVE_ROUNDED_RECT8_NV: u32 = 239;
pub const GL_RELATIVE_RECT_NV: u32 = 247;
pub const GL_FONT_GLYPHS_AVAILABLE_NV: u32 = 37736;
pub const GL_FONT_TARGET_UNAVAILABLE_NV: u32 = 37737;
pub const GL_FONT_UNAVAILABLE_NV: u32 = 37738;
pub const GL_FONT_UNINTELLIGIBLE_NV: u32 = 37739;
pub const GL_CONIC_CURVE_TO_NV: u32 = 26;
pub const GL_RELATIVE_CONIC_CURVE_TO_NV: u32 = 27;
pub const GL_FONT_NUM_GLYPH_INDICES_BIT_NV: u32 = 536870912;
pub const GL_STANDARD_FONT_FORMAT_NV: u32 = 37740;
pub const GL_2_BYTES_NV: u32 = 5127;
pub const GL_3_BYTES_NV: u32 = 5128;
pub const GL_4_BYTES_NV: u32 = 5129;
pub const GL_EYE_LINEAR_NV: u32 = 9216;
pub const GL_OBJECT_LINEAR_NV: u32 = 9217;
pub const GL_CONSTANT_NV: u32 = 34166;
pub const GL_PATH_FOG_GEN_MODE_NV: u32 = 37036;
pub const GL_PRIMARY_COLOR_NV: u32 = 34092;
pub const GL_SECONDARY_COLOR_NV: u32 = 34093;
pub const GL_PATH_GEN_COLOR_FORMAT_NV: u32 = 37042;
pub const GL_PATH_PROJECTION_NV: u32 = 5889;
pub const GL_PATH_MODELVIEW_NV: u32 = 5888;
pub const GL_PATH_MODELVIEW_STACK_DEPTH_NV: u32 = 2979;
pub const GL_PATH_MODELVIEW_MATRIX_NV: u32 = 2982;
pub const GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV: u32 = 3382;
pub const GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV: u32 = 34019;
pub const GL_PATH_PROJECTION_STACK_DEPTH_NV: u32 = 2980;
pub const GL_PATH_PROJECTION_MATRIX_NV: u32 = 2983;
pub const GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV: u32 = 3384;
pub const GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV: u32 = 34020;
pub const GL_FRAGMENT_INPUT_NV: u32 = 37741;
pub const GL_NV_path_rendering_shared_edge: u32 = 1;
pub const GL_SHARED_EDGE_NV: u32 = 192;
pub const GL_NV_pixel_data_range: u32 = 1;
pub const GL_WRITE_PIXEL_DATA_RANGE_NV: u32 = 34936;
pub const GL_READ_PIXEL_DATA_RANGE_NV: u32 = 34937;
pub const GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV: u32 = 34938;
pub const GL_READ_PIXEL_DATA_RANGE_LENGTH_NV: u32 = 34939;
pub const GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV: u32 = 34940;
pub const GL_READ_PIXEL_DATA_RANGE_POINTER_NV: u32 = 34941;
pub const GL_NV_point_sprite: u32 = 1;
pub const GL_POINT_SPRITE_NV: u32 = 34913;
pub const GL_COORD_REPLACE_NV: u32 = 34914;
pub const GL_POINT_SPRITE_R_MODE_NV: u32 = 34915;
pub const GL_NV_present_video: u32 = 1;
pub const GL_FRAME_NV: u32 = 36390;
pub const GL_FIELDS_NV: u32 = 36391;
pub const GL_CURRENT_TIME_NV: u32 = 36392;
pub const GL_NUM_FILL_STREAMS_NV: u32 = 36393;
pub const GL_PRESENT_TIME_NV: u32 = 36394;
pub const GL_PRESENT_DURATION_NV: u32 = 36395;
pub const GL_NV_primitive_restart: u32 = 1;
pub const GL_PRIMITIVE_RESTART_NV: u32 = 34136;
pub const GL_PRIMITIVE_RESTART_INDEX_NV: u32 = 34137;
pub const GL_NV_query_resource: u32 = 1;
pub const GL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV: u32 = 38208;
pub const GL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV: u32 = 38210;
pub const GL_QUERY_RESOURCE_SYS_RESERVED_NV: u32 = 38212;
pub const GL_QUERY_RESOURCE_TEXTURE_NV: u32 = 38213;
pub const GL_QUERY_RESOURCE_RENDERBUFFER_NV: u32 = 38214;
pub const GL_QUERY_RESOURCE_BUFFEROBJECT_NV: u32 = 38215;
pub const GL_NV_query_resource_tag: u32 = 1;
pub const GL_NV_register_combiners: u32 = 1;
pub const GL_REGISTER_COMBINERS_NV: u32 = 34082;
pub const GL_VARIABLE_A_NV: u32 = 34083;
pub const GL_VARIABLE_B_NV: u32 = 34084;
pub const GL_VARIABLE_C_NV: u32 = 34085;
pub const GL_VARIABLE_D_NV: u32 = 34086;
pub const GL_VARIABLE_E_NV: u32 = 34087;
pub const GL_VARIABLE_F_NV: u32 = 34088;
pub const GL_VARIABLE_G_NV: u32 = 34089;
pub const GL_CONSTANT_COLOR0_NV: u32 = 34090;
pub const GL_CONSTANT_COLOR1_NV: u32 = 34091;
pub const GL_SPARE0_NV: u32 = 34094;
pub const GL_SPARE1_NV: u32 = 34095;
pub const GL_DISCARD_NV: u32 = 34096;
pub const GL_E_TIMES_F_NV: u32 = 34097;
pub const GL_SPARE0_PLUS_SECONDARY_COLOR_NV: u32 = 34098;
pub const GL_UNSIGNED_IDENTITY_NV: u32 = 34102;
pub const GL_UNSIGNED_INVERT_NV: u32 = 34103;
pub const GL_EXPAND_NORMAL_NV: u32 = 34104;
pub const GL_EXPAND_NEGATE_NV: u32 = 34105;
pub const GL_HALF_BIAS_NORMAL_NV: u32 = 34106;
pub const GL_HALF_BIAS_NEGATE_NV: u32 = 34107;
pub const GL_SIGNED_IDENTITY_NV: u32 = 34108;
pub const GL_SIGNED_NEGATE_NV: u32 = 34109;
pub const GL_SCALE_BY_TWO_NV: u32 = 34110;
pub const GL_SCALE_BY_FOUR_NV: u32 = 34111;
pub const GL_SCALE_BY_ONE_HALF_NV: u32 = 34112;
pub const GL_BIAS_BY_NEGATIVE_ONE_HALF_NV: u32 = 34113;
pub const GL_COMBINER_INPUT_NV: u32 = 34114;
pub const GL_COMBINER_MAPPING_NV: u32 = 34115;
pub const GL_COMBINER_COMPONENT_USAGE_NV: u32 = 34116;
pub const GL_COMBINER_AB_DOT_PRODUCT_NV: u32 = 34117;
pub const GL_COMBINER_CD_DOT_PRODUCT_NV: u32 = 34118;
pub const GL_COMBINER_MUX_SUM_NV: u32 = 34119;
pub const GL_COMBINER_SCALE_NV: u32 = 34120;
pub const GL_COMBINER_BIAS_NV: u32 = 34121;
pub const GL_COMBINER_AB_OUTPUT_NV: u32 = 34122;
pub const GL_COMBINER_CD_OUTPUT_NV: u32 = 34123;
pub const GL_COMBINER_SUM_OUTPUT_NV: u32 = 34124;
pub const GL_MAX_GENERAL_COMBINERS_NV: u32 = 34125;
pub const GL_NUM_GENERAL_COMBINERS_NV: u32 = 34126;
pub const GL_COLOR_SUM_CLAMP_NV: u32 = 34127;
pub const GL_COMBINER0_NV: u32 = 34128;
pub const GL_COMBINER1_NV: u32 = 34129;
pub const GL_COMBINER2_NV: u32 = 34130;
pub const GL_COMBINER3_NV: u32 = 34131;
pub const GL_COMBINER4_NV: u32 = 34132;
pub const GL_COMBINER5_NV: u32 = 34133;
pub const GL_COMBINER6_NV: u32 = 34134;
pub const GL_COMBINER7_NV: u32 = 34135;
pub const GL_NV_register_combiners2: u32 = 1;
pub const GL_PER_STAGE_CONSTANTS_NV: u32 = 34101;
pub const GL_NV_representative_fragment_test: u32 = 1;
pub const GL_REPRESENTATIVE_FRAGMENT_TEST_NV: u32 = 37759;
pub const GL_NV_robustness_video_memory_purge: u32 = 1;
pub const GL_PURGED_CONTEXT_RESET_NV: u32 = 37563;
pub const GL_NV_sample_locations: u32 = 1;
pub const GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV: u32 = 37693;
pub const GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV: u32 = 37694;
pub const GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV: u32 = 37695;
pub const GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV: u32 = 37696;
pub const GL_SAMPLE_LOCATION_NV: u32 = 36432;
pub const GL_PROGRAMMABLE_SAMPLE_LOCATION_NV: u32 = 37697;
pub const GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV: u32 = 37698;
pub const GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV: u32 = 37699;
pub const GL_NV_sample_mask_override_coverage: u32 = 1;
pub const GL_NV_scissor_exclusive: u32 = 1;
pub const GL_SCISSOR_TEST_EXCLUSIVE_NV: u32 = 38229;
pub const GL_SCISSOR_BOX_EXCLUSIVE_NV: u32 = 38230;
pub const GL_NV_shader_atomic_counters: u32 = 1;
pub const GL_NV_shader_atomic_float: u32 = 1;
pub const GL_NV_shader_atomic_float64: u32 = 1;
pub const GL_NV_shader_atomic_fp16_vector: u32 = 1;
pub const GL_NV_shader_atomic_int64: u32 = 1;
pub const GL_NV_shader_buffer_load: u32 = 1;
pub const GL_BUFFER_GPU_ADDRESS_NV: u32 = 36637;
pub const GL_GPU_ADDRESS_NV: u32 = 36660;
pub const GL_MAX_SHADER_BUFFER_ADDRESS_NV: u32 = 36661;
pub const GL_NV_shader_buffer_store: u32 = 1;
pub const GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV: u32 = 16;
pub const GL_NV_shader_storage_buffer_object: u32 = 1;
pub const GL_NV_shader_texture_footprint: u32 = 1;
pub const GL_NV_shader_thread_group: u32 = 1;
pub const GL_WARP_SIZE_NV: u32 = 37689;
pub const GL_WARPS_PER_SM_NV: u32 = 37690;
pub const GL_SM_COUNT_NV: u32 = 37691;
pub const GL_NV_shader_thread_shuffle: u32 = 1;
pub const GL_NV_shading_rate_image: u32 = 1;
pub const GL_SHADING_RATE_IMAGE_NV: u32 = 38243;
pub const GL_SHADING_RATE_NO_INVOCATIONS_NV: u32 = 38244;
pub const GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV: u32 = 38245;
pub const GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV: u32 = 38246;
pub const GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV: u32 = 38247;
pub const GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV: u32 = 38248;
pub const GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV: u32 = 38249;
pub const GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV: u32 = 38250;
pub const GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV: u32 = 38251;
pub const GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV: u32 = 38252;
pub const GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV: u32 = 38253;
pub const GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV: u32 = 38254;
pub const GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV: u32 = 38255;
pub const GL_SHADING_RATE_IMAGE_BINDING_NV: u32 = 38235;
pub const GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV: u32 = 38236;
pub const GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV: u32 = 38237;
pub const GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV: u32 = 38238;
pub const GL_MAX_COARSE_FRAGMENT_SAMPLES_NV: u32 = 38239;
pub const GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV: u32 = 38318;
pub const GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV: u32 = 38319;
pub const GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV: u32 = 38320;
pub const GL_NV_stereo_view_rendering: u32 = 1;
pub const GL_NV_tessellation_program5: u32 = 1;
pub const GL_MAX_PROGRAM_PATCH_ATTRIBS_NV: u32 = 34520;
pub const GL_TESS_CONTROL_PROGRAM_NV: u32 = 35102;
pub const GL_TESS_EVALUATION_PROGRAM_NV: u32 = 35103;
pub const GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV: u32 = 35956;
pub const GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV: u32 = 35957;
pub const GL_NV_texgen_emboss: u32 = 1;
pub const GL_EMBOSS_LIGHT_NV: u32 = 34141;
pub const GL_EMBOSS_CONSTANT_NV: u32 = 34142;
pub const GL_EMBOSS_MAP_NV: u32 = 34143;
pub const GL_NV_texgen_reflection: u32 = 1;
pub const GL_NORMAL_MAP_NV: u32 = 34065;
pub const GL_REFLECTION_MAP_NV: u32 = 34066;
pub const GL_NV_texture_barrier: u32 = 1;
pub const GL_NV_texture_compression_vtc: u32 = 1;
pub const GL_NV_texture_env_combine4: u32 = 1;
pub const GL_COMBINE4_NV: u32 = 34051;
pub const GL_SOURCE3_RGB_NV: u32 = 34179;
pub const GL_SOURCE3_ALPHA_NV: u32 = 34187;
pub const GL_OPERAND3_RGB_NV: u32 = 34195;
pub const GL_OPERAND3_ALPHA_NV: u32 = 34203;
pub const GL_NV_texture_expand_normal: u32 = 1;
pub const GL_TEXTURE_UNSIGNED_REMAP_MODE_NV: u32 = 34959;
pub const GL_NV_texture_multisample: u32 = 1;
pub const GL_TEXTURE_COVERAGE_SAMPLES_NV: u32 = 36933;
pub const GL_TEXTURE_COLOR_SAMPLES_NV: u32 = 36934;
pub const GL_NV_texture_rectangle: u32 = 1;
pub const GL_TEXTURE_RECTANGLE_NV: u32 = 34037;
pub const GL_TEXTURE_BINDING_RECTANGLE_NV: u32 = 34038;
pub const GL_PROXY_TEXTURE_RECTANGLE_NV: u32 = 34039;
pub const GL_MAX_RECTANGLE_TEXTURE_SIZE_NV: u32 = 34040;
pub const GL_NV_texture_rectangle_compressed: u32 = 1;
pub const GL_NV_texture_shader: u32 = 1;
pub const GL_OFFSET_TEXTURE_RECTANGLE_NV: u32 = 34380;
pub const GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV: u32 = 34381;
pub const GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV: u32 = 34382;
pub const GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV: u32 = 34521;
pub const GL_UNSIGNED_INT_S8_S8_8_8_NV: u32 = 34522;
pub const GL_UNSIGNED_INT_8_8_S8_S8_REV_NV: u32 = 34523;
pub const GL_DSDT_MAG_INTENSITY_NV: u32 = 34524;
pub const GL_SHADER_CONSISTENT_NV: u32 = 34525;
pub const GL_TEXTURE_SHADER_NV: u32 = 34526;
pub const GL_SHADER_OPERATION_NV: u32 = 34527;
pub const GL_CULL_MODES_NV: u32 = 34528;
pub const GL_OFFSET_TEXTURE_MATRIX_NV: u32 = 34529;
pub const GL_OFFSET_TEXTURE_SCALE_NV: u32 = 34530;
pub const GL_OFFSET_TEXTURE_BIAS_NV: u32 = 34531;
pub const GL_OFFSET_TEXTURE_2D_MATRIX_NV: u32 = 34529;
pub const GL_OFFSET_TEXTURE_2D_SCALE_NV: u32 = 34530;
pub const GL_OFFSET_TEXTURE_2D_BIAS_NV: u32 = 34531;
pub const GL_PREVIOUS_TEXTURE_INPUT_NV: u32 = 34532;
pub const GL_CONST_EYE_NV: u32 = 34533;
pub const GL_PASS_THROUGH_NV: u32 = 34534;
pub const GL_CULL_FRAGMENT_NV: u32 = 34535;
pub const GL_OFFSET_TEXTURE_2D_NV: u32 = 34536;
pub const GL_DEPENDENT_AR_TEXTURE_2D_NV: u32 = 34537;
pub const GL_DEPENDENT_GB_TEXTURE_2D_NV: u32 = 34538;
pub const GL_DOT_PRODUCT_NV: u32 = 34540;
pub const GL_DOT_PRODUCT_DEPTH_REPLACE_NV: u32 = 34541;
pub const GL_DOT_PRODUCT_TEXTURE_2D_NV: u32 = 34542;
pub const GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV: u32 = 34544;
pub const GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV: u32 = 34545;
pub const GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV: u32 = 34546;
pub const GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV: u32 = 34547;
pub const GL_HILO_NV: u32 = 34548;
pub const GL_DSDT_NV: u32 = 34549;
pub const GL_DSDT_MAG_NV: u32 = 34550;
pub const GL_DSDT_MAG_VIB_NV: u32 = 34551;
pub const GL_HILO16_NV: u32 = 34552;
pub const GL_SIGNED_HILO_NV: u32 = 34553;
pub const GL_SIGNED_HILO16_NV: u32 = 34554;
pub const GL_SIGNED_RGBA_NV: u32 = 34555;
pub const GL_SIGNED_RGBA8_NV: u32 = 34556;
pub const GL_SIGNED_RGB_NV: u32 = 34558;
pub const GL_SIGNED_RGB8_NV: u32 = 34559;
pub const GL_SIGNED_LUMINANCE_NV: u32 = 34561;
pub const GL_SIGNED_LUMINANCE8_NV: u32 = 34562;
pub const GL_SIGNED_LUMINANCE_ALPHA_NV: u32 = 34563;
pub const GL_SIGNED_LUMINANCE8_ALPHA8_NV: u32 = 34564;
pub const GL_SIGNED_ALPHA_NV: u32 = 34565;
pub const GL_SIGNED_ALPHA8_NV: u32 = 34566;
pub const GL_SIGNED_INTENSITY_NV: u32 = 34567;
pub const GL_SIGNED_INTENSITY8_NV: u32 = 34568;
pub const GL_DSDT8_NV: u32 = 34569;
pub const GL_DSDT8_MAG8_NV: u32 = 34570;
pub const GL_DSDT8_MAG8_INTENSITY8_NV: u32 = 34571;
pub const GL_SIGNED_RGB_UNSIGNED_ALPHA_NV: u32 = 34572;
pub const GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV: u32 = 34573;
pub const GL_HI_SCALE_NV: u32 = 34574;
pub const GL_LO_SCALE_NV: u32 = 34575;
pub const GL_DS_SCALE_NV: u32 = 34576;
pub const GL_DT_SCALE_NV: u32 = 34577;
pub const GL_MAGNITUDE_SCALE_NV: u32 = 34578;
pub const GL_VIBRANCE_SCALE_NV: u32 = 34579;
pub const GL_HI_BIAS_NV: u32 = 34580;
pub const GL_LO_BIAS_NV: u32 = 34581;
pub const GL_DS_BIAS_NV: u32 = 34582;
pub const GL_DT_BIAS_NV: u32 = 34583;
pub const GL_MAGNITUDE_BIAS_NV: u32 = 34584;
pub const GL_VIBRANCE_BIAS_NV: u32 = 34585;
pub const GL_TEXTURE_BORDER_VALUES_NV: u32 = 34586;
pub const GL_TEXTURE_HI_SIZE_NV: u32 = 34587;
pub const GL_TEXTURE_LO_SIZE_NV: u32 = 34588;
pub const GL_TEXTURE_DS_SIZE_NV: u32 = 34589;
pub const GL_TEXTURE_DT_SIZE_NV: u32 = 34590;
pub const GL_TEXTURE_MAG_SIZE_NV: u32 = 34591;
pub const GL_NV_texture_shader2: u32 = 1;
pub const GL_DOT_PRODUCT_TEXTURE_3D_NV: u32 = 34543;
pub const GL_NV_texture_shader3: u32 = 1;
pub const GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV: u32 = 34896;
pub const GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV: u32 = 34897;
pub const GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV: u32 = 34898;
pub const GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV: u32 = 34899;
pub const GL_OFFSET_HILO_TEXTURE_2D_NV: u32 = 34900;
pub const GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV: u32 = 34901;
pub const GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV: u32 = 34902;
pub const GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV: u32 = 34903;
pub const GL_DEPENDENT_HILO_TEXTURE_2D_NV: u32 = 34904;
pub const GL_DEPENDENT_RGB_TEXTURE_3D_NV: u32 = 34905;
pub const GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV: u32 = 34906;
pub const GL_DOT_PRODUCT_PASS_THROUGH_NV: u32 = 34907;
pub const GL_DOT_PRODUCT_TEXTURE_1D_NV: u32 = 34908;
pub const GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV: u32 = 34909;
pub const GL_HILO8_NV: u32 = 34910;
pub const GL_SIGNED_HILO8_NV: u32 = 34911;
pub const GL_FORCE_BLUE_TO_ONE_NV: u32 = 34912;
pub const GL_NV_transform_feedback: u32 = 1;
pub const GL_BACK_PRIMARY_COLOR_NV: u32 = 35959;
pub const GL_BACK_SECONDARY_COLOR_NV: u32 = 35960;
pub const GL_TEXTURE_COORD_NV: u32 = 35961;
pub const GL_CLIP_DISTANCE_NV: u32 = 35962;
pub const GL_VERTEX_ID_NV: u32 = 35963;
pub const GL_PRIMITIVE_ID_NV: u32 = 35964;
pub const GL_GENERIC_ATTRIB_NV: u32 = 35965;
pub const GL_TRANSFORM_FEEDBACK_ATTRIBS_NV: u32 = 35966;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV: u32 = 35967;
pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV: u32 = 35968;
pub const GL_ACTIVE_VARYINGS_NV: u32 = 35969;
pub const GL_ACTIVE_VARYING_MAX_LENGTH_NV: u32 = 35970;
pub const GL_TRANSFORM_FEEDBACK_VARYINGS_NV: u32 = 35971;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_START_NV: u32 = 35972;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV: u32 = 35973;
pub const GL_TRANSFORM_FEEDBACK_RECORD_NV: u32 = 35974;
pub const GL_PRIMITIVES_GENERATED_NV: u32 = 35975;
pub const GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV: u32 = 35976;
pub const GL_RASTERIZER_DISCARD_NV: u32 = 35977;
pub const GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV: u32 = 35978;
pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV: u32 = 35979;
pub const GL_INTERLEAVED_ATTRIBS_NV: u32 = 35980;
pub const GL_SEPARATE_ATTRIBS_NV: u32 = 35981;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_NV: u32 = 35982;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV: u32 = 35983;
pub const GL_LAYER_NV: u32 = 36266;
pub const GL_NEXT_BUFFER_NV: i32 = -2;
pub const GL_SKIP_COMPONENTS4_NV: i32 = -3;
pub const GL_SKIP_COMPONENTS3_NV: i32 = -4;
pub const GL_SKIP_COMPONENTS2_NV: i32 = -5;
pub const GL_SKIP_COMPONENTS1_NV: i32 = -6;
pub const GL_NV_transform_feedback2: u32 = 1;
pub const GL_TRANSFORM_FEEDBACK_NV: u32 = 36386;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV: u32 = 36387;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV: u32 = 36388;
pub const GL_TRANSFORM_FEEDBACK_BINDING_NV: u32 = 36389;
pub const GL_NV_uniform_buffer_unified_memory: u32 = 1;
pub const GL_UNIFORM_BUFFER_UNIFIED_NV: u32 = 37742;
pub const GL_UNIFORM_BUFFER_ADDRESS_NV: u32 = 37743;
pub const GL_UNIFORM_BUFFER_LENGTH_NV: u32 = 37744;
pub const GL_NV_vdpau_interop: u32 = 1;
pub const GL_SURFACE_STATE_NV: u32 = 34539;
pub const GL_SURFACE_REGISTERED_NV: u32 = 34557;
pub const GL_SURFACE_MAPPED_NV: u32 = 34560;
pub const GL_WRITE_DISCARD_NV: u32 = 35006;
pub const GL_NV_vdpau_interop2: u32 = 1;
pub const GL_NV_vertex_array_range: u32 = 1;
pub const GL_VERTEX_ARRAY_RANGE_NV: u32 = 34077;
pub const GL_VERTEX_ARRAY_RANGE_LENGTH_NV: u32 = 34078;
pub const GL_VERTEX_ARRAY_RANGE_VALID_NV: u32 = 34079;
pub const GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV: u32 = 34080;
pub const GL_VERTEX_ARRAY_RANGE_POINTER_NV: u32 = 34081;
pub const GL_NV_vertex_array_range2: u32 = 1;
pub const GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV: u32 = 34099;
pub const GL_NV_vertex_attrib_integer_64bit: u32 = 1;
pub const GL_NV_vertex_buffer_unified_memory: u32 = 1;
pub const GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV: u32 = 36638;
pub const GL_ELEMENT_ARRAY_UNIFIED_NV: u32 = 36639;
pub const GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV: u32 = 36640;
pub const GL_VERTEX_ARRAY_ADDRESS_NV: u32 = 36641;
pub const GL_NORMAL_ARRAY_ADDRESS_NV: u32 = 36642;
pub const GL_COLOR_ARRAY_ADDRESS_NV: u32 = 36643;
pub const GL_INDEX_ARRAY_ADDRESS_NV: u32 = 36644;
pub const GL_TEXTURE_COORD_ARRAY_ADDRESS_NV: u32 = 36645;
pub const GL_EDGE_FLAG_ARRAY_ADDRESS_NV: u32 = 36646;
pub const GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV: u32 = 36647;
pub const GL_FOG_COORD_ARRAY_ADDRESS_NV: u32 = 36648;
pub const GL_ELEMENT_ARRAY_ADDRESS_NV: u32 = 36649;
pub const GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV: u32 = 36650;
pub const GL_VERTEX_ARRAY_LENGTH_NV: u32 = 36651;
pub const GL_NORMAL_ARRAY_LENGTH_NV: u32 = 36652;
pub const GL_COLOR_ARRAY_LENGTH_NV: u32 = 36653;
pub const GL_INDEX_ARRAY_LENGTH_NV: u32 = 36654;
pub const GL_TEXTURE_COORD_ARRAY_LENGTH_NV: u32 = 36655;
pub const GL_EDGE_FLAG_ARRAY_LENGTH_NV: u32 = 36656;
pub const GL_SECONDARY_COLOR_ARRAY_LENGTH_NV: u32 = 36657;
pub const GL_FOG_COORD_ARRAY_LENGTH_NV: u32 = 36658;
pub const GL_ELEMENT_ARRAY_LENGTH_NV: u32 = 36659;
pub const GL_DRAW_INDIRECT_UNIFIED_NV: u32 = 36672;
pub const GL_DRAW_INDIRECT_ADDRESS_NV: u32 = 36673;
pub const GL_DRAW_INDIRECT_LENGTH_NV: u32 = 36674;
pub const GL_NV_vertex_program: u32 = 1;
pub const GL_VERTEX_PROGRAM_NV: u32 = 34336;
pub const GL_VERTEX_STATE_PROGRAM_NV: u32 = 34337;
pub const GL_ATTRIB_ARRAY_SIZE_NV: u32 = 34339;
pub const GL_ATTRIB_ARRAY_STRIDE_NV: u32 = 34340;
pub const GL_ATTRIB_ARRAY_TYPE_NV: u32 = 34341;
pub const GL_CURRENT_ATTRIB_NV: u32 = 34342;
pub const GL_PROGRAM_LENGTH_NV: u32 = 34343;
pub const GL_PROGRAM_STRING_NV: u32 = 34344;
pub const GL_MODELVIEW_PROJECTION_NV: u32 = 34345;
pub const GL_IDENTITY_NV: u32 = 34346;
pub const GL_INVERSE_NV: u32 = 34347;
pub const GL_TRANSPOSE_NV: u32 = 34348;
pub const GL_INVERSE_TRANSPOSE_NV: u32 = 34349;
pub const GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV: u32 = 34350;
pub const GL_MAX_TRACK_MATRICES_NV: u32 = 34351;
pub const GL_MATRIX0_NV: u32 = 34352;
pub const GL_MATRIX1_NV: u32 = 34353;
pub const GL_MATRIX2_NV: u32 = 34354;
pub const GL_MATRIX3_NV: u32 = 34355;
pub const GL_MATRIX4_NV: u32 = 34356;
pub const GL_MATRIX5_NV: u32 = 34357;
pub const GL_MATRIX6_NV: u32 = 34358;
pub const GL_MATRIX7_NV: u32 = 34359;
pub const GL_CURRENT_MATRIX_STACK_DEPTH_NV: u32 = 34368;
pub const GL_CURRENT_MATRIX_NV: u32 = 34369;
pub const GL_VERTEX_PROGRAM_POINT_SIZE_NV: u32 = 34370;
pub const GL_VERTEX_PROGRAM_TWO_SIDE_NV: u32 = 34371;
pub const GL_PROGRAM_PARAMETER_NV: u32 = 34372;
pub const GL_ATTRIB_ARRAY_POINTER_NV: u32 = 34373;
pub const GL_PROGRAM_TARGET_NV: u32 = 34374;
pub const GL_PROGRAM_RESIDENT_NV: u32 = 34375;
pub const GL_TRACK_MATRIX_NV: u32 = 34376;
pub const GL_TRACK_MATRIX_TRANSFORM_NV: u32 = 34377;
pub const GL_VERTEX_PROGRAM_BINDING_NV: u32 = 34378;
pub const GL_PROGRAM_ERROR_POSITION_NV: u32 = 34379;
pub const GL_VERTEX_ATTRIB_ARRAY0_NV: u32 = 34384;
pub const GL_VERTEX_ATTRIB_ARRAY1_NV: u32 = 34385;
pub const GL_VERTEX_ATTRIB_ARRAY2_NV: u32 = 34386;
pub const GL_VERTEX_ATTRIB_ARRAY3_NV: u32 = 34387;
pub const GL_VERTEX_ATTRIB_ARRAY4_NV: u32 = 34388;
pub const GL_VERTEX_ATTRIB_ARRAY5_NV: u32 = 34389;
pub const GL_VERTEX_ATTRIB_ARRAY6_NV: u32 = 34390;
pub const GL_VERTEX_ATTRIB_ARRAY7_NV: u32 = 34391;
pub const GL_VERTEX_ATTRIB_ARRAY8_NV: u32 = 34392;
pub const GL_VERTEX_ATTRIB_ARRAY9_NV: u32 = 34393;
pub const GL_VERTEX_ATTRIB_ARRAY10_NV: u32 = 34394;
pub const GL_VERTEX_ATTRIB_ARRAY11_NV: u32 = 34395;
pub const GL_VERTEX_ATTRIB_ARRAY12_NV: u32 = 34396;
pub const GL_VERTEX_ATTRIB_ARRAY13_NV: u32 = 34397;
pub const GL_VERTEX_ATTRIB_ARRAY14_NV: u32 = 34398;
pub const GL_VERTEX_ATTRIB_ARRAY15_NV: u32 = 34399;
pub const GL_MAP1_VERTEX_ATTRIB0_4_NV: u32 = 34400;
pub const GL_MAP1_VERTEX_ATTRIB1_4_NV: u32 = 34401;
pub const GL_MAP1_VERTEX_ATTRIB2_4_NV: u32 = 34402;
pub const GL_MAP1_VERTEX_ATTRIB3_4_NV: u32 = 34403;
pub const GL_MAP1_VERTEX_ATTRIB4_4_NV: u32 = 34404;
pub const GL_MAP1_VERTEX_ATTRIB5_4_NV: u32 = 34405;
pub const GL_MAP1_VERTEX_ATTRIB6_4_NV: u32 = 34406;
pub const GL_MAP1_VERTEX_ATTRIB7_4_NV: u32 = 34407;
pub const GL_MAP1_VERTEX_ATTRIB8_4_NV: u32 = 34408;
pub const GL_MAP1_VERTEX_ATTRIB9_4_NV: u32 = 34409;
pub const GL_MAP1_VERTEX_ATTRIB10_4_NV: u32 = 34410;
pub const GL_MAP1_VERTEX_ATTRIB11_4_NV: u32 = 34411;
pub const GL_MAP1_VERTEX_ATTRIB12_4_NV: u32 = 34412;
pub const GL_MAP1_VERTEX_ATTRIB13_4_NV: u32 = 34413;
pub const GL_MAP1_VERTEX_ATTRIB14_4_NV: u32 = 34414;
pub const GL_MAP1_VERTEX_ATTRIB15_4_NV: u32 = 34415;
pub const GL_MAP2_VERTEX_ATTRIB0_4_NV: u32 = 34416;
pub const GL_MAP2_VERTEX_ATTRIB1_4_NV: u32 = 34417;
pub const GL_MAP2_VERTEX_ATTRIB2_4_NV: u32 = 34418;
pub const GL_MAP2_VERTEX_ATTRIB3_4_NV: u32 = 34419;
pub const GL_MAP2_VERTEX_ATTRIB4_4_NV: u32 = 34420;
pub const GL_MAP2_VERTEX_ATTRIB5_4_NV: u32 = 34421;
pub const GL_MAP2_VERTEX_ATTRIB6_4_NV: u32 = 34422;
pub const GL_MAP2_VERTEX_ATTRIB7_4_NV: u32 = 34423;
pub const GL_MAP2_VERTEX_ATTRIB8_4_NV: u32 = 34424;
pub const GL_MAP2_VERTEX_ATTRIB9_4_NV: u32 = 34425;
pub const GL_MAP2_VERTEX_ATTRIB10_4_NV: u32 = 34426;
pub const GL_MAP2_VERTEX_ATTRIB11_4_NV: u32 = 34427;
pub const GL_MAP2_VERTEX_ATTRIB12_4_NV: u32 = 34428;
pub const GL_MAP2_VERTEX_ATTRIB13_4_NV: u32 = 34429;
pub const GL_MAP2_VERTEX_ATTRIB14_4_NV: u32 = 34430;
pub const GL_MAP2_VERTEX_ATTRIB15_4_NV: u32 = 34431;
pub const GL_NV_vertex_program1_1: u32 = 1;
pub const GL_NV_vertex_program2: u32 = 1;
pub const GL_NV_vertex_program2_option: u32 = 1;
pub const GL_NV_vertex_program3: u32 = 1;
pub const GL_NV_vertex_program4: u32 = 1;
pub const GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV: u32 = 35069;
pub const GL_NV_video_capture: u32 = 1;
pub const GL_VIDEO_BUFFER_NV: u32 = 36896;
pub const GL_VIDEO_BUFFER_BINDING_NV: u32 = 36897;
pub const GL_FIELD_UPPER_NV: u32 = 36898;
pub const GL_FIELD_LOWER_NV: u32 = 36899;
pub const GL_NUM_VIDEO_CAPTURE_STREAMS_NV: u32 = 36900;
pub const GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV: u32 = 36901;
pub const GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV: u32 = 36902;
pub const GL_LAST_VIDEO_CAPTURE_STATUS_NV: u32 = 36903;
pub const GL_VIDEO_BUFFER_PITCH_NV: u32 = 36904;
pub const GL_VIDEO_COLOR_CONVERSION_MATRIX_NV: u32 = 36905;
pub const GL_VIDEO_COLOR_CONVERSION_MAX_NV: u32 = 36906;
pub const GL_VIDEO_COLOR_CONVERSION_MIN_NV: u32 = 36907;
pub const GL_VIDEO_COLOR_CONVERSION_OFFSET_NV: u32 = 36908;
pub const GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV: u32 = 36909;
pub const GL_PARTIAL_SUCCESS_NV: u32 = 36910;
pub const GL_SUCCESS_NV: u32 = 36911;
pub const GL_FAILURE_NV: u32 = 36912;
pub const GL_YCBYCR8_422_NV: u32 = 36913;
pub const GL_YCBAYCR8A_4224_NV: u32 = 36914;
pub const GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV: u32 = 36915;
pub const GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV: u32 = 36916;
pub const GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV: u32 = 36917;
pub const GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV: u32 = 36918;
pub const GL_Z4Y12Z4CB12Z4CR12_444_NV: u32 = 36919;
pub const GL_VIDEO_CAPTURE_FRAME_WIDTH_NV: u32 = 36920;
pub const GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV: u32 = 36921;
pub const GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV: u32 = 36922;
pub const GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV: u32 = 36923;
pub const GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV: u32 = 36924;
pub const GL_NV_viewport_array2: u32 = 1;
pub const GL_NV_viewport_swizzle: u32 = 1;
pub const GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV: u32 = 37712;
pub const GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV: u32 = 37713;
pub const GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV: u32 = 37714;
pub const GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV: u32 = 37715;
pub const GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV: u32 = 37716;
pub const GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV: u32 = 37717;
pub const GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV: u32 = 37718;
pub const GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV: u32 = 37719;
pub const GL_VIEWPORT_SWIZZLE_X_NV: u32 = 37720;
pub const GL_VIEWPORT_SWIZZLE_Y_NV: u32 = 37721;
pub const GL_VIEWPORT_SWIZZLE_Z_NV: u32 = 37722;
pub const GL_VIEWPORT_SWIZZLE_W_NV: u32 = 37723;
pub const GL_OML_interlace: u32 = 1;
pub const GL_INTERLACE_OML: u32 = 35200;
pub const GL_INTERLACE_READ_OML: u32 = 35201;
pub const GL_OML_resample: u32 = 1;
pub const GL_PACK_RESAMPLE_OML: u32 = 35204;
pub const GL_UNPACK_RESAMPLE_OML: u32 = 35205;
pub const GL_RESAMPLE_REPLICATE_OML: u32 = 35206;
pub const GL_RESAMPLE_ZERO_FILL_OML: u32 = 35207;
pub const GL_RESAMPLE_AVERAGE_OML: u32 = 35208;
pub const GL_RESAMPLE_DECIMATE_OML: u32 = 35209;
pub const GL_OML_subsample: u32 = 1;
pub const GL_FORMAT_SUBSAMPLE_24_24_OML: u32 = 35202;
pub const GL_FORMAT_SUBSAMPLE_244_244_OML: u32 = 35203;
pub const GL_OVR_multiview: u32 = 1;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR: u32 = 38448;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR: u32 = 38450;
pub const GL_MAX_VIEWS_OVR: u32 = 38449;
pub const GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: u32 = 38451;
pub const GL_OVR_multiview2: u32 = 1;
pub const GL_PGI_misc_hints: u32 = 1;
pub const GL_PREFER_DOUBLEBUFFER_HINT_PGI: u32 = 107000;
pub const GL_CONSERVE_MEMORY_HINT_PGI: u32 = 107005;
pub const GL_RECLAIM_MEMORY_HINT_PGI: u32 = 107006;
pub const GL_NATIVE_GRAPHICS_HANDLE_PGI: u32 = 107010;
pub const GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI: u32 = 107011;
pub const GL_NATIVE_GRAPHICS_END_HINT_PGI: u32 = 107012;
pub const GL_ALWAYS_FAST_HINT_PGI: u32 = 107020;
pub const GL_ALWAYS_SOFT_HINT_PGI: u32 = 107021;
pub const GL_ALLOW_DRAW_OBJ_HINT_PGI: u32 = 107022;
pub const GL_ALLOW_DRAW_WIN_HINT_PGI: u32 = 107023;
pub const GL_ALLOW_DRAW_FRG_HINT_PGI: u32 = 107024;
pub const GL_ALLOW_DRAW_MEM_HINT_PGI: u32 = 107025;
pub const GL_STRICT_DEPTHFUNC_HINT_PGI: u32 = 107030;
pub const GL_STRICT_LIGHTING_HINT_PGI: u32 = 107031;
pub const GL_STRICT_SCISSOR_HINT_PGI: u32 = 107032;
pub const GL_FULL_STIPPLE_HINT_PGI: u32 = 107033;
pub const GL_CLIP_NEAR_HINT_PGI: u32 = 107040;
pub const GL_CLIP_FAR_HINT_PGI: u32 = 107041;
pub const GL_WIDE_LINE_HINT_PGI: u32 = 107042;
pub const GL_BACK_NORMALS_HINT_PGI: u32 = 107043;
pub const GL_PGI_vertex_hints: u32 = 1;
pub const GL_VERTEX_DATA_HINT_PGI: u32 = 107050;
pub const GL_VERTEX_CONSISTENT_HINT_PGI: u32 = 107051;
pub const GL_MATERIAL_SIDE_HINT_PGI: u32 = 107052;
pub const GL_MAX_VERTEX_HINT_PGI: u32 = 107053;
pub const GL_COLOR3_BIT_PGI: u32 = 65536;
pub const GL_COLOR4_BIT_PGI: u32 = 131072;
pub const GL_EDGEFLAG_BIT_PGI: u32 = 262144;
pub const GL_INDEX_BIT_PGI: u32 = 524288;
pub const GL_MAT_AMBIENT_BIT_PGI: u32 = 1048576;
pub const GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI: u32 = 2097152;
pub const GL_MAT_DIFFUSE_BIT_PGI: u32 = 4194304;
pub const GL_MAT_EMISSION_BIT_PGI: u32 = 8388608;
pub const GL_MAT_COLOR_INDEXES_BIT_PGI: u32 = 16777216;
pub const GL_MAT_SHININESS_BIT_PGI: u32 = 33554432;
pub const GL_MAT_SPECULAR_BIT_PGI: u32 = 67108864;
pub const GL_NORMAL_BIT_PGI: u32 = 134217728;
pub const GL_TEXCOORD1_BIT_PGI: u32 = 268435456;
pub const GL_TEXCOORD2_BIT_PGI: u32 = 536870912;
pub const GL_TEXCOORD3_BIT_PGI: u32 = 1073741824;
pub const GL_TEXCOORD4_BIT_PGI: u32 = 2147483648;
pub const GL_VERTEX23_BIT_PGI: u32 = 4;
pub const GL_VERTEX4_BIT_PGI: u32 = 8;
pub const GL_REND_screen_coordinates: u32 = 1;
pub const GL_SCREEN_COORDINATES_REND: u32 = 33936;
pub const GL_INVERTED_SCREEN_W_REND: u32 = 33937;
pub const GL_S3_s3tc: u32 = 1;
pub const GL_RGB_S3TC: u32 = 33696;
pub const GL_RGB4_S3TC: u32 = 33697;
pub const GL_RGBA_S3TC: u32 = 33698;
pub const GL_RGBA4_S3TC: u32 = 33699;
pub const GL_RGBA_DXT5_S3TC: u32 = 33700;
pub const GL_RGBA4_DXT5_S3TC: u32 = 33701;
pub const GL_SGIS_detail_texture: u32 = 1;
pub const GL_DETAIL_TEXTURE_2D_SGIS: u32 = 32917;
pub const GL_DETAIL_TEXTURE_2D_BINDING_SGIS: u32 = 32918;
pub const GL_LINEAR_DETAIL_SGIS: u32 = 32919;
pub const GL_LINEAR_DETAIL_ALPHA_SGIS: u32 = 32920;
pub const GL_LINEAR_DETAIL_COLOR_SGIS: u32 = 32921;
pub const GL_DETAIL_TEXTURE_LEVEL_SGIS: u32 = 32922;
pub const GL_DETAIL_TEXTURE_MODE_SGIS: u32 = 32923;
pub const GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS: u32 = 32924;
pub const GL_SGIS_fog_function: u32 = 1;
pub const GL_FOG_FUNC_SGIS: u32 = 33066;
pub const GL_FOG_FUNC_POINTS_SGIS: u32 = 33067;
pub const GL_MAX_FOG_FUNC_POINTS_SGIS: u32 = 33068;
pub const GL_SGIS_generate_mipmap: u32 = 1;
pub const GL_GENERATE_MIPMAP_SGIS: u32 = 33169;
pub const GL_GENERATE_MIPMAP_HINT_SGIS: u32 = 33170;
pub const GL_SGIS_multisample: u32 = 1;
pub const GL_MULTISAMPLE_SGIS: u32 = 32925;
pub const GL_SAMPLE_ALPHA_TO_MASK_SGIS: u32 = 32926;
pub const GL_SAMPLE_ALPHA_TO_ONE_SGIS: u32 = 32927;
pub const GL_SAMPLE_MASK_SGIS: u32 = 32928;
pub const GL_1PASS_SGIS: u32 = 32929;
pub const GL_2PASS_0_SGIS: u32 = 32930;
pub const GL_2PASS_1_SGIS: u32 = 32931;
pub const GL_4PASS_0_SGIS: u32 = 32932;
pub const GL_4PASS_1_SGIS: u32 = 32933;
pub const GL_4PASS_2_SGIS: u32 = 32934;
pub const GL_4PASS_3_SGIS: u32 = 32935;
pub const GL_SAMPLE_BUFFERS_SGIS: u32 = 32936;
pub const GL_SAMPLES_SGIS: u32 = 32937;
pub const GL_SAMPLE_MASK_VALUE_SGIS: u32 = 32938;
pub const GL_SAMPLE_MASK_INVERT_SGIS: u32 = 32939;
pub const GL_SAMPLE_PATTERN_SGIS: u32 = 32940;
pub const GL_SGIS_pixel_texture: u32 = 1;
pub const GL_PIXEL_TEXTURE_SGIS: u32 = 33619;
pub const GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS: u32 = 33620;
pub const GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS: u32 = 33621;
pub const GL_PIXEL_GROUP_COLOR_SGIS: u32 = 33622;
pub const GL_SGIS_point_line_texgen: u32 = 1;
pub const GL_EYE_DISTANCE_TO_POINT_SGIS: u32 = 33264;
pub const GL_OBJECT_DISTANCE_TO_POINT_SGIS: u32 = 33265;
pub const GL_EYE_DISTANCE_TO_LINE_SGIS: u32 = 33266;
pub const GL_OBJECT_DISTANCE_TO_LINE_SGIS: u32 = 33267;
pub const GL_EYE_POINT_SGIS: u32 = 33268;
pub const GL_OBJECT_POINT_SGIS: u32 = 33269;
pub const GL_EYE_LINE_SGIS: u32 = 33270;
pub const GL_OBJECT_LINE_SGIS: u32 = 33271;
pub const GL_SGIS_point_parameters: u32 = 1;
pub const GL_POINT_SIZE_MIN_SGIS: u32 = 33062;
pub const GL_POINT_SIZE_MAX_SGIS: u32 = 33063;
pub const GL_POINT_FADE_THRESHOLD_SIZE_SGIS: u32 = 33064;
pub const GL_DISTANCE_ATTENUATION_SGIS: u32 = 33065;
pub const GL_SGIS_sharpen_texture: u32 = 1;
pub const GL_LINEAR_SHARPEN_SGIS: u32 = 32941;
pub const GL_LINEAR_SHARPEN_ALPHA_SGIS: u32 = 32942;
pub const GL_LINEAR_SHARPEN_COLOR_SGIS: u32 = 32943;
pub const GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS: u32 = 32944;
pub const GL_SGIS_texture4D: u32 = 1;
pub const GL_PACK_SKIP_VOLUMES_SGIS: u32 = 33072;
pub const GL_PACK_IMAGE_DEPTH_SGIS: u32 = 33073;
pub const GL_UNPACK_SKIP_VOLUMES_SGIS: u32 = 33074;
pub const GL_UNPACK_IMAGE_DEPTH_SGIS: u32 = 33075;
pub const GL_TEXTURE_4D_SGIS: u32 = 33076;
pub const GL_PROXY_TEXTURE_4D_SGIS: u32 = 33077;
pub const GL_TEXTURE_4DSIZE_SGIS: u32 = 33078;
pub const GL_TEXTURE_WRAP_Q_SGIS: u32 = 33079;
pub const GL_MAX_4D_TEXTURE_SIZE_SGIS: u32 = 33080;
pub const GL_TEXTURE_4D_BINDING_SGIS: u32 = 33103;
pub const GL_SGIS_texture_border_clamp: u32 = 1;
pub const GL_CLAMP_TO_BORDER_SGIS: u32 = 33069;
pub const GL_SGIS_texture_color_mask: u32 = 1;
pub const GL_TEXTURE_COLOR_WRITEMASK_SGIS: u32 = 33263;
pub const GL_SGIS_texture_edge_clamp: u32 = 1;
pub const GL_CLAMP_TO_EDGE_SGIS: u32 = 33071;
pub const GL_SGIS_texture_filter4: u32 = 1;
pub const GL_FILTER4_SGIS: u32 = 33094;
pub const GL_TEXTURE_FILTER4_SIZE_SGIS: u32 = 33095;
pub const GL_SGIS_texture_lod: u32 = 1;
pub const GL_TEXTURE_MIN_LOD_SGIS: u32 = 33082;
pub const GL_TEXTURE_MAX_LOD_SGIS: u32 = 33083;
pub const GL_TEXTURE_BASE_LEVEL_SGIS: u32 = 33084;
pub const GL_TEXTURE_MAX_LEVEL_SGIS: u32 = 33085;
pub const GL_SGIS_texture_select: u32 = 1;
pub const GL_DUAL_ALPHA4_SGIS: u32 = 33040;
pub const GL_DUAL_ALPHA8_SGIS: u32 = 33041;
pub const GL_DUAL_ALPHA12_SGIS: u32 = 33042;
pub const GL_DUAL_ALPHA16_SGIS: u32 = 33043;
pub const GL_DUAL_LUMINANCE4_SGIS: u32 = 33044;
pub const GL_DUAL_LUMINANCE8_SGIS: u32 = 33045;
pub const GL_DUAL_LUMINANCE12_SGIS: u32 = 33046;
pub const GL_DUAL_LUMINANCE16_SGIS: u32 = 33047;
pub const GL_DUAL_INTENSITY4_SGIS: u32 = 33048;
pub const GL_DUAL_INTENSITY8_SGIS: u32 = 33049;
pub const GL_DUAL_INTENSITY12_SGIS: u32 = 33050;
pub const GL_DUAL_INTENSITY16_SGIS: u32 = 33051;
pub const GL_DUAL_LUMINANCE_ALPHA4_SGIS: u32 = 33052;
pub const GL_DUAL_LUMINANCE_ALPHA8_SGIS: u32 = 33053;
pub const GL_QUAD_ALPHA4_SGIS: u32 = 33054;
pub const GL_QUAD_ALPHA8_SGIS: u32 = 33055;
pub const GL_QUAD_LUMINANCE4_SGIS: u32 = 33056;
pub const GL_QUAD_LUMINANCE8_SGIS: u32 = 33057;
pub const GL_QUAD_INTENSITY4_SGIS: u32 = 33058;
pub const GL_QUAD_INTENSITY8_SGIS: u32 = 33059;
pub const GL_DUAL_TEXTURE_SELECT_SGIS: u32 = 33060;
pub const GL_QUAD_TEXTURE_SELECT_SGIS: u32 = 33061;
pub const GL_SGIX_async: u32 = 1;
pub const GL_ASYNC_MARKER_SGIX: u32 = 33577;
pub const GL_SGIX_async_histogram: u32 = 1;
pub const GL_ASYNC_HISTOGRAM_SGIX: u32 = 33580;
pub const GL_MAX_ASYNC_HISTOGRAM_SGIX: u32 = 33581;
pub const GL_SGIX_async_pixel: u32 = 1;
pub const GL_ASYNC_TEX_IMAGE_SGIX: u32 = 33628;
pub const GL_ASYNC_DRAW_PIXELS_SGIX: u32 = 33629;
pub const GL_ASYNC_READ_PIXELS_SGIX: u32 = 33630;
pub const GL_MAX_ASYNC_TEX_IMAGE_SGIX: u32 = 33631;
pub const GL_MAX_ASYNC_DRAW_PIXELS_SGIX: u32 = 33632;
pub const GL_MAX_ASYNC_READ_PIXELS_SGIX: u32 = 33633;
pub const GL_SGIX_blend_alpha_minmax: u32 = 1;
pub const GL_ALPHA_MIN_SGIX: u32 = 33568;
pub const GL_ALPHA_MAX_SGIX: u32 = 33569;
pub const GL_SGIX_calligraphic_fragment: u32 = 1;
pub const GL_CALLIGRAPHIC_FRAGMENT_SGIX: u32 = 33155;
pub const GL_SGIX_clipmap: u32 = 1;
pub const GL_LINEAR_CLIPMAP_LINEAR_SGIX: u32 = 33136;
pub const GL_TEXTURE_CLIPMAP_CENTER_SGIX: u32 = 33137;
pub const GL_TEXTURE_CLIPMAP_FRAME_SGIX: u32 = 33138;
pub const GL_TEXTURE_CLIPMAP_OFFSET_SGIX: u32 = 33139;
pub const GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX: u32 = 33140;
pub const GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX: u32 = 33141;
pub const GL_TEXTURE_CLIPMAP_DEPTH_SGIX: u32 = 33142;
pub const GL_MAX_CLIPMAP_DEPTH_SGIX: u32 = 33143;
pub const GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX: u32 = 33144;
pub const GL_NEAREST_CLIPMAP_NEAREST_SGIX: u32 = 33869;
pub const GL_NEAREST_CLIPMAP_LINEAR_SGIX: u32 = 33870;
pub const GL_LINEAR_CLIPMAP_NEAREST_SGIX: u32 = 33871;
pub const GL_SGIX_convolution_accuracy: u32 = 1;
pub const GL_CONVOLUTION_HINT_SGIX: u32 = 33558;
pub const GL_SGIX_depth_pass_instrument: u32 = 1;
pub const GL_SGIX_depth_texture: u32 = 1;
pub const GL_DEPTH_COMPONENT16_SGIX: u32 = 33189;
pub const GL_DEPTH_COMPONENT24_SGIX: u32 = 33190;
pub const GL_DEPTH_COMPONENT32_SGIX: u32 = 33191;
pub const GL_SGIX_flush_raster: u32 = 1;
pub const GL_SGIX_fog_offset: u32 = 1;
pub const GL_FOG_OFFSET_SGIX: u32 = 33176;
pub const GL_FOG_OFFSET_VALUE_SGIX: u32 = 33177;
pub const GL_SGIX_fragment_lighting: u32 = 1;
pub const GL_FRAGMENT_LIGHTING_SGIX: u32 = 33792;
pub const GL_FRAGMENT_COLOR_MATERIAL_SGIX: u32 = 33793;
pub const GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX: u32 = 33794;
pub const GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX: u32 = 33795;
pub const GL_MAX_FRAGMENT_LIGHTS_SGIX: u32 = 33796;
pub const GL_MAX_ACTIVE_LIGHTS_SGIX: u32 = 33797;
pub const GL_CURRENT_RASTER_NORMAL_SGIX: u32 = 33798;
pub const GL_LIGHT_ENV_MODE_SGIX: u32 = 33799;
pub const GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX: u32 = 33800;
pub const GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX: u32 = 33801;
pub const GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX: u32 = 33802;
pub const GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX: u32 = 33803;
pub const GL_FRAGMENT_LIGHT0_SGIX: u32 = 33804;
pub const GL_FRAGMENT_LIGHT1_SGIX: u32 = 33805;
pub const GL_FRAGMENT_LIGHT2_SGIX: u32 = 33806;
pub const GL_FRAGMENT_LIGHT3_SGIX: u32 = 33807;
pub const GL_FRAGMENT_LIGHT4_SGIX: u32 = 33808;
pub const GL_FRAGMENT_LIGHT5_SGIX: u32 = 33809;
pub const GL_FRAGMENT_LIGHT6_SGIX: u32 = 33810;
pub const GL_FRAGMENT_LIGHT7_SGIX: u32 = 33811;
pub const GL_SGIX_framezoom: u32 = 1;
pub const GL_FRAMEZOOM_SGIX: u32 = 33163;
pub const GL_FRAMEZOOM_FACTOR_SGIX: u32 = 33164;
pub const GL_MAX_FRAMEZOOM_FACTOR_SGIX: u32 = 33165;
pub const GL_SGIX_igloo_interface: u32 = 1;
pub const GL_SGIX_instruments: u32 = 1;
pub const GL_INSTRUMENT_BUFFER_POINTER_SGIX: u32 = 33152;
pub const GL_INSTRUMENT_MEASUREMENTS_SGIX: u32 = 33153;
pub const GL_SGIX_interlace: u32 = 1;
pub const GL_INTERLACE_SGIX: u32 = 32916;
pub const GL_SGIX_ir_instrument1: u32 = 1;
pub const GL_IR_INSTRUMENT1_SGIX: u32 = 33151;
pub const GL_SGIX_list_priority: u32 = 1;
pub const GL_LIST_PRIORITY_SGIX: u32 = 33154;
pub const GL_SGIX_pixel_texture: u32 = 1;
pub const GL_PIXEL_TEX_GEN_SGIX: u32 = 33081;
pub const GL_PIXEL_TEX_GEN_MODE_SGIX: u32 = 33579;
pub const GL_SGIX_pixel_tiles: u32 = 1;
pub const GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX: u32 = 33086;
pub const GL_PIXEL_TILE_CACHE_INCREMENT_SGIX: u32 = 33087;
pub const GL_PIXEL_TILE_WIDTH_SGIX: u32 = 33088;
pub const GL_PIXEL_TILE_HEIGHT_SGIX: u32 = 33089;
pub const GL_PIXEL_TILE_GRID_WIDTH_SGIX: u32 = 33090;
pub const GL_PIXEL_TILE_GRID_HEIGHT_SGIX: u32 = 33091;
pub const GL_PIXEL_TILE_GRID_DEPTH_SGIX: u32 = 33092;
pub const GL_PIXEL_TILE_CACHE_SIZE_SGIX: u32 = 33093;
pub const GL_SGIX_polynomial_ffd: u32 = 1;
pub const GL_TEXTURE_DEFORMATION_BIT_SGIX: u32 = 1;
pub const GL_GEOMETRY_DEFORMATION_BIT_SGIX: u32 = 2;
pub const GL_GEOMETRY_DEFORMATION_SGIX: u32 = 33172;
pub const GL_TEXTURE_DEFORMATION_SGIX: u32 = 33173;
pub const GL_DEFORMATIONS_MASK_SGIX: u32 = 33174;
pub const GL_MAX_DEFORMATION_ORDER_SGIX: u32 = 33175;
pub const GL_SGIX_reference_plane: u32 = 1;
pub const GL_REFERENCE_PLANE_SGIX: u32 = 33149;
pub const GL_REFERENCE_PLANE_EQUATION_SGIX: u32 = 33150;
pub const GL_SGIX_resample: u32 = 1;
pub const GL_PACK_RESAMPLE_SGIX: u32 = 33838;
pub const GL_UNPACK_RESAMPLE_SGIX: u32 = 33839;
pub const GL_RESAMPLE_REPLICATE_SGIX: u32 = 33843;
pub const GL_RESAMPLE_ZERO_FILL_SGIX: u32 = 33844;
pub const GL_RESAMPLE_DECIMATE_SGIX: u32 = 33840;
pub const GL_SGIX_scalebias_hint: u32 = 1;
pub const GL_SCALEBIAS_HINT_SGIX: u32 = 33570;
pub const GL_SGIX_shadow: u32 = 1;
pub const GL_TEXTURE_COMPARE_SGIX: u32 = 33178;
pub const GL_TEXTURE_COMPARE_OPERATOR_SGIX: u32 = 33179;
pub const GL_TEXTURE_LEQUAL_R_SGIX: u32 = 33180;
pub const GL_TEXTURE_GEQUAL_R_SGIX: u32 = 33181;
pub const GL_SGIX_shadow_ambient: u32 = 1;
pub const GL_SHADOW_AMBIENT_SGIX: u32 = 32959;
pub const GL_SGIX_sprite: u32 = 1;
pub const GL_SPRITE_SGIX: u32 = 33096;
pub const GL_SPRITE_MODE_SGIX: u32 = 33097;
pub const GL_SPRITE_AXIS_SGIX: u32 = 33098;
pub const GL_SPRITE_TRANSLATION_SGIX: u32 = 33099;
pub const GL_SPRITE_AXIAL_SGIX: u32 = 33100;
pub const GL_SPRITE_OBJECT_ALIGNED_SGIX: u32 = 33101;
pub const GL_SPRITE_EYE_ALIGNED_SGIX: u32 = 33102;
pub const GL_SGIX_subsample: u32 = 1;
pub const GL_PACK_SUBSAMPLE_RATE_SGIX: u32 = 34208;
pub const GL_UNPACK_SUBSAMPLE_RATE_SGIX: u32 = 34209;
pub const GL_PIXEL_SUBSAMPLE_4444_SGIX: u32 = 34210;
pub const GL_PIXEL_SUBSAMPLE_2424_SGIX: u32 = 34211;
pub const GL_PIXEL_SUBSAMPLE_4242_SGIX: u32 = 34212;
pub const GL_SGIX_tag_sample_buffer: u32 = 1;
pub const GL_SGIX_texture_add_env: u32 = 1;
pub const GL_TEXTURE_ENV_BIAS_SGIX: u32 = 32958;
pub const GL_SGIX_texture_coordinate_clamp: u32 = 1;
pub const GL_TEXTURE_MAX_CLAMP_S_SGIX: u32 = 33641;
pub const GL_TEXTURE_MAX_CLAMP_T_SGIX: u32 = 33642;
pub const GL_TEXTURE_MAX_CLAMP_R_SGIX: u32 = 33643;
pub const GL_SGIX_texture_lod_bias: u32 = 1;
pub const GL_TEXTURE_LOD_BIAS_S_SGIX: u32 = 33166;
pub const GL_TEXTURE_LOD_BIAS_T_SGIX: u32 = 33167;
pub const GL_TEXTURE_LOD_BIAS_R_SGIX: u32 = 33168;
pub const GL_SGIX_texture_multi_buffer: u32 = 1;
pub const GL_TEXTURE_MULTI_BUFFER_HINT_SGIX: u32 = 33070;
pub const GL_SGIX_texture_scale_bias: u32 = 1;
pub const GL_POST_TEXTURE_FILTER_BIAS_SGIX: u32 = 33145;
pub const GL_POST_TEXTURE_FILTER_SCALE_SGIX: u32 = 33146;
pub const GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX: u32 = 33147;
pub const GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX: u32 = 33148;
pub const GL_SGIX_vertex_preclip: u32 = 1;
pub const GL_VERTEX_PRECLIP_SGIX: u32 = 33774;
pub const GL_VERTEX_PRECLIP_HINT_SGIX: u32 = 33775;
pub const GL_SGIX_ycrcb: u32 = 1;
pub const GL_YCRCB_422_SGIX: u32 = 33211;
pub const GL_YCRCB_444_SGIX: u32 = 33212;
pub const GL_SGIX_ycrcb_subsample: u32 = 1;
pub const GL_SGIX_ycrcba: u32 = 1;
pub const GL_YCRCB_SGIX: u32 = 33560;
pub const GL_YCRCBA_SGIX: u32 = 33561;
pub const GL_SGI_color_matrix: u32 = 1;
pub const GL_COLOR_MATRIX_SGI: u32 = 32945;
pub const GL_COLOR_MATRIX_STACK_DEPTH_SGI: u32 = 32946;
pub const GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI: u32 = 32947;
pub const GL_POST_COLOR_MATRIX_RED_SCALE_SGI: u32 = 32948;
pub const GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI: u32 = 32949;
pub const GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI: u32 = 32950;
pub const GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI: u32 = 32951;
pub const GL_POST_COLOR_MATRIX_RED_BIAS_SGI: u32 = 32952;
pub const GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI: u32 = 32953;
pub const GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI: u32 = 32954;
pub const GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI: u32 = 32955;
pub const GL_SGI_color_table: u32 = 1;
pub const GL_COLOR_TABLE_SGI: u32 = 32976;
pub const GL_POST_CONVOLUTION_COLOR_TABLE_SGI: u32 = 32977;
pub const GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI: u32 = 32978;
pub const GL_PROXY_COLOR_TABLE_SGI: u32 = 32979;
pub const GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI: u32 = 32980;
pub const GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI: u32 = 32981;
pub const GL_COLOR_TABLE_SCALE_SGI: u32 = 32982;
pub const GL_COLOR_TABLE_BIAS_SGI: u32 = 32983;
pub const GL_COLOR_TABLE_FORMAT_SGI: u32 = 32984;
pub const GL_COLOR_TABLE_WIDTH_SGI: u32 = 32985;
pub const GL_COLOR_TABLE_RED_SIZE_SGI: u32 = 32986;
pub const GL_COLOR_TABLE_GREEN_SIZE_SGI: u32 = 32987;
pub const GL_COLOR_TABLE_BLUE_SIZE_SGI: u32 = 32988;
pub const GL_COLOR_TABLE_ALPHA_SIZE_SGI: u32 = 32989;
pub const GL_COLOR_TABLE_LUMINANCE_SIZE_SGI: u32 = 32990;
pub const GL_COLOR_TABLE_INTENSITY_SIZE_SGI: u32 = 32991;
pub const GL_SGI_texture_color_table: u32 = 1;
pub const GL_TEXTURE_COLOR_TABLE_SGI: u32 = 32956;
pub const GL_PROXY_TEXTURE_COLOR_TABLE_SGI: u32 = 32957;
pub const GL_SUNX_constant_data: u32 = 1;
pub const GL_UNPACK_CONSTANT_DATA_SUNX: u32 = 33237;
pub const GL_TEXTURE_CONSTANT_DATA_SUNX: u32 = 33238;
pub const GL_SUN_convolution_border_modes: u32 = 1;
pub const GL_WRAP_BORDER_SUN: u32 = 33236;
pub const GL_SUN_global_alpha: u32 = 1;
pub const GL_GLOBAL_ALPHA_SUN: u32 = 33241;
pub const GL_GLOBAL_ALPHA_FACTOR_SUN: u32 = 33242;
pub const GL_SUN_mesh_array: u32 = 1;
pub const GL_QUAD_MESH_SUN: u32 = 34324;
pub const GL_TRIANGLE_MESH_SUN: u32 = 34325;
pub const GL_SUN_slice_accum: u32 = 1;
pub const GL_SLICE_ACCUM_SUN: u32 = 34252;
pub const GL_SUN_triangle_list: u32 = 1;
pub const GL_RESTART_SUN: u32 = 1;
pub const GL_REPLACE_MIDDLE_SUN: u32 = 2;
pub const GL_REPLACE_OLDEST_SUN: u32 = 3;
pub const GL_TRIANGLE_LIST_SUN: u32 = 33239;
pub const GL_REPLACEMENT_CODE_SUN: u32 = 33240;
pub const GL_REPLACEMENT_CODE_ARRAY_SUN: u32 = 34240;
pub const GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN: u32 = 34241;
pub const GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN: u32 = 34242;
pub const GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN: u32 = 34243;
pub const GL_R1UI_V3F_SUN: u32 = 34244;
pub const GL_R1UI_C4UB_V3F_SUN: u32 = 34245;
pub const GL_R1UI_C3F_V3F_SUN: u32 = 34246;
pub const GL_R1UI_N3F_V3F_SUN: u32 = 34247;
pub const GL_R1UI_C4F_N3F_V3F_SUN: u32 = 34248;
pub const GL_R1UI_T2F_V3F_SUN: u32 = 34249;
pub const GL_R1UI_T2F_N3F_V3F_SUN: u32 = 34250;
pub const GL_R1UI_T2F_C4F_N3F_V3F_SUN: u32 = 34251;
pub const GL_SUN_vertex: u32 = 1;
pub const GL_WIN_phong_shading: u32 = 1;
pub const GL_PHONG_WIN: u32 = 33002;
pub const GL_PHONG_HINT_WIN: u32 = 33003;
pub const GL_WIN_specular_fog: u32 = 1;
pub const GL_FOG_SPECULAR_TEXTURE_WIN: u32 = 33004;
pub const GL_MESA_packed_depth_stencil: u32 = 1;
pub const GL_DEPTH_STENCIL_MESA: u32 = 34640;
pub const GL_UNSIGNED_INT_24_8_MESA: u32 = 34641;
pub const GL_UNSIGNED_INT_8_24_REV_MESA: u32 = 34642;
pub const GL_UNSIGNED_SHORT_15_1_MESA: u32 = 34643;
pub const GL_UNSIGNED_SHORT_1_15_REV_MESA: u32 = 34644;
pub const GL_ATI_blend_equation_separate: u32 = 1;
pub const GL_ALPHA_BLEND_EQUATION_ATI: u32 = 34877;
pub const GL_OES_EGL_image: u32 = 1;
pub const GLU_EXT_object_space_tess: u32 = 1;
pub const GLU_EXT_nurbs_tessellator: u32 = 1;
pub const GLU_FALSE: u32 = 0;
pub const GLU_TRUE: u32 = 1;
pub const GLU_VERSION_1_1: u32 = 1;
pub const GLU_VERSION_1_2: u32 = 1;
pub const GLU_VERSION_1_3: u32 = 1;
pub const GLU_VERSION: u32 = 100800;
pub const GLU_EXTENSIONS: u32 = 100801;
pub const GLU_INVALID_ENUM: u32 = 100900;
pub const GLU_INVALID_VALUE: u32 = 100901;
pub const GLU_OUT_OF_MEMORY: u32 = 100902;
pub const GLU_INCOMPATIBLE_GL_VERSION: u32 = 100903;
pub const GLU_INVALID_OPERATION: u32 = 100904;
pub const GLU_OUTLINE_POLYGON: u32 = 100240;
pub const GLU_OUTLINE_PATCH: u32 = 100241;
pub const GLU_NURBS_ERROR: u32 = 100103;
pub const GLU_ERROR: u32 = 100103;
pub const GLU_NURBS_BEGIN: u32 = 100164;
pub const GLU_NURBS_BEGIN_EXT: u32 = 100164;
pub const GLU_NURBS_VERTEX: u32 = 100165;
pub const GLU_NURBS_VERTEX_EXT: u32 = 100165;
pub const GLU_NURBS_NORMAL: u32 = 100166;
pub const GLU_NURBS_NORMAL_EXT: u32 = 100166;
pub const GLU_NURBS_COLOR: u32 = 100167;
pub const GLU_NURBS_COLOR_EXT: u32 = 100167;
pub const GLU_NURBS_TEXTURE_COORD: u32 = 100168;
pub const GLU_NURBS_TEX_COORD_EXT: u32 = 100168;
pub const GLU_NURBS_END: u32 = 100169;
pub const GLU_NURBS_END_EXT: u32 = 100169;
pub const GLU_NURBS_BEGIN_DATA: u32 = 100170;
pub const GLU_NURBS_BEGIN_DATA_EXT: u32 = 100170;
pub const GLU_NURBS_VERTEX_DATA: u32 = 100171;
pub const GLU_NURBS_VERTEX_DATA_EXT: u32 = 100171;
pub const GLU_NURBS_NORMAL_DATA: u32 = 100172;
pub const GLU_NURBS_NORMAL_DATA_EXT: u32 = 100172;
pub const GLU_NURBS_COLOR_DATA: u32 = 100173;
pub const GLU_NURBS_COLOR_DATA_EXT: u32 = 100173;
pub const GLU_NURBS_TEXTURE_COORD_DATA: u32 = 100174;
pub const GLU_NURBS_TEX_COORD_DATA_EXT: u32 = 100174;
pub const GLU_NURBS_END_DATA: u32 = 100175;
pub const GLU_NURBS_END_DATA_EXT: u32 = 100175;
pub const GLU_NURBS_ERROR1: u32 = 100251;
pub const GLU_NURBS_ERROR2: u32 = 100252;
pub const GLU_NURBS_ERROR3: u32 = 100253;
pub const GLU_NURBS_ERROR4: u32 = 100254;
pub const GLU_NURBS_ERROR5: u32 = 100255;
pub const GLU_NURBS_ERROR6: u32 = 100256;
pub const GLU_NURBS_ERROR7: u32 = 100257;
pub const GLU_NURBS_ERROR8: u32 = 100258;
pub const GLU_NURBS_ERROR9: u32 = 100259;
pub const GLU_NURBS_ERROR10: u32 = 100260;
pub const GLU_NURBS_ERROR11: u32 = 100261;
pub const GLU_NURBS_ERROR12: u32 = 100262;
pub const GLU_NURBS_ERROR13: u32 = 100263;
pub const GLU_NURBS_ERROR14: u32 = 100264;
pub const GLU_NURBS_ERROR15: u32 = 100265;
pub const GLU_NURBS_ERROR16: u32 = 100266;
pub const GLU_NURBS_ERROR17: u32 = 100267;
pub const GLU_NURBS_ERROR18: u32 = 100268;
pub const GLU_NURBS_ERROR19: u32 = 100269;
pub const GLU_NURBS_ERROR20: u32 = 100270;
pub const GLU_NURBS_ERROR21: u32 = 100271;
pub const GLU_NURBS_ERROR22: u32 = 100272;
pub const GLU_NURBS_ERROR23: u32 = 100273;
pub const GLU_NURBS_ERROR24: u32 = 100274;
pub const GLU_NURBS_ERROR25: u32 = 100275;
pub const GLU_NURBS_ERROR26: u32 = 100276;
pub const GLU_NURBS_ERROR27: u32 = 100277;
pub const GLU_NURBS_ERROR28: u32 = 100278;
pub const GLU_NURBS_ERROR29: u32 = 100279;
pub const GLU_NURBS_ERROR30: u32 = 100280;
pub const GLU_NURBS_ERROR31: u32 = 100281;
pub const GLU_NURBS_ERROR32: u32 = 100282;
pub const GLU_NURBS_ERROR33: u32 = 100283;
pub const GLU_NURBS_ERROR34: u32 = 100284;
pub const GLU_NURBS_ERROR35: u32 = 100285;
pub const GLU_NURBS_ERROR36: u32 = 100286;
pub const GLU_NURBS_ERROR37: u32 = 100287;
pub const GLU_AUTO_LOAD_MATRIX: u32 = 100200;
pub const GLU_CULLING: u32 = 100201;
pub const GLU_SAMPLING_TOLERANCE: u32 = 100203;
pub const GLU_DISPLAY_MODE: u32 = 100204;
pub const GLU_PARAMETRIC_TOLERANCE: u32 = 100202;
pub const GLU_SAMPLING_METHOD: u32 = 100205;
pub const GLU_U_STEP: u32 = 100206;
pub const GLU_V_STEP: u32 = 100207;
pub const GLU_NURBS_MODE: u32 = 100160;
pub const GLU_NURBS_MODE_EXT: u32 = 100160;
pub const GLU_NURBS_TESSELLATOR: u32 = 100161;
pub const GLU_NURBS_TESSELLATOR_EXT: u32 = 100161;
pub const GLU_NURBS_RENDERER: u32 = 100162;
pub const GLU_NURBS_RENDERER_EXT: u32 = 100162;
pub const GLU_OBJECT_PARAMETRIC_ERROR: u32 = 100208;
pub const GLU_OBJECT_PARAMETRIC_ERROR_EXT: u32 = 100208;
pub const GLU_OBJECT_PATH_LENGTH: u32 = 100209;
pub const GLU_OBJECT_PATH_LENGTH_EXT: u32 = 100209;
pub const GLU_PATH_LENGTH: u32 = 100215;
pub const GLU_PARAMETRIC_ERROR: u32 = 100216;
pub const GLU_DOMAIN_DISTANCE: u32 = 100217;
pub const GLU_MAP1_TRIM_2: u32 = 100210;
pub const GLU_MAP1_TRIM_3: u32 = 100211;
pub const GLU_POINT: u32 = 100010;
pub const GLU_LINE: u32 = 100011;
pub const GLU_FILL: u32 = 100012;
pub const GLU_SILHOUETTE: u32 = 100013;
pub const GLU_SMOOTH: u32 = 100000;
pub const GLU_FLAT: u32 = 100001;
pub const GLU_NONE: u32 = 100002;
pub const GLU_OUTSIDE: u32 = 100020;
pub const GLU_INSIDE: u32 = 100021;
pub const GLU_TESS_BEGIN: u32 = 100100;
pub const GLU_BEGIN: u32 = 100100;
pub const GLU_TESS_VERTEX: u32 = 100101;
pub const GLU_VERTEX: u32 = 100101;
pub const GLU_TESS_END: u32 = 100102;
pub const GLU_END: u32 = 100102;
pub const GLU_TESS_ERROR: u32 = 100103;
pub const GLU_TESS_EDGE_FLAG: u32 = 100104;
pub const GLU_EDGE_FLAG: u32 = 100104;
pub const GLU_TESS_COMBINE: u32 = 100105;
pub const GLU_TESS_BEGIN_DATA: u32 = 100106;
pub const GLU_TESS_VERTEX_DATA: u32 = 100107;
pub const GLU_TESS_END_DATA: u32 = 100108;
pub const GLU_TESS_ERROR_DATA: u32 = 100109;
pub const GLU_TESS_EDGE_FLAG_DATA: u32 = 100110;
pub const GLU_TESS_COMBINE_DATA: u32 = 100111;
pub const GLU_CW: u32 = 100120;
pub const GLU_CCW: u32 = 100121;
pub const GLU_INTERIOR: u32 = 100122;
pub const GLU_EXTERIOR: u32 = 100123;
pub const GLU_UNKNOWN: u32 = 100124;
pub const GLU_TESS_WINDING_RULE: u32 = 100140;
pub const GLU_TESS_BOUNDARY_ONLY: u32 = 100141;
pub const GLU_TESS_TOLERANCE: u32 = 100142;
pub const GLU_TESS_ERROR1: u32 = 100151;
pub const GLU_TESS_ERROR2: u32 = 100152;
pub const GLU_TESS_ERROR3: u32 = 100153;
pub const GLU_TESS_ERROR4: u32 = 100154;
pub const GLU_TESS_ERROR5: u32 = 100155;
pub const GLU_TESS_ERROR6: u32 = 100156;
pub const GLU_TESS_ERROR7: u32 = 100157;
pub const GLU_TESS_ERROR8: u32 = 100158;
pub const GLU_TESS_MISSING_BEGIN_POLYGON: u32 = 100151;
pub const GLU_TESS_MISSING_BEGIN_CONTOUR: u32 = 100152;
pub const GLU_TESS_MISSING_END_POLYGON: u32 = 100153;
pub const GLU_TESS_MISSING_END_CONTOUR: u32 = 100154;
pub const GLU_TESS_COORD_TOO_LARGE: u32 = 100155;
pub const GLU_TESS_NEED_COMBINE_CALLBACK: u32 = 100156;
pub const GLU_TESS_WINDING_ODD: u32 = 100130;
pub const GLU_TESS_WINDING_NONZERO: u32 = 100131;
pub const GLU_TESS_WINDING_POSITIVE: u32 = 100132;
pub const GLU_TESS_WINDING_NEGATIVE: u32 = 100133;
pub const GLU_TESS_WINDING_ABS_GEQ_TWO: u32 = 100134;
pub type GLenum = libc::c_uint;
pub type GLboolean = libc::c_uchar;
pub type GLbitfield = libc::c_uint;
pub type GLvoid = libc::c_void;
pub type GLbyte = libc::c_schar;
pub type GLshort = libc::c_short;
pub type GLint = libc::c_int;
pub type GLubyte = libc::c_uchar;
pub type GLushort = libc::c_ushort;
pub type GLuint = libc::c_uint;
pub type GLsizei = libc::c_int;
pub type GLfloat = f32;
pub type GLclampf = f32;
pub type GLdouble = f64;
pub type GLclampd = f64;
extern "C" {
    pub fn glClearIndex(c: GLfloat);
}
extern "C" {
    pub fn glClearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf);
}
extern "C" {
    pub fn glClear(mask: GLbitfield);
}
extern "C" {
    pub fn glIndexMask(mask: GLuint);
}
extern "C" {
    pub fn glColorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean);
}
extern "C" {
    pub fn glAlphaFunc(func: GLenum, ref_: GLclampf);
}
extern "C" {
    pub fn glBlendFunc(sfactor: GLenum, dfactor: GLenum);
}
extern "C" {
    pub fn glLogicOp(opcode: GLenum);
}
extern "C" {
    pub fn glCullFace(mode: GLenum);
}
extern "C" {
    pub fn glFrontFace(mode: GLenum);
}
extern "C" {
    pub fn glPointSize(size: GLfloat);
}
extern "C" {
    pub fn glLineWidth(width: GLfloat);
}
extern "C" {
    pub fn glLineStipple(factor: GLint, pattern: GLushort);
}
extern "C" {
    pub fn glPolygonMode(face: GLenum, mode: GLenum);
}
extern "C" {
    pub fn glPolygonOffset(factor: GLfloat, units: GLfloat);
}
extern "C" {
    pub fn glPolygonStipple(mask: *const GLubyte);
}
extern "C" {
    pub fn glGetPolygonStipple(mask: *mut GLubyte);
}
extern "C" {
    pub fn glEdgeFlag(flag: GLboolean);
}
extern "C" {
    pub fn glEdgeFlagv(flag: *const GLboolean);
}
extern "C" {
    pub fn glScissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei);
}
extern "C" {
    pub fn glClipPlane(plane: GLenum, equation: *const GLdouble);
}
extern "C" {
    pub fn glGetClipPlane(plane: GLenum, equation: *mut GLdouble);
}
extern "C" {
    pub fn glDrawBuffer(mode: GLenum);
}
extern "C" {
    pub fn glReadBuffer(mode: GLenum);
}
extern "C" {
    pub fn glEnable(cap: GLenum);
}
extern "C" {
    pub fn glDisable(cap: GLenum);
}
extern "C" {
    pub fn glIsEnabled(cap: GLenum) -> GLboolean;
}
extern "C" {
    pub fn glEnableClientState(cap: GLenum);
}
extern "C" {
    pub fn glDisableClientState(cap: GLenum);
}
extern "C" {
    pub fn glGetBooleanv(pname: GLenum, params: *mut GLboolean);
}
extern "C" {
    pub fn glGetDoublev(pname: GLenum, params: *mut GLdouble);
}
extern "C" {
    pub fn glGetFloatv(pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetIntegerv(pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glPushAttrib(mask: GLbitfield);
}
extern "C" {
    pub fn glPopAttrib();
}
extern "C" {
    pub fn glPushClientAttrib(mask: GLbitfield);
}
extern "C" {
    pub fn glPopClientAttrib();
}
extern "C" {
    pub fn glRenderMode(mode: GLenum) -> GLint;
}
extern "C" {
    pub fn glGetError() -> GLenum;
}
extern "C" {
    pub fn glGetString(name: GLenum) -> *const GLubyte;
}
extern "C" {
    pub fn glFinish();
}
extern "C" {
    pub fn glFlush();
}
extern "C" {
    pub fn glHint(target: GLenum, mode: GLenum);
}
extern "C" {
    pub fn glClearDepth(depth: GLclampd);
}
extern "C" {
    pub fn glDepthFunc(func: GLenum);
}
extern "C" {
    pub fn glDepthMask(flag: GLboolean);
}
extern "C" {
    pub fn glDepthRange(near_val: GLclampd, far_val: GLclampd);
}
extern "C" {
    pub fn glClearAccum(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat);
}
extern "C" {
    pub fn glAccum(op: GLenum, value: GLfloat);
}
extern "C" {
    pub fn glMatrixMode(mode: GLenum);
}
extern "C" {
    pub fn glOrtho(
        left: GLdouble,
        right: GLdouble,
        bottom: GLdouble,
        top: GLdouble,
        near_val: GLdouble,
        far_val: GLdouble,
    );
}
extern "C" {
    pub fn glFrustum(
        left: GLdouble,
        right: GLdouble,
        bottom: GLdouble,
        top: GLdouble,
        near_val: GLdouble,
        far_val: GLdouble,
    );
}
extern "C" {
    pub fn glViewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei);
}
extern "C" {
    pub fn glPushMatrix();
}
extern "C" {
    pub fn glPopMatrix();
}
extern "C" {
    pub fn glLoadIdentity();
}
extern "C" {
    pub fn glLoadMatrixd(m: *const GLdouble);
}
extern "C" {
    pub fn glLoadMatrixf(m: *const GLfloat);
}
extern "C" {
    pub fn glMultMatrixd(m: *const GLdouble);
}
extern "C" {
    pub fn glMultMatrixf(m: *const GLfloat);
}
extern "C" {
    pub fn glRotated(angle: GLdouble, x: GLdouble, y: GLdouble, z: GLdouble);
}
extern "C" {
    pub fn glRotatef(angle: GLfloat, x: GLfloat, y: GLfloat, z: GLfloat);
}
extern "C" {
    pub fn glScaled(x: GLdouble, y: GLdouble, z: GLdouble);
}
extern "C" {
    pub fn glScalef(x: GLfloat, y: GLfloat, z: GLfloat);
}
extern "C" {
    pub fn glTranslated(x: GLdouble, y: GLdouble, z: GLdouble);
}
extern "C" {
    pub fn glTranslatef(x: GLfloat, y: GLfloat, z: GLfloat);
}
extern "C" {
    pub fn glIsList(list: GLuint) -> GLboolean;
}
extern "C" {
    pub fn glDeleteLists(list: GLuint, range: GLsizei);
}
extern "C" {
    pub fn glGenLists(range: GLsizei) -> GLuint;
}
extern "C" {
    pub fn glNewList(list: GLuint, mode: GLenum);
}
extern "C" {
    pub fn glEndList();
}
extern "C" {
    pub fn glCallList(list: GLuint);
}
extern "C" {
    pub fn glCallLists(n: GLsizei, type_: GLenum, lists: *const GLvoid);
}
extern "C" {
    pub fn glListBase(base: GLuint);
}
extern "C" {
    pub fn glBegin(mode: GLenum);
}
extern "C" {
    pub fn glEnd();
}
extern "C" {
    pub fn glVertex2d(x: GLdouble, y: GLdouble);
}
extern "C" {
    pub fn glVertex2f(x: GLfloat, y: GLfloat);
}
extern "C" {
    pub fn glVertex2i(x: GLint, y: GLint);
}
extern "C" {
    pub fn glVertex2s(x: GLshort, y: GLshort);
}
extern "C" {
    pub fn glVertex3d(x: GLdouble, y: GLdouble, z: GLdouble);
}
extern "C" {
    pub fn glVertex3f(x: GLfloat, y: GLfloat, z: GLfloat);
}
extern "C" {
    pub fn glVertex3i(x: GLint, y: GLint, z: GLint);
}
extern "C" {
    pub fn glVertex3s(x: GLshort, y: GLshort, z: GLshort);
}
extern "C" {
    pub fn glVertex4d(x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble);
}
extern "C" {
    pub fn glVertex4f(x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat);
}
extern "C" {
    pub fn glVertex4i(x: GLint, y: GLint, z: GLint, w: GLint);
}
extern "C" {
    pub fn glVertex4s(x: GLshort, y: GLshort, z: GLshort, w: GLshort);
}
extern "C" {
    pub fn glVertex2dv(v: *const GLdouble);
}
extern "C" {
    pub fn glVertex2fv(v: *const GLfloat);
}
extern "C" {
    pub fn glVertex2iv(v: *const GLint);
}
extern "C" {
    pub fn glVertex2sv(v: *const GLshort);
}
extern "C" {
    pub fn glVertex3dv(v: *const GLdouble);
}
extern "C" {
    pub fn glVertex3fv(v: *const GLfloat);
}
extern "C" {
    pub fn glVertex3iv(v: *const GLint);
}
extern "C" {
    pub fn glVertex3sv(v: *const GLshort);
}
extern "C" {
    pub fn glVertex4dv(v: *const GLdouble);
}
extern "C" {
    pub fn glVertex4fv(v: *const GLfloat);
}
extern "C" {
    pub fn glVertex4iv(v: *const GLint);
}
extern "C" {
    pub fn glVertex4sv(v: *const GLshort);
}
extern "C" {
    pub fn glNormal3b(nx: GLbyte, ny: GLbyte, nz: GLbyte);
}
extern "C" {
    pub fn glNormal3d(nx: GLdouble, ny: GLdouble, nz: GLdouble);
}
extern "C" {
    pub fn glNormal3f(nx: GLfloat, ny: GLfloat, nz: GLfloat);
}
extern "C" {
    pub fn glNormal3i(nx: GLint, ny: GLint, nz: GLint);
}
extern "C" {
    pub fn glNormal3s(nx: GLshort, ny: GLshort, nz: GLshort);
}
extern "C" {
    pub fn glNormal3bv(v: *const GLbyte);
}
extern "C" {
    pub fn glNormal3dv(v: *const GLdouble);
}
extern "C" {
    pub fn glNormal3fv(v: *const GLfloat);
}
extern "C" {
    pub fn glNormal3iv(v: *const GLint);
}
extern "C" {
    pub fn glNormal3sv(v: *const GLshort);
}
extern "C" {
    pub fn glIndexd(c: GLdouble);
}
extern "C" {
    pub fn glIndexf(c: GLfloat);
}
extern "C" {
    pub fn glIndexi(c: GLint);
}
extern "C" {
    pub fn glIndexs(c: GLshort);
}
extern "C" {
    pub fn glIndexub(c: GLubyte);
}
extern "C" {
    pub fn glIndexdv(c: *const GLdouble);
}
extern "C" {
    pub fn glIndexfv(c: *const GLfloat);
}
extern "C" {
    pub fn glIndexiv(c: *const GLint);
}
extern "C" {
    pub fn glIndexsv(c: *const GLshort);
}
extern "C" {
    pub fn glIndexubv(c: *const GLubyte);
}
extern "C" {
    pub fn glColor3b(red: GLbyte, green: GLbyte, blue: GLbyte);
}
extern "C" {
    pub fn glColor3d(red: GLdouble, green: GLdouble, blue: GLdouble);
}
extern "C" {
    pub fn glColor3f(red: GLfloat, green: GLfloat, blue: GLfloat);
}
extern "C" {
    pub fn glColor3i(red: GLint, green: GLint, blue: GLint);
}
extern "C" {
    pub fn glColor3s(red: GLshort, green: GLshort, blue: GLshort);
}
extern "C" {
    pub fn glColor3ub(red: GLubyte, green: GLubyte, blue: GLubyte);
}
extern "C" {
    pub fn glColor3ui(red: GLuint, green: GLuint, blue: GLuint);
}
extern "C" {
    pub fn glColor3us(red: GLushort, green: GLushort, blue: GLushort);
}
extern "C" {
    pub fn glColor4b(red: GLbyte, green: GLbyte, blue: GLbyte, alpha: GLbyte);
}
extern "C" {
    pub fn glColor4d(red: GLdouble, green: GLdouble, blue: GLdouble, alpha: GLdouble);
}
extern "C" {
    pub fn glColor4f(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat);
}
extern "C" {
    pub fn glColor4i(red: GLint, green: GLint, blue: GLint, alpha: GLint);
}
extern "C" {
    pub fn glColor4s(red: GLshort, green: GLshort, blue: GLshort, alpha: GLshort);
}
extern "C" {
    pub fn glColor4ub(red: GLubyte, green: GLubyte, blue: GLubyte, alpha: GLubyte);
}
extern "C" {
    pub fn glColor4ui(red: GLuint, green: GLuint, blue: GLuint, alpha: GLuint);
}
extern "C" {
    pub fn glColor4us(red: GLushort, green: GLushort, blue: GLushort, alpha: GLushort);
}
extern "C" {
    pub fn glColor3bv(v: *const GLbyte);
}
extern "C" {
    pub fn glColor3dv(v: *const GLdouble);
}
extern "C" {
    pub fn glColor3fv(v: *const GLfloat);
}
extern "C" {
    pub fn glColor3iv(v: *const GLint);
}
extern "C" {
    pub fn glColor3sv(v: *const GLshort);
}
extern "C" {
    pub fn glColor3ubv(v: *const GLubyte);
}
extern "C" {
    pub fn glColor3uiv(v: *const GLuint);
}
extern "C" {
    pub fn glColor3usv(v: *const GLushort);
}
extern "C" {
    pub fn glColor4bv(v: *const GLbyte);
}
extern "C" {
    pub fn glColor4dv(v: *const GLdouble);
}
extern "C" {
    pub fn glColor4fv(v: *const GLfloat);
}
extern "C" {
    pub fn glColor4iv(v: *const GLint);
}
extern "C" {
    pub fn glColor4sv(v: *const GLshort);
}
extern "C" {
    pub fn glColor4ubv(v: *const GLubyte);
}
extern "C" {
    pub fn glColor4uiv(v: *const GLuint);
}
extern "C" {
    pub fn glColor4usv(v: *const GLushort);
}
extern "C" {
    pub fn glTexCoord1d(s: GLdouble);
}
extern "C" {
    pub fn glTexCoord1f(s: GLfloat);
}
extern "C" {
    pub fn glTexCoord1i(s: GLint);
}
extern "C" {
    pub fn glTexCoord1s(s: GLshort);
}
extern "C" {
    pub fn glTexCoord2d(s: GLdouble, t: GLdouble);
}
extern "C" {
    pub fn glTexCoord2f(s: GLfloat, t: GLfloat);
}
extern "C" {
    pub fn glTexCoord2i(s: GLint, t: GLint);
}
extern "C" {
    pub fn glTexCoord2s(s: GLshort, t: GLshort);
}
extern "C" {
    pub fn glTexCoord3d(s: GLdouble, t: GLdouble, r: GLdouble);
}
extern "C" {
    pub fn glTexCoord3f(s: GLfloat, t: GLfloat, r: GLfloat);
}
extern "C" {
    pub fn glTexCoord3i(s: GLint, t: GLint, r: GLint);
}
extern "C" {
    pub fn glTexCoord3s(s: GLshort, t: GLshort, r: GLshort);
}
extern "C" {
    pub fn glTexCoord4d(s: GLdouble, t: GLdouble, r: GLdouble, q: GLdouble);
}
extern "C" {
    pub fn glTexCoord4f(s: GLfloat, t: GLfloat, r: GLfloat, q: GLfloat);
}
extern "C" {
    pub fn glTexCoord4i(s: GLint, t: GLint, r: GLint, q: GLint);
}
extern "C" {
    pub fn glTexCoord4s(s: GLshort, t: GLshort, r: GLshort, q: GLshort);
}
extern "C" {
    pub fn glTexCoord1dv(v: *const GLdouble);
}
extern "C" {
    pub fn glTexCoord1fv(v: *const GLfloat);
}
extern "C" {
    pub fn glTexCoord1iv(v: *const GLint);
}
extern "C" {
    pub fn glTexCoord1sv(v: *const GLshort);
}
extern "C" {
    pub fn glTexCoord2dv(v: *const GLdouble);
}
extern "C" {
    pub fn glTexCoord2fv(v: *const GLfloat);
}
extern "C" {
    pub fn glTexCoord2iv(v: *const GLint);
}
extern "C" {
    pub fn glTexCoord2sv(v: *const GLshort);
}
extern "C" {
    pub fn glTexCoord3dv(v: *const GLdouble);
}
extern "C" {
    pub fn glTexCoord3fv(v: *const GLfloat);
}
extern "C" {
    pub fn glTexCoord3iv(v: *const GLint);
}
extern "C" {
    pub fn glTexCoord3sv(v: *const GLshort);
}
extern "C" {
    pub fn glTexCoord4dv(v: *const GLdouble);
}
extern "C" {
    pub fn glTexCoord4fv(v: *const GLfloat);
}
extern "C" {
    pub fn glTexCoord4iv(v: *const GLint);
}
extern "C" {
    pub fn glTexCoord4sv(v: *const GLshort);
}
extern "C" {
    pub fn glRasterPos2d(x: GLdouble, y: GLdouble);
}
extern "C" {
    pub fn glRasterPos2f(x: GLfloat, y: GLfloat);
}
extern "C" {
    pub fn glRasterPos2i(x: GLint, y: GLint);
}
extern "C" {
    pub fn glRasterPos2s(x: GLshort, y: GLshort);
}
extern "C" {
    pub fn glRasterPos3d(x: GLdouble, y: GLdouble, z: GLdouble);
}
extern "C" {
    pub fn glRasterPos3f(x: GLfloat, y: GLfloat, z: GLfloat);
}
extern "C" {
    pub fn glRasterPos3i(x: GLint, y: GLint, z: GLint);
}
extern "C" {
    pub fn glRasterPos3s(x: GLshort, y: GLshort, z: GLshort);
}
extern "C" {
    pub fn glRasterPos4d(x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble);
}
extern "C" {
    pub fn glRasterPos4f(x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat);
}
extern "C" {
    pub fn glRasterPos4i(x: GLint, y: GLint, z: GLint, w: GLint);
}
extern "C" {
    pub fn glRasterPos4s(x: GLshort, y: GLshort, z: GLshort, w: GLshort);
}
extern "C" {
    pub fn glRasterPos2dv(v: *const GLdouble);
}
extern "C" {
    pub fn glRasterPos2fv(v: *const GLfloat);
}
extern "C" {
    pub fn glRasterPos2iv(v: *const GLint);
}
extern "C" {
    pub fn glRasterPos2sv(v: *const GLshort);
}
extern "C" {
    pub fn glRasterPos3dv(v: *const GLdouble);
}
extern "C" {
    pub fn glRasterPos3fv(v: *const GLfloat);
}
extern "C" {
    pub fn glRasterPos3iv(v: *const GLint);
}
extern "C" {
    pub fn glRasterPos3sv(v: *const GLshort);
}
extern "C" {
    pub fn glRasterPos4dv(v: *const GLdouble);
}
extern "C" {
    pub fn glRasterPos4fv(v: *const GLfloat);
}
extern "C" {
    pub fn glRasterPos4iv(v: *const GLint);
}
extern "C" {
    pub fn glRasterPos4sv(v: *const GLshort);
}
extern "C" {
    pub fn glRectd(x1: GLdouble, y1: GLdouble, x2: GLdouble, y2: GLdouble);
}
extern "C" {
    pub fn glRectf(x1: GLfloat, y1: GLfloat, x2: GLfloat, y2: GLfloat);
}
extern "C" {
    pub fn glRecti(x1: GLint, y1: GLint, x2: GLint, y2: GLint);
}
extern "C" {
    pub fn glRects(x1: GLshort, y1: GLshort, x2: GLshort, y2: GLshort);
}
extern "C" {
    pub fn glRectdv(v1: *const GLdouble, v2: *const GLdouble);
}
extern "C" {
    pub fn glRectfv(v1: *const GLfloat, v2: *const GLfloat);
}
extern "C" {
    pub fn glRectiv(v1: *const GLint, v2: *const GLint);
}
extern "C" {
    pub fn glRectsv(v1: *const GLshort, v2: *const GLshort);
}
extern "C" {
    pub fn glVertexPointer(size: GLint, type_: GLenum, stride: GLsizei, ptr: *const GLvoid);
}
extern "C" {
    pub fn glNormalPointer(type_: GLenum, stride: GLsizei, ptr: *const GLvoid);
}
extern "C" {
    pub fn glColorPointer(size: GLint, type_: GLenum, stride: GLsizei, ptr: *const GLvoid);
}
extern "C" {
    pub fn glIndexPointer(type_: GLenum, stride: GLsizei, ptr: *const GLvoid);
}
extern "C" {
    pub fn glTexCoordPointer(size: GLint, type_: GLenum, stride: GLsizei, ptr: *const GLvoid);
}
extern "C" {
    pub fn glEdgeFlagPointer(stride: GLsizei, ptr: *const GLvoid);
}
extern "C" {
    pub fn glGetPointerv(pname: GLenum, params: *mut *mut GLvoid);
}
extern "C" {
    pub fn glArrayElement(i: GLint);
}
extern "C" {
    pub fn glDrawArrays(mode: GLenum, first: GLint, count: GLsizei);
}
extern "C" {
    pub fn glDrawElements(mode: GLenum, count: GLsizei, type_: GLenum, indices: *const GLvoid);
}
extern "C" {
    pub fn glInterleavedArrays(format: GLenum, stride: GLsizei, pointer: *const GLvoid);
}
extern "C" {
    pub fn glShadeModel(mode: GLenum);
}
extern "C" {
    pub fn glLightf(light: GLenum, pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glLighti(light: GLenum, pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glLightfv(light: GLenum, pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glLightiv(light: GLenum, pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glGetLightfv(light: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetLightiv(light: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glLightModelf(pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glLightModeli(pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glLightModelfv(pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glLightModeliv(pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glMaterialf(face: GLenum, pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glMateriali(face: GLenum, pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glMaterialfv(face: GLenum, pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glMaterialiv(face: GLenum, pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glGetMaterialfv(face: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetMaterialiv(face: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glColorMaterial(face: GLenum, mode: GLenum);
}
extern "C" {
    pub fn glPixelZoom(xfactor: GLfloat, yfactor: GLfloat);
}
extern "C" {
    pub fn glPixelStoref(pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glPixelStorei(pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glPixelTransferf(pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glPixelTransferi(pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glPixelMapfv(map: GLenum, mapsize: GLsizei, values: *const GLfloat);
}
extern "C" {
    pub fn glPixelMapuiv(map: GLenum, mapsize: GLsizei, values: *const GLuint);
}
extern "C" {
    pub fn glPixelMapusv(map: GLenum, mapsize: GLsizei, values: *const GLushort);
}
extern "C" {
    pub fn glGetPixelMapfv(map: GLenum, values: *mut GLfloat);
}
extern "C" {
    pub fn glGetPixelMapuiv(map: GLenum, values: *mut GLuint);
}
extern "C" {
    pub fn glGetPixelMapusv(map: GLenum, values: *mut GLushort);
}
extern "C" {
    pub fn glBitmap(
        width: GLsizei,
        height: GLsizei,
        xorig: GLfloat,
        yorig: GLfloat,
        xmove: GLfloat,
        ymove: GLfloat,
        bitmap: *const GLubyte,
    );
}
extern "C" {
    pub fn glReadPixels(
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *mut GLvoid,
    );
}
extern "C" {
    pub fn glDrawPixels(
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    );
}
extern "C" {
    pub fn glCopyPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, type_: GLenum);
}
extern "C" {
    pub fn glStencilFunc(func: GLenum, ref_: GLint, mask: GLuint);
}
extern "C" {
    pub fn glStencilMask(mask: GLuint);
}
extern "C" {
    pub fn glStencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum);
}
extern "C" {
    pub fn glClearStencil(s: GLint);
}
extern "C" {
    pub fn glTexGend(coord: GLenum, pname: GLenum, param: GLdouble);
}
extern "C" {
    pub fn glTexGenf(coord: GLenum, pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glTexGeni(coord: GLenum, pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glTexGendv(coord: GLenum, pname: GLenum, params: *const GLdouble);
}
extern "C" {
    pub fn glTexGenfv(coord: GLenum, pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glTexGeniv(coord: GLenum, pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glGetTexGendv(coord: GLenum, pname: GLenum, params: *mut GLdouble);
}
extern "C" {
    pub fn glGetTexGenfv(coord: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetTexGeniv(coord: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glTexEnvf(target: GLenum, pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glTexEnvi(target: GLenum, pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glTexEnvfv(target: GLenum, pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glTexEnviv(target: GLenum, pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glGetTexEnvfv(target: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetTexEnviv(target: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glTexParameterf(target: GLenum, pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glTexParameteri(target: GLenum, pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glTexParameterfv(target: GLenum, pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glTexParameteriv(target: GLenum, pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glGetTexParameterfv(target: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetTexParameteriv(target: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glGetTexLevelParameterfv(
        target: GLenum,
        level: GLint,
        pname: GLenum,
        params: *mut GLfloat,
    );
}
extern "C" {
    pub fn glGetTexLevelParameteriv(
        target: GLenum,
        level: GLint,
        pname: GLenum,
        params: *mut GLint,
    );
}
extern "C" {
    pub fn glTexImage1D(
        target: GLenum,
        level: GLint,
        internalFormat: GLint,
        width: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    );
}
extern "C" {
    pub fn glTexImage2D(
        target: GLenum,
        level: GLint,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    );
}
extern "C" {
    pub fn glGetTexImage(
        target: GLenum,
        level: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *mut GLvoid,
    );
}
extern "C" {
    pub fn glGenTextures(n: GLsizei, textures: *mut GLuint);
}
extern "C" {
    pub fn glDeleteTextures(n: GLsizei, textures: *const GLuint);
}
extern "C" {
    pub fn glBindTexture(target: GLenum, texture: GLuint);
}
extern "C" {
    pub fn glPrioritizeTextures(n: GLsizei, textures: *const GLuint, priorities: *const GLclampf);
}
extern "C" {
    pub fn glAreTexturesResident(
        n: GLsizei,
        textures: *const GLuint,
        residences: *mut GLboolean,
    ) -> GLboolean;
}
extern "C" {
    pub fn glIsTexture(texture: GLuint) -> GLboolean;
}
extern "C" {
    pub fn glTexSubImage1D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    );
}
extern "C" {
    pub fn glTexSubImage2D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    );
}
extern "C" {
    pub fn glCopyTexImage1D(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        border: GLint,
    );
}
extern "C" {
    pub fn glCopyTexImage2D(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
    );
}
extern "C" {
    pub fn glCopyTexSubImage1D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
    );
}
extern "C" {
    pub fn glCopyTexSubImage2D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    );
}
extern "C" {
    pub fn glMap1d(
        target: GLenum,
        u1: GLdouble,
        u2: GLdouble,
        stride: GLint,
        order: GLint,
        points: *const GLdouble,
    );
}
extern "C" {
    pub fn glMap1f(
        target: GLenum,
        u1: GLfloat,
        u2: GLfloat,
        stride: GLint,
        order: GLint,
        points: *const GLfloat,
    );
}
extern "C" {
    pub fn glMap2d(
        target: GLenum,
        u1: GLdouble,
        u2: GLdouble,
        ustride: GLint,
        uorder: GLint,
        v1: GLdouble,
        v2: GLdouble,
        vstride: GLint,
        vorder: GLint,
        points: *const GLdouble,
    );
}
extern "C" {
    pub fn glMap2f(
        target: GLenum,
        u1: GLfloat,
        u2: GLfloat,
        ustride: GLint,
        uorder: GLint,
        v1: GLfloat,
        v2: GLfloat,
        vstride: GLint,
        vorder: GLint,
        points: *const GLfloat,
    );
}
extern "C" {
    pub fn glGetMapdv(target: GLenum, query: GLenum, v: *mut GLdouble);
}
extern "C" {
    pub fn glGetMapfv(target: GLenum, query: GLenum, v: *mut GLfloat);
}
extern "C" {
    pub fn glGetMapiv(target: GLenum, query: GLenum, v: *mut GLint);
}
extern "C" {
    pub fn glEvalCoord1d(u: GLdouble);
}
extern "C" {
    pub fn glEvalCoord1f(u: GLfloat);
}
extern "C" {
    pub fn glEvalCoord1dv(u: *const GLdouble);
}
extern "C" {
    pub fn glEvalCoord1fv(u: *const GLfloat);
}
extern "C" {
    pub fn glEvalCoord2d(u: GLdouble, v: GLdouble);
}
extern "C" {
    pub fn glEvalCoord2f(u: GLfloat, v: GLfloat);
}
extern "C" {
    pub fn glEvalCoord2dv(u: *const GLdouble);
}
extern "C" {
    pub fn glEvalCoord2fv(u: *const GLfloat);
}
extern "C" {
    pub fn glMapGrid1d(un: GLint, u1: GLdouble, u2: GLdouble);
}
extern "C" {
    pub fn glMapGrid1f(un: GLint, u1: GLfloat, u2: GLfloat);
}
extern "C" {
    pub fn glMapGrid2d(
        un: GLint,
        u1: GLdouble,
        u2: GLdouble,
        vn: GLint,
        v1: GLdouble,
        v2: GLdouble,
    );
}
extern "C" {
    pub fn glMapGrid2f(un: GLint, u1: GLfloat, u2: GLfloat, vn: GLint, v1: GLfloat, v2: GLfloat);
}
extern "C" {
    pub fn glEvalPoint1(i: GLint);
}
extern "C" {
    pub fn glEvalPoint2(i: GLint, j: GLint);
}
extern "C" {
    pub fn glEvalMesh1(mode: GLenum, i1: GLint, i2: GLint);
}
extern "C" {
    pub fn glEvalMesh2(mode: GLenum, i1: GLint, i2: GLint, j1: GLint, j2: GLint);
}
extern "C" {
    pub fn glFogf(pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glFogi(pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glFogfv(pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glFogiv(pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glFeedbackBuffer(size: GLsizei, type_: GLenum, buffer: *mut GLfloat);
}
extern "C" {
    pub fn glPassThrough(token: GLfloat);
}
extern "C" {
    pub fn glSelectBuffer(size: GLsizei, buffer: *mut GLuint);
}
extern "C" {
    pub fn glInitNames();
}
extern "C" {
    pub fn glLoadName(name: GLuint);
}
extern "C" {
    pub fn glPushName(name: GLuint);
}
extern "C" {
    pub fn glPopName();
}
extern "C" {
    pub fn glDrawRangeElements(
        mode: GLenum,
        start: GLuint,
        end: GLuint,
        count: GLsizei,
        type_: GLenum,
        indices: *const GLvoid,
    );
}
extern "C" {
    pub fn glTexImage3D(
        target: GLenum,
        level: GLint,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    );
}
extern "C" {
    pub fn glTexSubImage3D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    );
}
extern "C" {
    pub fn glCopyTexSubImage3D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    );
}
pub type PFNGLDRAWRANGEELEMENTSPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        start: GLuint,
        end: GLuint,
        count: GLsizei,
        type_: GLenum,
        indices: *const GLvoid,
    ),
>;
pub type PFNGLTEXIMAGE3DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    ),
>;
pub type PFNGLTEXSUBIMAGE3DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    ),
>;
pub type PFNGLCOPYTEXSUBIMAGE3DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
extern "C" {
    pub fn glColorTable(
        target: GLenum,
        internalformat: GLenum,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        table: *const GLvoid,
    );
}
extern "C" {
    pub fn glColorSubTable(
        target: GLenum,
        start: GLsizei,
        count: GLsizei,
        format: GLenum,
        type_: GLenum,
        data: *const GLvoid,
    );
}
extern "C" {
    pub fn glColorTableParameteriv(target: GLenum, pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glColorTableParameterfv(target: GLenum, pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glCopyColorSubTable(target: GLenum, start: GLsizei, x: GLint, y: GLint, width: GLsizei);
}
extern "C" {
    pub fn glCopyColorTable(
        target: GLenum,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
    );
}
extern "C" {
    pub fn glGetColorTable(target: GLenum, format: GLenum, type_: GLenum, table: *mut GLvoid);
}
extern "C" {
    pub fn glGetColorTableParameterfv(target: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetColorTableParameteriv(target: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glBlendEquation(mode: GLenum);
}
extern "C" {
    pub fn glBlendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf);
}
extern "C" {
    pub fn glHistogram(target: GLenum, width: GLsizei, internalformat: GLenum, sink: GLboolean);
}
extern "C" {
    pub fn glResetHistogram(target: GLenum);
}
extern "C" {
    pub fn glGetHistogram(
        target: GLenum,
        reset: GLboolean,
        format: GLenum,
        type_: GLenum,
        values: *mut GLvoid,
    );
}
extern "C" {
    pub fn glGetHistogramParameterfv(target: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetHistogramParameteriv(target: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glMinmax(target: GLenum, internalformat: GLenum, sink: GLboolean);
}
extern "C" {
    pub fn glResetMinmax(target: GLenum);
}
extern "C" {
    pub fn glGetMinmax(
        target: GLenum,
        reset: GLboolean,
        format: GLenum,
        types: GLenum,
        values: *mut GLvoid,
    );
}
extern "C" {
    pub fn glGetMinmaxParameterfv(target: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetMinmaxParameteriv(target: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glConvolutionFilter1D(
        target: GLenum,
        internalformat: GLenum,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        image: *const GLvoid,
    );
}
extern "C" {
    pub fn glConvolutionFilter2D(
        target: GLenum,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        image: *const GLvoid,
    );
}
extern "C" {
    pub fn glConvolutionParameterf(target: GLenum, pname: GLenum, params: GLfloat);
}
extern "C" {
    pub fn glConvolutionParameterfv(target: GLenum, pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glConvolutionParameteri(target: GLenum, pname: GLenum, params: GLint);
}
extern "C" {
    pub fn glConvolutionParameteriv(target: GLenum, pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glCopyConvolutionFilter1D(
        target: GLenum,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
    );
}
extern "C" {
    pub fn glCopyConvolutionFilter2D(
        target: GLenum,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    );
}
extern "C" {
    pub fn glGetConvolutionFilter(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        image: *mut GLvoid,
    );
}
extern "C" {
    pub fn glGetConvolutionParameterfv(target: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetConvolutionParameteriv(target: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glSeparableFilter2D(
        target: GLenum,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        row: *const GLvoid,
        column: *const GLvoid,
    );
}
extern "C" {
    pub fn glGetSeparableFilter(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        row: *mut GLvoid,
        column: *mut GLvoid,
        span: *mut GLvoid,
    );
}
extern "C" {
    pub fn glActiveTexture(texture: GLenum);
}
extern "C" {
    pub fn glClientActiveTexture(texture: GLenum);
}
extern "C" {
    pub fn glCompressedTexImage1D(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const GLvoid,
    );
}
extern "C" {
    pub fn glCompressedTexImage2D(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const GLvoid,
    );
}
extern "C" {
    pub fn glCompressedTexImage3D(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const GLvoid,
    );
}
extern "C" {
    pub fn glCompressedTexSubImage1D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const GLvoid,
    );
}
extern "C" {
    pub fn glCompressedTexSubImage2D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const GLvoid,
    );
}
extern "C" {
    pub fn glCompressedTexSubImage3D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const GLvoid,
    );
}
extern "C" {
    pub fn glGetCompressedTexImage(target: GLenum, lod: GLint, img: *mut GLvoid);
}
extern "C" {
    pub fn glMultiTexCoord1d(target: GLenum, s: GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord1dv(target: GLenum, v: *const GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord1f(target: GLenum, s: GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord1fv(target: GLenum, v: *const GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord1i(target: GLenum, s: GLint);
}
extern "C" {
    pub fn glMultiTexCoord1iv(target: GLenum, v: *const GLint);
}
extern "C" {
    pub fn glMultiTexCoord1s(target: GLenum, s: GLshort);
}
extern "C" {
    pub fn glMultiTexCoord1sv(target: GLenum, v: *const GLshort);
}
extern "C" {
    pub fn glMultiTexCoord2d(target: GLenum, s: GLdouble, t: GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord2dv(target: GLenum, v: *const GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord2f(target: GLenum, s: GLfloat, t: GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord2fv(target: GLenum, v: *const GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord2i(target: GLenum, s: GLint, t: GLint);
}
extern "C" {
    pub fn glMultiTexCoord2iv(target: GLenum, v: *const GLint);
}
extern "C" {
    pub fn glMultiTexCoord2s(target: GLenum, s: GLshort, t: GLshort);
}
extern "C" {
    pub fn glMultiTexCoord2sv(target: GLenum, v: *const GLshort);
}
extern "C" {
    pub fn glMultiTexCoord3d(target: GLenum, s: GLdouble, t: GLdouble, r: GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord3dv(target: GLenum, v: *const GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord3f(target: GLenum, s: GLfloat, t: GLfloat, r: GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord3fv(target: GLenum, v: *const GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord3i(target: GLenum, s: GLint, t: GLint, r: GLint);
}
extern "C" {
    pub fn glMultiTexCoord3iv(target: GLenum, v: *const GLint);
}
extern "C" {
    pub fn glMultiTexCoord3s(target: GLenum, s: GLshort, t: GLshort, r: GLshort);
}
extern "C" {
    pub fn glMultiTexCoord3sv(target: GLenum, v: *const GLshort);
}
extern "C" {
    pub fn glMultiTexCoord4d(target: GLenum, s: GLdouble, t: GLdouble, r: GLdouble, q: GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord4dv(target: GLenum, v: *const GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord4f(target: GLenum, s: GLfloat, t: GLfloat, r: GLfloat, q: GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord4fv(target: GLenum, v: *const GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord4i(target: GLenum, s: GLint, t: GLint, r: GLint, q: GLint);
}
extern "C" {
    pub fn glMultiTexCoord4iv(target: GLenum, v: *const GLint);
}
extern "C" {
    pub fn glMultiTexCoord4s(target: GLenum, s: GLshort, t: GLshort, r: GLshort, q: GLshort);
}
extern "C" {
    pub fn glMultiTexCoord4sv(target: GLenum, v: *const GLshort);
}
extern "C" {
    pub fn glLoadTransposeMatrixd(m: *const GLdouble);
}
extern "C" {
    pub fn glLoadTransposeMatrixf(m: *const GLfloat);
}
extern "C" {
    pub fn glMultTransposeMatrixd(m: *const GLdouble);
}
extern "C" {
    pub fn glMultTransposeMatrixf(m: *const GLfloat);
}
extern "C" {
    pub fn glSampleCoverage(value: GLclampf, invert: GLboolean);
}
pub type PFNGLACTIVETEXTUREPROC = ::core::option::Option<unsafe extern "C" fn(texture: GLenum)>;
pub type PFNGLSAMPLECOVERAGEPROC =
    ::core::option::Option<unsafe extern "C" fn(value: GLclampf, invert: GLboolean)>;
pub type PFNGLCOMPRESSEDTEXIMAGE3DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const GLvoid,
    ),
>;
pub type PFNGLCOMPRESSEDTEXIMAGE2DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const GLvoid,
    ),
>;
pub type PFNGLCOMPRESSEDTEXIMAGE1DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const GLvoid,
    ),
>;
pub type PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const GLvoid,
    ),
>;
pub type PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const GLvoid,
    ),
>;
pub type PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const GLvoid,
    ),
>;
pub type PFNGLGETCOMPRESSEDTEXIMAGEPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, level: GLint, img: *mut GLvoid)>;
extern "C" {
    pub fn glActiveTextureARB(texture: GLenum);
}
extern "C" {
    pub fn glClientActiveTextureARB(texture: GLenum);
}
extern "C" {
    pub fn glMultiTexCoord1dARB(target: GLenum, s: GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord1dvARB(target: GLenum, v: *const GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord1fARB(target: GLenum, s: GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord1fvARB(target: GLenum, v: *const GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord1iARB(target: GLenum, s: GLint);
}
extern "C" {
    pub fn glMultiTexCoord1ivARB(target: GLenum, v: *const GLint);
}
extern "C" {
    pub fn glMultiTexCoord1sARB(target: GLenum, s: GLshort);
}
extern "C" {
    pub fn glMultiTexCoord1svARB(target: GLenum, v: *const GLshort);
}
extern "C" {
    pub fn glMultiTexCoord2dARB(target: GLenum, s: GLdouble, t: GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord2dvARB(target: GLenum, v: *const GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord2fARB(target: GLenum, s: GLfloat, t: GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord2fvARB(target: GLenum, v: *const GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord2iARB(target: GLenum, s: GLint, t: GLint);
}
extern "C" {
    pub fn glMultiTexCoord2ivARB(target: GLenum, v: *const GLint);
}
extern "C" {
    pub fn glMultiTexCoord2sARB(target: GLenum, s: GLshort, t: GLshort);
}
extern "C" {
    pub fn glMultiTexCoord2svARB(target: GLenum, v: *const GLshort);
}
extern "C" {
    pub fn glMultiTexCoord3dARB(target: GLenum, s: GLdouble, t: GLdouble, r: GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord3dvARB(target: GLenum, v: *const GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord3fARB(target: GLenum, s: GLfloat, t: GLfloat, r: GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord3fvARB(target: GLenum, v: *const GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord3iARB(target: GLenum, s: GLint, t: GLint, r: GLint);
}
extern "C" {
    pub fn glMultiTexCoord3ivARB(target: GLenum, v: *const GLint);
}
extern "C" {
    pub fn glMultiTexCoord3sARB(target: GLenum, s: GLshort, t: GLshort, r: GLshort);
}
extern "C" {
    pub fn glMultiTexCoord3svARB(target: GLenum, v: *const GLshort);
}
extern "C" {
    pub fn glMultiTexCoord4dARB(target: GLenum, s: GLdouble, t: GLdouble, r: GLdouble, q: GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord4dvARB(target: GLenum, v: *const GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord4fARB(target: GLenum, s: GLfloat, t: GLfloat, r: GLfloat, q: GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord4fvARB(target: GLenum, v: *const GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord4iARB(target: GLenum, s: GLint, t: GLint, r: GLint, q: GLint);
}
extern "C" {
    pub fn glMultiTexCoord4ivARB(target: GLenum, v: *const GLint);
}
extern "C" {
    pub fn glMultiTexCoord4sARB(target: GLenum, s: GLshort, t: GLshort, r: GLshort, q: GLshort);
}
extern "C" {
    pub fn glMultiTexCoord4svARB(target: GLenum, v: *const GLshort);
}
pub type PFNGLACTIVETEXTUREARBPROC = ::core::option::Option<unsafe extern "C" fn(texture: GLenum)>;
pub type PFNGLCLIENTACTIVETEXTUREARBPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum)>;
pub type PFNGLMULTITEXCOORD1DARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, s: GLdouble)>;
pub type PFNGLMULTITEXCOORD1DVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLdouble)>;
pub type PFNGLMULTITEXCOORD1FARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, s: GLfloat)>;
pub type PFNGLMULTITEXCOORD1FVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLfloat)>;
pub type PFNGLMULTITEXCOORD1IARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, s: GLint)>;
pub type PFNGLMULTITEXCOORD1IVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLint)>;
pub type PFNGLMULTITEXCOORD1SARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, s: GLshort)>;
pub type PFNGLMULTITEXCOORD1SVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLshort)>;
pub type PFNGLMULTITEXCOORD2DARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, s: GLdouble, t: GLdouble)>;
pub type PFNGLMULTITEXCOORD2DVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLdouble)>;
pub type PFNGLMULTITEXCOORD2FARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, s: GLfloat, t: GLfloat)>;
pub type PFNGLMULTITEXCOORD2FVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLfloat)>;
pub type PFNGLMULTITEXCOORD2IARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, s: GLint, t: GLint)>;
pub type PFNGLMULTITEXCOORD2IVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLint)>;
pub type PFNGLMULTITEXCOORD2SARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, s: GLshort, t: GLshort)>;
pub type PFNGLMULTITEXCOORD2SVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLshort)>;
pub type PFNGLMULTITEXCOORD3DARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, s: GLdouble, t: GLdouble, r: GLdouble),
>;
pub type PFNGLMULTITEXCOORD3DVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLdouble)>;
pub type PFNGLMULTITEXCOORD3FARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, s: GLfloat, t: GLfloat, r: GLfloat)>;
pub type PFNGLMULTITEXCOORD3FVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLfloat)>;
pub type PFNGLMULTITEXCOORD3IARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, s: GLint, t: GLint, r: GLint)>;
pub type PFNGLMULTITEXCOORD3IVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLint)>;
pub type PFNGLMULTITEXCOORD3SARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, s: GLshort, t: GLshort, r: GLshort)>;
pub type PFNGLMULTITEXCOORD3SVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLshort)>;
pub type PFNGLMULTITEXCOORD4DARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, s: GLdouble, t: GLdouble, r: GLdouble, q: GLdouble),
>;
pub type PFNGLMULTITEXCOORD4DVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLdouble)>;
pub type PFNGLMULTITEXCOORD4FARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, s: GLfloat, t: GLfloat, r: GLfloat, q: GLfloat),
>;
pub type PFNGLMULTITEXCOORD4FVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLfloat)>;
pub type PFNGLMULTITEXCOORD4IARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, s: GLint, t: GLint, r: GLint, q: GLint),
>;
pub type PFNGLMULTITEXCOORD4IVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLint)>;
pub type PFNGLMULTITEXCOORD4SARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, s: GLshort, t: GLshort, r: GLshort, q: GLshort),
>;
pub type PFNGLMULTITEXCOORD4SVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLshort)>;
pub type __u_char = libc::c_uchar;
pub type __u_short = libc::c_ushort;
pub type __u_int = libc::c_uint;
pub type __u_long = libc::c_ulong;
pub type __int8_t = libc::c_schar;
pub type __uint8_t = libc::c_uchar;
pub type __int16_t = libc::c_short;
pub type __uint16_t = libc::c_ushort;
pub type __int32_t = libc::c_int;
pub type __uint32_t = libc::c_uint;
pub type __int64_t = libc::c_long;
pub type __uint64_t = libc::c_ulong;
pub type __quad_t = libc::c_long;
pub type __u_quad_t = libc::c_ulong;
pub type __intmax_t = libc::c_long;
pub type __uintmax_t = libc::c_ulong;
pub type __dev_t = libc::c_ulong;
pub type __uid_t = libc::c_uint;
pub type __gid_t = libc::c_uint;
pub type __ino_t = libc::c_ulong;
pub type __ino64_t = libc::c_ulong;
pub type __mode_t = libc::c_uint;
pub type __nlink_t = libc::c_ulong;
pub type __off_t = libc::c_long;
pub type __off64_t = libc::c_long;
pub type __pid_t = libc::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __fsid_t {
    pub __val: [libc::c_int; 2usize],
}
#[test]
fn bindgen_test_layout___fsid_t() {
    assert_eq!(
        ::core::mem::size_of::<__fsid_t>(),
        8usize,
        concat!("Size of: ", stringify!(__fsid_t))
    );
    assert_eq!(
        ::core::mem::align_of::<__fsid_t>(),
        4usize,
        concat!("Alignment of ", stringify!(__fsid_t))
    );
    assert_eq!(
        unsafe { &(*(::core::ptr::null::<__fsid_t>())).__val as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__fsid_t),
            "::",
            stringify!(__val)
        )
    );
}
pub type __clock_t = libc::c_long;
pub type __rlim_t = libc::c_ulong;
pub type __rlim64_t = libc::c_ulong;
pub type __id_t = libc::c_uint;
pub type __time_t = libc::c_long;
pub type __useconds_t = libc::c_uint;
pub type __suseconds_t = libc::c_long;
pub type __daddr_t = libc::c_int;
pub type __key_t = libc::c_int;
pub type __clockid_t = libc::c_int;
pub type __timer_t = *mut libc::c_void;
pub type __blksize_t = libc::c_long;
pub type __blkcnt_t = libc::c_long;
pub type __blkcnt64_t = libc::c_long;
pub type __fsblkcnt_t = libc::c_ulong;
pub type __fsblkcnt64_t = libc::c_ulong;
pub type __fsfilcnt_t = libc::c_ulong;
pub type __fsfilcnt64_t = libc::c_ulong;
pub type __fsword_t = libc::c_long;
pub type __ssize_t = libc::c_long;
pub type __syscall_slong_t = libc::c_long;
pub type __syscall_ulong_t = libc::c_ulong;
pub type __loff_t = __off64_t;
pub type __caddr_t = *mut libc::c_char;
pub type __intptr_t = libc::c_long;
pub type __socklen_t = libc::c_uint;
pub type __sig_atomic_t = libc::c_int;
pub type int_least8_t = libc::c_schar;
pub type int_least16_t = libc::c_short;
pub type int_least32_t = libc::c_int;
pub type int_least64_t = libc::c_long;
pub type uint_least8_t = libc::c_uchar;
pub type uint_least16_t = libc::c_ushort;
pub type uint_least32_t = libc::c_uint;
pub type uint_least64_t = libc::c_ulong;
pub type int_fast8_t = libc::c_schar;
pub type int_fast16_t = libc::c_long;
pub type int_fast32_t = libc::c_long;
pub type int_fast64_t = libc::c_long;
pub type uint_fast8_t = libc::c_uchar;
pub type uint_fast16_t = libc::c_ulong;
pub type uint_fast32_t = libc::c_ulong;
pub type uint_fast64_t = libc::c_ulong;
pub type intmax_t = __intmax_t;
pub type uintmax_t = __uintmax_t;
pub type khronos_int32_t = i32;
pub type khronos_uint32_t = u32;
pub type khronos_int64_t = i64;
pub type khronos_uint64_t = u64;
pub type khronos_int8_t = libc::c_schar;
pub type khronos_uint8_t = libc::c_uchar;
pub type khronos_int16_t = libc::c_short;
pub type khronos_uint16_t = libc::c_ushort;
pub type khronos_intptr_t = libc::c_long;
pub type khronos_uintptr_t = libc::c_ulong;
pub type khronos_ssize_t = libc::c_long;
pub type khronos_usize_t = libc::c_ulong;
pub type khronos_float_t = f32;
pub type khronos_utime_nanoseconds_t = khronos_uint64_t;
pub type khronos_stime_nanoseconds_t = khronos_int64_t;
pub const khronos_boolean_enum_t_KHRONOS_FALSE: khronos_boolean_enum_t = 0;
pub const khronos_boolean_enum_t_KHRONOS_TRUE: khronos_boolean_enum_t = 1;
pub const khronos_boolean_enum_t_KHRONOS_BOOLEAN_ENUM_FORCE_SIZE: khronos_boolean_enum_t =
    2147483647;
pub type khronos_boolean_enum_t = u32;
pub type PFNGLBLENDFUNCSEPARATEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        sfactorRGB: GLenum,
        dfactorRGB: GLenum,
        sfactorAlpha: GLenum,
        dfactorAlpha: GLenum,
    ),
>;
pub type PFNGLMULTIDRAWARRAYSPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        first: *const GLint,
        count: *const GLsizei,
        drawcount: GLsizei,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: *const GLsizei,
        type_: GLenum,
        indices: *const *const libc::c_void,
        drawcount: GLsizei,
    ),
>;
pub type PFNGLPOINTPARAMETERFPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLPOINTPARAMETERFVPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
pub type PFNGLPOINTPARAMETERIPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLPOINTPARAMETERIVPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
pub type PFNGLFOGCOORDFPROC = ::core::option::Option<unsafe extern "C" fn(coord: GLfloat)>;
pub type PFNGLFOGCOORDFVPROC = ::core::option::Option<unsafe extern "C" fn(coord: *const GLfloat)>;
pub type PFNGLFOGCOORDDPROC = ::core::option::Option<unsafe extern "C" fn(coord: GLdouble)>;
pub type PFNGLFOGCOORDDVPROC = ::core::option::Option<unsafe extern "C" fn(coord: *const GLdouble)>;
pub type PFNGLFOGCOORDPOINTERPROC = ::core::option::Option<
    unsafe extern "C" fn(type_: GLenum, stride: GLsizei, pointer: *const libc::c_void),
>;
pub type PFNGLSECONDARYCOLOR3BPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLbyte, green: GLbyte, blue: GLbyte)>;
pub type PFNGLSECONDARYCOLOR3BVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLbyte)>;
pub type PFNGLSECONDARYCOLOR3DPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLdouble, green: GLdouble, blue: GLdouble)>;
pub type PFNGLSECONDARYCOLOR3DVPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLSECONDARYCOLOR3FPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat)>;
pub type PFNGLSECONDARYCOLOR3FVPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLSECONDARYCOLOR3IPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLint, green: GLint, blue: GLint)>;
pub type PFNGLSECONDARYCOLOR3IVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLSECONDARYCOLOR3SPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLshort, green: GLshort, blue: GLshort)>;
pub type PFNGLSECONDARYCOLOR3SVPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLSECONDARYCOLOR3UBPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLubyte, green: GLubyte, blue: GLubyte)>;
pub type PFNGLSECONDARYCOLOR3UBVPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLubyte)>;
pub type PFNGLSECONDARYCOLOR3UIPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLuint, green: GLuint, blue: GLuint)>;
pub type PFNGLSECONDARYCOLOR3UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLuint)>;
pub type PFNGLSECONDARYCOLOR3USPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLushort, green: GLushort, blue: GLushort)>;
pub type PFNGLSECONDARYCOLOR3USVPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLushort)>;
pub type PFNGLSECONDARYCOLORPOINTERPROC = ::core::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLWINDOWPOS2DPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble)>;
pub type PFNGLWINDOWPOS2DVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLWINDOWPOS2FPROC = ::core::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat)>;
pub type PFNGLWINDOWPOS2FVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLWINDOWPOS2IPROC = ::core::option::Option<unsafe extern "C" fn(x: GLint, y: GLint)>;
pub type PFNGLWINDOWPOS2IVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLWINDOWPOS2SPROC = ::core::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort)>;
pub type PFNGLWINDOWPOS2SVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLWINDOWPOS3DPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble)>;
pub type PFNGLWINDOWPOS3DVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLWINDOWPOS3FPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLWINDOWPOS3FVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLWINDOWPOS3IPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLint, y: GLint, z: GLint)>;
pub type PFNGLWINDOWPOS3IVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLWINDOWPOS3SPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort)>;
pub type PFNGLWINDOWPOS3SVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLBLENDCOLORPROC = ::core::option::Option<
    unsafe extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat),
>;
pub type PFNGLBLENDEQUATIONPROC = ::core::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type GLsizeiptr = khronos_ssize_t;
pub type GLintptr = khronos_intptr_t;
pub type PFNGLGENQUERIESPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
pub type PFNGLDELETEQUERIESPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *const GLuint)>;
pub type PFNGLISQUERYPROC = ::core::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
pub type PFNGLBEGINQUERYPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint)>;
pub type PFNGLENDQUERYPROC = ::core::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLGETQUERYIVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETQUERYOBJECTIVPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETQUERYOBJECTUIVPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLuint)>;
pub type PFNGLBINDBUFFERPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, buffer: GLuint)>;
pub type PFNGLDELETEBUFFERSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, buffers: *const GLuint)>;
pub type PFNGLGENBUFFERSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, buffers: *mut GLuint)>;
pub type PFNGLISBUFFERPROC =
    ::core::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
pub type PFNGLBUFFERDATAPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        size: GLsizeiptr,
        data: *const libc::c_void,
        usage: GLenum,
    ),
>;
pub type PFNGLBUFFERSUBDATAPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        offset: GLintptr,
        size: GLsizeiptr,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLGETBUFFERSUBDATAPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        offset: GLintptr,
        size: GLsizeiptr,
        data: *mut libc::c_void,
    ),
>;
pub type PFNGLMAPBUFFERPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, access: GLenum) -> *mut libc::c_void,
>;
pub type PFNGLUNMAPBUFFERPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum) -> GLboolean>;
pub type PFNGLGETBUFFERPARAMETERIVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETBUFFERPOINTERVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut *mut libc::c_void),
>;
pub type GLchar = libc::c_char;
pub type PFNGLBLENDEQUATIONSEPARATEPROC =
    ::core::option::Option<unsafe extern "C" fn(modeRGB: GLenum, modeAlpha: GLenum)>;
pub type PFNGLDRAWBUFFERSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, bufs: *const GLenum)>;
pub type PFNGLSTENCILOPSEPARATEPROC = ::core::option::Option<
    unsafe extern "C" fn(face: GLenum, sfail: GLenum, dpfail: GLenum, dppass: GLenum),
>;
pub type PFNGLSTENCILFUNCSEPARATEPROC = ::core::option::Option<
    unsafe extern "C" fn(face: GLenum, func: GLenum, ref_: GLint, mask: GLuint),
>;
pub type PFNGLSTENCILMASKSEPARATEPROC =
    ::core::option::Option<unsafe extern "C" fn(face: GLenum, mask: GLuint)>;
pub type PFNGLATTACHSHADERPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, shader: GLuint)>;
pub type PFNGLBINDATTRIBLOCATIONPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, index: GLuint, name: *const GLchar),
>;
pub type PFNGLCOMPILESHADERPROC = ::core::option::Option<unsafe extern "C" fn(shader: GLuint)>;
pub type PFNGLCREATEPROGRAMPROC = ::core::option::Option<unsafe extern "C" fn() -> GLuint>;
pub type PFNGLCREATESHADERPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum) -> GLuint>;
pub type PFNGLDELETEPROGRAMPROC = ::core::option::Option<unsafe extern "C" fn(program: GLuint)>;
pub type PFNGLDELETESHADERPROC = ::core::option::Option<unsafe extern "C" fn(shader: GLuint)>;
pub type PFNGLDETACHSHADERPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, shader: GLuint)>;
pub type PFNGLDISABLEVERTEXATTRIBARRAYPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint)>;
pub type PFNGLENABLEVERTEXATTRIBARRAYPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint)>;
pub type PFNGLGETACTIVEATTRIBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        index: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        size: *mut GLint,
        type_: *mut GLenum,
        name: *mut GLchar,
    ),
>;
pub type PFNGLGETACTIVEUNIFORMPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        index: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        size: *mut GLint,
        type_: *mut GLenum,
        name: *mut GLchar,
    ),
>;
pub type PFNGLGETATTACHEDSHADERSPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        maxCount: GLsizei,
        count: *mut GLsizei,
        shaders: *mut GLuint,
    ),
>;
pub type PFNGLGETATTRIBLOCATIONPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
pub type PFNGLGETPROGRAMIVPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETPROGRAMINFOLOGPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        infoLog: *mut GLchar,
    ),
>;
pub type PFNGLGETSHADERIVPROC =
    ::core::option::Option<unsafe extern "C" fn(shader: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETSHADERINFOLOGPROC = ::core::option::Option<
    unsafe extern "C" fn(
        shader: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        infoLog: *mut GLchar,
    ),
>;
pub type PFNGLGETSHADERSOURCEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        shader: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        source: *mut GLchar,
    ),
>;
pub type PFNGLGETUNIFORMLOCATIONPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
pub type PFNGLGETUNIFORMFVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLfloat),
>;
pub type PFNGLGETUNIFORMIVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLint),
>;
pub type PFNGLGETVERTEXATTRIBDVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLdouble),
>;
pub type PFNGLGETVERTEXATTRIBFVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETVERTEXATTRIBIVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETVERTEXATTRIBPOINTERVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, pointer: *mut *mut libc::c_void),
>;
pub type PFNGLISPROGRAMPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint) -> GLboolean>;
pub type PFNGLISSHADERPROC =
    ::core::option::Option<unsafe extern "C" fn(shader: GLuint) -> GLboolean>;
pub type PFNGLLINKPROGRAMPROC = ::core::option::Option<unsafe extern "C" fn(program: GLuint)>;
pub type PFNGLSHADERSOURCEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        shader: GLuint,
        count: GLsizei,
        string: *const *const GLchar,
        length: *const GLint,
    ),
>;
pub type PFNGLUSEPROGRAMPROC = ::core::option::Option<unsafe extern "C" fn(program: GLuint)>;
pub type PFNGLUNIFORM1FPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, v0: GLfloat)>;
pub type PFNGLUNIFORM2FPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat)>;
pub type PFNGLUNIFORM3FPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat),
>;
pub type PFNGLUNIFORM4FPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat, v3: GLfloat),
>;
pub type PFNGLUNIFORM1IPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, v0: GLint)>;
pub type PFNGLUNIFORM2IPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint)>;
pub type PFNGLUNIFORM3IPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint, v2: GLint)>;
pub type PFNGLUNIFORM4IPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint, v2: GLint, v3: GLint),
>;
pub type PFNGLUNIFORM1FVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLUNIFORM2FVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLUNIFORM3FVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLUNIFORM4FVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLUNIFORM1IVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLUNIFORM2IVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLUNIFORM3IVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLUNIFORM4IVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLUNIFORMMATRIX2FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX3FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX4FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLVALIDATEPROGRAMPROC = ::core::option::Option<unsafe extern "C" fn(program: GLuint)>;
pub type PFNGLVERTEXATTRIB1DPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble)>;
pub type PFNGLVERTEXATTRIB1DVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB1FPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat)>;
pub type PFNGLVERTEXATTRIB1FVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB1SPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort)>;
pub type PFNGLVERTEXATTRIB1SVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB2DPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble)>;
pub type PFNGLVERTEXATTRIB2DVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB2FPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat)>;
pub type PFNGLVERTEXATTRIB2FVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB2SPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort)>;
pub type PFNGLVERTEXATTRIB2SVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB3DPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLVERTEXATTRIB3DVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB3FPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLVERTEXATTRIB3FVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB3SPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort)>;
pub type PFNGLVERTEXATTRIB3SVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB4NBVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
pub type PFNGLVERTEXATTRIB4NIVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIB4NSVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB4NUBPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLubyte, y: GLubyte, z: GLubyte, w: GLubyte),
>;
pub type PFNGLVERTEXATTRIB4NUBVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
pub type PFNGLVERTEXATTRIB4NUIVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIB4NUSVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
pub type PFNGLVERTEXATTRIB4BVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
pub type PFNGLVERTEXATTRIB4DPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
>;
pub type PFNGLVERTEXATTRIB4DVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB4FPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat),
>;
pub type PFNGLVERTEXATTRIB4FVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB4IVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIB4SPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort, w: GLshort),
>;
pub type PFNGLVERTEXATTRIB4SVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB4UBVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
pub type PFNGLVERTEXATTRIB4UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIB4USVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
pub type PFNGLVERTEXATTRIBPOINTERPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLint,
        type_: GLenum,
        normalized: GLboolean,
        stride: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLUNIFORMMATRIX2X3FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX3X2FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX2X4FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX4X2FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX3X4FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX4X3FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type GLhalf = khronos_uint16_t;
pub type PFNGLCOLORMASKIPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean),
>;
pub type PFNGLGETBOOLEANI_VPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLboolean),
>;
pub type PFNGLGETINTEGERI_VPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLint)>;
pub type PFNGLENABLEIPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
pub type PFNGLDISABLEIPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
pub type PFNGLISENABLEDIPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint) -> GLboolean>;
pub type PFNGLBEGINTRANSFORMFEEDBACKPROC =
    ::core::option::Option<unsafe extern "C" fn(primitiveMode: GLenum)>;
pub type PFNGLENDTRANSFORMFEEDBACKPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLBINDBUFFERRANGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLBINDBUFFERBASEPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint)>;
pub type PFNGLTRANSFORMFEEDBACKVARYINGSPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        count: GLsizei,
        varyings: *const *const GLchar,
        bufferMode: GLenum,
    ),
>;
pub type PFNGLGETTRANSFORMFEEDBACKVARYINGPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        index: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        size: *mut GLsizei,
        type_: *mut GLenum,
        name: *mut GLchar,
    ),
>;
pub type PFNGLCLAMPCOLORPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, clamp: GLenum)>;
pub type PFNGLBEGINCONDITIONALRENDERPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, mode: GLenum)>;
pub type PFNGLENDCONDITIONALRENDERPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLVERTEXATTRIBIPOINTERPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLGETVERTEXATTRIBIIVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETVERTEXATTRIBIUIVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLuint)>;
pub type PFNGLVERTEXATTRIBI1IPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint)>;
pub type PFNGLVERTEXATTRIBI2IPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint)>;
pub type PFNGLVERTEXATTRIBI3IPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint, z: GLint)>;
pub type PFNGLVERTEXATTRIBI4IPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint),
>;
pub type PFNGLVERTEXATTRIBI1UIPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint)>;
pub type PFNGLVERTEXATTRIBI2UIPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint)>;
pub type PFNGLVERTEXATTRIBI3UIPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint, z: GLuint)>;
pub type PFNGLVERTEXATTRIBI4UIPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint),
>;
pub type PFNGLVERTEXATTRIBI1IVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIBI2IVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIBI3IVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIBI4IVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIBI1UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIBI2UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIBI3UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIBI4UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIBI4BVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
pub type PFNGLVERTEXATTRIBI4SVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIBI4UBVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
pub type PFNGLVERTEXATTRIBI4USVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
pub type PFNGLGETUNIFORMUIVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLuint),
>;
pub type PFNGLBINDFRAGDATALOCATIONPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, color: GLuint, name: *const GLchar),
>;
pub type PFNGLGETFRAGDATALOCATIONPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
pub type PFNGLUNIFORM1UIPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, v0: GLuint)>;
pub type PFNGLUNIFORM2UIPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint)>;
pub type PFNGLUNIFORM3UIPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint, v2: GLuint),
>;
pub type PFNGLUNIFORM4UIPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint),
>;
pub type PFNGLUNIFORM1UIVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLUNIFORM2UIVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLUNIFORM3UIVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLUNIFORM4UIVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLTEXPARAMETERIIVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLTEXPARAMETERIUIVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLuint),
>;
pub type PFNGLGETTEXPARAMETERIIVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETTEXPARAMETERIUIVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLuint)>;
pub type PFNGLCLEARBUFFERIVPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLenum, drawbuffer: GLint, value: *const GLint),
>;
pub type PFNGLCLEARBUFFERUIVPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLenum, drawbuffer: GLint, value: *const GLuint),
>;
pub type PFNGLCLEARBUFFERFVPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLenum, drawbuffer: GLint, value: *const GLfloat),
>;
pub type PFNGLCLEARBUFFERFIPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint),
>;
pub type PFNGLGETSTRINGIPROC =
    ::core::option::Option<unsafe extern "C" fn(name: GLenum, index: GLuint) -> *const GLubyte>;
pub type PFNGLISRENDERBUFFERPROC =
    ::core::option::Option<unsafe extern "C" fn(renderbuffer: GLuint) -> GLboolean>;
pub type PFNGLBINDRENDERBUFFERPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, renderbuffer: GLuint)>;
pub type PFNGLDELETERENDERBUFFERSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *const GLuint)>;
pub type PFNGLGENRENDERBUFFERSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *mut GLuint)>;
pub type PFNGLRENDERBUFFERSTORAGEPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei),
>;
pub type PFNGLGETRENDERBUFFERPARAMETERIVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLISFRAMEBUFFERPROC =
    ::core::option::Option<unsafe extern "C" fn(framebuffer: GLuint) -> GLboolean>;
pub type PFNGLBINDFRAMEBUFFERPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, framebuffer: GLuint)>;
pub type PFNGLDELETEFRAMEBUFFERSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *const GLuint)>;
pub type PFNGLGENFRAMEBUFFERSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *mut GLuint)>;
pub type PFNGLCHECKFRAMEBUFFERSTATUSPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum) -> GLenum>;
pub type PFNGLFRAMEBUFFERTEXTURE1DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
    ),
>;
pub type PFNGLFRAMEBUFFERTEXTURE2DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
    ),
>;
pub type PFNGLFRAMEBUFFERTEXTURE3DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
        zoffset: GLint,
    ),
>;
pub type PFNGLFRAMEBUFFERRENDERBUFFERPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        renderbuffertarget: GLenum,
        renderbuffer: GLuint,
    ),
>;
pub type PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, attachment: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGENERATEMIPMAPPROC = ::core::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLBLITFRAMEBUFFERPROC = ::core::option::Option<
    unsafe extern "C" fn(
        srcX0: GLint,
        srcY0: GLint,
        srcX1: GLint,
        srcY1: GLint,
        dstX0: GLint,
        dstY0: GLint,
        dstX1: GLint,
        dstY1: GLint,
        mask: GLbitfield,
        filter: GLenum,
    ),
>;
pub type PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLFRAMEBUFFERTEXTURELAYERPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        layer: GLint,
    ),
>;
pub type PFNGLMAPBUFFERRANGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        offset: GLintptr,
        length: GLsizeiptr,
        access: GLbitfield,
    ) -> *mut libc::c_void,
>;
pub type PFNGLFLUSHMAPPEDBUFFERRANGEPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, offset: GLintptr, length: GLsizeiptr),
>;
pub type PFNGLBINDVERTEXARRAYPROC = ::core::option::Option<unsafe extern "C" fn(array: GLuint)>;
pub type PFNGLDELETEVERTEXARRAYSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *const GLuint)>;
pub type PFNGLGENVERTEXARRAYSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *mut GLuint)>;
pub type PFNGLISVERTEXARRAYPROC =
    ::core::option::Option<unsafe extern "C" fn(array: GLuint) -> GLboolean>;
pub type PFNGLDRAWARRAYSINSTANCEDPROC = ::core::option::Option<
    unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei, instancecount: GLsizei),
>;
pub type PFNGLDRAWELEMENTSINSTANCEDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: GLsizei,
        type_: GLenum,
        indices: *const libc::c_void,
        instancecount: GLsizei,
    ),
>;
pub type PFNGLTEXBUFFERPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, internalformat: GLenum, buffer: GLuint),
>;
pub type PFNGLPRIMITIVERESTARTINDEXPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint)>;
pub type PFNGLCOPYBUFFERSUBDATAPROC = ::core::option::Option<
    unsafe extern "C" fn(
        readTarget: GLenum,
        writeTarget: GLenum,
        readOffset: GLintptr,
        writeOffset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLGETUNIFORMINDICESPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        uniformCount: GLsizei,
        uniformNames: *const *const GLchar,
        uniformIndices: *mut GLuint,
    ),
>;
pub type PFNGLGETACTIVEUNIFORMSIVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        uniformCount: GLsizei,
        uniformIndices: *const GLuint,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLGETACTIVEUNIFORMNAMEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        uniformIndex: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        uniformName: *mut GLchar,
    ),
>;
pub type PFNGLGETUNIFORMBLOCKINDEXPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, uniformBlockName: *const GLchar) -> GLuint,
>;
pub type PFNGLGETACTIVEUNIFORMBLOCKIVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        uniformBlockIndex: GLuint,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        uniformBlockIndex: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        uniformBlockName: *mut GLchar,
    ),
>;
pub type PFNGLUNIFORMBLOCKBINDINGPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __GLsync {
    _unused: [u8; 0],
}
pub type GLsync = *mut __GLsync;
pub type GLuint64 = khronos_uint64_t;
pub type GLint64 = khronos_int64_t;
pub type PFNGLDRAWELEMENTSBASEVERTEXPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: GLsizei,
        type_: GLenum,
        indices: *const libc::c_void,
        basevertex: GLint,
    ),
>;
pub type PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        start: GLuint,
        end: GLuint,
        count: GLsizei,
        type_: GLenum,
        indices: *const libc::c_void,
        basevertex: GLint,
    ),
>;
pub type PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: GLsizei,
        type_: GLenum,
        indices: *const libc::c_void,
        instancecount: GLsizei,
        basevertex: GLint,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: *const GLsizei,
        type_: GLenum,
        indices: *const *const libc::c_void,
        drawcount: GLsizei,
        basevertex: *const GLint,
    ),
>;
pub type PFNGLPROVOKINGVERTEXPROC = ::core::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLFENCESYNCPROC =
    ::core::option::Option<unsafe extern "C" fn(condition: GLenum, flags: GLbitfield) -> GLsync>;
pub type PFNGLISSYNCPROC = ::core::option::Option<unsafe extern "C" fn(sync: GLsync) -> GLboolean>;
pub type PFNGLDELETESYNCPROC = ::core::option::Option<unsafe extern "C" fn(sync: GLsync)>;
pub type PFNGLCLIENTWAITSYNCPROC = ::core::option::Option<
    unsafe extern "C" fn(sync: GLsync, flags: GLbitfield, timeout: GLuint64) -> GLenum,
>;
pub type PFNGLWAITSYNCPROC =
    ::core::option::Option<unsafe extern "C" fn(sync: GLsync, flags: GLbitfield, timeout: GLuint64)>;
pub type PFNGLGETINTEGER64VPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, data: *mut GLint64)>;
pub type PFNGLGETSYNCIVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        sync: GLsync,
        pname: GLenum,
        bufSize: GLsizei,
        length: *mut GLsizei,
        values: *mut GLint,
    ),
>;
pub type PFNGLGETINTEGER64I_VPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLint64)>;
pub type PFNGLGETBUFFERPARAMETERI64VPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint64),
>;
pub type PFNGLFRAMEBUFFERTEXTUREPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, attachment: GLenum, texture: GLuint, level: GLint),
>;
pub type PFNGLTEXIMAGE2DMULTISAMPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        fixedsamplelocations: GLboolean,
    ),
>;
pub type PFNGLTEXIMAGE3DMULTISAMPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedsamplelocations: GLboolean,
    ),
>;
pub type PFNGLGETMULTISAMPLEFVPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, index: GLuint, val: *mut GLfloat)>;
pub type PFNGLSAMPLEMASKIPROC =
    ::core::option::Option<unsafe extern "C" fn(maskNumber: GLuint, mask: GLbitfield)>;
pub type PFNGLBINDFRAGDATALOCATIONINDEXEDPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, colorNumber: GLuint, index: GLuint, name: *const GLchar),
>;
pub type PFNGLGETFRAGDATAINDEXPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
pub type PFNGLGENSAMPLERSPROC =
    ::core::option::Option<unsafe extern "C" fn(count: GLsizei, samplers: *mut GLuint)>;
pub type PFNGLDELETESAMPLERSPROC =
    ::core::option::Option<unsafe extern "C" fn(count: GLsizei, samplers: *const GLuint)>;
pub type PFNGLISSAMPLERPROC =
    ::core::option::Option<unsafe extern "C" fn(sampler: GLuint) -> GLboolean>;
pub type PFNGLBINDSAMPLERPROC =
    ::core::option::Option<unsafe extern "C" fn(unit: GLuint, sampler: GLuint)>;
pub type PFNGLSAMPLERPARAMETERIPROC =
    ::core::option::Option<unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: GLint)>;
pub type PFNGLSAMPLERPARAMETERIVPROC = ::core::option::Option<
    unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLint),
>;
pub type PFNGLSAMPLERPARAMETERFPROC =
    ::core::option::Option<unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: GLfloat)>;
pub type PFNGLSAMPLERPARAMETERFVPROC = ::core::option::Option<
    unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLfloat),
>;
pub type PFNGLSAMPLERPARAMETERIIVPROC = ::core::option::Option<
    unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLint),
>;
pub type PFNGLSAMPLERPARAMETERIUIVPROC = ::core::option::Option<
    unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLuint),
>;
pub type PFNGLGETSAMPLERPARAMETERIVPROC =
    ::core::option::Option<unsafe extern "C" fn(sampler: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETSAMPLERPARAMETERIIVPROC =
    ::core::option::Option<unsafe extern "C" fn(sampler: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETSAMPLERPARAMETERFVPROC = ::core::option::Option<
    unsafe extern "C" fn(sampler: GLuint, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETSAMPLERPARAMETERIUIVPROC = ::core::option::Option<
    unsafe extern "C" fn(sampler: GLuint, pname: GLenum, params: *mut GLuint),
>;
pub type PFNGLQUERYCOUNTERPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, target: GLenum)>;
pub type PFNGLGETQUERYOBJECTI64VPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint64)>;
pub type PFNGLGETQUERYOBJECTUI64VPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLuint64)>;
pub type PFNGLVERTEXATTRIBDIVISORPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, divisor: GLuint)>;
pub type PFNGLVERTEXATTRIBP1UIPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint),
>;
pub type PFNGLVERTEXATTRIBP1UIVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: *const GLuint),
>;
pub type PFNGLVERTEXATTRIBP2UIPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint),
>;
pub type PFNGLVERTEXATTRIBP2UIVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: *const GLuint),
>;
pub type PFNGLVERTEXATTRIBP3UIPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint),
>;
pub type PFNGLVERTEXATTRIBP3UIVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: *const GLuint),
>;
pub type PFNGLVERTEXATTRIBP4UIPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint),
>;
pub type PFNGLVERTEXATTRIBP4UIVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: *const GLuint),
>;
pub type PFNGLVERTEXP2UIPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, value: GLuint)>;
pub type PFNGLVERTEXP2UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, value: *const GLuint)>;
pub type PFNGLVERTEXP3UIPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, value: GLuint)>;
pub type PFNGLVERTEXP3UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, value: *const GLuint)>;
pub type PFNGLVERTEXP4UIPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, value: GLuint)>;
pub type PFNGLVERTEXP4UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, value: *const GLuint)>;
pub type PFNGLTEXCOORDP1UIPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, coords: GLuint)>;
pub type PFNGLTEXCOORDP1UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, coords: *const GLuint)>;
pub type PFNGLTEXCOORDP2UIPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, coords: GLuint)>;
pub type PFNGLTEXCOORDP2UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, coords: *const GLuint)>;
pub type PFNGLTEXCOORDP3UIPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, coords: GLuint)>;
pub type PFNGLTEXCOORDP3UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, coords: *const GLuint)>;
pub type PFNGLTEXCOORDP4UIPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, coords: GLuint)>;
pub type PFNGLTEXCOORDP4UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, coords: *const GLuint)>;
pub type PFNGLMULTITEXCOORDP1UIPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: GLuint)>;
pub type PFNGLMULTITEXCOORDP1UIVPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: *const GLuint),
>;
pub type PFNGLMULTITEXCOORDP2UIPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: GLuint)>;
pub type PFNGLMULTITEXCOORDP2UIVPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: *const GLuint),
>;
pub type PFNGLMULTITEXCOORDP3UIPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: GLuint)>;
pub type PFNGLMULTITEXCOORDP3UIVPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: *const GLuint),
>;
pub type PFNGLMULTITEXCOORDP4UIPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: GLuint)>;
pub type PFNGLMULTITEXCOORDP4UIVPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: *const GLuint),
>;
pub type PFNGLNORMALP3UIPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, coords: GLuint)>;
pub type PFNGLNORMALP3UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, coords: *const GLuint)>;
pub type PFNGLCOLORP3UIPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, color: GLuint)>;
pub type PFNGLCOLORP3UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, color: *const GLuint)>;
pub type PFNGLCOLORP4UIPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, color: GLuint)>;
pub type PFNGLCOLORP4UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, color: *const GLuint)>;
pub type PFNGLSECONDARYCOLORP3UIPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, color: GLuint)>;
pub type PFNGLSECONDARYCOLORP3UIVPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, color: *const GLuint)>;
pub type PFNGLMINSAMPLESHADINGPROC = ::core::option::Option<unsafe extern "C" fn(value: GLfloat)>;
pub type PFNGLBLENDEQUATIONIPROC =
    ::core::option::Option<unsafe extern "C" fn(buf: GLuint, mode: GLenum)>;
pub type PFNGLBLENDEQUATIONSEPARATEIPROC =
    ::core::option::Option<unsafe extern "C" fn(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum)>;
pub type PFNGLBLENDFUNCIPROC =
    ::core::option::Option<unsafe extern "C" fn(buf: GLuint, src: GLenum, dst: GLenum)>;
pub type PFNGLBLENDFUNCSEPARATEIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buf: GLuint,
        srcRGB: GLenum,
        dstRGB: GLenum,
        srcAlpha: GLenum,
        dstAlpha: GLenum,
    ),
>;
pub type PFNGLDRAWARRAYSINDIRECTPROC = ::core::option::Option<
    unsafe extern "C" fn(mode: GLenum, indirect: *const libc::c_void),
>;
pub type PFNGLDRAWELEMENTSINDIRECTPROC = ::core::option::Option<
    unsafe extern "C" fn(mode: GLenum, type_: GLenum, indirect: *const libc::c_void),
>;
pub type PFNGLUNIFORM1DPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, x: GLdouble)>;
pub type PFNGLUNIFORM2DPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, x: GLdouble, y: GLdouble)>;
pub type PFNGLUNIFORM3DPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLUNIFORM4DPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
>;
pub type PFNGLUNIFORM1DVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLUNIFORM2DVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLUNIFORM3DVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLUNIFORM4DVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLUNIFORMMATRIX2DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLUNIFORMMATRIX3DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLUNIFORMMATRIX4DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLUNIFORMMATRIX2X3DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLUNIFORMMATRIX2X4DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLUNIFORMMATRIX3X2DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLUNIFORMMATRIX3X4DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLUNIFORMMATRIX4X2DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLUNIFORMMATRIX4X3DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLGETUNIFORMDVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLdouble),
>;
pub type PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, shadertype: GLenum, name: *const GLchar) -> GLint,
>;
pub type PFNGLGETSUBROUTINEINDEXPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, shadertype: GLenum, name: *const GLchar) -> GLuint,
>;
pub type PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        shadertype: GLenum,
        index: GLuint,
        pname: GLenum,
        values: *mut GLint,
    ),
>;
pub type PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        shadertype: GLenum,
        index: GLuint,
        bufsize: GLsizei,
        length: *mut GLsizei,
        name: *mut GLchar,
    ),
>;
pub type PFNGLGETACTIVESUBROUTINENAMEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        shadertype: GLenum,
        index: GLuint,
        bufsize: GLsizei,
        length: *mut GLsizei,
        name: *mut GLchar,
    ),
>;
pub type PFNGLUNIFORMSUBROUTINESUIVPROC = ::core::option::Option<
    unsafe extern "C" fn(shadertype: GLenum, count: GLsizei, indices: *const GLuint),
>;
pub type PFNGLGETUNIFORMSUBROUTINEUIVPROC = ::core::option::Option<
    unsafe extern "C" fn(shadertype: GLenum, location: GLint, params: *mut GLuint),
>;
pub type PFNGLGETPROGRAMSTAGEIVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, shadertype: GLenum, pname: GLenum, values: *mut GLint),
>;
pub type PFNGLPATCHPARAMETERIPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, value: GLint)>;
pub type PFNGLPATCHPARAMETERFVPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, values: *const GLfloat)>;
pub type PFNGLBINDTRANSFORMFEEDBACKPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint)>;
pub type PFNGLDELETETRANSFORMFEEDBACKSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *const GLuint)>;
pub type PFNGLGENTRANSFORMFEEDBACKSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
pub type PFNGLISTRANSFORMFEEDBACKPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
pub type PFNGLPAUSETRANSFORMFEEDBACKPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLRESUMETRANSFORMFEEDBACKPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLDRAWTRANSFORMFEEDBACKPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, id: GLuint)>;
pub type PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, id: GLuint, stream: GLuint)>;
pub type PFNGLBEGINQUERYINDEXEDPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, id: GLuint)>;
pub type PFNGLENDQUERYINDEXEDPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
pub type PFNGLGETQUERYINDEXEDIVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLRELEASESHADERCOMPILERPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLSHADERBINARYPROC = ::core::option::Option<
    unsafe extern "C" fn(
        count: GLsizei,
        shaders: *const GLuint,
        binaryformat: GLenum,
        binary: *const libc::c_void,
        length: GLsizei,
    ),
>;
pub type PFNGLGETSHADERPRECISIONFORMATPROC = ::core::option::Option<
    unsafe extern "C" fn(
        shadertype: GLenum,
        precisiontype: GLenum,
        range: *mut GLint,
        precision: *mut GLint,
    ),
>;
pub type PFNGLDEPTHRANGEFPROC = ::core::option::Option<unsafe extern "C" fn(n: GLfloat, f: GLfloat)>;
pub type PFNGLCLEARDEPTHFPROC = ::core::option::Option<unsafe extern "C" fn(d: GLfloat)>;
pub type PFNGLGETPROGRAMBINARYPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        binaryFormat: *mut GLenum,
        binary: *mut libc::c_void,
    ),
>;
pub type PFNGLPROGRAMBINARYPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        binaryFormat: GLenum,
        binary: *const libc::c_void,
        length: GLsizei,
    ),
>;
pub type PFNGLPROGRAMPARAMETERIPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, pname: GLenum, value: GLint)>;
pub type PFNGLUSEPROGRAMSTAGESPROC = ::core::option::Option<
    unsafe extern "C" fn(pipeline: GLuint, stages: GLbitfield, program: GLuint),
>;
pub type PFNGLACTIVESHADERPROGRAMPROC =
    ::core::option::Option<unsafe extern "C" fn(pipeline: GLuint, program: GLuint)>;
pub type PFNGLCREATESHADERPROGRAMVPROC = ::core::option::Option<
    unsafe extern "C" fn(type_: GLenum, count: GLsizei, strings: *const *const GLchar) -> GLuint,
>;
pub type PFNGLBINDPROGRAMPIPELINEPROC =
    ::core::option::Option<unsafe extern "C" fn(pipeline: GLuint)>;
pub type PFNGLDELETEPROGRAMPIPELINESPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, pipelines: *const GLuint)>;
pub type PFNGLGENPROGRAMPIPELINESPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, pipelines: *mut GLuint)>;
pub type PFNGLISPROGRAMPIPELINEPROC =
    ::core::option::Option<unsafe extern "C" fn(pipeline: GLuint) -> GLboolean>;
pub type PFNGLGETPROGRAMPIPELINEIVPROC = ::core::option::Option<
    unsafe extern "C" fn(pipeline: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLPROGRAMUNIFORM1IPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint)>;
pub type PFNGLPROGRAMUNIFORM1IVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLPROGRAMUNIFORM1FPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLfloat)>;
pub type PFNGLPROGRAMUNIFORM1FVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM1DPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLdouble)>;
pub type PFNGLPROGRAMUNIFORM1DVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM1UIPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint)>;
pub type PFNGLPROGRAMUNIFORM1UIVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLPROGRAMUNIFORM2IPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint, v1: GLint),
>;
pub type PFNGLPROGRAMUNIFORM2IVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLPROGRAMUNIFORM2FPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLfloat, v1: GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM2FVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM2DPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLdouble, v1: GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM2DVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM2UIPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint, v1: GLuint),
>;
pub type PFNGLPROGRAMUNIFORM2UIVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLPROGRAMUNIFORM3IPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint, v1: GLint, v2: GLint),
>;
pub type PFNGLPROGRAMUNIFORM3IVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLPROGRAMUNIFORM3FPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM3FVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM3DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        v0: GLdouble,
        v1: GLdouble,
        v2: GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORM3DVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM3UIPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint, v1: GLuint, v2: GLuint),
>;
pub type PFNGLPROGRAMUNIFORM3UIVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLPROGRAMUNIFORM4IPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        v0: GLint,
        v1: GLint,
        v2: GLint,
        v3: GLint,
    ),
>;
pub type PFNGLPROGRAMUNIFORM4IVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLPROGRAMUNIFORM4FPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        v0: GLfloat,
        v1: GLfloat,
        v2: GLfloat,
        v3: GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORM4FVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM4DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        v0: GLdouble,
        v1: GLdouble,
        v2: GLdouble,
        v3: GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORM4DVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM4UIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        v0: GLuint,
        v1: GLuint,
        v2: GLuint,
        v3: GLuint,
    ),
>;
pub type PFNGLPROGRAMUNIFORM4UIVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLVALIDATEPROGRAMPIPELINEPROC =
    ::core::option::Option<unsafe extern "C" fn(pipeline: GLuint)>;
pub type PFNGLGETPROGRAMPIPELINEINFOLOGPROC = ::core::option::Option<
    unsafe extern "C" fn(
        pipeline: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        infoLog: *mut GLchar,
    ),
>;
pub type PFNGLVERTEXATTRIBL1DPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble)>;
pub type PFNGLVERTEXATTRIBL2DPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble)>;
pub type PFNGLVERTEXATTRIBL3DPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLVERTEXATTRIBL4DPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
>;
pub type PFNGLVERTEXATTRIBL1DVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBL2DVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBL3DVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBL4DVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBLPOINTERPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLGETVERTEXATTRIBLDVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLdouble),
>;
pub type PFNGLVIEWPORTARRAYVPROC =
    ::core::option::Option<unsafe extern "C" fn(first: GLuint, count: GLsizei, v: *const GLfloat)>;
pub type PFNGLVIEWPORTINDEXEDFPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, w: GLfloat, h: GLfloat),
>;
pub type PFNGLVIEWPORTINDEXEDFVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLSCISSORARRAYVPROC =
    ::core::option::Option<unsafe extern "C" fn(first: GLuint, count: GLsizei, v: *const GLint)>;
pub type PFNGLSCISSORINDEXEDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        left: GLint,
        bottom: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLSCISSORINDEXEDVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLDEPTHRANGEARRAYVPROC =
    ::core::option::Option<unsafe extern "C" fn(first: GLuint, count: GLsizei, v: *const GLdouble)>;
pub type PFNGLDEPTHRANGEINDEXEDPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, n: GLdouble, f: GLdouble)>;
pub type PFNGLGETFLOATI_VPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLfloat)>;
pub type PFNGLGETDOUBLEI_VPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLdouble)>;
pub type PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        first: GLint,
        count: GLsizei,
        instancecount: GLsizei,
        baseinstance: GLuint,
    ),
>;
pub type PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: GLsizei,
        type_: GLenum,
        indices: *const libc::c_void,
        instancecount: GLsizei,
        baseinstance: GLuint,
    ),
>;
pub type PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: GLsizei,
        type_: GLenum,
        indices: *const libc::c_void,
        instancecount: GLsizei,
        basevertex: GLint,
        baseinstance: GLuint,
    ),
>;
pub type PFNGLGETINTERNALFORMATIVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        pname: GLenum,
        bufSize: GLsizei,
        params: *mut GLint,
    ),
>;
pub type PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, bufferIndex: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLBINDIMAGETEXTUREPROC = ::core::option::Option<
    unsafe extern "C" fn(
        unit: GLuint,
        texture: GLuint,
        level: GLint,
        layered: GLboolean,
        layer: GLint,
        access: GLenum,
        format: GLenum,
    ),
>;
pub type PFNGLMEMORYBARRIERPROC = ::core::option::Option<unsafe extern "C" fn(barriers: GLbitfield)>;
pub type PFNGLTEXSTORAGE1DPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei),
>;
pub type PFNGLTEXSTORAGE2DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        levels: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLTEXSTORAGE3DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        levels: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
    ),
>;
pub type PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, id: GLuint, instancecount: GLsizei)>;
pub type PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC = ::core::option::Option<
    unsafe extern "C" fn(mode: GLenum, id: GLuint, stream: GLuint, instancecount: GLsizei),
>;
pub type GLDEBUGPROC = ::core::option::Option<
    unsafe extern "C" fn(
        source: GLenum,
        type_: GLenum,
        id: GLuint,
        severity: GLenum,
        length: GLsizei,
        message: *const GLchar,
        userParam: *const libc::c_void,
    ),
>;
pub type PFNGLCLEARBUFFERDATAPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        format: GLenum,
        type_: GLenum,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLCLEARBUFFERSUBDATAPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        offset: GLintptr,
        size: GLsizeiptr,
        format: GLenum,
        type_: GLenum,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLDISPATCHCOMPUTEPROC = ::core::option::Option<
    unsafe extern "C" fn(num_groups_x: GLuint, num_groups_y: GLuint, num_groups_z: GLuint),
>;
pub type PFNGLDISPATCHCOMPUTEINDIRECTPROC =
    ::core::option::Option<unsafe extern "C" fn(indirect: GLintptr)>;
pub type PFNGLCOPYIMAGESUBDATAPROC = ::core::option::Option<
    unsafe extern "C" fn(
        srcName: GLuint,
        srcTarget: GLenum,
        srcLevel: GLint,
        srcX: GLint,
        srcY: GLint,
        srcZ: GLint,
        dstName: GLuint,
        dstTarget: GLenum,
        dstLevel: GLint,
        dstX: GLint,
        dstY: GLint,
        dstZ: GLint,
        srcWidth: GLsizei,
        srcHeight: GLsizei,
        srcDepth: GLsizei,
    ),
>;
pub type PFNGLFRAMEBUFFERPARAMETERIPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLint)>;
pub type PFNGLGETFRAMEBUFFERPARAMETERIVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETINTERNALFORMATI64VPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        pname: GLenum,
        bufSize: GLsizei,
        params: *mut GLint64,
    ),
>;
pub type PFNGLINVALIDATETEXSUBIMAGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
    ),
>;
pub type PFNGLINVALIDATETEXIMAGEPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLuint, level: GLint)>;
pub type PFNGLINVALIDATEBUFFERSUBDATAPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLuint, offset: GLintptr, length: GLsizeiptr),
>;
pub type PFNGLINVALIDATEBUFFERDATAPROC =
    ::core::option::Option<unsafe extern "C" fn(buffer: GLuint)>;
pub type PFNGLINVALIDATEFRAMEBUFFERPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, numAttachments: GLsizei, attachments: *const GLenum),
>;
pub type PFNGLINVALIDATESUBFRAMEBUFFERPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        numAttachments: GLsizei,
        attachments: *const GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLMULTIDRAWARRAYSINDIRECTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        indirect: *const libc::c_void,
        drawcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSINDIRECTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        type_: GLenum,
        indirect: *const libc::c_void,
        drawcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLGETPROGRAMINTERFACEIVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        programInterface: GLenum,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLGETPROGRAMRESOURCEINDEXPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, programInterface: GLenum, name: *const GLchar) -> GLuint,
>;
pub type PFNGLGETPROGRAMRESOURCENAMEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        programInterface: GLenum,
        index: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        name: *mut GLchar,
    ),
>;
pub type PFNGLGETPROGRAMRESOURCEIVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        programInterface: GLenum,
        index: GLuint,
        propCount: GLsizei,
        props: *const GLenum,
        bufSize: GLsizei,
        length: *mut GLsizei,
        params: *mut GLint,
    ),
>;
pub type PFNGLGETPROGRAMRESOURCELOCATIONPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, programInterface: GLenum, name: *const GLchar) -> GLint,
>;
pub type PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, programInterface: GLenum, name: *const GLchar) -> GLint,
>;
pub type PFNGLSHADERSTORAGEBLOCKBINDINGPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, storageBlockIndex: GLuint, storageBlockBinding: GLuint),
>;
pub type PFNGLTEXBUFFERRANGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLTEXSTORAGE2DMULTISAMPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        fixedsamplelocations: GLboolean,
    ),
>;
pub type PFNGLTEXSTORAGE3DMULTISAMPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedsamplelocations: GLboolean,
    ),
>;
pub type PFNGLTEXTUREVIEWPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        origtexture: GLuint,
        internalformat: GLenum,
        minlevel: GLuint,
        numlevels: GLuint,
        minlayer: GLuint,
        numlayers: GLuint,
    ),
>;
pub type PFNGLBINDVERTEXBUFFERPROC = ::core::option::Option<
    unsafe extern "C" fn(bindingindex: GLuint, buffer: GLuint, offset: GLintptr, stride: GLsizei),
>;
pub type PFNGLVERTEXATTRIBFORMATPROC = ::core::option::Option<
    unsafe extern "C" fn(
        attribindex: GLuint,
        size: GLint,
        type_: GLenum,
        normalized: GLboolean,
        relativeoffset: GLuint,
    ),
>;
pub type PFNGLVERTEXATTRIBIFORMATPROC = ::core::option::Option<
    unsafe extern "C" fn(attribindex: GLuint, size: GLint, type_: GLenum, relativeoffset: GLuint),
>;
pub type PFNGLVERTEXATTRIBLFORMATPROC = ::core::option::Option<
    unsafe extern "C" fn(attribindex: GLuint, size: GLint, type_: GLenum, relativeoffset: GLuint),
>;
pub type PFNGLVERTEXATTRIBBINDINGPROC =
    ::core::option::Option<unsafe extern "C" fn(attribindex: GLuint, bindingindex: GLuint)>;
pub type PFNGLVERTEXBINDINGDIVISORPROC =
    ::core::option::Option<unsafe extern "C" fn(bindingindex: GLuint, divisor: GLuint)>;
pub type PFNGLDEBUGMESSAGECONTROLPROC = ::core::option::Option<
    unsafe extern "C" fn(
        source: GLenum,
        type_: GLenum,
        severity: GLenum,
        count: GLsizei,
        ids: *const GLuint,
        enabled: GLboolean,
    ),
>;
pub type PFNGLDEBUGMESSAGEINSERTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        source: GLenum,
        type_: GLenum,
        id: GLuint,
        severity: GLenum,
        length: GLsizei,
        buf: *const GLchar,
    ),
>;
pub type PFNGLDEBUGMESSAGECALLBACKPROC = ::core::option::Option<
    unsafe extern "C" fn(callback: GLDEBUGPROC, userParam: *const libc::c_void),
>;
pub type PFNGLGETDEBUGMESSAGELOGPROC = ::core::option::Option<
    unsafe extern "C" fn(
        count: GLuint,
        bufSize: GLsizei,
        sources: *mut GLenum,
        types: *mut GLenum,
        ids: *mut GLuint,
        severities: *mut GLenum,
        lengths: *mut GLsizei,
        messageLog: *mut GLchar,
    ) -> GLuint,
>;
pub type PFNGLPUSHDEBUGGROUPPROC = ::core::option::Option<
    unsafe extern "C" fn(source: GLenum, id: GLuint, length: GLsizei, message: *const GLchar),
>;
pub type PFNGLPOPDEBUGGROUPPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLOBJECTLABELPROC = ::core::option::Option<
    unsafe extern "C" fn(identifier: GLenum, name: GLuint, length: GLsizei, label: *const GLchar),
>;
pub type PFNGLGETOBJECTLABELPROC = ::core::option::Option<
    unsafe extern "C" fn(
        identifier: GLenum,
        name: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        label: *mut GLchar,
    ),
>;
pub type PFNGLOBJECTPTRLABELPROC = ::core::option::Option<
    unsafe extern "C" fn(ptr: *const libc::c_void, length: GLsizei, label: *const GLchar),
>;
pub type PFNGLGETOBJECTPTRLABELPROC = ::core::option::Option<
    unsafe extern "C" fn(
        ptr: *const libc::c_void,
        bufSize: GLsizei,
        length: *mut GLsizei,
        label: *mut GLchar,
    ),
>;
pub type PFNGLBUFFERSTORAGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        size: GLsizeiptr,
        data: *const libc::c_void,
        flags: GLbitfield,
    ),
>;
pub type PFNGLCLEARTEXIMAGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        format: GLenum,
        type_: GLenum,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLCLEARTEXSUBIMAGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLBINDBUFFERSBASEPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, first: GLuint, count: GLsizei, buffers: *const GLuint),
>;
pub type PFNGLBINDBUFFERSRANGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        first: GLuint,
        count: GLsizei,
        buffers: *const GLuint,
        offsets: *const GLintptr,
        sizes: *const GLsizeiptr,
    ),
>;
pub type PFNGLBINDTEXTURESPROC = ::core::option::Option<
    unsafe extern "C" fn(first: GLuint, count: GLsizei, textures: *const GLuint),
>;
pub type PFNGLBINDSAMPLERSPROC = ::core::option::Option<
    unsafe extern "C" fn(first: GLuint, count: GLsizei, samplers: *const GLuint),
>;
pub type PFNGLBINDIMAGETEXTURESPROC = ::core::option::Option<
    unsafe extern "C" fn(first: GLuint, count: GLsizei, textures: *const GLuint),
>;
pub type PFNGLBINDVERTEXBUFFERSPROC = ::core::option::Option<
    unsafe extern "C" fn(
        first: GLuint,
        count: GLsizei,
        buffers: *const GLuint,
        offsets: *const GLintptr,
        strides: *const GLsizei,
    ),
>;
pub type PFNGLCLIPCONTROLPROC =
    ::core::option::Option<unsafe extern "C" fn(origin: GLenum, depth: GLenum)>;
pub type PFNGLCREATETRANSFORMFEEDBACKSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
pub type PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC =
    ::core::option::Option<unsafe extern "C" fn(xfb: GLuint, index: GLuint, buffer: GLuint)>;
pub type PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        xfb: GLuint,
        index: GLuint,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLGETTRANSFORMFEEDBACKIVPROC =
    ::core::option::Option<unsafe extern "C" fn(xfb: GLuint, pname: GLenum, param: *mut GLint)>;
pub type PFNGLGETTRANSFORMFEEDBACKI_VPROC = ::core::option::Option<
    unsafe extern "C" fn(xfb: GLuint, pname: GLenum, index: GLuint, param: *mut GLint),
>;
pub type PFNGLGETTRANSFORMFEEDBACKI64_VPROC = ::core::option::Option<
    unsafe extern "C" fn(xfb: GLuint, pname: GLenum, index: GLuint, param: *mut GLint64),
>;
pub type PFNGLCREATEBUFFERSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, buffers: *mut GLuint)>;
pub type PFNGLNAMEDBUFFERSTORAGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        size: GLsizeiptr,
        data: *const libc::c_void,
        flags: GLbitfield,
    ),
>;
pub type PFNGLNAMEDBUFFERDATAPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        size: GLsizeiptr,
        data: *const libc::c_void,
        usage: GLenum,
    ),
>;
pub type PFNGLNAMEDBUFFERSUBDATAPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLCOPYNAMEDBUFFERSUBDATAPROC = ::core::option::Option<
    unsafe extern "C" fn(
        readBuffer: GLuint,
        writeBuffer: GLuint,
        readOffset: GLintptr,
        writeOffset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLCLEARNAMEDBUFFERDATAPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        internalformat: GLenum,
        format: GLenum,
        type_: GLenum,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLCLEARNAMEDBUFFERSUBDATAPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        internalformat: GLenum,
        offset: GLintptr,
        size: GLsizeiptr,
        format: GLenum,
        type_: GLenum,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLMAPNAMEDBUFFERPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLuint, access: GLenum) -> *mut libc::c_void,
>;
pub type PFNGLMAPNAMEDBUFFERRANGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        offset: GLintptr,
        length: GLsizeiptr,
        access: GLbitfield,
    ) -> *mut libc::c_void,
>;
pub type PFNGLUNMAPNAMEDBUFFERPROC =
    ::core::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
pub type PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLuint, offset: GLintptr, length: GLsizeiptr),
>;
pub type PFNGLGETNAMEDBUFFERPARAMETERIVPROC =
    ::core::option::Option<unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETNAMEDBUFFERPARAMETERI64VPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLint64),
>;
pub type PFNGLGETNAMEDBUFFERPOINTERVPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut *mut libc::c_void),
>;
pub type PFNGLGETNAMEDBUFFERSUBDATAPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
        data: *mut libc::c_void,
    ),
>;
pub type PFNGLCREATEFRAMEBUFFERSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *mut GLuint)>;
pub type PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        renderbuffertarget: GLenum,
        renderbuffer: GLuint,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC =
    ::core::option::Option<unsafe extern "C" fn(framebuffer: GLuint, pname: GLenum, param: GLint)>;
pub type PFNGLNAMEDFRAMEBUFFERTEXTUREPROC = ::core::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, attachment: GLenum, texture: GLuint, level: GLint),
>;
pub type PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        layer: GLint,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC =
    ::core::option::Option<unsafe extern "C" fn(framebuffer: GLuint, buf: GLenum)>;
pub type PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC = ::core::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, n: GLsizei, bufs: *const GLenum),
>;
pub type PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC =
    ::core::option::Option<unsafe extern "C" fn(framebuffer: GLuint, src: GLenum)>;
pub type PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC = ::core::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, numAttachments: GLsizei, attachments: *const GLenum),
>;
pub type PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        numAttachments: GLsizei,
        attachments: *const GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLCLEARNAMEDFRAMEBUFFERIVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        buffer: GLenum,
        drawbuffer: GLint,
        value: *const GLint,
    ),
>;
pub type PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        buffer: GLenum,
        drawbuffer: GLint,
        value: *const GLuint,
    ),
>;
pub type PFNGLCLEARNAMEDFRAMEBUFFERFVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        buffer: GLenum,
        drawbuffer: GLint,
        value: *const GLfloat,
    ),
>;
pub type PFNGLCLEARNAMEDFRAMEBUFFERFIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        buffer: GLenum,
        drawbuffer: GLint,
        depth: GLfloat,
        stencil: GLint,
    ),
>;
pub type PFNGLBLITNAMEDFRAMEBUFFERPROC = ::core::option::Option<
    unsafe extern "C" fn(
        readFramebuffer: GLuint,
        drawFramebuffer: GLuint,
        srcX0: GLint,
        srcY0: GLint,
        srcX1: GLint,
        srcY1: GLint,
        dstX0: GLint,
        dstY0: GLint,
        dstX1: GLint,
        dstY1: GLint,
        mask: GLbitfield,
        filter: GLenum,
    ),
>;
pub type PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC =
    ::core::option::Option<unsafe extern "C" fn(framebuffer: GLuint, target: GLenum) -> GLenum>;
pub type PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC = ::core::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, pname: GLenum, param: *mut GLint),
>;
pub type PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLCREATERENDERBUFFERSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *mut GLuint)>;
pub type PFNGLNAMEDRENDERBUFFERSTORAGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        renderbuffer: GLuint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        renderbuffer: GLuint,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC = ::core::option::Option<
    unsafe extern "C" fn(renderbuffer: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLCREATETEXTURESPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, n: GLsizei, textures: *mut GLuint)>;
pub type PFNGLTEXTUREBUFFERPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, internalformat: GLenum, buffer: GLuint),
>;
pub type PFNGLTEXTUREBUFFERRANGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        internalformat: GLenum,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLTEXTURESTORAGE1DPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, levels: GLsizei, internalformat: GLenum, width: GLsizei),
>;
pub type PFNGLTEXTURESTORAGE2DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        levels: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLTEXTURESTORAGE3DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        levels: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
    ),
>;
pub type PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        fixedsamplelocations: GLboolean,
    ),
>;
pub type PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedsamplelocations: GLboolean,
    ),
>;
pub type PFNGLTEXTURESUBIMAGE1DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLTEXTURESUBIMAGE2DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLTEXTURESUBIMAGE3DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLCOPYTEXTURESUBIMAGE1DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
    ),
>;
pub type PFNGLCOPYTEXTURESUBIMAGE2DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLCOPYTEXTURESUBIMAGE3DPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLTEXTUREPARAMETERFPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLuint, pname: GLenum, param: GLfloat)>;
pub type PFNGLTEXTUREPARAMETERFVPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, pname: GLenum, param: *const GLfloat),
>;
pub type PFNGLTEXTUREPARAMETERIPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLuint, pname: GLenum, param: GLint)>;
pub type PFNGLTEXTUREPARAMETERIIVPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *const GLint),
>;
pub type PFNGLTEXTUREPARAMETERIUIVPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *const GLuint),
>;
pub type PFNGLTEXTUREPARAMETERIVPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, pname: GLenum, param: *const GLint),
>;
pub type PFNGLGENERATETEXTUREMIPMAPPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLuint)>;
pub type PFNGLBINDTEXTUREUNITPROC =
    ::core::option::Option<unsafe extern "C" fn(unit: GLuint, texture: GLuint)>;
pub type PFNGLGETTEXTUREIMAGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        pixels: *mut libc::c_void,
    ),
>;
pub type PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        bufSize: GLsizei,
        pixels: *mut libc::c_void,
    ),
>;
pub type PFNGLGETTEXTURELEVELPARAMETERFVPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, level: GLint, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETTEXTURELEVELPARAMETERIVPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, level: GLint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETTEXTUREPARAMETERFVPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETTEXTUREPARAMETERIIVPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETTEXTUREPARAMETERIUIVPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *mut GLuint),
>;
pub type PFNGLGETTEXTUREPARAMETERIVPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLCREATEVERTEXARRAYSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *mut GLuint)>;
pub type PFNGLDISABLEVERTEXARRAYATTRIBPROC =
    ::core::option::Option<unsafe extern "C" fn(vaobj: GLuint, index: GLuint)>;
pub type PFNGLENABLEVERTEXARRAYATTRIBPROC =
    ::core::option::Option<unsafe extern "C" fn(vaobj: GLuint, index: GLuint)>;
pub type PFNGLVERTEXARRAYELEMENTBUFFERPROC =
    ::core::option::Option<unsafe extern "C" fn(vaobj: GLuint, buffer: GLuint)>;
pub type PFNGLVERTEXARRAYVERTEXBUFFERPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        bindingindex: GLuint,
        buffer: GLuint,
        offset: GLintptr,
        stride: GLsizei,
    ),
>;
pub type PFNGLVERTEXARRAYVERTEXBUFFERSPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        first: GLuint,
        count: GLsizei,
        buffers: *const GLuint,
        offsets: *const GLintptr,
        strides: *const GLsizei,
    ),
>;
pub type PFNGLVERTEXARRAYATTRIBBINDINGPROC = ::core::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, attribindex: GLuint, bindingindex: GLuint),
>;
pub type PFNGLVERTEXARRAYATTRIBFORMATPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        attribindex: GLuint,
        size: GLint,
        type_: GLenum,
        normalized: GLboolean,
        relativeoffset: GLuint,
    ),
>;
pub type PFNGLVERTEXARRAYATTRIBIFORMATPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        attribindex: GLuint,
        size: GLint,
        type_: GLenum,
        relativeoffset: GLuint,
    ),
>;
pub type PFNGLVERTEXARRAYATTRIBLFORMATPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        attribindex: GLuint,
        size: GLint,
        type_: GLenum,
        relativeoffset: GLuint,
    ),
>;
pub type PFNGLVERTEXARRAYBINDINGDIVISORPROC = ::core::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, bindingindex: GLuint, divisor: GLuint),
>;
pub type PFNGLGETVERTEXARRAYIVPROC =
    ::core::option::Option<unsafe extern "C" fn(vaobj: GLuint, pname: GLenum, param: *mut GLint)>;
pub type PFNGLGETVERTEXARRAYINDEXEDIVPROC = ::core::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, index: GLuint, pname: GLenum, param: *mut GLint),
>;
pub type PFNGLGETVERTEXARRAYINDEXED64IVPROC = ::core::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, index: GLuint, pname: GLenum, param: *mut GLint64),
>;
pub type PFNGLCREATESAMPLERSPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, samplers: *mut GLuint)>;
pub type PFNGLCREATEPROGRAMPIPELINESPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, pipelines: *mut GLuint)>;
pub type PFNGLCREATEQUERIESPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, n: GLsizei, ids: *mut GLuint)>;
pub type PFNGLGETQUERYBUFFEROBJECTI64VPROC = ::core::option::Option<
    unsafe extern "C" fn(id: GLuint, buffer: GLuint, pname: GLenum, offset: GLintptr),
>;
pub type PFNGLGETQUERYBUFFEROBJECTIVPROC = ::core::option::Option<
    unsafe extern "C" fn(id: GLuint, buffer: GLuint, pname: GLenum, offset: GLintptr),
>;
pub type PFNGLGETQUERYBUFFEROBJECTUI64VPROC = ::core::option::Option<
    unsafe extern "C" fn(id: GLuint, buffer: GLuint, pname: GLenum, offset: GLintptr),
>;
pub type PFNGLGETQUERYBUFFEROBJECTUIVPROC = ::core::option::Option<
    unsafe extern "C" fn(id: GLuint, buffer: GLuint, pname: GLenum, offset: GLintptr),
>;
pub type PFNGLMEMORYBARRIERBYREGIONPROC =
    ::core::option::Option<unsafe extern "C" fn(barriers: GLbitfield)>;
pub type PFNGLGETTEXTURESUBIMAGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        pixels: *mut libc::c_void,
    ),
>;
pub type PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        bufSize: GLsizei,
        pixels: *mut libc::c_void,
    ),
>;
pub type PFNGLGETGRAPHICSRESETSTATUSPROC = ::core::option::Option<unsafe extern "C" fn() -> GLenum>;
pub type PFNGLGETNCOMPRESSEDTEXIMAGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        lod: GLint,
        bufSize: GLsizei,
        pixels: *mut libc::c_void,
    ),
>;
pub type PFNGLGETNTEXIMAGEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        pixels: *mut libc::c_void,
    ),
>;
pub type PFNGLGETNUNIFORMDVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLdouble),
>;
pub type PFNGLGETNUNIFORMFVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLfloat),
>;
pub type PFNGLGETNUNIFORMIVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLint),
>;
pub type PFNGLGETNUNIFORMUIVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLuint),
>;
pub type PFNGLREADNPIXELSPROC = ::core::option::Option<
    unsafe extern "C" fn(
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        data: *mut libc::c_void,
    ),
>;
pub type PFNGLGETNMAPDVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLdouble),
>;
pub type PFNGLGETNMAPFVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLfloat),
>;
pub type PFNGLGETNMAPIVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLint),
>;
pub type PFNGLGETNPIXELMAPFVPROC = ::core::option::Option<
    unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLfloat),
>;
pub type PFNGLGETNPIXELMAPUIVPROC =
    ::core::option::Option<unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLuint)>;
pub type PFNGLGETNPIXELMAPUSVPROC = ::core::option::Option<
    unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLushort),
>;
pub type PFNGLGETNPOLYGONSTIPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(bufSize: GLsizei, pattern: *mut GLubyte)>;
pub type PFNGLGETNCOLORTABLEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        table: *mut libc::c_void,
    ),
>;
pub type PFNGLGETNCONVOLUTIONFILTERPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        image: *mut libc::c_void,
    ),
>;
pub type PFNGLGETNSEPARABLEFILTERPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        rowBufSize: GLsizei,
        row: *mut libc::c_void,
        columnBufSize: GLsizei,
        column: *mut libc::c_void,
        span: *mut libc::c_void,
    ),
>;
pub type PFNGLGETNHISTOGRAMPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        reset: GLboolean,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        values: *mut libc::c_void,
    ),
>;
pub type PFNGLGETNMINMAXPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        reset: GLboolean,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        values: *mut libc::c_void,
    ),
>;
pub type PFNGLTEXTUREBARRIERPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLSPECIALIZESHADERPROC = ::core::option::Option<
    unsafe extern "C" fn(
        shader: GLuint,
        pEntryPoint: *const GLchar,
        numSpecializationConstants: GLuint,
        pConstantIndex: *const GLuint,
        pConstantValue: *const GLuint,
    ),
>;
pub type PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        indirect: *const libc::c_void,
        drawcount: GLintptr,
        maxdrawcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        type_: GLenum,
        indirect: *const libc::c_void,
        drawcount: GLintptr,
        maxdrawcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLPOLYGONOFFSETCLAMPPROC =
    ::core::option::Option<unsafe extern "C" fn(factor: GLfloat, units: GLfloat, clamp: GLfloat)>;
pub type PFNGLPRIMITIVEBOUNDINGBOXARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        minX: GLfloat,
        minY: GLfloat,
        minZ: GLfloat,
        minW: GLfloat,
        maxX: GLfloat,
        maxY: GLfloat,
        maxZ: GLfloat,
        maxW: GLfloat,
    ),
>;
pub type GLuint64EXT = khronos_uint64_t;
pub type PFNGLGETTEXTUREHANDLEARBPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLuint) -> GLuint64>;
pub type PFNGLGETTEXTURESAMPLERHANDLEARBPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLuint, sampler: GLuint) -> GLuint64>;
pub type PFNGLMAKETEXTUREHANDLERESIDENTARBPROC =
    ::core::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
pub type PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC =
    ::core::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
pub type PFNGLGETIMAGEHANDLEARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        layered: GLboolean,
        layer: GLint,
        format: GLenum,
    ) -> GLuint64,
>;
pub type PFNGLMAKEIMAGEHANDLERESIDENTARBPROC =
    ::core::option::Option<unsafe extern "C" fn(handle: GLuint64, access: GLenum)>;
pub type PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC =
    ::core::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
pub type PFNGLUNIFORMHANDLEUI64ARBPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, value: GLuint64)>;
pub type PFNGLUNIFORMHANDLEUI64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, value: GLuint64)>;
pub type PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, values: *const GLuint64),
>;
pub type PFNGLISTEXTUREHANDLERESIDENTARBPROC =
    ::core::option::Option<unsafe extern "C" fn(handle: GLuint64) -> GLboolean>;
pub type PFNGLISIMAGEHANDLERESIDENTARBPROC =
    ::core::option::Option<unsafe extern "C" fn(handle: GLuint64) -> GLboolean>;
pub type PFNGLVERTEXATTRIBL1UI64ARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint64EXT)>;
pub type PFNGLVERTEXATTRIBL1UI64VARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint64EXT)>;
pub type PFNGLGETVERTEXATTRIBLUI64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLuint64EXT),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cl_context {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cl_event {
    _unused: [u8; 0],
}
pub type PFNGLCREATESYNCFROMCLEVENTARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        context: *mut _cl_context,
        event: *mut _cl_event,
        flags: GLbitfield,
    ) -> GLsync,
>;
pub type PFNGLCLAMPCOLORARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, clamp: GLenum)>;
pub type PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        num_groups_x: GLuint,
        num_groups_y: GLuint,
        num_groups_z: GLuint,
        group_size_x: GLuint,
        group_size_y: GLuint,
        group_size_z: GLuint,
    ),
>;
pub type GLDEBUGPROCARB = ::core::option::Option<
    unsafe extern "C" fn(
        source: GLenum,
        type_: GLenum,
        id: GLuint,
        severity: GLenum,
        length: GLsizei,
        message: *const GLchar,
        userParam: *const libc::c_void,
    ),
>;
pub type PFNGLDEBUGMESSAGECONTROLARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        source: GLenum,
        type_: GLenum,
        severity: GLenum,
        count: GLsizei,
        ids: *const GLuint,
        enabled: GLboolean,
    ),
>;
pub type PFNGLDEBUGMESSAGEINSERTARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        source: GLenum,
        type_: GLenum,
        id: GLuint,
        severity: GLenum,
        length: GLsizei,
        buf: *const GLchar,
    ),
>;
pub type PFNGLDEBUGMESSAGECALLBACKARBPROC = ::core::option::Option<
    unsafe extern "C" fn(callback: GLDEBUGPROCARB, userParam: *const libc::c_void),
>;
pub type PFNGLGETDEBUGMESSAGELOGARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        count: GLuint,
        bufSize: GLsizei,
        sources: *mut GLenum,
        types: *mut GLenum,
        ids: *mut GLuint,
        severities: *mut GLenum,
        lengths: *mut GLsizei,
        messageLog: *mut GLchar,
    ) -> GLuint,
>;
pub type PFNGLDRAWBUFFERSARBPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, bufs: *const GLenum)>;
pub type PFNGLBLENDEQUATIONIARBPROC =
    ::core::option::Option<unsafe extern "C" fn(buf: GLuint, mode: GLenum)>;
pub type PFNGLBLENDEQUATIONSEPARATEIARBPROC =
    ::core::option::Option<unsafe extern "C" fn(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum)>;
pub type PFNGLBLENDFUNCIARBPROC =
    ::core::option::Option<unsafe extern "C" fn(buf: GLuint, src: GLenum, dst: GLenum)>;
pub type PFNGLBLENDFUNCSEPARATEIARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buf: GLuint,
        srcRGB: GLenum,
        dstRGB: GLenum,
        srcAlpha: GLenum,
        dstAlpha: GLenum,
    ),
>;
pub type PFNGLDRAWARRAYSINSTANCEDARBPROC = ::core::option::Option<
    unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei),
>;
pub type PFNGLDRAWELEMENTSINSTANCEDARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: GLsizei,
        type_: GLenum,
        indices: *const libc::c_void,
        primcount: GLsizei,
    ),
>;
pub type PFNGLPROGRAMSTRINGARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        len: GLsizei,
        string: *const libc::c_void,
    ),
>;
pub type PFNGLBINDPROGRAMARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, program: GLuint)>;
pub type PFNGLDELETEPROGRAMSARBPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, programs: *const GLuint)>;
pub type PFNGLGENPROGRAMSARBPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, programs: *mut GLuint)>;
pub type PFNGLPROGRAMENVPARAMETER4DARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        x: GLdouble,
        y: GLdouble,
        z: GLdouble,
        w: GLdouble,
    ),
>;
pub type PFNGLPROGRAMENVPARAMETER4DVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLdouble),
>;
pub type PFNGLPROGRAMENVPARAMETER4FARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
        w: GLfloat,
    ),
>;
pub type PFNGLPROGRAMENVPARAMETER4FVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLfloat),
>;
pub type PFNGLPROGRAMLOCALPARAMETER4DARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        x: GLdouble,
        y: GLdouble,
        z: GLdouble,
        w: GLdouble,
    ),
>;
pub type PFNGLPROGRAMLOCALPARAMETER4DVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLdouble),
>;
pub type PFNGLPROGRAMLOCALPARAMETER4FARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
        w: GLfloat,
    ),
>;
pub type PFNGLPROGRAMLOCALPARAMETER4FVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLfloat),
>;
pub type PFNGLGETPROGRAMENVPARAMETERDVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLdouble),
>;
pub type PFNGLGETPROGRAMENVPARAMETERFVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLfloat),
>;
pub type PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLdouble),
>;
pub type PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLfloat),
>;
pub type PFNGLGETPROGRAMIVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETPROGRAMSTRINGARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, string: *mut libc::c_void),
>;
pub type PFNGLISPROGRAMARBPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint) -> GLboolean>;
pub type PFNGLPROGRAMPARAMETERIARBPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, pname: GLenum, value: GLint)>;
pub type PFNGLFRAMEBUFFERTEXTUREARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, attachment: GLenum, texture: GLuint, level: GLint),
>;
pub type PFNGLFRAMEBUFFERTEXTURELAYERARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        layer: GLint,
    ),
>;
pub type PFNGLFRAMEBUFFERTEXTUREFACEARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        face: GLenum,
    ),
>;
pub type PFNGLSPECIALIZESHADERARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        shader: GLuint,
        pEntryPoint: *const GLchar,
        numSpecializationConstants: GLuint,
        pConstantIndex: *const GLuint,
        pConstantValue: *const GLuint,
    ),
>;
pub type PFNGLUNIFORM1I64ARBPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, x: GLint64)>;
pub type PFNGLUNIFORM2I64ARBPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, x: GLint64, y: GLint64)>;
pub type PFNGLUNIFORM3I64ARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, x: GLint64, y: GLint64, z: GLint64),
>;
pub type PFNGLUNIFORM4I64ARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, x: GLint64, y: GLint64, z: GLint64, w: GLint64),
>;
pub type PFNGLUNIFORM1I64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64),
>;
pub type PFNGLUNIFORM2I64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64),
>;
pub type PFNGLUNIFORM3I64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64),
>;
pub type PFNGLUNIFORM4I64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64),
>;
pub type PFNGLUNIFORM1UI64ARBPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, x: GLuint64)>;
pub type PFNGLUNIFORM2UI64ARBPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, x: GLuint64, y: GLuint64)>;
pub type PFNGLUNIFORM3UI64ARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, x: GLuint64, y: GLuint64, z: GLuint64),
>;
pub type PFNGLUNIFORM4UI64ARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, x: GLuint64, y: GLuint64, z: GLuint64, w: GLuint64),
>;
pub type PFNGLUNIFORM1UI64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLUNIFORM2UI64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLUNIFORM3UI64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLUNIFORM4UI64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLGETUNIFORMI64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLint64),
>;
pub type PFNGLGETUNIFORMUI64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLuint64),
>;
pub type PFNGLGETNUNIFORMI64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLint64),
>;
pub type PFNGLGETNUNIFORMUI64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLuint64),
>;
pub type PFNGLPROGRAMUNIFORM1I64ARBPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, x: GLint64)>;
pub type PFNGLPROGRAMUNIFORM2I64ARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, x: GLint64, y: GLint64),
>;
pub type PFNGLPROGRAMUNIFORM3I64ARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, x: GLint64, y: GLint64, z: GLint64),
>;
pub type PFNGLPROGRAMUNIFORM4I64ARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        x: GLint64,
        y: GLint64,
        z: GLint64,
        w: GLint64,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1I64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint64),
>;
pub type PFNGLPROGRAMUNIFORM2I64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint64),
>;
pub type PFNGLPROGRAMUNIFORM3I64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint64),
>;
pub type PFNGLPROGRAMUNIFORM4I64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint64),
>;
pub type PFNGLPROGRAMUNIFORM1UI64ARBPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, x: GLuint64)>;
pub type PFNGLPROGRAMUNIFORM2UI64ARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, x: GLuint64, y: GLuint64),
>;
pub type PFNGLPROGRAMUNIFORM3UI64ARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, x: GLuint64, y: GLuint64, z: GLuint64),
>;
pub type PFNGLPROGRAMUNIFORM4UI64ARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        x: GLuint64,
        y: GLuint64,
        z: GLuint64,
        w: GLuint64,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1UI64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLPROGRAMUNIFORM2UI64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLPROGRAMUNIFORM3UI64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLPROGRAMUNIFORM4UI64VARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type GLhalfARB = khronos_uint16_t;
pub type PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        indirect: *const libc::c_void,
        drawcount: GLintptr,
        maxdrawcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        type_: GLenum,
        indirect: *const libc::c_void,
        drawcount: GLintptr,
        maxdrawcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLVERTEXATTRIBDIVISORARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, divisor: GLuint)>;
pub type PFNGLCURRENTPALETTEMATRIXARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLint)>;
pub type PFNGLMATRIXINDEXUBVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(size: GLint, indices: *const GLubyte)>;
pub type PFNGLMATRIXINDEXUSVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(size: GLint, indices: *const GLushort)>;
pub type PFNGLMATRIXINDEXUIVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(size: GLint, indices: *const GLuint)>;
pub type PFNGLMATRIXINDEXPOINTERARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLSAMPLECOVERAGEARBPROC =
    ::core::option::Option<unsafe extern "C" fn(value: GLfloat, invert: GLboolean)>;
pub type PFNGLGENQUERIESARBPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
pub type PFNGLDELETEQUERIESARBPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *const GLuint)>;
pub type PFNGLISQUERYARBPROC = ::core::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
pub type PFNGLBEGINQUERYARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint)>;
pub type PFNGLENDQUERYARBPROC = ::core::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLGETQUERYIVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETQUERYOBJECTIVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETQUERYOBJECTUIVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLuint)>;
pub type PFNGLMAXSHADERCOMPILERTHREADSARBPROC =
    ::core::option::Option<unsafe extern "C" fn(count: GLuint)>;
pub type PFNGLPOINTPARAMETERFARBPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLPOINTPARAMETERFVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
pub type PFNGLGETGRAPHICSRESETSTATUSARBPROC =
    ::core::option::Option<unsafe extern "C" fn() -> GLenum>;
pub type PFNGLGETNTEXIMAGEARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        img: *mut libc::c_void,
    ),
>;
pub type PFNGLREADNPIXELSARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        data: *mut libc::c_void,
    ),
>;
pub type PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        lod: GLint,
        bufSize: GLsizei,
        img: *mut libc::c_void,
    ),
>;
pub type PFNGLGETNUNIFORMFVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLfloat),
>;
pub type PFNGLGETNUNIFORMIVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLint),
>;
pub type PFNGLGETNUNIFORMUIVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLuint),
>;
pub type PFNGLGETNUNIFORMDVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLdouble),
>;
pub type PFNGLGETNMAPDVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLdouble),
>;
pub type PFNGLGETNMAPFVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLfloat),
>;
pub type PFNGLGETNMAPIVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLint),
>;
pub type PFNGLGETNPIXELMAPFVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLfloat),
>;
pub type PFNGLGETNPIXELMAPUIVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLuint)>;
pub type PFNGLGETNPIXELMAPUSVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLushort),
>;
pub type PFNGLGETNPOLYGONSTIPPLEARBPROC =
    ::core::option::Option<unsafe extern "C" fn(bufSize: GLsizei, pattern: *mut GLubyte)>;
pub type PFNGLGETNCOLORTABLEARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        table: *mut libc::c_void,
    ),
>;
pub type PFNGLGETNCONVOLUTIONFILTERARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        image: *mut libc::c_void,
    ),
>;
pub type PFNGLGETNSEPARABLEFILTERARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        rowBufSize: GLsizei,
        row: *mut libc::c_void,
        columnBufSize: GLsizei,
        column: *mut libc::c_void,
        span: *mut libc::c_void,
    ),
>;
pub type PFNGLGETNHISTOGRAMARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        reset: GLboolean,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        values: *mut libc::c_void,
    ),
>;
pub type PFNGLGETNMINMAXARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        reset: GLboolean,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        values: *mut libc::c_void,
    ),
>;
pub type PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, start: GLuint, count: GLsizei, v: *const GLfloat),
>;
pub type PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, start: GLuint, count: GLsizei, v: *const GLfloat),
>;
pub type PFNGLEVALUATEDEPTHVALUESARBPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLMINSAMPLESHADINGARBPROC = ::core::option::Option<unsafe extern "C" fn(value: GLfloat)>;
pub type GLhandleARB = libc::c_uint;
pub type GLcharARB = libc::c_char;
pub type PFNGLDELETEOBJECTARBPROC = ::core::option::Option<unsafe extern "C" fn(obj: GLhandleARB)>;
pub type PFNGLGETHANDLEARBPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum) -> GLhandleARB>;
pub type PFNGLDETACHOBJECTARBPROC = ::core::option::Option<
    unsafe extern "C" fn(containerObj: GLhandleARB, attachedObj: GLhandleARB),
>;
pub type PFNGLCREATESHADEROBJECTARBPROC =
    ::core::option::Option<unsafe extern "C" fn(shaderType: GLenum) -> GLhandleARB>;
pub type PFNGLSHADERSOURCEARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        shaderObj: GLhandleARB,
        count: GLsizei,
        string: *mut *const GLcharARB,
        length: *const GLint,
    ),
>;
pub type PFNGLCOMPILESHADERARBPROC =
    ::core::option::Option<unsafe extern "C" fn(shaderObj: GLhandleARB)>;
pub type PFNGLCREATEPROGRAMOBJECTARBPROC =
    ::core::option::Option<unsafe extern "C" fn() -> GLhandleARB>;
pub type PFNGLATTACHOBJECTARBPROC =
    ::core::option::Option<unsafe extern "C" fn(containerObj: GLhandleARB, obj: GLhandleARB)>;
pub type PFNGLLINKPROGRAMARBPROC =
    ::core::option::Option<unsafe extern "C" fn(programObj: GLhandleARB)>;
pub type PFNGLUSEPROGRAMOBJECTARBPROC =
    ::core::option::Option<unsafe extern "C" fn(programObj: GLhandleARB)>;
pub type PFNGLVALIDATEPROGRAMARBPROC =
    ::core::option::Option<unsafe extern "C" fn(programObj: GLhandleARB)>;
pub type PFNGLUNIFORM1FARBPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, v0: GLfloat)>;
pub type PFNGLUNIFORM2FARBPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat)>;
pub type PFNGLUNIFORM3FARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat),
>;
pub type PFNGLUNIFORM4FARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat, v3: GLfloat),
>;
pub type PFNGLUNIFORM1IARBPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, v0: GLint)>;
pub type PFNGLUNIFORM2IARBPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint)>;
pub type PFNGLUNIFORM3IARBPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint, v2: GLint)>;
pub type PFNGLUNIFORM4IARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint, v2: GLint, v3: GLint),
>;
pub type PFNGLUNIFORM1FVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLUNIFORM2FVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLUNIFORM3FVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLUNIFORM4FVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLUNIFORM1IVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLUNIFORM2IVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLUNIFORM3IVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLUNIFORM4IVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLUNIFORMMATRIX2FVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX3FVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX4FVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLGETOBJECTPARAMETERFVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(obj: GLhandleARB, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETOBJECTPARAMETERIVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(obj: GLhandleARB, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETINFOLOGARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        obj: GLhandleARB,
        maxLength: GLsizei,
        length: *mut GLsizei,
        infoLog: *mut GLcharARB,
    ),
>;
pub type PFNGLGETATTACHEDOBJECTSARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        containerObj: GLhandleARB,
        maxCount: GLsizei,
        count: *mut GLsizei,
        obj: *mut GLhandleARB,
    ),
>;
pub type PFNGLGETUNIFORMLOCATIONARBPROC = ::core::option::Option<
    unsafe extern "C" fn(programObj: GLhandleARB, name: *const GLcharARB) -> GLint,
>;
pub type PFNGLGETACTIVEUNIFORMARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        programObj: GLhandleARB,
        index: GLuint,
        maxLength: GLsizei,
        length: *mut GLsizei,
        size: *mut GLint,
        type_: *mut GLenum,
        name: *mut GLcharARB,
    ),
>;
pub type PFNGLGETUNIFORMFVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(programObj: GLhandleARB, location: GLint, params: *mut GLfloat),
>;
pub type PFNGLGETUNIFORMIVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(programObj: GLhandleARB, location: GLint, params: *mut GLint),
>;
pub type PFNGLGETSHADERSOURCEARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        obj: GLhandleARB,
        maxLength: GLsizei,
        length: *mut GLsizei,
        source: *mut GLcharARB,
    ),
>;
pub type PFNGLNAMEDSTRINGARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        type_: GLenum,
        namelen: GLint,
        name: *const GLchar,
        stringlen: GLint,
        string: *const GLchar,
    ),
>;
pub type PFNGLDELETENAMEDSTRINGARBPROC =
    ::core::option::Option<unsafe extern "C" fn(namelen: GLint, name: *const GLchar)>;
pub type PFNGLCOMPILESHADERINCLUDEARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        shader: GLuint,
        count: GLsizei,
        path: *const *const GLchar,
        length: *const GLint,
    ),
>;
pub type PFNGLISNAMEDSTRINGARBPROC =
    ::core::option::Option<unsafe extern "C" fn(namelen: GLint, name: *const GLchar) -> GLboolean>;
pub type PFNGLGETNAMEDSTRINGARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        namelen: GLint,
        name: *const GLchar,
        bufSize: GLsizei,
        stringlen: *mut GLint,
        string: *mut GLchar,
    ),
>;
pub type PFNGLGETNAMEDSTRINGIVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(namelen: GLint, name: *const GLchar, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLBUFFERPAGECOMMITMENTARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, offset: GLintptr, size: GLsizeiptr, commit: GLboolean),
>;
pub type PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLuint, offset: GLintptr, size: GLsizeiptr, commit: GLboolean),
>;
pub type PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLuint, offset: GLintptr, size: GLsizeiptr, commit: GLboolean),
>;
pub type PFNGLTEXPAGECOMMITMENTARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        commit: GLboolean,
    ),
>;
pub type PFNGLTEXBUFFERARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, internalformat: GLenum, buffer: GLuint),
>;
pub type PFNGLCOMPRESSEDTEXIMAGE3DARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXIMAGE2DARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXIMAGE1DARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLGETCOMPRESSEDTEXIMAGEARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, level: GLint, img: *mut libc::c_void),
>;
pub type PFNGLLOADTRANSPOSEMATRIXFARBPROC =
    ::core::option::Option<unsafe extern "C" fn(m: *const GLfloat)>;
pub type PFNGLLOADTRANSPOSEMATRIXDARBPROC =
    ::core::option::Option<unsafe extern "C" fn(m: *const GLdouble)>;
pub type PFNGLMULTTRANSPOSEMATRIXFARBPROC =
    ::core::option::Option<unsafe extern "C" fn(m: *const GLfloat)>;
pub type PFNGLMULTTRANSPOSEMATRIXDARBPROC =
    ::core::option::Option<unsafe extern "C" fn(m: *const GLdouble)>;
pub type PFNGLWEIGHTBVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLbyte)>;
pub type PFNGLWEIGHTSVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLshort)>;
pub type PFNGLWEIGHTIVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLint)>;
pub type PFNGLWEIGHTFVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLfloat)>;
pub type PFNGLWEIGHTDVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLdouble)>;
pub type PFNGLWEIGHTUBVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLubyte)>;
pub type PFNGLWEIGHTUSVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLushort)>;
pub type PFNGLWEIGHTUIVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLuint)>;
pub type PFNGLWEIGHTPOINTERARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLVERTEXBLENDARBPROC = ::core::option::Option<unsafe extern "C" fn(count: GLint)>;
pub type GLsizeiptrARB = khronos_ssize_t;
pub type GLintptrARB = khronos_intptr_t;
pub type PFNGLBINDBUFFERARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, buffer: GLuint)>;
pub type PFNGLDELETEBUFFERSARBPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, buffers: *const GLuint)>;
pub type PFNGLGENBUFFERSARBPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, buffers: *mut GLuint)>;
pub type PFNGLISBUFFERARBPROC =
    ::core::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
pub type PFNGLBUFFERDATAARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        size: GLsizeiptrARB,
        data: *const libc::c_void,
        usage: GLenum,
    ),
>;
pub type PFNGLBUFFERSUBDATAARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        offset: GLintptrARB,
        size: GLsizeiptrARB,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLGETBUFFERSUBDATAARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        offset: GLintptrARB,
        size: GLsizeiptrARB,
        data: *mut libc::c_void,
    ),
>;
pub type PFNGLMAPBUFFERARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, access: GLenum) -> *mut libc::c_void,
>;
pub type PFNGLUNMAPBUFFERARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum) -> GLboolean>;
pub type PFNGLGETBUFFERPARAMETERIVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETBUFFERPOINTERVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut *mut libc::c_void),
>;
pub type PFNGLVERTEXATTRIB1DARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble)>;
pub type PFNGLVERTEXATTRIB1DVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB1FARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat)>;
pub type PFNGLVERTEXATTRIB1FVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB1SARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort)>;
pub type PFNGLVERTEXATTRIB1SVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB2DARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble)>;
pub type PFNGLVERTEXATTRIB2DVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB2FARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat)>;
pub type PFNGLVERTEXATTRIB2FVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB2SARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort)>;
pub type PFNGLVERTEXATTRIB2SVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB3DARBPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLVERTEXATTRIB3DVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB3FARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLVERTEXATTRIB3FVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB3SARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort)>;
pub type PFNGLVERTEXATTRIB3SVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB4NBVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
pub type PFNGLVERTEXATTRIB4NIVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIB4NSVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB4NUBARBPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLubyte, y: GLubyte, z: GLubyte, w: GLubyte),
>;
pub type PFNGLVERTEXATTRIB4NUBVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
pub type PFNGLVERTEXATTRIB4NUIVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIB4NUSVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
pub type PFNGLVERTEXATTRIB4BVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
pub type PFNGLVERTEXATTRIB4DARBPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
>;
pub type PFNGLVERTEXATTRIB4DVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB4FARBPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat),
>;
pub type PFNGLVERTEXATTRIB4FVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB4IVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIB4SARBPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort, w: GLshort),
>;
pub type PFNGLVERTEXATTRIB4SVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB4UBVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
pub type PFNGLVERTEXATTRIB4UIVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIB4USVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
pub type PFNGLVERTEXATTRIBPOINTERARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLint,
        type_: GLenum,
        normalized: GLboolean,
        stride: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLENABLEVERTEXATTRIBARRAYARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint)>;
pub type PFNGLDISABLEVERTEXATTRIBARRAYARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint)>;
pub type PFNGLGETVERTEXATTRIBDVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLdouble),
>;
pub type PFNGLGETVERTEXATTRIBFVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETVERTEXATTRIBIVARBPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETVERTEXATTRIBPOINTERVARBPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, pointer: *mut *mut libc::c_void),
>;
pub type PFNGLBINDATTRIBLOCATIONARBPROC = ::core::option::Option<
    unsafe extern "C" fn(programObj: GLhandleARB, index: GLuint, name: *const GLcharARB),
>;
pub type PFNGLGETACTIVEATTRIBARBPROC = ::core::option::Option<
    unsafe extern "C" fn(
        programObj: GLhandleARB,
        index: GLuint,
        maxLength: GLsizei,
        length: *mut GLsizei,
        size: *mut GLint,
        type_: *mut GLenum,
        name: *mut GLcharARB,
    ),
>;
pub type PFNGLGETATTRIBLOCATIONARBPROC = ::core::option::Option<
    unsafe extern "C" fn(programObj: GLhandleARB, name: *const GLcharARB) -> GLint,
>;
pub type PFNGLWINDOWPOS2DARBPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble)>;
pub type PFNGLWINDOWPOS2DVARBPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLWINDOWPOS2FARBPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat)>;
pub type PFNGLWINDOWPOS2FVARBPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLWINDOWPOS2IARBPROC = ::core::option::Option<unsafe extern "C" fn(x: GLint, y: GLint)>;
pub type PFNGLWINDOWPOS2IVARBPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLWINDOWPOS2SARBPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort)>;
pub type PFNGLWINDOWPOS2SVARBPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLWINDOWPOS3DARBPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble)>;
pub type PFNGLWINDOWPOS3DVARBPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLWINDOWPOS3FARBPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLWINDOWPOS3FVARBPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLWINDOWPOS3IARBPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLint, y: GLint, z: GLint)>;
pub type PFNGLWINDOWPOS3IVARBPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLWINDOWPOS3SARBPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort)>;
pub type PFNGLWINDOWPOS3SVARBPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLBLENDBARRIERKHRPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLMAXSHADERCOMPILERTHREADSKHRPROC =
    ::core::option::Option<unsafe extern "C" fn(count: GLuint)>;
pub type PFNGLMULTITEXCOORD1BOESPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, s: GLbyte)>;
pub type PFNGLMULTITEXCOORD1BVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLbyte)>;
pub type PFNGLMULTITEXCOORD2BOESPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, s: GLbyte, t: GLbyte)>;
pub type PFNGLMULTITEXCOORD2BVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLbyte)>;
pub type PFNGLMULTITEXCOORD3BOESPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, s: GLbyte, t: GLbyte, r: GLbyte)>;
pub type PFNGLMULTITEXCOORD3BVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLbyte)>;
pub type PFNGLMULTITEXCOORD4BOESPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLenum, s: GLbyte, t: GLbyte, r: GLbyte, q: GLbyte),
>;
pub type PFNGLMULTITEXCOORD4BVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLbyte)>;
pub type PFNGLTEXCOORD1BOESPROC = ::core::option::Option<unsafe extern "C" fn(s: GLbyte)>;
pub type PFNGLTEXCOORD1BVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
pub type PFNGLTEXCOORD2BOESPROC = ::core::option::Option<unsafe extern "C" fn(s: GLbyte, t: GLbyte)>;
pub type PFNGLTEXCOORD2BVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
pub type PFNGLTEXCOORD3BOESPROC =
    ::core::option::Option<unsafe extern "C" fn(s: GLbyte, t: GLbyte, r: GLbyte)>;
pub type PFNGLTEXCOORD3BVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
pub type PFNGLTEXCOORD4BOESPROC =
    ::core::option::Option<unsafe extern "C" fn(s: GLbyte, t: GLbyte, r: GLbyte, q: GLbyte)>;
pub type PFNGLTEXCOORD4BVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
pub type PFNGLVERTEX2BOESPROC = ::core::option::Option<unsafe extern "C" fn(x: GLbyte, y: GLbyte)>;
pub type PFNGLVERTEX2BVOESPROC = ::core::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
pub type PFNGLVERTEX3BOESPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLbyte, y: GLbyte, z: GLbyte)>;
pub type PFNGLVERTEX3BVOESPROC = ::core::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
pub type PFNGLVERTEX4BOESPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLbyte, y: GLbyte, z: GLbyte, w: GLbyte)>;
pub type PFNGLVERTEX4BVOESPROC = ::core::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
pub type GLfixed = khronos_int32_t;
pub type PFNGLALPHAFUNCXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(func: GLenum, ref_: GLfixed)>;
pub type PFNGLCLEARCOLORXOESPROC = ::core::option::Option<
    unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed, alpha: GLfixed),
>;
pub type PFNGLCLEARDEPTHXOESPROC = ::core::option::Option<unsafe extern "C" fn(depth: GLfixed)>;
pub type PFNGLCLIPPLANEXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *const GLfixed)>;
pub type PFNGLCOLOR4XOESPROC = ::core::option::Option<
    unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed, alpha: GLfixed),
>;
pub type PFNGLDEPTHRANGEXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLfixed, f: GLfixed)>;
pub type PFNGLFOGXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfixed)>;
pub type PFNGLFOGXVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: *const GLfixed)>;
pub type PFNGLFRUSTUMXOESPROC = ::core::option::Option<
    unsafe extern "C" fn(l: GLfixed, r: GLfixed, b: GLfixed, t: GLfixed, n: GLfixed, f: GLfixed),
>;
pub type PFNGLGETCLIPPLANEXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *mut GLfixed)>;
pub type PFNGLGETFIXEDVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLfixed)>;
pub type PFNGLGETTEXENVXVOESPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfixed),
>;
pub type PFNGLGETTEXPARAMETERXVOESPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfixed),
>;
pub type PFNGLLIGHTMODELXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfixed)>;
pub type PFNGLLIGHTMODELXVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: *const GLfixed)>;
pub type PFNGLLIGHTXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, param: GLfixed)>;
pub type PFNGLLIGHTXVOESPROC = ::core::option::Option<
    unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *const GLfixed),
>;
pub type PFNGLLINEWIDTHXOESPROC = ::core::option::Option<unsafe extern "C" fn(width: GLfixed)>;
pub type PFNGLLOADMATRIXXOESPROC = ::core::option::Option<unsafe extern "C" fn(m: *const GLfixed)>;
pub type PFNGLMATERIALXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: GLfixed)>;
pub type PFNGLMATERIALXVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: *const GLfixed)>;
pub type PFNGLMULTMATRIXXOESPROC = ::core::option::Option<unsafe extern "C" fn(m: *const GLfixed)>;
pub type PFNGLMULTITEXCOORD4XOESPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLenum, s: GLfixed, t: GLfixed, r: GLfixed, q: GLfixed),
>;
pub type PFNGLNORMAL3XOESPROC =
    ::core::option::Option<unsafe extern "C" fn(nx: GLfixed, ny: GLfixed, nz: GLfixed)>;
pub type PFNGLORTHOXOESPROC = ::core::option::Option<
    unsafe extern "C" fn(l: GLfixed, r: GLfixed, b: GLfixed, t: GLfixed, n: GLfixed, f: GLfixed),
>;
pub type PFNGLPOINTPARAMETERXVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfixed)>;
pub type PFNGLPOINTSIZEXOESPROC = ::core::option::Option<unsafe extern "C" fn(size: GLfixed)>;
pub type PFNGLPOLYGONOFFSETXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(factor: GLfixed, units: GLfixed)>;
pub type PFNGLROTATEXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(angle: GLfixed, x: GLfixed, y: GLfixed, z: GLfixed)>;
pub type PFNGLSCALEXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed)>;
pub type PFNGLTEXENVXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfixed)>;
pub type PFNGLTEXENVXVOESPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfixed),
>;
pub type PFNGLTEXPARAMETERXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfixed)>;
pub type PFNGLTEXPARAMETERXVOESPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfixed),
>;
pub type PFNGLTRANSLATEXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed)>;
pub type PFNGLACCUMXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(op: GLenum, value: GLfixed)>;
pub type PFNGLBITMAPXOESPROC = ::core::option::Option<
    unsafe extern "C" fn(
        width: GLsizei,
        height: GLsizei,
        xorig: GLfixed,
        yorig: GLfixed,
        xmove: GLfixed,
        ymove: GLfixed,
        bitmap: *const GLubyte,
    ),
>;
pub type PFNGLBLENDCOLORXOESPROC = ::core::option::Option<
    unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed, alpha: GLfixed),
>;
pub type PFNGLCLEARACCUMXOESPROC = ::core::option::Option<
    unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed, alpha: GLfixed),
>;
pub type PFNGLCOLOR3XOESPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed)>;
pub type PFNGLCOLOR3XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(components: *const GLfixed)>;
pub type PFNGLCOLOR4XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(components: *const GLfixed)>;
pub type PFNGLCONVOLUTIONPARAMETERXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfixed)>;
pub type PFNGLCONVOLUTIONPARAMETERXVOESPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfixed),
>;
pub type PFNGLEVALCOORD1XOESPROC = ::core::option::Option<unsafe extern "C" fn(u: GLfixed)>;
pub type PFNGLEVALCOORD1XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLEVALCOORD2XOESPROC =
    ::core::option::Option<unsafe extern "C" fn(u: GLfixed, v: GLfixed)>;
pub type PFNGLEVALCOORD2XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLFEEDBACKBUFFERXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, type_: GLenum, buffer: *const GLfixed)>;
pub type PFNGLGETCONVOLUTIONPARAMETERXVOESPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfixed),
>;
pub type PFNGLGETHISTOGRAMPARAMETERXVOESPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfixed),
>;
pub type PFNGLGETLIGHTXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *mut GLfixed)>;
pub type PFNGLGETMAPXVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, query: GLenum, v: *mut GLfixed)>;
pub type PFNGLGETMATERIALXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: GLfixed)>;
pub type PFNGLGETPIXELMAPXVPROC =
    ::core::option::Option<unsafe extern "C" fn(map: GLenum, size: GLint, values: *mut GLfixed)>;
pub type PFNGLGETTEXGENXVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coord: GLenum, pname: GLenum, params: *mut GLfixed)>;
pub type PFNGLGETTEXLEVELPARAMETERXVOESPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, level: GLint, pname: GLenum, params: *mut GLfixed),
>;
pub type PFNGLINDEXXOESPROC = ::core::option::Option<unsafe extern "C" fn(component: GLfixed)>;
pub type PFNGLINDEXXVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(component: *const GLfixed)>;
pub type PFNGLLOADTRANSPOSEMATRIXXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(m: *const GLfixed)>;
pub type PFNGLMAP1XOESPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        u1: GLfixed,
        u2: GLfixed,
        stride: GLint,
        order: GLint,
        points: GLfixed,
    ),
>;
pub type PFNGLMAP2XOESPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        u1: GLfixed,
        u2: GLfixed,
        ustride: GLint,
        uorder: GLint,
        v1: GLfixed,
        v2: GLfixed,
        vstride: GLint,
        vorder: GLint,
        points: GLfixed,
    ),
>;
pub type PFNGLMAPGRID1XOESPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLint, u1: GLfixed, u2: GLfixed)>;
pub type PFNGLMAPGRID2XOESPROC = ::core::option::Option<
    unsafe extern "C" fn(n: GLint, u1: GLfixed, u2: GLfixed, v1: GLfixed, v2: GLfixed),
>;
pub type PFNGLMULTTRANSPOSEMATRIXXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(m: *const GLfixed)>;
pub type PFNGLMULTITEXCOORD1XOESPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, s: GLfixed)>;
pub type PFNGLMULTITEXCOORD1XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLfixed)>;
pub type PFNGLMULTITEXCOORD2XOESPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, s: GLfixed, t: GLfixed)>;
pub type PFNGLMULTITEXCOORD2XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLfixed)>;
pub type PFNGLMULTITEXCOORD3XOESPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLenum, s: GLfixed, t: GLfixed, r: GLfixed),
>;
pub type PFNGLMULTITEXCOORD3XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLfixed)>;
pub type PFNGLMULTITEXCOORD4XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLfixed)>;
pub type PFNGLNORMAL3XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLPASSTHROUGHXOESPROC = ::core::option::Option<unsafe extern "C" fn(token: GLfixed)>;
pub type PFNGLPIXELMAPXPROC =
    ::core::option::Option<unsafe extern "C" fn(map: GLenum, size: GLint, values: *const GLfixed)>;
pub type PFNGLPIXELSTOREXPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfixed)>;
pub type PFNGLPIXELTRANSFERXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfixed)>;
pub type PFNGLPIXELZOOMXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(xfactor: GLfixed, yfactor: GLfixed)>;
pub type PFNGLPRIORITIZETEXTURESXOESPROC = ::core::option::Option<
    unsafe extern "C" fn(n: GLsizei, textures: *const GLuint, priorities: *const GLfixed),
>;
pub type PFNGLRASTERPOS2XOESPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed)>;
pub type PFNGLRASTERPOS2XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLRASTERPOS3XOESPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed)>;
pub type PFNGLRASTERPOS3XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLRASTERPOS4XOESPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed, w: GLfixed)>;
pub type PFNGLRASTERPOS4XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLRECTXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(x1: GLfixed, y1: GLfixed, x2: GLfixed, y2: GLfixed)>;
pub type PFNGLRECTXVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(v1: *const GLfixed, v2: *const GLfixed)>;
pub type PFNGLTEXCOORD1XOESPROC = ::core::option::Option<unsafe extern "C" fn(s: GLfixed)>;
pub type PFNGLTEXCOORD1XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLTEXCOORD2XOESPROC =
    ::core::option::Option<unsafe extern "C" fn(s: GLfixed, t: GLfixed)>;
pub type PFNGLTEXCOORD2XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLTEXCOORD3XOESPROC =
    ::core::option::Option<unsafe extern "C" fn(s: GLfixed, t: GLfixed, r: GLfixed)>;
pub type PFNGLTEXCOORD3XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLTEXCOORD4XOESPROC =
    ::core::option::Option<unsafe extern "C" fn(s: GLfixed, t: GLfixed, r: GLfixed, q: GLfixed)>;
pub type PFNGLTEXCOORD4XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLTEXGENXOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coord: GLenum, pname: GLenum, param: GLfixed)>;
pub type PFNGLTEXGENXVOESPROC = ::core::option::Option<
    unsafe extern "C" fn(coord: GLenum, pname: GLenum, params: *const GLfixed),
>;
pub type PFNGLVERTEX2XOESPROC = ::core::option::Option<unsafe extern "C" fn(x: GLfixed)>;
pub type PFNGLVERTEX2XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLVERTEX3XOESPROC = ::core::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed)>;
pub type PFNGLVERTEX3XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLVERTEX4XOESPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed)>;
pub type PFNGLVERTEX4XVOESPROC =
    ::core::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLQUERYMATRIXXOESPROC = ::core::option::Option<
    unsafe extern "C" fn(mantissa: *mut GLfixed, exponent: *mut GLint) -> GLbitfield,
>;
pub type PFNGLCLEARDEPTHFOESPROC = ::core::option::Option<unsafe extern "C" fn(depth: GLclampf)>;
pub type PFNGLCLIPPLANEFOESPROC =
    ::core::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *const GLfloat)>;
pub type PFNGLDEPTHRANGEFOESPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLclampf, f: GLclampf)>;
pub type PFNGLFRUSTUMFOESPROC = ::core::option::Option<
    unsafe extern "C" fn(l: GLfloat, r: GLfloat, b: GLfloat, t: GLfloat, n: GLfloat, f: GLfloat),
>;
pub type PFNGLGETCLIPPLANEFOESPROC =
    ::core::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *mut GLfloat)>;
pub type PFNGLORTHOFOESPROC = ::core::option::Option<
    unsafe extern "C" fn(l: GLfloat, r: GLfloat, b: GLfloat, t: GLfloat, n: GLfloat, f: GLfloat),
>;
pub type PFNGLTBUFFERMASK3DFXPROC = ::core::option::Option<unsafe extern "C" fn(mask: GLuint)>;
pub type GLDEBUGPROCAMD = ::core::option::Option<
    unsafe extern "C" fn(
        id: GLuint,
        category: GLenum,
        severity: GLenum,
        length: GLsizei,
        message: *const GLchar,
        userParam: *mut libc::c_void,
    ),
>;
pub type PFNGLDEBUGMESSAGEENABLEAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        category: GLenum,
        severity: GLenum,
        count: GLsizei,
        ids: *const GLuint,
        enabled: GLboolean,
    ),
>;
pub type PFNGLDEBUGMESSAGEINSERTAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        category: GLenum,
        severity: GLenum,
        id: GLuint,
        length: GLsizei,
        buf: *const GLchar,
    ),
>;
pub type PFNGLDEBUGMESSAGECALLBACKAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(callback: GLDEBUGPROCAMD, userParam: *mut libc::c_void),
>;
pub type PFNGLGETDEBUGMESSAGELOGAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        count: GLuint,
        bufsize: GLsizei,
        categories: *mut GLenum,
        severities: *mut GLuint,
        ids: *mut GLuint,
        lengths: *mut GLsizei,
        message: *mut GLchar,
    ) -> GLuint,
>;
pub type PFNGLBLENDFUNCINDEXEDAMDPROC =
    ::core::option::Option<unsafe extern "C" fn(buf: GLuint, src: GLenum, dst: GLenum)>;
pub type PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buf: GLuint,
        srcRGB: GLenum,
        dstRGB: GLenum,
        srcAlpha: GLenum,
        dstAlpha: GLenum,
    ),
>;
pub type PFNGLBLENDEQUATIONINDEXEDAMDPROC =
    ::core::option::Option<unsafe extern "C" fn(buf: GLuint, mode: GLenum)>;
pub type PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC =
    ::core::option::Option<unsafe extern "C" fn(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum)>;
pub type PFNGLRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        storageSamples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        renderbuffer: GLuint,
        samples: GLsizei,
        storageSamples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        numsamples: GLuint,
        pixelindex: GLuint,
        values: *const GLfloat,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        numsamples: GLuint,
        pixelindex: GLuint,
        values: *const GLfloat,
    ),
>;
pub type PFNGLGETFRAMEBUFFERPARAMETERFVAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        pname: GLenum,
        numsamples: GLuint,
        pixelindex: GLuint,
        size: GLsizei,
        values: *mut GLfloat,
    ),
>;
pub type PFNGLGETNAMEDFRAMEBUFFERPARAMETERFVAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        pname: GLenum,
        numsamples: GLuint,
        pixelindex: GLuint,
        size: GLsizei,
        values: *mut GLfloat,
    ),
>;
pub type GLint64EXT = khronos_int64_t;
pub type PFNGLUNIFORM1I64NVPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, x: GLint64EXT)>;
pub type PFNGLUNIFORM2I64NVPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, x: GLint64EXT, y: GLint64EXT)>;
pub type PFNGLUNIFORM3I64NVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, x: GLint64EXT, y: GLint64EXT, z: GLint64EXT),
>;
pub type PFNGLUNIFORM4I64NVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        x: GLint64EXT,
        y: GLint64EXT,
        z: GLint64EXT,
        w: GLint64EXT,
    ),
>;
pub type PFNGLUNIFORM1I64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64EXT),
>;
pub type PFNGLUNIFORM2I64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64EXT),
>;
pub type PFNGLUNIFORM3I64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64EXT),
>;
pub type PFNGLUNIFORM4I64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64EXT),
>;
pub type PFNGLUNIFORM1UI64NVPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, x: GLuint64EXT)>;
pub type PFNGLUNIFORM2UI64NVPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, x: GLuint64EXT, y: GLuint64EXT)>;
pub type PFNGLUNIFORM3UI64NVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, x: GLuint64EXT, y: GLuint64EXT, z: GLuint64EXT),
>;
pub type PFNGLUNIFORM4UI64NVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        x: GLuint64EXT,
        y: GLuint64EXT,
        z: GLuint64EXT,
        w: GLuint64EXT,
    ),
>;
pub type PFNGLUNIFORM1UI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64EXT),
>;
pub type PFNGLUNIFORM2UI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64EXT),
>;
pub type PFNGLUNIFORM3UI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64EXT),
>;
pub type PFNGLUNIFORM4UI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64EXT),
>;
pub type PFNGLGETUNIFORMI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLint64EXT),
>;
pub type PFNGLGETUNIFORMUI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLuint64EXT),
>;
pub type PFNGLPROGRAMUNIFORM1I64NVPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, x: GLint64EXT)>;
pub type PFNGLPROGRAMUNIFORM2I64NVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, x: GLint64EXT, y: GLint64EXT),
>;
pub type PFNGLPROGRAMUNIFORM3I64NVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        x: GLint64EXT,
        y: GLint64EXT,
        z: GLint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM4I64NVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        x: GLint64EXT,
        y: GLint64EXT,
        z: GLint64EXT,
        w: GLint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1I64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM2I64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM3I64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM4I64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1UI64NVPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, x: GLuint64EXT)>;
pub type PFNGLPROGRAMUNIFORM2UI64NVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, x: GLuint64EXT, y: GLuint64EXT),
>;
pub type PFNGLPROGRAMUNIFORM3UI64NVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        x: GLuint64EXT,
        y: GLuint64EXT,
        z: GLuint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM4UI64NVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        x: GLuint64EXT,
        y: GLuint64EXT,
        z: GLuint64EXT,
        w: GLuint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1UI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLuint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM2UI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLuint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM3UI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLuint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM4UI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLuint64EXT,
    ),
>;
pub type PFNGLVERTEXATTRIBPARAMETERIAMDPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, param: GLint)>;
pub type PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        indirect: *const libc::c_void,
        primcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        type_: GLenum,
        indirect: *const libc::c_void,
        primcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLGENNAMESAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(identifier: GLenum, num: GLuint, names: *mut GLuint),
>;
pub type PFNGLDELETENAMESAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(identifier: GLenum, num: GLuint, names: *const GLuint),
>;
pub type PFNGLISNAMEAMDPROC =
    ::core::option::Option<unsafe extern "C" fn(identifier: GLenum, name: GLuint) -> GLboolean>;
pub type PFNGLQUERYOBJECTPARAMETERUIAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, id: GLuint, pname: GLenum, param: GLuint),
>;
pub type PFNGLGETPERFMONITORGROUPSAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(numGroups: *mut GLint, groupsSize: GLsizei, groups: *mut GLuint),
>;
pub type PFNGLGETPERFMONITORCOUNTERSAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        group: GLuint,
        numCounters: *mut GLint,
        maxActiveCounters: *mut GLint,
        counterSize: GLsizei,
        counters: *mut GLuint,
    ),
>;
pub type PFNGLGETPERFMONITORGROUPSTRINGAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        group: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        groupString: *mut GLchar,
    ),
>;
pub type PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        group: GLuint,
        counter: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        counterString: *mut GLchar,
    ),
>;
pub type PFNGLGETPERFMONITORCOUNTERINFOAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        group: GLuint,
        counter: GLuint,
        pname: GLenum,
        data: *mut libc::c_void,
    ),
>;
pub type PFNGLGENPERFMONITORSAMDPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, monitors: *mut GLuint)>;
pub type PFNGLDELETEPERFMONITORSAMDPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, monitors: *mut GLuint)>;
pub type PFNGLSELECTPERFMONITORCOUNTERSAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        monitor: GLuint,
        enable: GLboolean,
        group: GLuint,
        numCounters: GLint,
        counterList: *mut GLuint,
    ),
>;
pub type PFNGLBEGINPERFMONITORAMDPROC =
    ::core::option::Option<unsafe extern "C" fn(monitor: GLuint)>;
pub type PFNGLENDPERFMONITORAMDPROC = ::core::option::Option<unsafe extern "C" fn(monitor: GLuint)>;
pub type PFNGLGETPERFMONITORCOUNTERDATAAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        monitor: GLuint,
        pname: GLenum,
        dataSize: GLsizei,
        data: *mut GLuint,
        bytesWritten: *mut GLint,
    ),
>;
pub type PFNGLSETMULTISAMPLEFVAMDPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, index: GLuint, val: *const GLfloat)>;
pub type PFNGLTEXSTORAGESPARSEAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        layers: GLsizei,
        flags: GLbitfield,
    ),
>;
pub type PFNGLTEXTURESTORAGESPARSEAMDPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        layers: GLsizei,
        flags: GLbitfield,
    ),
>;
pub type PFNGLSTENCILOPVALUEAMDPROC =
    ::core::option::Option<unsafe extern "C" fn(face: GLenum, value: GLuint)>;
pub type PFNGLTESSELLATIONFACTORAMDPROC =
    ::core::option::Option<unsafe extern "C" fn(factor: GLfloat)>;
pub type PFNGLTESSELLATIONMODEAMDPROC = ::core::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLELEMENTPOINTERAPPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(type_: GLenum, pointer: *const libc::c_void),
>;
pub type PFNGLDRAWELEMENTARRAYAPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei)>;
pub type PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(mode: GLenum, start: GLuint, end: GLuint, first: GLint, count: GLsizei),
>;
pub type PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        first: *const GLint,
        count: *const GLsizei,
        primcount: GLsizei,
    ),
>;
pub type PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        start: GLuint,
        end: GLuint,
        first: *const GLint,
        count: *const GLsizei,
        primcount: GLsizei,
    ),
>;
pub type PFNGLGENFENCESAPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, fences: *mut GLuint)>;
pub type PFNGLDELETEFENCESAPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, fences: *const GLuint)>;
pub type PFNGLSETFENCEAPPLEPROC = ::core::option::Option<unsafe extern "C" fn(fence: GLuint)>;
pub type PFNGLISFENCEAPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(fence: GLuint) -> GLboolean>;
pub type PFNGLTESTFENCEAPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(fence: GLuint) -> GLboolean>;
pub type PFNGLFINISHFENCEAPPLEPROC = ::core::option::Option<unsafe extern "C" fn(fence: GLuint)>;
pub type PFNGLTESTOBJECTAPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(object: GLenum, name: GLuint) -> GLboolean>;
pub type PFNGLFINISHOBJECTAPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(object: GLenum, name: GLint)>;
pub type PFNGLBUFFERPARAMETERIAPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLint)>;
pub type PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, offset: GLintptr, size: GLsizeiptr)>;
pub type PFNGLOBJECTPURGEABLEAPPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(objectType: GLenum, name: GLuint, option: GLenum) -> GLenum,
>;
pub type PFNGLOBJECTUNPURGEABLEAPPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(objectType: GLenum, name: GLuint, option: GLenum) -> GLenum,
>;
pub type PFNGLGETOBJECTPARAMETERIVAPPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(objectType: GLenum, name: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLTEXTURERANGEAPPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, length: GLsizei, pointer: *const libc::c_void),
>;
pub type PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut *mut libc::c_void),
>;
pub type PFNGLBINDVERTEXARRAYAPPLEPROC = ::core::option::Option<unsafe extern "C" fn(array: GLuint)>;
pub type PFNGLDELETEVERTEXARRAYSAPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *const GLuint)>;
pub type PFNGLGENVERTEXARRAYSAPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *mut GLuint)>;
pub type PFNGLISVERTEXARRAYAPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(array: GLuint) -> GLboolean>;
pub type PFNGLVERTEXARRAYRANGEAPPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(length: GLsizei, pointer: *mut libc::c_void),
>;
pub type PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(length: GLsizei, pointer: *mut libc::c_void),
>;
pub type PFNGLVERTEXARRAYPARAMETERIAPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLENABLEVERTEXATTRIBAPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum)>;
pub type PFNGLDISABLEVERTEXATTRIBAPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum)>;
pub type PFNGLISVERTEXATTRIBENABLEDAPPLEPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum) -> GLboolean>;
pub type PFNGLMAPVERTEXATTRIB1DAPPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLuint,
        u1: GLdouble,
        u2: GLdouble,
        stride: GLint,
        order: GLint,
        points: *const GLdouble,
    ),
>;
pub type PFNGLMAPVERTEXATTRIB1FAPPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLuint,
        u1: GLfloat,
        u2: GLfloat,
        stride: GLint,
        order: GLint,
        points: *const GLfloat,
    ),
>;
pub type PFNGLMAPVERTEXATTRIB2DAPPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLuint,
        u1: GLdouble,
        u2: GLdouble,
        ustride: GLint,
        uorder: GLint,
        v1: GLdouble,
        v2: GLdouble,
        vstride: GLint,
        vorder: GLint,
        points: *const GLdouble,
    ),
>;
pub type PFNGLMAPVERTEXATTRIB2FAPPLEPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLuint,
        u1: GLfloat,
        u2: GLfloat,
        ustride: GLint,
        uorder: GLint,
        v1: GLfloat,
        v2: GLfloat,
        vstride: GLint,
        vorder: GLint,
        points: *const GLfloat,
    ),
>;
pub type PFNGLDRAWBUFFERSATIPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, bufs: *const GLenum)>;
pub type PFNGLELEMENTPOINTERATIPROC = ::core::option::Option<
    unsafe extern "C" fn(type_: GLenum, pointer: *const libc::c_void),
>;
pub type PFNGLDRAWELEMENTARRAYATIPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, count: GLsizei)>;
pub type PFNGLDRAWRANGEELEMENTARRAYATIPROC = ::core::option::Option<
    unsafe extern "C" fn(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei),
>;
pub type PFNGLTEXBUMPPARAMETERIVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: *const GLint)>;
pub type PFNGLTEXBUMPPARAMETERFVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: *const GLfloat)>;
pub type PFNGLGETTEXBUMPPARAMETERIVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: *mut GLint)>;
pub type PFNGLGETTEXBUMPPARAMETERFVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: *mut GLfloat)>;
pub type PFNGLGENFRAGMENTSHADERSATIPROC =
    ::core::option::Option<unsafe extern "C" fn(range: GLuint) -> GLuint>;
pub type PFNGLBINDFRAGMENTSHADERATIPROC = ::core::option::Option<unsafe extern "C" fn(id: GLuint)>;
pub type PFNGLDELETEFRAGMENTSHADERATIPROC = ::core::option::Option<unsafe extern "C" fn(id: GLuint)>;
pub type PFNGLBEGINFRAGMENTSHADERATIPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLENDFRAGMENTSHADERATIPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLPASSTEXCOORDATIPROC =
    ::core::option::Option<unsafe extern "C" fn(dst: GLuint, coord: GLuint, swizzle: GLenum)>;
pub type PFNGLSAMPLEMAPATIPROC =
    ::core::option::Option<unsafe extern "C" fn(dst: GLuint, interp: GLuint, swizzle: GLenum)>;
pub type PFNGLCOLORFRAGMENTOP1ATIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        op: GLenum,
        dst: GLuint,
        dstMask: GLuint,
        dstMod: GLuint,
        arg1: GLuint,
        arg1Rep: GLuint,
        arg1Mod: GLuint,
    ),
>;
pub type PFNGLCOLORFRAGMENTOP2ATIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        op: GLenum,
        dst: GLuint,
        dstMask: GLuint,
        dstMod: GLuint,
        arg1: GLuint,
        arg1Rep: GLuint,
        arg1Mod: GLuint,
        arg2: GLuint,
        arg2Rep: GLuint,
        arg2Mod: GLuint,
    ),
>;
pub type PFNGLCOLORFRAGMENTOP3ATIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        op: GLenum,
        dst: GLuint,
        dstMask: GLuint,
        dstMod: GLuint,
        arg1: GLuint,
        arg1Rep: GLuint,
        arg1Mod: GLuint,
        arg2: GLuint,
        arg2Rep: GLuint,
        arg2Mod: GLuint,
        arg3: GLuint,
        arg3Rep: GLuint,
        arg3Mod: GLuint,
    ),
>;
pub type PFNGLALPHAFRAGMENTOP1ATIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        op: GLenum,
        dst: GLuint,
        dstMod: GLuint,
        arg1: GLuint,
        arg1Rep: GLuint,
        arg1Mod: GLuint,
    ),
>;
pub type PFNGLALPHAFRAGMENTOP2ATIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        op: GLenum,
        dst: GLuint,
        dstMod: GLuint,
        arg1: GLuint,
        arg1Rep: GLuint,
        arg1Mod: GLuint,
        arg2: GLuint,
        arg2Rep: GLuint,
        arg2Mod: GLuint,
    ),
>;
pub type PFNGLALPHAFRAGMENTOP3ATIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        op: GLenum,
        dst: GLuint,
        dstMod: GLuint,
        arg1: GLuint,
        arg1Rep: GLuint,
        arg1Mod: GLuint,
        arg2: GLuint,
        arg2Rep: GLuint,
        arg2Mod: GLuint,
        arg3: GLuint,
        arg3Rep: GLuint,
        arg3Mod: GLuint,
    ),
>;
pub type PFNGLSETFRAGMENTSHADERCONSTANTATIPROC =
    ::core::option::Option<unsafe extern "C" fn(dst: GLuint, value: *const GLfloat)>;
pub type PFNGLMAPOBJECTBUFFERATIPROC =
    ::core::option::Option<unsafe extern "C" fn(buffer: GLuint) -> *mut libc::c_void>;
pub type PFNGLUNMAPOBJECTBUFFERATIPROC =
    ::core::option::Option<unsafe extern "C" fn(buffer: GLuint)>;
pub type PFNGLPNTRIANGLESIATIPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLPNTRIANGLESFATIPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLSTENCILOPSEPARATEATIPROC = ::core::option::Option<
    unsafe extern "C" fn(face: GLenum, sfail: GLenum, dpfail: GLenum, dppass: GLenum),
>;
pub type PFNGLSTENCILFUNCSEPARATEATIPROC = ::core::option::Option<
    unsafe extern "C" fn(frontfunc: GLenum, backfunc: GLenum, ref_: GLint, mask: GLuint),
>;
pub type PFNGLNEWOBJECTBUFFERATIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        size: GLsizei,
        pointer: *const libc::c_void,
        usage: GLenum,
    ) -> GLuint,
>;
pub type PFNGLISOBJECTBUFFERATIPROC =
    ::core::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
pub type PFNGLUPDATEOBJECTBUFFERATIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        offset: GLuint,
        size: GLsizei,
        pointer: *const libc::c_void,
        preserve: GLenum,
    ),
>;
pub type PFNGLGETOBJECTBUFFERFVATIPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETOBJECTBUFFERIVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLFREEOBJECTBUFFERATIPROC = ::core::option::Option<unsafe extern "C" fn(buffer: GLuint)>;
pub type PFNGLARRAYOBJECTATIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        array: GLenum,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        buffer: GLuint,
        offset: GLuint,
    ),
>;
pub type PFNGLGETARRAYOBJECTFVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(array: GLenum, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETARRAYOBJECTIVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(array: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLVARIANTARRAYOBJECTATIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        id: GLuint,
        type_: GLenum,
        stride: GLsizei,
        buffer: GLuint,
        offset: GLuint,
    ),
>;
pub type PFNGLGETVARIANTARRAYOBJECTFVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETVARIANTARRAYOBJECTIVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLVERTEXATTRIBARRAYOBJECTATIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLint,
        type_: GLenum,
        normalized: GLboolean,
        stride: GLsizei,
        buffer: GLuint,
        offset: GLuint,
    ),
>;
pub type PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLVERTEXSTREAM1SATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLshort)>;
pub type PFNGLVERTEXSTREAM1SVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLshort)>;
pub type PFNGLVERTEXSTREAM1IATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLint)>;
pub type PFNGLVERTEXSTREAM1IVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLint)>;
pub type PFNGLVERTEXSTREAM1FATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLfloat)>;
pub type PFNGLVERTEXSTREAM1FVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLfloat)>;
pub type PFNGLVERTEXSTREAM1DATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLdouble)>;
pub type PFNGLVERTEXSTREAM1DVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLdouble)>;
pub type PFNGLVERTEXSTREAM2SATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLshort, y: GLshort)>;
pub type PFNGLVERTEXSTREAM2SVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLshort)>;
pub type PFNGLVERTEXSTREAM2IATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLint, y: GLint)>;
pub type PFNGLVERTEXSTREAM2IVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLint)>;
pub type PFNGLVERTEXSTREAM2FATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLfloat, y: GLfloat)>;
pub type PFNGLVERTEXSTREAM2FVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLfloat)>;
pub type PFNGLVERTEXSTREAM2DATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLdouble, y: GLdouble)>;
pub type PFNGLVERTEXSTREAM2DVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLdouble)>;
pub type PFNGLVERTEXSTREAM3SATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLshort, y: GLshort, z: GLshort)>;
pub type PFNGLVERTEXSTREAM3SVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLshort)>;
pub type PFNGLVERTEXSTREAM3IATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLint, y: GLint, z: GLint)>;
pub type PFNGLVERTEXSTREAM3IVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLint)>;
pub type PFNGLVERTEXSTREAM3FATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLVERTEXSTREAM3FVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLfloat)>;
pub type PFNGLVERTEXSTREAM3DATIPROC = ::core::option::Option<
    unsafe extern "C" fn(stream: GLenum, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLVERTEXSTREAM3DVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLdouble)>;
pub type PFNGLVERTEXSTREAM4SATIPROC = ::core::option::Option<
    unsafe extern "C" fn(stream: GLenum, x: GLshort, y: GLshort, z: GLshort, w: GLshort),
>;
pub type PFNGLVERTEXSTREAM4SVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLshort)>;
pub type PFNGLVERTEXSTREAM4IATIPROC = ::core::option::Option<
    unsafe extern "C" fn(stream: GLenum, x: GLint, y: GLint, z: GLint, w: GLint),
>;
pub type PFNGLVERTEXSTREAM4IVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLint)>;
pub type PFNGLVERTEXSTREAM4FATIPROC = ::core::option::Option<
    unsafe extern "C" fn(stream: GLenum, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat),
>;
pub type PFNGLVERTEXSTREAM4FVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLfloat)>;
pub type PFNGLVERTEXSTREAM4DATIPROC = ::core::option::Option<
    unsafe extern "C" fn(stream: GLenum, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
>;
pub type PFNGLVERTEXSTREAM4DVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLdouble)>;
pub type PFNGLNORMALSTREAM3BATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, nx: GLbyte, ny: GLbyte, nz: GLbyte)>;
pub type PFNGLNORMALSTREAM3BVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLbyte)>;
pub type PFNGLNORMALSTREAM3SATIPROC = ::core::option::Option<
    unsafe extern "C" fn(stream: GLenum, nx: GLshort, ny: GLshort, nz: GLshort),
>;
pub type PFNGLNORMALSTREAM3SVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLshort)>;
pub type PFNGLNORMALSTREAM3IATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, nx: GLint, ny: GLint, nz: GLint)>;
pub type PFNGLNORMALSTREAM3IVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLint)>;
pub type PFNGLNORMALSTREAM3FATIPROC = ::core::option::Option<
    unsafe extern "C" fn(stream: GLenum, nx: GLfloat, ny: GLfloat, nz: GLfloat),
>;
pub type PFNGLNORMALSTREAM3FVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLfloat)>;
pub type PFNGLNORMALSTREAM3DATIPROC = ::core::option::Option<
    unsafe extern "C" fn(stream: GLenum, nx: GLdouble, ny: GLdouble, nz: GLdouble),
>;
pub type PFNGLNORMALSTREAM3DVATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLdouble)>;
pub type PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC =
    ::core::option::Option<unsafe extern "C" fn(stream: GLenum)>;
pub type PFNGLVERTEXBLENDENVIATIPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLVERTEXBLENDENVFATIPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type GLeglImageOES = *mut libc::c_void;
pub type PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, image: GLeglImageOES, attrib_list: *const GLint),
>;
pub type PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, image: GLeglImageOES, attrib_list: *const GLint),
>;
pub type PFNGLUNIFORMBUFFEREXTPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, buffer: GLuint)>;
pub type PFNGLGETUNIFORMBUFFERSIZEEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint) -> GLint>;
pub type PFNGLGETUNIFORMOFFSETEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint) -> GLintptr>;
pub type PFNGLBLENDCOLOREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat),
>;
pub type PFNGLBLENDEQUATIONSEPARATEEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(modeRGB: GLenum, modeAlpha: GLenum)>;
pub type PFNGLBLENDFUNCSEPARATEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        sfactorRGB: GLenum,
        dfactorRGB: GLenum,
        sfactorAlpha: GLenum,
        dfactorAlpha: GLenum,
    ),
>;
pub type PFNGLBLENDEQUATIONEXTPROC = ::core::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLCOLORSUBTABLEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        start: GLsizei,
        count: GLsizei,
        format: GLenum,
        type_: GLenum,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLCOPYCOLORSUBTABLEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, start: GLsizei, x: GLint, y: GLint, width: GLsizei),
>;
pub type PFNGLLOCKARRAYSEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(first: GLint, count: GLsizei)>;
pub type PFNGLUNLOCKARRAYSEXTPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLCONVOLUTIONFILTER1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        image: *const libc::c_void,
    ),
>;
pub type PFNGLCONVOLUTIONFILTER2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        image: *const libc::c_void,
    ),
>;
pub type PFNGLCONVOLUTIONPARAMETERFEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: GLfloat)>;
pub type PFNGLCONVOLUTIONPARAMETERFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLCONVOLUTIONPARAMETERIEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: GLint)>;
pub type PFNGLCONVOLUTIONPARAMETERIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
    ),
>;
pub type PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLGETCONVOLUTIONFILTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        image: *mut libc::c_void,
    ),
>;
pub type PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETSEPARABLEFILTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        row: *mut libc::c_void,
        column: *mut libc::c_void,
        span: *mut libc::c_void,
    ),
>;
pub type PFNGLSEPARABLEFILTER2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        row: *const libc::c_void,
        column: *const libc::c_void,
    ),
>;
pub type PFNGLTANGENT3BEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(tx: GLbyte, ty: GLbyte, tz: GLbyte)>;
pub type PFNGLTANGENT3BVEXTPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLbyte)>;
pub type PFNGLTANGENT3DEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(tx: GLdouble, ty: GLdouble, tz: GLdouble)>;
pub type PFNGLTANGENT3DVEXTPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLTANGENT3FEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(tx: GLfloat, ty: GLfloat, tz: GLfloat)>;
pub type PFNGLTANGENT3FVEXTPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLTANGENT3IEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(tx: GLint, ty: GLint, tz: GLint)>;
pub type PFNGLTANGENT3IVEXTPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLTANGENT3SEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(tx: GLshort, ty: GLshort, tz: GLshort)>;
pub type PFNGLTANGENT3SVEXTPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLBINORMAL3BEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(bx: GLbyte, by: GLbyte, bz: GLbyte)>;
pub type PFNGLBINORMAL3BVEXTPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLbyte)>;
pub type PFNGLBINORMAL3DEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(bx: GLdouble, by: GLdouble, bz: GLdouble)>;
pub type PFNGLBINORMAL3DVEXTPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLBINORMAL3FEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(bx: GLfloat, by: GLfloat, bz: GLfloat)>;
pub type PFNGLBINORMAL3FVEXTPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLBINORMAL3IEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(bx: GLint, by: GLint, bz: GLint)>;
pub type PFNGLBINORMAL3IVEXTPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLBINORMAL3SEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(bx: GLshort, by: GLshort, bz: GLshort)>;
pub type PFNGLBINORMAL3SVEXTPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLTANGENTPOINTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(type_: GLenum, stride: GLsizei, pointer: *const libc::c_void),
>;
pub type PFNGLBINORMALPOINTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(type_: GLenum, stride: GLsizei, pointer: *const libc::c_void),
>;
pub type PFNGLCOPYTEXIMAGE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        border: GLint,
    ),
>;
pub type PFNGLCOPYTEXIMAGE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
    ),
>;
pub type PFNGLCOPYTEXSUBIMAGE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
    ),
>;
pub type PFNGLCOPYTEXSUBIMAGE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLCOPYTEXSUBIMAGE3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLCULLPARAMETERDVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLdouble)>;
pub type PFNGLCULLPARAMETERFVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLLABELOBJECTEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(type_: GLenum, object: GLuint, length: GLsizei, label: *const GLchar),
>;
pub type PFNGLGETOBJECTLABELEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        type_: GLenum,
        object: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        label: *mut GLchar,
    ),
>;
pub type PFNGLINSERTEVENTMARKEREXTPROC =
    ::core::option::Option<unsafe extern "C" fn(length: GLsizei, marker: *const GLchar)>;
pub type PFNGLPUSHGROUPMARKEREXTPROC =
    ::core::option::Option<unsafe extern "C" fn(length: GLsizei, marker: *const GLchar)>;
pub type PFNGLPOPGROUPMARKEREXTPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLDEPTHBOUNDSEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(zmin: GLclampd, zmax: GLclampd)>;
pub type PFNGLMATRIXLOADFEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXLOADDEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLdouble)>;
pub type PFNGLMATRIXMULTFEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXMULTDEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLdouble)>;
pub type PFNGLMATRIXLOADIDENTITYEXTPROC = ::core::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLMATRIXROTATEFEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(mode: GLenum, angle: GLfloat, x: GLfloat, y: GLfloat, z: GLfloat),
>;
pub type PFNGLMATRIXROTATEDEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(mode: GLenum, angle: GLdouble, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLMATRIXSCALEFEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLMATRIXSCALEDEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(mode: GLenum, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLMATRIXTRANSLATEFEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLMATRIXTRANSLATEDEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(mode: GLenum, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLMATRIXFRUSTUMEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        left: GLdouble,
        right: GLdouble,
        bottom: GLdouble,
        top: GLdouble,
        zNear: GLdouble,
        zFar: GLdouble,
    ),
>;
pub type PFNGLMATRIXORTHOEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        left: GLdouble,
        right: GLdouble,
        bottom: GLdouble,
        top: GLdouble,
        zNear: GLdouble,
        zFar: GLdouble,
    ),
>;
pub type PFNGLMATRIXPOPEXTPROC = ::core::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLMATRIXPUSHEXTPROC = ::core::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLCLIENTATTRIBDEFAULTEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
pub type PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
pub type PFNGLTEXTUREPARAMETERFEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, param: GLfloat),
>;
pub type PFNGLTEXTUREPARAMETERFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLTEXTUREPARAMETERIEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, param: GLint),
>;
pub type PFNGLTEXTUREPARAMETERIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLTEXTUREIMAGE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        internalformat: GLint,
        width: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLTEXTUREIMAGE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        internalformat: GLint,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLTEXTURESUBIMAGE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLTEXTURESUBIMAGE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLCOPYTEXTUREIMAGE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        border: GLint,
    ),
>;
pub type PFNGLCOPYTEXTUREIMAGE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
    ),
>;
pub type PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
    ),
>;
pub type PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLGETTEXTUREIMAGEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *mut libc::c_void,
    ),
>;
pub type PFNGLGETTEXTUREPARAMETERFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETTEXTUREPARAMETERIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        pname: GLenum,
        params: *mut GLfloat,
    ),
>;
pub type PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLTEXTUREIMAGE3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        internalformat: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLTEXTURESUBIMAGE3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLBINDMULTITEXTUREEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(texunit: GLenum, target: GLenum, texture: GLuint)>;
pub type PFNGLMULTITEXCOORDPOINTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLMULTITEXENVFEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, param: GLfloat),
>;
pub type PFNGLMULTITEXENVFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLMULTITEXENVIEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, param: GLint),
>;
pub type PFNGLMULTITEXENVIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLMULTITEXGENDEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, param: GLdouble),
>;
pub type PFNGLMULTITEXGENDVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *const GLdouble),
>;
pub type PFNGLMULTITEXGENFEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, param: GLfloat),
>;
pub type PFNGLMULTITEXGENFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLMULTITEXGENIEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, param: GLint),
>;
pub type PFNGLMULTITEXGENIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLGETMULTITEXENVFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETMULTITEXENVIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETMULTITEXGENDVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *mut GLdouble),
>;
pub type PFNGLGETMULTITEXGENFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETMULTITEXGENIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLMULTITEXPARAMETERIEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, param: GLint),
>;
pub type PFNGLMULTITEXPARAMETERIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLMULTITEXPARAMETERFEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, param: GLfloat),
>;
pub type PFNGLMULTITEXPARAMETERFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLMULTITEXIMAGE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        internalformat: GLint,
        width: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLMULTITEXIMAGE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        internalformat: GLint,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLMULTITEXSUBIMAGE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLMULTITEXSUBIMAGE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLCOPYMULTITEXIMAGE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        border: GLint,
    ),
>;
pub type PFNGLCOPYMULTITEXIMAGE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
    ),
>;
pub type PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
    ),
>;
pub type PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLGETMULTITEXIMAGEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *mut libc::c_void,
    ),
>;
pub type PFNGLGETMULTITEXPARAMETERFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETMULTITEXPARAMETERIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        pname: GLenum,
        params: *mut GLfloat,
    ),
>;
pub type PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLMULTITEXIMAGE3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        internalformat: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLMULTITEXSUBIMAGE3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLENABLECLIENTSTATEINDEXEDEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(array: GLenum, index: GLuint)>;
pub type PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(array: GLenum, index: GLuint)>;
pub type PFNGLGETFLOATINDEXEDVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLfloat)>;
pub type PFNGLGETDOUBLEINDEXEDVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLdouble)>;
pub type PFNGLGETPOINTERINDEXEDVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut *mut libc::c_void),
>;
pub type PFNGLENABLEINDEXEDEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
pub type PFNGLDISABLEINDEXEDEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
pub type PFNGLISENABLEDINDEXEDEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint) -> GLboolean>;
pub type PFNGLGETINTEGERINDEXEDVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLint)>;
pub type PFNGLGETBOOLEANINDEXEDVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLboolean),
>;
pub type PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        bits: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        bits: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        bits: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        bits: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        bits: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        bits: *const libc::c_void,
    ),
>;
pub type PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        lod: GLint,
        img: *mut libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        bits: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        bits: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        bits: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        bits: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        bits: *const libc::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        bits: *const libc::c_void,
    ),
>;
pub type PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        lod: GLint,
        img: *mut libc::c_void,
    ),
>;
pub type PFNGLMATRIXLOADTRANSPOSEFEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXLOADTRANSPOSEDEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLdouble)>;
pub type PFNGLMATRIXMULTTRANSPOSEFEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXMULTTRANSPOSEDEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLdouble)>;
pub type PFNGLNAMEDBUFFERDATAEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        size: GLsizeiptr,
        data: *const libc::c_void,
        usage: GLenum,
    ),
>;
pub type PFNGLNAMEDBUFFERSUBDATAEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLMAPNAMEDBUFFEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLuint, access: GLenum) -> *mut libc::c_void,
>;
pub type PFNGLUNMAPNAMEDBUFFEREXTPROC =
    ::core::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
pub type PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETNAMEDBUFFERPOINTERVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut *mut libc::c_void),
>;
pub type PFNGLGETNAMEDBUFFERSUBDATAEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
        data: *mut libc::c_void,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1FEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLfloat)>;
pub type PFNGLPROGRAMUNIFORM2FEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLfloat, v1: GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM3FEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM4FEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        v0: GLfloat,
        v1: GLfloat,
        v2: GLfloat,
        v3: GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1IEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint)>;
pub type PFNGLPROGRAMUNIFORM2IEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint, v1: GLint),
>;
pub type PFNGLPROGRAMUNIFORM3IEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint, v1: GLint, v2: GLint),
>;
pub type PFNGLPROGRAMUNIFORM4IEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        v0: GLint,
        v1: GLint,
        v2: GLint,
        v3: GLint,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM2FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM3FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM4FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM1IVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLPROGRAMUNIFORM2IVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLPROGRAMUNIFORM3IVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLPROGRAMUNIFORM4IVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLTEXTUREBUFFEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, internalformat: GLenum, buffer: GLuint),
>;
pub type PFNGLMULTITEXBUFFEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, internalformat: GLenum, buffer: GLuint),
>;
pub type PFNGLTEXTUREPARAMETERIIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLTEXTUREPARAMETERIUIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *const GLuint),
>;
pub type PFNGLGETTEXTUREPARAMETERIIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETTEXTUREPARAMETERIUIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *mut GLuint),
>;
pub type PFNGLMULTITEXPARAMETERIIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLMULTITEXPARAMETERIUIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *const GLuint),
>;
pub type PFNGLGETMULTITEXPARAMETERIIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETMULTITEXPARAMETERIUIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLuint),
>;
pub type PFNGLPROGRAMUNIFORM1UIEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint)>;
pub type PFNGLPROGRAMUNIFORM2UIEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint, v1: GLuint),
>;
pub type PFNGLPROGRAMUNIFORM3UIEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint, v1: GLuint, v2: GLuint),
>;
pub type PFNGLPROGRAMUNIFORM4UIEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        v0: GLuint,
        v1: GLuint,
        v2: GLuint,
        v3: GLuint,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1UIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLPROGRAMUNIFORM2UIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLPROGRAMUNIFORM3UIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLPROGRAMUNIFORM4UIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        index: GLuint,
        count: GLsizei,
        params: *const GLfloat,
    ),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        index: GLuint,
        x: GLint,
        y: GLint,
        z: GLint,
        w: GLint,
    ),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *const GLint),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        index: GLuint,
        count: GLsizei,
        params: *const GLint,
    ),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        index: GLuint,
        x: GLuint,
        y: GLuint,
        z: GLuint,
        w: GLuint,
    ),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *const GLuint),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        index: GLuint,
        count: GLsizei,
        params: *const GLuint,
    ),
>;
pub type PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *mut GLint),
>;
pub type PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *mut GLuint),
>;
pub type PFNGLENABLECLIENTSTATEIEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(array: GLenum, index: GLuint)>;
pub type PFNGLDISABLECLIENTSTATEIEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(array: GLenum, index: GLuint)>;
pub type PFNGLGETFLOATI_VEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, index: GLuint, params: *mut GLfloat)>;
pub type PFNGLGETDOUBLEI_VEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(pname: GLenum, index: GLuint, params: *mut GLdouble),
>;
pub type PFNGLGETPOINTERI_VEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(pname: GLenum, index: GLuint, params: *mut *mut libc::c_void),
>;
pub type PFNGLNAMEDPROGRAMSTRINGEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        format: GLenum,
        len: GLsizei,
        string: *const libc::c_void,
    ),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        index: GLuint,
        x: GLdouble,
        y: GLdouble,
        z: GLdouble,
        w: GLdouble,
    ),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *const GLdouble),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        index: GLuint,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
        w: GLfloat,
    ),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *const GLfloat),
>;
pub type PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *mut GLdouble),
>;
pub type PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *mut GLfloat),
>;
pub type PFNGLGETNAMEDPROGRAMIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETNAMEDPROGRAMSTRINGEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        pname: GLenum,
        string: *mut libc::c_void,
    ),
>;
pub type PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        renderbuffer: GLuint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(renderbuffer: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        renderbuffer: GLuint,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        renderbuffer: GLuint,
        coverageSamples: GLsizei,
        colorSamples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(framebuffer: GLuint, target: GLenum) -> GLenum>;
pub type PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
        zoffset: GLint,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        renderbuffertarget: GLenum,
        renderbuffer: GLuint,
    ),
>;
pub type PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLGENERATETEXTUREMIPMAPEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLuint, target: GLenum)>;
pub type PFNGLGENERATEMULTITEXMIPMAPEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(texunit: GLenum, target: GLenum)>;
pub type PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC =
    ::core::option::Option<unsafe extern "C" fn(framebuffer: GLuint, mode: GLenum)>;
pub type PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, n: GLsizei, bufs: *const GLenum),
>;
pub type PFNGLFRAMEBUFFERREADBUFFEREXTPROC =
    ::core::option::Option<unsafe extern "C" fn(framebuffer: GLuint, mode: GLenum)>;
pub type PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        readBuffer: GLuint,
        writeBuffer: GLuint,
        readOffset: GLintptr,
        writeOffset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, attachment: GLenum, texture: GLuint, level: GLint),
>;
pub type PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        layer: GLint,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        face: GLenum,
    ),
>;
pub type PFNGLTEXTURERENDERBUFFEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, renderbuffer: GLuint),
>;
pub type PFNGLMULTITEXRENDERBUFFEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, renderbuffer: GLuint),
>;
pub type PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYCOLOROFFSETEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, buffer: GLuint, stride: GLsizei, offset: GLintptr),
>;
pub type PFNGLVERTEXARRAYINDEXOFFSETEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYNORMALOFFSETEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        texunit: GLenum,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        index: GLuint,
        size: GLint,
        type_: GLenum,
        normalized: GLboolean,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        index: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLENABLEVERTEXARRAYEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(vaobj: GLuint, array: GLenum)>;
pub type PFNGLDISABLEVERTEXARRAYEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(vaobj: GLuint, array: GLenum)>;
pub type PFNGLENABLEVERTEXARRAYATTRIBEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(vaobj: GLuint, index: GLuint)>;
pub type PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(vaobj: GLuint, index: GLuint)>;
pub type PFNGLGETVERTEXARRAYINTEGERVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(vaobj: GLuint, pname: GLenum, param: *mut GLint)>;
pub type PFNGLGETVERTEXARRAYPOINTERVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, pname: GLenum, param: *mut *mut libc::c_void),
>;
pub type PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, index: GLuint, pname: GLenum, param: *mut GLint),
>;
pub type PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        index: GLuint,
        pname: GLenum,
        param: *mut *mut libc::c_void,
    ),
>;
pub type PFNGLMAPNAMEDBUFFERRANGEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        offset: GLintptr,
        length: GLsizeiptr,
        access: GLbitfield,
    ) -> *mut libc::c_void,
>;
pub type PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLuint, offset: GLintptr, length: GLsizeiptr),
>;
pub type PFNGLNAMEDBUFFERSTORAGEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        size: GLsizeiptr,
        data: *const libc::c_void,
        flags: GLbitfield,
    ),
>;
pub type PFNGLCLEARNAMEDBUFFERDATAEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        internalformat: GLenum,
        format: GLenum,
        type_: GLenum,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        internalformat: GLenum,
        offset: GLsizeiptr,
        size: GLsizeiptr,
        format: GLenum,
        type_: GLenum,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(framebuffer: GLuint, pname: GLenum, param: GLint)>;
pub type PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLPROGRAMUNIFORM1DEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, x: GLdouble)>;
pub type PFNGLPROGRAMUNIFORM2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, x: GLdouble, y: GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM4DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        x: GLdouble,
        y: GLdouble,
        z: GLdouble,
        w: GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1DVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM2DVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM3DVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM4DVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLTEXTUREBUFFERRANGEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        internalformat: GLenum,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLTEXTURESTORAGE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        levels: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
    ),
>;
pub type PFNGLTEXTURESTORAGE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        levels: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLTEXTURESTORAGE3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        levels: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
    ),
>;
pub type PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        fixedsamplelocations: GLboolean,
    ),
>;
pub type PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedsamplelocations: GLboolean,
    ),
>;
pub type PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        bindingindex: GLuint,
        buffer: GLuint,
        offset: GLintptr,
        stride: GLsizei,
    ),
>;
pub type PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        attribindex: GLuint,
        size: GLint,
        type_: GLenum,
        normalized: GLboolean,
        relativeoffset: GLuint,
    ),
>;
pub type PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        attribindex: GLuint,
        size: GLint,
        type_: GLenum,
        relativeoffset: GLuint,
    ),
>;
pub type PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        attribindex: GLuint,
        size: GLint,
        type_: GLenum,
        relativeoffset: GLuint,
    ),
>;
pub type PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, attribindex: GLuint, bindingindex: GLuint),
>;
pub type PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, bindingindex: GLuint, divisor: GLuint),
>;
pub type PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        index: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLTEXTUREPAGECOMMITMENTEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        commit: GLboolean,
    ),
>;
pub type PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC =
    ::core::option::Option<unsafe extern "C" fn(vaobj: GLuint, index: GLuint, divisor: GLuint)>;
pub type PFNGLCOLORMASKINDEXEDEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean),
>;
pub type PFNGLDRAWARRAYSINSTANCEDEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(mode: GLenum, start: GLint, count: GLsizei, primcount: GLsizei),
>;
pub type PFNGLDRAWELEMENTSINSTANCEDEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: GLsizei,
        type_: GLenum,
        indices: *const libc::c_void,
        primcount: GLsizei,
    ),
>;
pub type PFNGLDRAWRANGEELEMENTSEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        start: GLuint,
        end: GLuint,
        count: GLsizei,
        type_: GLenum,
        indices: *const libc::c_void,
    ),
>;
pub type GLeglClientBufferEXT = *mut libc::c_void;
pub type PFNGLBUFFERSTORAGEEXTERNALEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        offset: GLintptr,
        size: GLsizeiptr,
        clientBuffer: GLeglClientBufferEXT,
        flags: GLbitfield,
    ),
>;
pub type PFNGLNAMEDBUFFERSTORAGEEXTERNALEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
        clientBuffer: GLeglClientBufferEXT,
        flags: GLbitfield,
    ),
>;
pub type PFNGLFOGCOORDFEXTPROC = ::core::option::Option<unsafe extern "C" fn(coord: GLfloat)>;
pub type PFNGLFOGCOORDFVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(coord: *const GLfloat)>;
pub type PFNGLFOGCOORDDEXTPROC = ::core::option::Option<unsafe extern "C" fn(coord: GLdouble)>;
pub type PFNGLFOGCOORDDVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(coord: *const GLdouble)>;
pub type PFNGLFOGCOORDPOINTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(type_: GLenum, stride: GLsizei, pointer: *const libc::c_void),
>;
pub type PFNGLBLITFRAMEBUFFEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        srcX0: GLint,
        srcY0: GLint,
        srcX1: GLint,
        srcY1: GLint,
        dstX0: GLint,
        dstY0: GLint,
        dstX1: GLint,
        dstY1: GLint,
        mask: GLbitfield,
        filter: GLenum,
    ),
>;
pub type PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLISRENDERBUFFEREXTPROC =
    ::core::option::Option<unsafe extern "C" fn(renderbuffer: GLuint) -> GLboolean>;
pub type PFNGLBINDRENDERBUFFEREXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, renderbuffer: GLuint)>;
pub type PFNGLDELETERENDERBUFFERSEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *const GLuint)>;
pub type PFNGLGENRENDERBUFFERSEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *mut GLuint)>;
pub type PFNGLRENDERBUFFERSTORAGEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei),
>;
pub type PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLISFRAMEBUFFEREXTPROC =
    ::core::option::Option<unsafe extern "C" fn(framebuffer: GLuint) -> GLboolean>;
pub type PFNGLBINDFRAMEBUFFEREXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, framebuffer: GLuint)>;
pub type PFNGLDELETEFRAMEBUFFERSEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *const GLuint)>;
pub type PFNGLGENFRAMEBUFFERSEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *mut GLuint)>;
pub type PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum) -> GLenum>;
pub type PFNGLFRAMEBUFFERTEXTURE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
    ),
>;
pub type PFNGLFRAMEBUFFERTEXTURE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
    ),
>;
pub type PFNGLFRAMEBUFFERTEXTURE3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
        zoffset: GLint,
    ),
>;
pub type PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        renderbuffertarget: GLenum,
        renderbuffer: GLuint,
    ),
>;
pub type PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, attachment: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGENERATEMIPMAPEXTPROC = ::core::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLPROGRAMPARAMETERIEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, pname: GLenum, value: GLint)>;
pub type PFNGLPROGRAMENVPARAMETERS4FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLfloat),
>;
pub type PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLfloat),
>;
pub type PFNGLGETUNIFORMUIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLuint),
>;
pub type PFNGLBINDFRAGDATALOCATIONEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, color: GLuint, name: *const GLchar),
>;
pub type PFNGLGETFRAGDATALOCATIONEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
pub type PFNGLUNIFORM1UIEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, v0: GLuint)>;
pub type PFNGLUNIFORM2UIEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint)>;
pub type PFNGLUNIFORM3UIEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint, v2: GLuint),
>;
pub type PFNGLUNIFORM4UIEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint),
>;
pub type PFNGLUNIFORM1UIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLUNIFORM2UIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLUNIFORM3UIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLUNIFORM4UIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLGETHISTOGRAMEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        reset: GLboolean,
        format: GLenum,
        type_: GLenum,
        values: *mut libc::c_void,
    ),
>;
pub type PFNGLGETHISTOGRAMPARAMETERFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETHISTOGRAMPARAMETERIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETMINMAXEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        reset: GLboolean,
        format: GLenum,
        type_: GLenum,
        values: *mut libc::c_void,
    ),
>;
pub type PFNGLGETMINMAXPARAMETERFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETMINMAXPARAMETERIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLHISTOGRAMEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, width: GLsizei, internalformat: GLenum, sink: GLboolean),
>;
pub type PFNGLMINMAXEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, internalformat: GLenum, sink: GLboolean),
>;
pub type PFNGLRESETHISTOGRAMEXTPROC = ::core::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLRESETMINMAXEXTPROC = ::core::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLINDEXFUNCEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(func: GLenum, ref_: GLclampf)>;
pub type PFNGLINDEXMATERIALEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(face: GLenum, mode: GLenum)>;
pub type PFNGLAPPLYTEXTUREEXTPROC = ::core::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLTEXTURELIGHTEXTPROC = ::core::option::Option<unsafe extern "C" fn(pname: GLenum)>;
pub type PFNGLTEXTUREMATERIALEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(face: GLenum, mode: GLenum)>;
pub type PFNGLGETUNSIGNEDBYTEVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, data: *mut GLubyte)>;
pub type PFNGLGETUNSIGNEDBYTEI_VEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLubyte)>;
pub type PFNGLDELETEMEMORYOBJECTSEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, memoryObjects: *const GLuint)>;
pub type PFNGLISMEMORYOBJECTEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(memoryObject: GLuint) -> GLboolean>;
pub type PFNGLCREATEMEMORYOBJECTSEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, memoryObjects: *mut GLuint)>;
pub type PFNGLMEMORYOBJECTPARAMETERIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(memoryObject: GLuint, pname: GLenum, params: *const GLint),
>;
pub type PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(memoryObject: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLTEXSTORAGEMEM2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        levels: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        fixedSampleLocations: GLboolean,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLTEXSTORAGEMEM3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        levels: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedSampleLocations: GLboolean,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLBUFFERSTORAGEMEMEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, size: GLsizeiptr, memory: GLuint, offset: GLuint64),
>;
pub type PFNGLTEXTURESTORAGEMEM2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        levels: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        samples: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        fixedSampleLocations: GLboolean,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLTEXTURESTORAGEMEM3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        levels: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        samples: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedSampleLocations: GLboolean,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLuint, size: GLsizeiptr, memory: GLuint, offset: GLuint64),
>;
pub type PFNGLTEXSTORAGEMEM1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        levels: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLTEXTURESTORAGEMEM1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        levels: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLIMPORTMEMORYFDEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(memory: GLuint, size: GLuint64, handleType: GLenum, fd: GLint),
>;
pub type PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        memory: GLuint,
        size: GLuint64,
        handleType: GLenum,
        handle: *mut libc::c_void,
    ),
>;
pub type PFNGLIMPORTMEMORYWIN32NAMEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        memory: GLuint,
        size: GLuint64,
        handleType: GLenum,
        name: *const libc::c_void,
    ),
>;
pub type PFNGLMULTIDRAWARRAYSEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        first: *const GLint,
        count: *const GLsizei,
        primcount: GLsizei,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: *const GLsizei,
        type_: GLenum,
        indices: *const *const libc::c_void,
        primcount: GLsizei,
    ),
>;
pub type PFNGLSAMPLEMASKEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(value: GLclampf, invert: GLboolean)>;
pub type PFNGLSAMPLEPATTERNEXTPROC = ::core::option::Option<unsafe extern "C" fn(pattern: GLenum)>;
pub type PFNGLCOLORTABLEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalFormat: GLenum,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        table: *const libc::c_void,
    ),
>;
pub type PFNGLGETCOLORTABLEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        data: *mut libc::c_void,
    ),
>;
pub type PFNGLGETCOLORTABLEPARAMETERIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETCOLORTABLEPARAMETERFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLPIXELTRANSFORMPARAMETERIEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLint)>;
pub type PFNGLPIXELTRANSFORMPARAMETERFEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfloat)>;
pub type PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLPOINTPARAMETERFEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLPOINTPARAMETERFVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
pub type PFNGLPOLYGONOFFSETEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(factor: GLfloat, bias: GLfloat)>;
pub type PFNGLPOLYGONOFFSETCLAMPEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(factor: GLfloat, units: GLfloat, clamp: GLfloat)>;
pub type PFNGLPROVOKINGVERTEXEXTPROC = ::core::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLRASTERSAMPLESEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(samples: GLuint, fixedsamplelocations: GLboolean)>;
pub type PFNGLSECONDARYCOLOR3BEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLbyte, green: GLbyte, blue: GLbyte)>;
pub type PFNGLSECONDARYCOLOR3BVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLbyte)>;
pub type PFNGLSECONDARYCOLOR3DEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLdouble, green: GLdouble, blue: GLdouble)>;
pub type PFNGLSECONDARYCOLOR3DVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLSECONDARYCOLOR3FEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat)>;
pub type PFNGLSECONDARYCOLOR3FVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLSECONDARYCOLOR3IEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLint, green: GLint, blue: GLint)>;
pub type PFNGLSECONDARYCOLOR3IVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLSECONDARYCOLOR3SEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLshort, green: GLshort, blue: GLshort)>;
pub type PFNGLSECONDARYCOLOR3SVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLSECONDARYCOLOR3UBEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLubyte, green: GLubyte, blue: GLubyte)>;
pub type PFNGLSECONDARYCOLOR3UBVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLubyte)>;
pub type PFNGLSECONDARYCOLOR3UIEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLuint, green: GLuint, blue: GLuint)>;
pub type PFNGLSECONDARYCOLOR3UIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLuint)>;
pub type PFNGLSECONDARYCOLOR3USEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLushort, green: GLushort, blue: GLushort)>;
pub type PFNGLSECONDARYCOLOR3USVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLushort)>;
pub type PFNGLSECONDARYCOLORPOINTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLGENSEMAPHORESEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, semaphores: *mut GLuint)>;
pub type PFNGLDELETESEMAPHORESEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, semaphores: *const GLuint)>;
pub type PFNGLISSEMAPHOREEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(semaphore: GLuint) -> GLboolean>;
pub type PFNGLSEMAPHOREPARAMETERUI64VEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(semaphore: GLuint, pname: GLenum, params: *const GLuint64),
>;
pub type PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(semaphore: GLuint, pname: GLenum, params: *mut GLuint64),
>;
pub type PFNGLWAITSEMAPHOREEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        semaphore: GLuint,
        numBufferBarriers: GLuint,
        buffers: *const GLuint,
        numTextureBarriers: GLuint,
        textures: *const GLuint,
        srcLayouts: *const GLenum,
    ),
>;
pub type PFNGLSIGNALSEMAPHOREEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        semaphore: GLuint,
        numBufferBarriers: GLuint,
        buffers: *const GLuint,
        numTextureBarriers: GLuint,
        textures: *const GLuint,
        dstLayouts: *const GLenum,
    ),
>;
pub type PFNGLIMPORTSEMAPHOREFDEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(semaphore: GLuint, handleType: GLenum, fd: GLint)>;
pub type PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        semaphore: GLuint,
        handleType: GLenum,
        handle: *mut libc::c_void,
    ),
>;
pub type PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        semaphore: GLuint,
        handleType: GLenum,
        name: *const libc::c_void,
    ),
>;
pub type PFNGLUSESHADERPROGRAMEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, program: GLuint)>;
pub type PFNGLACTIVEPROGRAMEXTPROC = ::core::option::Option<unsafe extern "C" fn(program: GLuint)>;
pub type PFNGLCREATESHADERPROGRAMEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, string: *const GLchar) -> GLuint>;
pub type PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLBINDIMAGETEXTUREEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        texture: GLuint,
        level: GLint,
        layered: GLboolean,
        layer: GLint,
        access: GLenum,
        format: GLint,
    ),
>;
pub type PFNGLMEMORYBARRIEREXTPROC =
    ::core::option::Option<unsafe extern "C" fn(barriers: GLbitfield)>;
pub type PFNGLSTENCILCLEARTAGEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(stencilTagBits: GLsizei, stencilClearTag: GLuint)>;
pub type PFNGLACTIVESTENCILFACEEXTPROC = ::core::option::Option<unsafe extern "C" fn(face: GLenum)>;
pub type PFNGLTEXSUBIMAGE1DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLTEXSUBIMAGE2DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLTEXIMAGE3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLTEXSUBIMAGE3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        layer: GLint,
    ),
>;
pub type PFNGLTEXBUFFEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, internalformat: GLenum, buffer: GLuint),
>;
pub type PFNGLTEXPARAMETERIIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLTEXPARAMETERIUIVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLuint),
>;
pub type PFNGLGETTEXPARAMETERIIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETTEXPARAMETERIUIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLuint)>;
pub type PFNGLCLEARCOLORIIEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(red: GLint, green: GLint, blue: GLint, alpha: GLint),
>;
pub type PFNGLCLEARCOLORIUIEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(red: GLuint, green: GLuint, blue: GLuint, alpha: GLuint),
>;
pub type PFNGLARETEXTURESRESIDENTEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        n: GLsizei,
        textures: *const GLuint,
        residences: *mut GLboolean,
    ) -> GLboolean,
>;
pub type PFNGLBINDTEXTUREEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, texture: GLuint)>;
pub type PFNGLDELETETEXTURESEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, textures: *const GLuint)>;
pub type PFNGLGENTEXTURESEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, textures: *mut GLuint)>;
pub type PFNGLISTEXTUREEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLuint) -> GLboolean>;
pub type PFNGLPRIORITIZETEXTURESEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(n: GLsizei, textures: *const GLuint, priorities: *const GLclampf),
>;
pub type PFNGLTEXTURENORMALEXTPROC = ::core::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLGETQUERYOBJECTI64VEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint64)>;
pub type PFNGLGETQUERYOBJECTUI64VEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLuint64)>;
pub type PFNGLBEGINTRANSFORMFEEDBACKEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(primitiveMode: GLenum)>;
pub type PFNGLENDTRANSFORMFEEDBACKEXTPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLBINDBUFFERRANGEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLBINDBUFFEROFFSETEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint, offset: GLintptr),
>;
pub type PFNGLBINDBUFFERBASEEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint)>;
pub type PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        count: GLsizei,
        varyings: *const *const GLchar,
        bufferMode: GLenum,
    ),
>;
pub type PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        index: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        size: *mut GLsizei,
        type_: *mut GLenum,
        name: *mut GLchar,
    ),
>;
pub type PFNGLARRAYELEMENTEXTPROC = ::core::option::Option<unsafe extern "C" fn(i: GLint)>;
pub type PFNGLCOLORPOINTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        count: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLDRAWARRAYSEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei)>;
pub type PFNGLEDGEFLAGPOINTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(stride: GLsizei, count: GLsizei, pointer: *const GLboolean),
>;
pub type PFNGLGETPOINTERVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(pname: GLenum, params: *mut *mut libc::c_void),
>;
pub type PFNGLINDEXPOINTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        type_: GLenum,
        stride: GLsizei,
        count: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLNORMALPOINTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        type_: GLenum,
        stride: GLsizei,
        count: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLTEXCOORDPOINTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        count: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLVERTEXPOINTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        count: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLVERTEXATTRIBL1DEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble)>;
pub type PFNGLVERTEXATTRIBL2DEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble)>;
pub type PFNGLVERTEXATTRIBL3DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLVERTEXATTRIBL4DEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
>;
pub type PFNGLVERTEXATTRIBL1DVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBL2DVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBL3DVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBL4DVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBLPOINTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLGETVERTEXATTRIBLDVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLdouble),
>;
pub type PFNGLBEGINVERTEXSHADEREXTPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLENDVERTEXSHADEREXTPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLBINDVERTEXSHADEREXTPROC = ::core::option::Option<unsafe extern "C" fn(id: GLuint)>;
pub type PFNGLGENVERTEXSHADERSEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(range: GLuint) -> GLuint>;
pub type PFNGLDELETEVERTEXSHADEREXTPROC = ::core::option::Option<unsafe extern "C" fn(id: GLuint)>;
pub type PFNGLSHADEROP1EXTPROC =
    ::core::option::Option<unsafe extern "C" fn(op: GLenum, res: GLuint, arg1: GLuint)>;
pub type PFNGLSHADEROP2EXTPROC = ::core::option::Option<
    unsafe extern "C" fn(op: GLenum, res: GLuint, arg1: GLuint, arg2: GLuint),
>;
pub type PFNGLSHADEROP3EXTPROC = ::core::option::Option<
    unsafe extern "C" fn(op: GLenum, res: GLuint, arg1: GLuint, arg2: GLuint, arg3: GLuint),
>;
pub type PFNGLSWIZZLEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        res: GLuint,
        in_: GLuint,
        outX: GLenum,
        outY: GLenum,
        outZ: GLenum,
        outW: GLenum,
    ),
>;
pub type PFNGLWRITEMASKEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        res: GLuint,
        in_: GLuint,
        outX: GLenum,
        outY: GLenum,
        outZ: GLenum,
        outW: GLenum,
    ),
>;
pub type PFNGLINSERTCOMPONENTEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(res: GLuint, src: GLuint, num: GLuint)>;
pub type PFNGLEXTRACTCOMPONENTEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(res: GLuint, src: GLuint, num: GLuint)>;
pub type PFNGLGENSYMBOLSEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        datatype: GLenum,
        storagetype: GLenum,
        range: GLenum,
        components: GLuint,
    ) -> GLuint,
>;
pub type PFNGLSETINVARIANTEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(id: GLuint, type_: GLenum, addr: *const libc::c_void),
>;
pub type PFNGLSETLOCALCONSTANTEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(id: GLuint, type_: GLenum, addr: *const libc::c_void),
>;
pub type PFNGLVARIANTBVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLbyte)>;
pub type PFNGLVARIANTSVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLshort)>;
pub type PFNGLVARIANTIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLint)>;
pub type PFNGLVARIANTFVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLfloat)>;
pub type PFNGLVARIANTDVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLdouble)>;
pub type PFNGLVARIANTUBVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLubyte)>;
pub type PFNGLVARIANTUSVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLushort)>;
pub type PFNGLVARIANTUIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLuint)>;
pub type PFNGLVARIANTPOINTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        id: GLuint,
        type_: GLenum,
        stride: GLuint,
        addr: *const libc::c_void,
    ),
>;
pub type PFNGLENABLEVARIANTCLIENTSTATEEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint)>;
pub type PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint)>;
pub type PFNGLBINDLIGHTPARAMETEREXTPROC =
    ::core::option::Option<unsafe extern "C" fn(light: GLenum, value: GLenum) -> GLuint>;
pub type PFNGLBINDMATERIALPARAMETEREXTPROC =
    ::core::option::Option<unsafe extern "C" fn(face: GLenum, value: GLenum) -> GLuint>;
pub type PFNGLBINDTEXGENPARAMETEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(unit: GLenum, coord: GLenum, value: GLenum) -> GLuint,
>;
pub type PFNGLBINDTEXTUREUNITPARAMETEREXTPROC =
    ::core::option::Option<unsafe extern "C" fn(unit: GLenum, value: GLenum) -> GLuint>;
pub type PFNGLBINDPARAMETEREXTPROC =
    ::core::option::Option<unsafe extern "C" fn(value: GLenum) -> GLuint>;
pub type PFNGLISVARIANTENABLEDEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, cap: GLenum) -> GLboolean>;
pub type PFNGLGETVARIANTBOOLEANVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLboolean)>;
pub type PFNGLGETVARIANTINTEGERVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLint)>;
pub type PFNGLGETVARIANTFLOATVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLfloat)>;
pub type PFNGLGETVARIANTPOINTERVEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut *mut libc::c_void),
>;
pub type PFNGLGETINVARIANTBOOLEANVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLboolean)>;
pub type PFNGLGETINVARIANTINTEGERVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLint)>;
pub type PFNGLGETINVARIANTFLOATVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLfloat)>;
pub type PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLboolean)>;
pub type PFNGLGETLOCALCONSTANTINTEGERVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLint)>;
pub type PFNGLGETLOCALCONSTANTFLOATVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLfloat)>;
pub type PFNGLVERTEXWEIGHTFEXTPROC = ::core::option::Option<unsafe extern "C" fn(weight: GLfloat)>;
pub type PFNGLVERTEXWEIGHTFVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(weight: *const GLfloat)>;
pub type PFNGLVERTEXWEIGHTPOINTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLACQUIREKEYEDMUTEXWIN32EXTPROC = ::core::option::Option<
    unsafe extern "C" fn(memory: GLuint, key: GLuint64, timeout: GLuint) -> GLboolean,
>;
pub type PFNGLRELEASEKEYEDMUTEXWIN32EXTPROC =
    ::core::option::Option<unsafe extern "C" fn(memory: GLuint, key: GLuint64) -> GLboolean>;
pub type PFNGLWINDOWRECTANGLESEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, count: GLsizei, box_: *const GLint)>;
pub type PFNGLIMPORTSYNCEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        external_sync_type: GLenum,
        external_sync: GLintptr,
        flags: GLbitfield,
    ) -> GLsync,
>;
pub type PFNGLFRAMETERMINATORGREMEDYPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLSTRINGMARKERGREMEDYPROC = ::core::option::Option<
    unsafe extern "C" fn(len: GLsizei, string: *const libc::c_void),
>;
pub type PFNGLIMAGETRANSFORMPARAMETERIHPPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLint)>;
pub type PFNGLIMAGETRANSFORMPARAMETERFHPPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfloat)>;
pub type PFNGLIMAGETRANSFORMPARAMETERIVHPPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLIMAGETRANSFORMPARAMETERFVHPPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLMULTIMODEDRAWARRAYSIBMPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: *const GLenum,
        first: *const GLint,
        count: *const GLsizei,
        primcount: GLsizei,
        modestride: GLint,
    ),
>;
pub type PFNGLMULTIMODEDRAWELEMENTSIBMPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: *const GLenum,
        count: *const GLsizei,
        type_: GLenum,
        indices: *const *const libc::c_void,
        primcount: GLsizei,
        modestride: GLint,
    ),
>;
pub type PFNGLFLUSHSTATICDATAIBMPROC = ::core::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLCOLORPOINTERLISTIBMPROC = ::core::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLint,
        pointer: *mut *const libc::c_void,
        ptrstride: GLint,
    ),
>;
pub type PFNGLSECONDARYCOLORPOINTERLISTIBMPROC = ::core::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLint,
        pointer: *mut *const libc::c_void,
        ptrstride: GLint,
    ),
>;
pub type PFNGLEDGEFLAGPOINTERLISTIBMPROC = ::core::option::Option<
    unsafe extern "C" fn(stride: GLint, pointer: *mut *const GLboolean, ptrstride: GLint),
>;
pub type PFNGLFOGCOORDPOINTERLISTIBMPROC = ::core::option::Option<
    unsafe extern "C" fn(
        type_: GLenum,
        stride: GLint,
        pointer: *mut *const libc::c_void,
        ptrstride: GLint,
    ),
>;
pub type PFNGLINDEXPOINTERLISTIBMPROC = ::core::option::Option<
    unsafe extern "C" fn(
        type_: GLenum,
        stride: GLint,
        pointer: *mut *const libc::c_void,
        ptrstride: GLint,
    ),
>;
pub type PFNGLNORMALPOINTERLISTIBMPROC = ::core::option::Option<
    unsafe extern "C" fn(
        type_: GLenum,
        stride: GLint,
        pointer: *mut *const libc::c_void,
        ptrstride: GLint,
    ),
>;
pub type PFNGLTEXCOORDPOINTERLISTIBMPROC = ::core::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLint,
        pointer: *mut *const libc::c_void,
        ptrstride: GLint,
    ),
>;
pub type PFNGLVERTEXPOINTERLISTIBMPROC = ::core::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLint,
        pointer: *mut *const libc::c_void,
        ptrstride: GLint,
    ),
>;
pub type PFNGLBLENDFUNCSEPARATEINGRPROC = ::core::option::Option<
    unsafe extern "C" fn(
        sfactorRGB: GLenum,
        dfactorRGB: GLenum,
        sfactorAlpha: GLenum,
        dfactorAlpha: GLenum,
    ),
>;
pub type PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC =
    ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLSYNCTEXTUREINTELPROC = ::core::option::Option<unsafe extern "C" fn(texture: GLuint)>;
pub type PFNGLUNMAPTEXTURE2DINTELPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLuint, level: GLint)>;
pub type PFNGLMAPTEXTURE2DINTELPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        access: GLbitfield,
        stride: *mut GLint,
        layout: *mut GLenum,
    ) -> *mut libc::c_void,
>;
pub type PFNGLVERTEXPOINTERVINTELPROC = ::core::option::Option<
    unsafe extern "C" fn(size: GLint, type_: GLenum, pointer: *mut *const libc::c_void),
>;
pub type PFNGLNORMALPOINTERVINTELPROC = ::core::option::Option<
    unsafe extern "C" fn(type_: GLenum, pointer: *mut *const libc::c_void),
>;
pub type PFNGLCOLORPOINTERVINTELPROC = ::core::option::Option<
    unsafe extern "C" fn(size: GLint, type_: GLenum, pointer: *mut *const libc::c_void),
>;
pub type PFNGLTEXCOORDPOINTERVINTELPROC = ::core::option::Option<
    unsafe extern "C" fn(size: GLint, type_: GLenum, pointer: *mut *const libc::c_void),
>;
pub type PFNGLBEGINPERFQUERYINTELPROC =
    ::core::option::Option<unsafe extern "C" fn(queryHandle: GLuint)>;
pub type PFNGLCREATEPERFQUERYINTELPROC =
    ::core::option::Option<unsafe extern "C" fn(queryId: GLuint, queryHandle: *mut GLuint)>;
pub type PFNGLDELETEPERFQUERYINTELPROC =
    ::core::option::Option<unsafe extern "C" fn(queryHandle: GLuint)>;
pub type PFNGLENDPERFQUERYINTELPROC =
    ::core::option::Option<unsafe extern "C" fn(queryHandle: GLuint)>;
pub type PFNGLGETFIRSTPERFQUERYIDINTELPROC =
    ::core::option::Option<unsafe extern "C" fn(queryId: *mut GLuint)>;
pub type PFNGLGETNEXTPERFQUERYIDINTELPROC =
    ::core::option::Option<unsafe extern "C" fn(queryId: GLuint, nextQueryId: *mut GLuint)>;
pub type PFNGLGETPERFCOUNTERINFOINTELPROC = ::core::option::Option<
    unsafe extern "C" fn(
        queryId: GLuint,
        counterId: GLuint,
        counterNameLength: GLuint,
        counterName: *mut GLchar,
        counterDescLength: GLuint,
        counterDesc: *mut GLchar,
        counterOffset: *mut GLuint,
        counterDataSize: *mut GLuint,
        counterTypeEnum: *mut GLuint,
        counterDataTypeEnum: *mut GLuint,
        rawCounterMaxValue: *mut GLuint64,
    ),
>;
pub type PFNGLGETPERFQUERYDATAINTELPROC = ::core::option::Option<
    unsafe extern "C" fn(
        queryHandle: GLuint,
        flags: GLuint,
        dataSize: GLsizei,
        data: *mut libc::c_void,
        bytesWritten: *mut GLuint,
    ),
>;
pub type PFNGLGETPERFQUERYIDBYNAMEINTELPROC =
    ::core::option::Option<unsafe extern "C" fn(queryName: *mut GLchar, queryId: *mut GLuint)>;
pub type PFNGLGETPERFQUERYINFOINTELPROC = ::core::option::Option<
    unsafe extern "C" fn(
        queryId: GLuint,
        queryNameLength: GLuint,
        queryName: *mut GLchar,
        dataSize: *mut GLuint,
        noCounters: *mut GLuint,
        noInstances: *mut GLuint,
        capsMask: *mut GLuint,
    ),
>;
pub type PFNGLRESIZEBUFFERSMESAPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLWINDOWPOS2DMESAPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble)>;
pub type PFNGLWINDOWPOS2DVMESAPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLWINDOWPOS2FMESAPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat)>;
pub type PFNGLWINDOWPOS2FVMESAPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLWINDOWPOS2IMESAPROC = ::core::option::Option<unsafe extern "C" fn(x: GLint, y: GLint)>;
pub type PFNGLWINDOWPOS2IVMESAPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLWINDOWPOS2SMESAPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort)>;
pub type PFNGLWINDOWPOS2SVMESAPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLWINDOWPOS3DMESAPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble)>;
pub type PFNGLWINDOWPOS3DVMESAPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLWINDOWPOS3FMESAPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLWINDOWPOS3FVMESAPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLWINDOWPOS3IMESAPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLint, y: GLint, z: GLint)>;
pub type PFNGLWINDOWPOS3IVMESAPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLWINDOWPOS3SMESAPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort)>;
pub type PFNGLWINDOWPOS3SVMESAPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLWINDOWPOS4DMESAPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble)>;
pub type PFNGLWINDOWPOS4DVMESAPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLWINDOWPOS4FMESAPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat)>;
pub type PFNGLWINDOWPOS4FVMESAPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLWINDOWPOS4IMESAPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLint, y: GLint, z: GLint, w: GLint)>;
pub type PFNGLWINDOWPOS4IVMESAPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLWINDOWPOS4SMESAPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort, w: GLshort)>;
pub type PFNGLWINDOWPOS4SVMESAPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLBEGINCONDITIONALRENDERNVXPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint)>;
pub type PFNGLENDCONDITIONALRENDERNVXPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLLGPUNAMEDBUFFERSUBDATANVXPROC = ::core::option::Option<
    unsafe extern "C" fn(
        gpuMask: GLbitfield,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLLGPUCOPYIMAGESUBDATANVXPROC = ::core::option::Option<
    unsafe extern "C" fn(
        sourceGpu: GLuint,
        destinationGpuMask: GLbitfield,
        srcName: GLuint,
        srcTarget: GLenum,
        srcLevel: GLint,
        srcX: GLint,
        srxY: GLint,
        srcZ: GLint,
        dstName: GLuint,
        dstTarget: GLenum,
        dstLevel: GLint,
        dstX: GLint,
        dstY: GLint,
        dstZ: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
    ),
>;
pub type PFNGLLGPUINTERLOCKNVXPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLALPHATOCOVERAGEDITHERCONTROLNVPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        indirect: *const libc::c_void,
        drawCount: GLsizei,
        stride: GLsizei,
        vertexBufferCount: GLint,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        type_: GLenum,
        indirect: *const libc::c_void,
        drawCount: GLsizei,
        stride: GLsizei,
        vertexBufferCount: GLint,
    ),
>;
pub type PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        indirect: *const libc::c_void,
        drawCount: GLsizei,
        maxDrawCount: GLsizei,
        stride: GLsizei,
        vertexBufferCount: GLint,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        type_: GLenum,
        indirect: *const libc::c_void,
        drawCount: GLsizei,
        maxDrawCount: GLsizei,
        stride: GLsizei,
        vertexBufferCount: GLint,
    ),
>;
pub type PFNGLGETTEXTUREHANDLENVPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLuint) -> GLuint64>;
pub type PFNGLGETTEXTURESAMPLERHANDLENVPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLuint, sampler: GLuint) -> GLuint64>;
pub type PFNGLMAKETEXTUREHANDLERESIDENTNVPROC =
    ::core::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
pub type PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC =
    ::core::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
pub type PFNGLGETIMAGEHANDLENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        layered: GLboolean,
        layer: GLint,
        format: GLenum,
    ) -> GLuint64,
>;
pub type PFNGLMAKEIMAGEHANDLERESIDENTNVPROC =
    ::core::option::Option<unsafe extern "C" fn(handle: GLuint64, access: GLenum)>;
pub type PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC =
    ::core::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
pub type PFNGLUNIFORMHANDLEUI64NVPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, value: GLuint64)>;
pub type PFNGLUNIFORMHANDLEUI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, value: GLuint64)>;
pub type PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, values: *const GLuint64),
>;
pub type PFNGLISTEXTUREHANDLERESIDENTNVPROC =
    ::core::option::Option<unsafe extern "C" fn(handle: GLuint64) -> GLboolean>;
pub type PFNGLISIMAGEHANDLERESIDENTNVPROC =
    ::core::option::Option<unsafe extern "C" fn(handle: GLuint64) -> GLboolean>;
pub type PFNGLBLENDPARAMETERINVPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, value: GLint)>;
pub type PFNGLBLENDBARRIERNVPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLVIEWPORTPOSITIONWSCALENVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, xcoeff: GLfloat, ycoeff: GLfloat)>;
pub type PFNGLCREATESTATESNVPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, states: *mut GLuint)>;
pub type PFNGLDELETESTATESNVPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, states: *const GLuint)>;
pub type PFNGLISSTATENVPROC =
    ::core::option::Option<unsafe extern "C" fn(state: GLuint) -> GLboolean>;
pub type PFNGLSTATECAPTURENVPROC =
    ::core::option::Option<unsafe extern "C" fn(state: GLuint, mode: GLenum)>;
pub type PFNGLGETCOMMANDHEADERNVPROC =
    ::core::option::Option<unsafe extern "C" fn(tokenID: GLenum, size: GLuint) -> GLuint>;
pub type PFNGLGETSTAGEINDEXNVPROC =
    ::core::option::Option<unsafe extern "C" fn(shadertype: GLenum) -> GLushort>;
pub type PFNGLDRAWCOMMANDSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        primitiveMode: GLenum,
        buffer: GLuint,
        indirects: *const GLintptr,
        sizes: *const GLsizei,
        count: GLuint,
    ),
>;
pub type PFNGLDRAWCOMMANDSADDRESSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        primitiveMode: GLenum,
        indirects: *const GLuint64,
        sizes: *const GLsizei,
        count: GLuint,
    ),
>;
pub type PFNGLDRAWCOMMANDSSTATESNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        indirects: *const GLintptr,
        sizes: *const GLsizei,
        states: *const GLuint,
        fbos: *const GLuint,
        count: GLuint,
    ),
>;
pub type PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        indirects: *const GLuint64,
        sizes: *const GLsizei,
        states: *const GLuint,
        fbos: *const GLuint,
        count: GLuint,
    ),
>;
pub type PFNGLCREATECOMMANDLISTSNVPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, lists: *mut GLuint)>;
pub type PFNGLDELETECOMMANDLISTSNVPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, lists: *const GLuint)>;
pub type PFNGLISCOMMANDLISTNVPROC =
    ::core::option::Option<unsafe extern "C" fn(list: GLuint) -> GLboolean>;
pub type PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        list: GLuint,
        segment: GLuint,
        indirects: *mut *const libc::c_void,
        sizes: *const GLsizei,
        states: *const GLuint,
        fbos: *const GLuint,
        count: GLuint,
    ),
>;
pub type PFNGLCOMMANDLISTSEGMENTSNVPROC =
    ::core::option::Option<unsafe extern "C" fn(list: GLuint, segments: GLuint)>;
pub type PFNGLCOMPILECOMMANDLISTNVPROC = ::core::option::Option<unsafe extern "C" fn(list: GLuint)>;
pub type PFNGLCALLCOMMANDLISTNVPROC = ::core::option::Option<unsafe extern "C" fn(list: GLuint)>;
pub type PFNGLBEGINCONDITIONALRENDERNVPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, mode: GLenum)>;
pub type PFNGLENDCONDITIONALRENDERNVPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLSUBPIXELPRECISIONBIASNVPROC =
    ::core::option::Option<unsafe extern "C" fn(xbits: GLuint, ybits: GLuint)>;
pub type PFNGLCONSERVATIVERASTERPARAMETERFNVPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, value: GLfloat)>;
pub type PFNGLCONSERVATIVERASTERPARAMETERINVPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLCOPYIMAGESUBDATANVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        srcName: GLuint,
        srcTarget: GLenum,
        srcLevel: GLint,
        srcX: GLint,
        srcY: GLint,
        srcZ: GLint,
        dstName: GLuint,
        dstTarget: GLenum,
        dstLevel: GLint,
        dstX: GLint,
        dstY: GLint,
        dstZ: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
    ),
>;
pub type PFNGLDEPTHRANGEDNVPROC =
    ::core::option::Option<unsafe extern "C" fn(zNear: GLdouble, zFar: GLdouble)>;
pub type PFNGLCLEARDEPTHDNVPROC = ::core::option::Option<unsafe extern "C" fn(depth: GLdouble)>;
pub type PFNGLDEPTHBOUNDSDNVPROC =
    ::core::option::Option<unsafe extern "C" fn(zmin: GLdouble, zmax: GLdouble)>;
pub type PFNGLDRAWTEXTURENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        sampler: GLuint,
        x0: GLfloat,
        y0: GLfloat,
        x1: GLfloat,
        y1: GLfloat,
        z: GLfloat,
        s0: GLfloat,
        t0: GLfloat,
        s1: GLfloat,
        t1: GLfloat,
    ),
>;
pub type GLVULKANPROCNV = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLDRAWVKIMAGENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vkImage: GLuint64,
        sampler: GLuint,
        x0: GLfloat,
        y0: GLfloat,
        x1: GLfloat,
        y1: GLfloat,
        z: GLfloat,
        s0: GLfloat,
        t0: GLfloat,
        s1: GLfloat,
        t1: GLfloat,
    ),
>;
pub type PFNGLGETVKPROCADDRNVPROC =
    ::core::option::Option<unsafe extern "C" fn(name: *const GLchar) -> GLVULKANPROCNV>;
pub type PFNGLWAITVKSEMAPHORENVPROC =
    ::core::option::Option<unsafe extern "C" fn(vkSemaphore: GLuint64)>;
pub type PFNGLSIGNALVKSEMAPHORENVPROC =
    ::core::option::Option<unsafe extern "C" fn(vkSemaphore: GLuint64)>;
pub type PFNGLSIGNALVKFENCENVPROC = ::core::option::Option<unsafe extern "C" fn(vkFence: GLuint64)>;
pub type PFNGLMAPCONTROLPOINTSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        type_: GLenum,
        ustride: GLsizei,
        vstride: GLsizei,
        uorder: GLint,
        vorder: GLint,
        packed: GLboolean,
        points: *const libc::c_void,
    ),
>;
pub type PFNGLMAPPARAMETERIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLMAPPARAMETERFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLGETMAPCONTROLPOINTSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        type_: GLenum,
        ustride: GLsizei,
        vstride: GLsizei,
        packed: GLboolean,
        points: *mut libc::c_void,
    ),
>;
pub type PFNGLGETMAPPARAMETERIVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETMAPPARAMETERFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETMAPATTRIBPARAMETERIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETMAPATTRIBPARAMETERFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLEVALMAPSNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, mode: GLenum)>;
pub type PFNGLGETMULTISAMPLEFVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, index: GLuint, val: *mut GLfloat)>;
pub type PFNGLSAMPLEMASKINDEXEDNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, mask: GLbitfield)>;
pub type PFNGLTEXRENDERBUFFERNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, renderbuffer: GLuint)>;
pub type PFNGLDELETEFENCESNVPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, fences: *const GLuint)>;
pub type PFNGLGENFENCESNVPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, fences: *mut GLuint)>;
pub type PFNGLISFENCENVPROC =
    ::core::option::Option<unsafe extern "C" fn(fence: GLuint) -> GLboolean>;
pub type PFNGLTESTFENCENVPROC =
    ::core::option::Option<unsafe extern "C" fn(fence: GLuint) -> GLboolean>;
pub type PFNGLGETFENCEIVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(fence: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLFINISHFENCENVPROC = ::core::option::Option<unsafe extern "C" fn(fence: GLuint)>;
pub type PFNGLSETFENCENVPROC =
    ::core::option::Option<unsafe extern "C" fn(fence: GLuint, condition: GLenum)>;
pub type PFNGLFRAGMENTCOVERAGECOLORNVPROC =
    ::core::option::Option<unsafe extern "C" fn(color: GLuint)>;
pub type PFNGLPROGRAMNAMEDPARAMETER4FNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        id: GLuint,
        len: GLsizei,
        name: *const GLubyte,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
        w: GLfloat,
    ),
>;
pub type PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(id: GLuint, len: GLsizei, name: *const GLubyte, v: *const GLfloat),
>;
pub type PFNGLPROGRAMNAMEDPARAMETER4DNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        id: GLuint,
        len: GLsizei,
        name: *const GLubyte,
        x: GLdouble,
        y: GLdouble,
        z: GLdouble,
        w: GLdouble,
    ),
>;
pub type PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(id: GLuint, len: GLsizei, name: *const GLubyte, v: *const GLdouble),
>;
pub type PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(id: GLuint, len: GLsizei, name: *const GLubyte, params: *mut GLfloat),
>;
pub type PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(id: GLuint, len: GLsizei, name: *const GLubyte, params: *mut GLdouble),
>;
pub type PFNGLCOVERAGEMODULATIONTABLENVPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, v: *const GLfloat)>;
pub type PFNGLGETCOVERAGEMODULATIONTABLENVPROC =
    ::core::option::Option<unsafe extern "C" fn(bufsize: GLsizei, v: *mut GLfloat)>;
pub type PFNGLCOVERAGEMODULATIONNVPROC =
    ::core::option::Option<unsafe extern "C" fn(components: GLenum)>;
pub type PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        coverageSamples: GLsizei,
        colorSamples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLPROGRAMVERTEXLIMITNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, limit: GLint)>;
pub type PFNGLFRAMEBUFFERTEXTUREEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, attachment: GLenum, texture: GLuint, level: GLint),
>;
pub type PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        face: GLenum,
    ),
>;
pub type PFNGLRENDERGPUMASKNVPROC = ::core::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
pub type PFNGLMULTICASTBUFFERSUBDATANVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        gpuMask: GLbitfield,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
        data: *const libc::c_void,
    ),
>;
pub type PFNGLMULTICASTCOPYBUFFERSUBDATANVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        readGpu: GLuint,
        writeGpuMask: GLbitfield,
        readBuffer: GLuint,
        writeBuffer: GLuint,
        readOffset: GLintptr,
        writeOffset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLMULTICASTCOPYIMAGESUBDATANVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        srcGpu: GLuint,
        dstGpuMask: GLbitfield,
        srcName: GLuint,
        srcTarget: GLenum,
        srcLevel: GLint,
        srcX: GLint,
        srcY: GLint,
        srcZ: GLint,
        dstName: GLuint,
        dstTarget: GLenum,
        dstLevel: GLint,
        dstX: GLint,
        dstY: GLint,
        dstZ: GLint,
        srcWidth: GLsizei,
        srcHeight: GLsizei,
        srcDepth: GLsizei,
    ),
>;
pub type PFNGLMULTICASTBLITFRAMEBUFFERNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        srcGpu: GLuint,
        dstGpu: GLuint,
        srcX0: GLint,
        srcY0: GLint,
        srcX1: GLint,
        srcY1: GLint,
        dstX0: GLint,
        dstY0: GLint,
        dstX1: GLint,
        dstY1: GLint,
        mask: GLbitfield,
        filter: GLenum,
    ),
>;
pub type PFNGLMULTICASTFRAMEBUFFERSAMPLELOCATIONSFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        gpu: GLuint,
        framebuffer: GLuint,
        start: GLuint,
        count: GLsizei,
        v: *const GLfloat,
    ),
>;
pub type PFNGLMULTICASTBARRIERNVPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLMULTICASTWAITSYNCNVPROC =
    ::core::option::Option<unsafe extern "C" fn(signalGpu: GLuint, waitGpuMask: GLbitfield)>;
pub type PFNGLMULTICASTGETQUERYOBJECTIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(gpu: GLuint, id: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLMULTICASTGETQUERYOBJECTUIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(gpu: GLuint, id: GLuint, pname: GLenum, params: *mut GLuint),
>;
pub type PFNGLMULTICASTGETQUERYOBJECTI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(gpu: GLuint, id: GLuint, pname: GLenum, params: *mut GLint64),
>;
pub type PFNGLMULTICASTGETQUERYOBJECTUI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(gpu: GLuint, id: GLuint, pname: GLenum, params: *mut GLuint64),
>;
pub type PFNGLPROGRAMLOCALPARAMETERI4INVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint),
>;
pub type PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLint),
>;
pub type PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLint),
>;
pub type PFNGLPROGRAMLOCALPARAMETERI4UINVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint),
>;
pub type PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLuint),
>;
pub type PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLuint),
>;
pub type PFNGLPROGRAMENVPARAMETERI4INVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint),
>;
pub type PFNGLPROGRAMENVPARAMETERI4IVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLint),
>;
pub type PFNGLPROGRAMENVPARAMETERSI4IVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLint),
>;
pub type PFNGLPROGRAMENVPARAMETERI4UINVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint),
>;
pub type PFNGLPROGRAMENVPARAMETERI4UIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLuint),
>;
pub type PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLuint),
>;
pub type PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLint)>;
pub type PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLuint)>;
pub type PFNGLGETPROGRAMENVPARAMETERIIVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLint)>;
pub type PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLuint)>;
pub type PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, count: GLsizei, params: *const GLuint),
>;
pub type PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, param: *mut GLuint)>;
pub type GLhalfNV = libc::c_ushort;
pub type PFNGLVERTEX2HNVPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLhalfNV, y: GLhalfNV)>;
pub type PFNGLVERTEX2HVNVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLVERTEX3HNVPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLhalfNV, y: GLhalfNV, z: GLhalfNV)>;
pub type PFNGLVERTEX3HVNVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLVERTEX4HNVPROC =
    ::core::option::Option<unsafe extern "C" fn(x: GLhalfNV, y: GLhalfNV, z: GLhalfNV, w: GLhalfNV)>;
pub type PFNGLVERTEX4HVNVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLNORMAL3HNVPROC =
    ::core::option::Option<unsafe extern "C" fn(nx: GLhalfNV, ny: GLhalfNV, nz: GLhalfNV)>;
pub type PFNGLNORMAL3HVNVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLCOLOR3HNVPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLhalfNV, green: GLhalfNV, blue: GLhalfNV)>;
pub type PFNGLCOLOR3HVNVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLCOLOR4HNVPROC = ::core::option::Option<
    unsafe extern "C" fn(red: GLhalfNV, green: GLhalfNV, blue: GLhalfNV, alpha: GLhalfNV),
>;
pub type PFNGLCOLOR4HVNVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLTEXCOORD1HNVPROC = ::core::option::Option<unsafe extern "C" fn(s: GLhalfNV)>;
pub type PFNGLTEXCOORD1HVNVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLTEXCOORD2HNVPROC =
    ::core::option::Option<unsafe extern "C" fn(s: GLhalfNV, t: GLhalfNV)>;
pub type PFNGLTEXCOORD2HVNVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLTEXCOORD3HNVPROC =
    ::core::option::Option<unsafe extern "C" fn(s: GLhalfNV, t: GLhalfNV, r: GLhalfNV)>;
pub type PFNGLTEXCOORD3HVNVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLTEXCOORD4HNVPROC =
    ::core::option::Option<unsafe extern "C" fn(s: GLhalfNV, t: GLhalfNV, r: GLhalfNV, q: GLhalfNV)>;
pub type PFNGLTEXCOORD4HVNVPROC = ::core::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLMULTITEXCOORD1HNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, s: GLhalfNV)>;
pub type PFNGLMULTITEXCOORD1HVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLhalfNV)>;
pub type PFNGLMULTITEXCOORD2HNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, s: GLhalfNV, t: GLhalfNV)>;
pub type PFNGLMULTITEXCOORD2HVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLhalfNV)>;
pub type PFNGLMULTITEXCOORD3HNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, s: GLhalfNV, t: GLhalfNV, r: GLhalfNV),
>;
pub type PFNGLMULTITEXCOORD3HVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLhalfNV)>;
pub type PFNGLMULTITEXCOORD4HNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, s: GLhalfNV, t: GLhalfNV, r: GLhalfNV, q: GLhalfNV),
>;
pub type PFNGLMULTITEXCOORD4HVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLhalfNV)>;
pub type PFNGLFOGCOORDHNVPROC = ::core::option::Option<unsafe extern "C" fn(fog: GLhalfNV)>;
pub type PFNGLFOGCOORDHVNVPROC = ::core::option::Option<unsafe extern "C" fn(fog: *const GLhalfNV)>;
pub type PFNGLSECONDARYCOLOR3HNVPROC =
    ::core::option::Option<unsafe extern "C" fn(red: GLhalfNV, green: GLhalfNV, blue: GLhalfNV)>;
pub type PFNGLSECONDARYCOLOR3HVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLVERTEXWEIGHTHNVPROC = ::core::option::Option<unsafe extern "C" fn(weight: GLhalfNV)>;
pub type PFNGLVERTEXWEIGHTHVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(weight: *const GLhalfNV)>;
pub type PFNGLVERTEXATTRIB1HNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLhalfNV)>;
pub type PFNGLVERTEXATTRIB1HVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLhalfNV)>;
pub type PFNGLVERTEXATTRIB2HNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLhalfNV, y: GLhalfNV)>;
pub type PFNGLVERTEXATTRIB2HVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLhalfNV)>;
pub type PFNGLVERTEXATTRIB3HNVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLhalfNV, y: GLhalfNV, z: GLhalfNV),
>;
pub type PFNGLVERTEXATTRIB3HVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLhalfNV)>;
pub type PFNGLVERTEXATTRIB4HNVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLhalfNV, y: GLhalfNV, z: GLhalfNV, w: GLhalfNV),
>;
pub type PFNGLVERTEXATTRIB4HVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLhalfNV)>;
pub type PFNGLVERTEXATTRIBS1HVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, n: GLsizei, v: *const GLhalfNV)>;
pub type PFNGLVERTEXATTRIBS2HVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, n: GLsizei, v: *const GLhalfNV)>;
pub type PFNGLVERTEXATTRIBS3HVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, n: GLsizei, v: *const GLhalfNV)>;
pub type PFNGLVERTEXATTRIBS4HVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, n: GLsizei, v: *const GLhalfNV)>;
pub type PFNGLGETINTERNALFORMATSAMPLEIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        samples: GLsizei,
        pname: GLenum,
        bufSize: GLsizei,
        params: *mut GLint,
    ),
>;
pub type PFNGLGETMEMORYOBJECTDETACHEDRESOURCESUIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        memory: GLuint,
        pname: GLenum,
        first: GLint,
        count: GLsizei,
        params: *mut GLuint,
    ),
>;
pub type PFNGLRESETMEMORYOBJECTPARAMETERNVPROC =
    ::core::option::Option<unsafe extern "C" fn(memory: GLuint, pname: GLenum)>;
pub type PFNGLTEXATTACHMEMORYNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, memory: GLuint, offset: GLuint64)>;
pub type PFNGLBUFFERATTACHMEMORYNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, memory: GLuint, offset: GLuint64)>;
pub type PFNGLTEXTUREATTACHMEMORYNVPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLuint, memory: GLuint, offset: GLuint64)>;
pub type PFNGLNAMEDBUFFERATTACHMEMORYNVPROC =
    ::core::option::Option<unsafe extern "C" fn(buffer: GLuint, memory: GLuint, offset: GLuint64)>;
pub type PFNGLDRAWMESHTASKSNVPROC =
    ::core::option::Option<unsafe extern "C" fn(first: GLuint, count: GLuint)>;
pub type PFNGLDRAWMESHTASKSINDIRECTNVPROC =
    ::core::option::Option<unsafe extern "C" fn(indirect: GLintptr)>;
pub type PFNGLMULTIDRAWMESHTASKSINDIRECTNVPROC = ::core::option::Option<
    unsafe extern "C" fn(indirect: GLintptr, drawcount: GLsizei, stride: GLsizei),
>;
pub type PFNGLMULTIDRAWMESHTASKSINDIRECTCOUNTNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        indirect: GLintptr,
        drawcount: GLintptr,
        maxdrawcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLGENOCCLUSIONQUERIESNVPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
pub type PFNGLDELETEOCCLUSIONQUERIESNVPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *const GLuint)>;
pub type PFNGLISOCCLUSIONQUERYNVPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
pub type PFNGLBEGINOCCLUSIONQUERYNVPROC = ::core::option::Option<unsafe extern "C" fn(id: GLuint)>;
pub type PFNGLENDOCCLUSIONQUERYNVPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLGETOCCLUSIONQUERYIVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETOCCLUSIONQUERYUIVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLuint)>;
pub type PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        bindingIndex: GLuint,
        wordIndex: GLuint,
        count: GLsizei,
        params: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        bindingIndex: GLuint,
        wordIndex: GLuint,
        count: GLsizei,
        params: *const GLint,
    ),
>;
pub type PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        bindingIndex: GLuint,
        wordIndex: GLuint,
        count: GLsizei,
        params: *const GLuint,
    ),
>;
pub type PFNGLGENPATHSNVPROC =
    ::core::option::Option<unsafe extern "C" fn(range: GLsizei) -> GLuint>;
pub type PFNGLDELETEPATHSNVPROC =
    ::core::option::Option<unsafe extern "C" fn(path: GLuint, range: GLsizei)>;
pub type PFNGLISPATHNVPROC = ::core::option::Option<unsafe extern "C" fn(path: GLuint) -> GLboolean>;
pub type PFNGLPATHCOMMANDSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        path: GLuint,
        numCommands: GLsizei,
        commands: *const GLubyte,
        numCoords: GLsizei,
        coordType: GLenum,
        coords: *const libc::c_void,
    ),
>;
pub type PFNGLPATHCOORDSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        path: GLuint,
        numCoords: GLsizei,
        coordType: GLenum,
        coords: *const libc::c_void,
    ),
>;
pub type PFNGLPATHSUBCOMMANDSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        path: GLuint,
        commandStart: GLsizei,
        commandsToDelete: GLsizei,
        numCommands: GLsizei,
        commands: *const GLubyte,
        numCoords: GLsizei,
        coordType: GLenum,
        coords: *const libc::c_void,
    ),
>;
pub type PFNGLPATHSUBCOORDSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        path: GLuint,
        coordStart: GLsizei,
        numCoords: GLsizei,
        coordType: GLenum,
        coords: *const libc::c_void,
    ),
>;
pub type PFNGLPATHSTRINGNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        path: GLuint,
        format: GLenum,
        length: GLsizei,
        pathString: *const libc::c_void,
    ),
>;
pub type PFNGLPATHGLYPHSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        firstPathName: GLuint,
        fontTarget: GLenum,
        fontName: *const libc::c_void,
        fontStyle: GLbitfield,
        numGlyphs: GLsizei,
        type_: GLenum,
        charcodes: *const libc::c_void,
        handleMissingGlyphs: GLenum,
        pathParameterTemplate: GLuint,
        emScale: GLfloat,
    ),
>;
pub type PFNGLPATHGLYPHRANGENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        firstPathName: GLuint,
        fontTarget: GLenum,
        fontName: *const libc::c_void,
        fontStyle: GLbitfield,
        firstGlyph: GLuint,
        numGlyphs: GLsizei,
        handleMissingGlyphs: GLenum,
        pathParameterTemplate: GLuint,
        emScale: GLfloat,
    ),
>;
pub type PFNGLWEIGHTPATHSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        resultPath: GLuint,
        numPaths: GLsizei,
        paths: *const GLuint,
        weights: *const GLfloat,
    ),
>;
pub type PFNGLCOPYPATHNVPROC =
    ::core::option::Option<unsafe extern "C" fn(resultPath: GLuint, srcPath: GLuint)>;
pub type PFNGLINTERPOLATEPATHSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(resultPath: GLuint, pathA: GLuint, pathB: GLuint, weight: GLfloat),
>;
pub type PFNGLTRANSFORMPATHNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        resultPath: GLuint,
        srcPath: GLuint,
        transformType: GLenum,
        transformValues: *const GLfloat,
    ),
>;
pub type PFNGLPATHPARAMETERIVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(path: GLuint, pname: GLenum, value: *const GLint)>;
pub type PFNGLPATHPARAMETERINVPROC =
    ::core::option::Option<unsafe extern "C" fn(path: GLuint, pname: GLenum, value: GLint)>;
pub type PFNGLPATHPARAMETERFVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(path: GLuint, pname: GLenum, value: *const GLfloat)>;
pub type PFNGLPATHPARAMETERFNVPROC =
    ::core::option::Option<unsafe extern "C" fn(path: GLuint, pname: GLenum, value: GLfloat)>;
pub type PFNGLPATHDASHARRAYNVPROC = ::core::option::Option<
    unsafe extern "C" fn(path: GLuint, dashCount: GLsizei, dashArray: *const GLfloat),
>;
pub type PFNGLPATHSTENCILFUNCNVPROC =
    ::core::option::Option<unsafe extern "C" fn(func: GLenum, ref_: GLint, mask: GLuint)>;
pub type PFNGLPATHSTENCILDEPTHOFFSETNVPROC =
    ::core::option::Option<unsafe extern "C" fn(factor: GLfloat, units: GLfloat)>;
pub type PFNGLSTENCILFILLPATHNVPROC =
    ::core::option::Option<unsafe extern "C" fn(path: GLuint, fillMode: GLenum, mask: GLuint)>;
pub type PFNGLSTENCILSTROKEPATHNVPROC =
    ::core::option::Option<unsafe extern "C" fn(path: GLuint, reference: GLint, mask: GLuint)>;
pub type PFNGLSTENCILFILLPATHINSTANCEDNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        numPaths: GLsizei,
        pathNameType: GLenum,
        paths: *const libc::c_void,
        pathBase: GLuint,
        fillMode: GLenum,
        mask: GLuint,
        transformType: GLenum,
        transformValues: *const GLfloat,
    ),
>;
pub type PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        numPaths: GLsizei,
        pathNameType: GLenum,
        paths: *const libc::c_void,
        pathBase: GLuint,
        reference: GLint,
        mask: GLuint,
        transformType: GLenum,
        transformValues: *const GLfloat,
    ),
>;
pub type PFNGLPATHCOVERDEPTHFUNCNVPROC = ::core::option::Option<unsafe extern "C" fn(func: GLenum)>;
pub type PFNGLCOVERFILLPATHNVPROC =
    ::core::option::Option<unsafe extern "C" fn(path: GLuint, coverMode: GLenum)>;
pub type PFNGLCOVERSTROKEPATHNVPROC =
    ::core::option::Option<unsafe extern "C" fn(path: GLuint, coverMode: GLenum)>;
pub type PFNGLCOVERFILLPATHINSTANCEDNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        numPaths: GLsizei,
        pathNameType: GLenum,
        paths: *const libc::c_void,
        pathBase: GLuint,
        coverMode: GLenum,
        transformType: GLenum,
        transformValues: *const GLfloat,
    ),
>;
pub type PFNGLCOVERSTROKEPATHINSTANCEDNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        numPaths: GLsizei,
        pathNameType: GLenum,
        paths: *const libc::c_void,
        pathBase: GLuint,
        coverMode: GLenum,
        transformType: GLenum,
        transformValues: *const GLfloat,
    ),
>;
pub type PFNGLGETPATHPARAMETERIVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(path: GLuint, pname: GLenum, value: *mut GLint)>;
pub type PFNGLGETPATHPARAMETERFVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(path: GLuint, pname: GLenum, value: *mut GLfloat)>;
pub type PFNGLGETPATHCOMMANDSNVPROC =
    ::core::option::Option<unsafe extern "C" fn(path: GLuint, commands: *mut GLubyte)>;
pub type PFNGLGETPATHCOORDSNVPROC =
    ::core::option::Option<unsafe extern "C" fn(path: GLuint, coords: *mut GLfloat)>;
pub type PFNGLGETPATHDASHARRAYNVPROC =
    ::core::option::Option<unsafe extern "C" fn(path: GLuint, dashArray: *mut GLfloat)>;
pub type PFNGLGETPATHMETRICSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        metricQueryMask: GLbitfield,
        numPaths: GLsizei,
        pathNameType: GLenum,
        paths: *const libc::c_void,
        pathBase: GLuint,
        stride: GLsizei,
        metrics: *mut GLfloat,
    ),
>;
pub type PFNGLGETPATHMETRICRANGENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        metricQueryMask: GLbitfield,
        firstPathName: GLuint,
        numPaths: GLsizei,
        stride: GLsizei,
        metrics: *mut GLfloat,
    ),
>;
pub type PFNGLGETPATHSPACINGNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        pathListMode: GLenum,
        numPaths: GLsizei,
        pathNameType: GLenum,
        paths: *const libc::c_void,
        pathBase: GLuint,
        advanceScale: GLfloat,
        kerningScale: GLfloat,
        transformType: GLenum,
        returnedSpacing: *mut GLfloat,
    ),
>;
pub type PFNGLISPOINTINFILLPATHNVPROC = ::core::option::Option<
    unsafe extern "C" fn(path: GLuint, mask: GLuint, x: GLfloat, y: GLfloat) -> GLboolean,
>;
pub type PFNGLISPOINTINSTROKEPATHNVPROC =
    ::core::option::Option<unsafe extern "C" fn(path: GLuint, x: GLfloat, y: GLfloat) -> GLboolean>;
pub type PFNGLGETPATHLENGTHNVPROC = ::core::option::Option<
    unsafe extern "C" fn(path: GLuint, startSegment: GLsizei, numSegments: GLsizei) -> GLfloat,
>;
pub type PFNGLPOINTALONGPATHNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        path: GLuint,
        startSegment: GLsizei,
        numSegments: GLsizei,
        distance: GLfloat,
        x: *mut GLfloat,
        y: *mut GLfloat,
        tangentX: *mut GLfloat,
        tangentY: *mut GLfloat,
    ) -> GLboolean,
>;
pub type PFNGLMATRIXLOAD3X2FNVPROC =
    ::core::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXLOAD3X3FNVPROC =
    ::core::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC =
    ::core::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXMULT3X2FNVPROC =
    ::core::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXMULT3X3FNVPROC =
    ::core::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC =
    ::core::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
pub type PFNGLSTENCILTHENCOVERFILLPATHNVPROC = ::core::option::Option<
    unsafe extern "C" fn(path: GLuint, fillMode: GLenum, mask: GLuint, coverMode: GLenum),
>;
pub type PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC = ::core::option::Option<
    unsafe extern "C" fn(path: GLuint, reference: GLint, mask: GLuint, coverMode: GLenum),
>;
pub type PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        numPaths: GLsizei,
        pathNameType: GLenum,
        paths: *const libc::c_void,
        pathBase: GLuint,
        fillMode: GLenum,
        mask: GLuint,
        coverMode: GLenum,
        transformType: GLenum,
        transformValues: *const GLfloat,
    ),
>;
pub type PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        numPaths: GLsizei,
        pathNameType: GLenum,
        paths: *const libc::c_void,
        pathBase: GLuint,
        reference: GLint,
        mask: GLuint,
        coverMode: GLenum,
        transformType: GLenum,
        transformValues: *const GLfloat,
    ),
>;
pub type PFNGLPATHGLYPHINDEXRANGENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        fontTarget: GLenum,
        fontName: *const libc::c_void,
        fontStyle: GLbitfield,
        pathParameterTemplate: GLuint,
        emScale: GLfloat,
        baseAndCount: *mut GLuint,
    ) -> GLenum,
>;
pub type PFNGLPATHGLYPHINDEXARRAYNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        firstPathName: GLuint,
        fontTarget: GLenum,
        fontName: *const libc::c_void,
        fontStyle: GLbitfield,
        firstGlyphIndex: GLuint,
        numGlyphs: GLsizei,
        pathParameterTemplate: GLuint,
        emScale: GLfloat,
    ) -> GLenum,
>;
pub type PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        firstPathName: GLuint,
        fontTarget: GLenum,
        fontSize: GLsizeiptr,
        fontData: *const libc::c_void,
        faceIndex: GLsizei,
        firstGlyphIndex: GLuint,
        numGlyphs: GLsizei,
        pathParameterTemplate: GLuint,
        emScale: GLfloat,
    ) -> GLenum,
>;
pub type PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        genMode: GLenum,
        components: GLint,
        coeffs: *const GLfloat,
    ),
>;
pub type PFNGLGETPROGRAMRESOURCEFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        programInterface: GLenum,
        index: GLuint,
        propCount: GLsizei,
        props: *const GLenum,
        bufSize: GLsizei,
        length: *mut GLsizei,
        params: *mut GLfloat,
    ),
>;
pub type PFNGLPATHCOLORGENNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        color: GLenum,
        genMode: GLenum,
        colorFormat: GLenum,
        coeffs: *const GLfloat,
    ),
>;
pub type PFNGLPATHTEXGENNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texCoordSet: GLenum,
        genMode: GLenum,
        components: GLint,
        coeffs: *const GLfloat,
    ),
>;
pub type PFNGLPATHFOGGENNVPROC = ::core::option::Option<unsafe extern "C" fn(genMode: GLenum)>;
pub type PFNGLGETPATHCOLORGENIVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(color: GLenum, pname: GLenum, value: *mut GLint)>;
pub type PFNGLGETPATHCOLORGENFVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(color: GLenum, pname: GLenum, value: *mut GLfloat)>;
pub type PFNGLGETPATHTEXGENIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(texCoordSet: GLenum, pname: GLenum, value: *mut GLint),
>;
pub type PFNGLGETPATHTEXGENFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(texCoordSet: GLenum, pname: GLenum, value: *mut GLfloat),
>;
pub type PFNGLPIXELDATARANGENVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, length: GLsizei, pointer: *const libc::c_void),
>;
pub type PFNGLFLUSHPIXELDATARANGENVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLPOINTPARAMETERINVPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLPOINTPARAMETERIVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
pub type PFNGLPRESENTFRAMEKEYEDNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        video_slot: GLuint,
        minPresentTime: GLuint64EXT,
        beginPresentTimeId: GLuint,
        presentDurationId: GLuint,
        type_: GLenum,
        target0: GLenum,
        fill0: GLuint,
        key0: GLuint,
        target1: GLenum,
        fill1: GLuint,
        key1: GLuint,
    ),
>;
pub type PFNGLPRESENTFRAMEDUALFILLNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        video_slot: GLuint,
        minPresentTime: GLuint64EXT,
        beginPresentTimeId: GLuint,
        presentDurationId: GLuint,
        type_: GLenum,
        target0: GLenum,
        fill0: GLuint,
        target1: GLenum,
        fill1: GLuint,
        target2: GLenum,
        fill2: GLuint,
        target3: GLenum,
        fill3: GLuint,
    ),
>;
pub type PFNGLGETVIDEOIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(video_slot: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETVIDEOUIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(video_slot: GLuint, pname: GLenum, params: *mut GLuint),
>;
pub type PFNGLGETVIDEOI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(video_slot: GLuint, pname: GLenum, params: *mut GLint64EXT),
>;
pub type PFNGLGETVIDEOUI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(video_slot: GLuint, pname: GLenum, params: *mut GLuint64EXT),
>;
pub type PFNGLPRIMITIVERESTARTNVPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLPRIMITIVERESTARTINDEXNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint)>;
pub type PFNGLQUERYRESOURCENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        queryType: GLenum,
        tagId: GLint,
        bufSize: GLuint,
        buffer: *mut GLint,
    ) -> GLint,
>;
pub type PFNGLGENQUERYRESOURCETAGNVPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, tagIds: *mut GLint)>;
pub type PFNGLDELETEQUERYRESOURCETAGNVPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, tagIds: *const GLint)>;
pub type PFNGLQUERYRESOURCETAGNVPROC =
    ::core::option::Option<unsafe extern "C" fn(tagId: GLint, tagString: *const GLchar)>;
pub type PFNGLCOMBINERPARAMETERFVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
pub type PFNGLCOMBINERPARAMETERFNVPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLCOMBINERPARAMETERIVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
pub type PFNGLCOMBINERPARAMETERINVPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLCOMBINERINPUTNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        stage: GLenum,
        portion: GLenum,
        variable: GLenum,
        input: GLenum,
        mapping: GLenum,
        componentUsage: GLenum,
    ),
>;
pub type PFNGLCOMBINEROUTPUTNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        stage: GLenum,
        portion: GLenum,
        abOutput: GLenum,
        cdOutput: GLenum,
        sumOutput: GLenum,
        scale: GLenum,
        bias: GLenum,
        abDotProduct: GLboolean,
        cdDotProduct: GLboolean,
        muxSum: GLboolean,
    ),
>;
pub type PFNGLFINALCOMBINERINPUTNVPROC = ::core::option::Option<
    unsafe extern "C" fn(variable: GLenum, input: GLenum, mapping: GLenum, componentUsage: GLenum),
>;
pub type PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        stage: GLenum,
        portion: GLenum,
        variable: GLenum,
        pname: GLenum,
        params: *mut GLfloat,
    ),
>;
pub type PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        stage: GLenum,
        portion: GLenum,
        variable: GLenum,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(stage: GLenum, portion: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(stage: GLenum, portion: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(variable: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(variable: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLCOMBINERSTAGEPARAMETERFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(stage: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(stage: GLenum, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, start: GLuint, count: GLsizei, v: *const GLfloat),
>;
pub type PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, start: GLuint, count: GLsizei, v: *const GLfloat),
>;
pub type PFNGLRESOLVEDEPTHVALUESNVPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLSCISSOREXCLUSIVENVPROC = ::core::option::Option<
    unsafe extern "C" fn(x: GLint, y: GLint, width: GLsizei, height: GLsizei),
>;
pub type PFNGLSCISSOREXCLUSIVEARRAYVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(first: GLuint, count: GLsizei, v: *const GLint)>;
pub type PFNGLMAKEBUFFERRESIDENTNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, access: GLenum)>;
pub type PFNGLMAKEBUFFERNONRESIDENTNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLISBUFFERRESIDENTNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum) -> GLboolean>;
pub type PFNGLMAKENAMEDBUFFERRESIDENTNVPROC =
    ::core::option::Option<unsafe extern "C" fn(buffer: GLuint, access: GLenum)>;
pub type PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC =
    ::core::option::Option<unsafe extern "C" fn(buffer: GLuint)>;
pub type PFNGLISNAMEDBUFFERRESIDENTNVPROC =
    ::core::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
pub type PFNGLGETBUFFERPARAMETERUI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLuint64EXT),
>;
pub type PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLuint64EXT),
>;
pub type PFNGLGETINTEGERUI64VNVPROC =
    ::core::option::Option<unsafe extern "C" fn(value: GLenum, result: *mut GLuint64EXT)>;
pub type PFNGLUNIFORMUI64NVPROC =
    ::core::option::Option<unsafe extern "C" fn(location: GLint, value: GLuint64EXT)>;
pub type PFNGLUNIFORMUI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64EXT),
>;
pub type PFNGLPROGRAMUNIFORMUI64NVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, value: GLuint64EXT),
>;
pub type PFNGLPROGRAMUNIFORMUI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLuint64EXT,
    ),
>;
pub type PFNGLBINDSHADINGRATEIMAGENVPROC =
    ::core::option::Option<unsafe extern "C" fn(texture: GLuint)>;
pub type PFNGLGETSHADINGRATEIMAGEPALETTENVPROC =
    ::core::option::Option<unsafe extern "C" fn(viewport: GLuint, entry: GLuint, rate: *mut GLenum)>;
pub type PFNGLGETSHADINGRATESAMPLELOCATIONIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(rate: GLenum, samples: GLuint, index: GLuint, location: *mut GLint),
>;
pub type PFNGLSHADINGRATEIMAGEBARRIERNVPROC =
    ::core::option::Option<unsafe extern "C" fn(synchronize: GLboolean)>;
pub type PFNGLSHADINGRATEIMAGEPALETTENVPROC = ::core::option::Option<
    unsafe extern "C" fn(viewport: GLuint, first: GLuint, count: GLsizei, rates: *const GLenum),
>;
pub type PFNGLSHADINGRATESAMPLEORDERNVPROC =
    ::core::option::Option<unsafe extern "C" fn(order: GLenum)>;
pub type PFNGLSHADINGRATESAMPLEORDERCUSTOMNVPROC = ::core::option::Option<
    unsafe extern "C" fn(rate: GLenum, samples: GLuint, locations: *const GLint),
>;
pub type PFNGLTEXTUREBARRIERNVPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        coverageSamples: GLsizei,
        colorSamples: GLsizei,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        fixedSampleLocations: GLboolean,
    ),
>;
pub type PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        coverageSamples: GLsizei,
        colorSamples: GLsizei,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedSampleLocations: GLboolean,
    ),
>;
pub type PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        samples: GLsizei,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        fixedSampleLocations: GLboolean,
    ),
>;
pub type PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        samples: GLsizei,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedSampleLocations: GLboolean,
    ),
>;
pub type PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        coverageSamples: GLsizei,
        colorSamples: GLsizei,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        fixedSampleLocations: GLboolean,
    ),
>;
pub type PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        coverageSamples: GLsizei,
        colorSamples: GLsizei,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedSampleLocations: GLboolean,
    ),
>;
pub type PFNGLBEGINTRANSFORMFEEDBACKNVPROC =
    ::core::option::Option<unsafe extern "C" fn(primitiveMode: GLenum)>;
pub type PFNGLENDTRANSFORMFEEDBACKNVPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(count: GLsizei, attribs: *const GLint, bufferMode: GLenum),
>;
pub type PFNGLBINDBUFFERRANGENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLBINDBUFFEROFFSETNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint, offset: GLintptr),
>;
pub type PFNGLBINDBUFFERBASENVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint)>;
pub type PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        count: GLsizei,
        locations: *const GLint,
        bufferMode: GLenum,
    ),
>;
pub type PFNGLACTIVEVARYINGNVPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar)>;
pub type PFNGLGETVARYINGLOCATIONNVPROC =
    ::core::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
pub type PFNGLGETACTIVEVARYINGNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        index: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        size: *mut GLsizei,
        type_: *mut GLenum,
        name: *mut GLchar,
    ),
>;
pub type PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC = ::core::option::Option<
    unsafe extern "C" fn(program: GLuint, index: GLuint, location: *mut GLint),
>;
pub type PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        count: GLsizei,
        attribs: *const GLint,
        nbuffers: GLsizei,
        bufstreams: *const GLint,
        bufferMode: GLenum,
    ),
>;
pub type PFNGLBINDTRANSFORMFEEDBACKNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint)>;
pub type PFNGLDELETETRANSFORMFEEDBACKSNVPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *const GLuint)>;
pub type PFNGLGENTRANSFORMFEEDBACKSNVPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
pub type PFNGLISTRANSFORMFEEDBACKNVPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
pub type PFNGLPAUSETRANSFORMFEEDBACKNVPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLRESUMETRANSFORMFEEDBACKNVPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLDRAWTRANSFORMFEEDBACKNVPROC =
    ::core::option::Option<unsafe extern "C" fn(mode: GLenum, id: GLuint)>;
pub type GLvdpauSurfaceNV = GLintptr;
pub type PFNGLVDPAUINITNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vdpDevice: *const libc::c_void,
        getProcAddress: *const libc::c_void,
    ),
>;
pub type PFNGLVDPAUFININVPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLVDPAUREGISTERVIDEOSURFACENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vdpSurface: *const libc::c_void,
        target: GLenum,
        numTextureNames: GLsizei,
        textureNames: *const GLuint,
    ) -> GLvdpauSurfaceNV,
>;
pub type PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vdpSurface: *const libc::c_void,
        target: GLenum,
        numTextureNames: GLsizei,
        textureNames: *const GLuint,
    ) -> GLvdpauSurfaceNV,
>;
pub type PFNGLVDPAUISSURFACENVPROC =
    ::core::option::Option<unsafe extern "C" fn(surface: GLvdpauSurfaceNV) -> GLboolean>;
pub type PFNGLVDPAUUNREGISTERSURFACENVPROC =
    ::core::option::Option<unsafe extern "C" fn(surface: GLvdpauSurfaceNV)>;
pub type PFNGLVDPAUGETSURFACEIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        surface: GLvdpauSurfaceNV,
        pname: GLenum,
        bufSize: GLsizei,
        length: *mut GLsizei,
        values: *mut GLint,
    ),
>;
pub type PFNGLVDPAUSURFACEACCESSNVPROC =
    ::core::option::Option<unsafe extern "C" fn(surface: GLvdpauSurfaceNV, access: GLenum)>;
pub type PFNGLVDPAUMAPSURFACESNVPROC = ::core::option::Option<
    unsafe extern "C" fn(numSurfaces: GLsizei, surfaces: *const GLvdpauSurfaceNV),
>;
pub type PFNGLVDPAUUNMAPSURFACESNVPROC = ::core::option::Option<
    unsafe extern "C" fn(numSurface: GLsizei, surfaces: *const GLvdpauSurfaceNV),
>;
pub type PFNGLVDPAUREGISTERVIDEOSURFACEWITHPICTURESTRUCTURENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        vdpSurface: *const libc::c_void,
        target: GLenum,
        numTextureNames: GLsizei,
        textureNames: *const GLuint,
        isFrameStructure: GLboolean,
    ) -> GLvdpauSurfaceNV,
>;
pub type PFNGLFLUSHVERTEXARRAYRANGENVPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLVERTEXARRAYRANGENVPROC = ::core::option::Option<
    unsafe extern "C" fn(length: GLsizei, pointer: *const libc::c_void),
>;
pub type PFNGLVERTEXATTRIBL1I64NVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint64EXT)>;
pub type PFNGLVERTEXATTRIBL2I64NVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint64EXT, y: GLint64EXT)>;
pub type PFNGLVERTEXATTRIBL3I64NVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLint64EXT, y: GLint64EXT, z: GLint64EXT),
>;
pub type PFNGLVERTEXATTRIBL4I64NVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLint64EXT, y: GLint64EXT, z: GLint64EXT, w: GLint64EXT),
>;
pub type PFNGLVERTEXATTRIBL1I64VNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint64EXT)>;
pub type PFNGLVERTEXATTRIBL2I64VNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint64EXT)>;
pub type PFNGLVERTEXATTRIBL3I64VNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint64EXT)>;
pub type PFNGLVERTEXATTRIBL4I64VNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint64EXT)>;
pub type PFNGLVERTEXATTRIBL1UI64NVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint64EXT)>;
pub type PFNGLVERTEXATTRIBL2UI64NVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint64EXT, y: GLuint64EXT)>;
pub type PFNGLVERTEXATTRIBL3UI64NVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLuint64EXT, y: GLuint64EXT, z: GLuint64EXT),
>;
pub type PFNGLVERTEXATTRIBL4UI64NVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        x: GLuint64EXT,
        y: GLuint64EXT,
        z: GLuint64EXT,
        w: GLuint64EXT,
    ),
>;
pub type PFNGLVERTEXATTRIBL1UI64VNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint64EXT)>;
pub type PFNGLVERTEXATTRIBL2UI64VNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint64EXT)>;
pub type PFNGLVERTEXATTRIBL3UI64VNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint64EXT)>;
pub type PFNGLVERTEXATTRIBL4UI64VNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint64EXT)>;
pub type PFNGLGETVERTEXATTRIBLI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint64EXT),
>;
pub type PFNGLGETVERTEXATTRIBLUI64VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLuint64EXT),
>;
pub type PFNGLVERTEXATTRIBLFORMATNVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, size: GLint, type_: GLenum, stride: GLsizei),
>;
pub type PFNGLBUFFERADDRESSRANGENVPROC = ::core::option::Option<
    unsafe extern "C" fn(pname: GLenum, index: GLuint, address: GLuint64EXT, length: GLsizeiptr),
>;
pub type PFNGLVERTEXFORMATNVPROC =
    ::core::option::Option<unsafe extern "C" fn(size: GLint, type_: GLenum, stride: GLsizei)>;
pub type PFNGLNORMALFORMATNVPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, stride: GLsizei)>;
pub type PFNGLCOLORFORMATNVPROC =
    ::core::option::Option<unsafe extern "C" fn(size: GLint, type_: GLenum, stride: GLsizei)>;
pub type PFNGLINDEXFORMATNVPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, stride: GLsizei)>;
pub type PFNGLTEXCOORDFORMATNVPROC =
    ::core::option::Option<unsafe extern "C" fn(size: GLint, type_: GLenum, stride: GLsizei)>;
pub type PFNGLEDGEFLAGFORMATNVPROC = ::core::option::Option<unsafe extern "C" fn(stride: GLsizei)>;
pub type PFNGLSECONDARYCOLORFORMATNVPROC =
    ::core::option::Option<unsafe extern "C" fn(size: GLint, type_: GLenum, stride: GLsizei)>;
pub type PFNGLFOGCOORDFORMATNVPROC =
    ::core::option::Option<unsafe extern "C" fn(type_: GLenum, stride: GLsizei)>;
pub type PFNGLVERTEXATTRIBFORMATNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLint,
        type_: GLenum,
        normalized: GLboolean,
        stride: GLsizei,
    ),
>;
pub type PFNGLVERTEXATTRIBIFORMATNVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, size: GLint, type_: GLenum, stride: GLsizei),
>;
pub type PFNGLGETINTEGERUI64I_VNVPROC = ::core::option::Option<
    unsafe extern "C" fn(value: GLenum, index: GLuint, result: *mut GLuint64EXT),
>;
pub type PFNGLAREPROGRAMSRESIDENTNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        n: GLsizei,
        programs: *const GLuint,
        residences: *mut GLboolean,
    ) -> GLboolean,
>;
pub type PFNGLBINDPROGRAMNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint)>;
pub type PFNGLDELETEPROGRAMSNVPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, programs: *const GLuint)>;
pub type PFNGLEXECUTEPROGRAMNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint, params: *const GLfloat)>;
pub type PFNGLGENPROGRAMSNVPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, programs: *mut GLuint)>;
pub type PFNGLGETPROGRAMPARAMETERDVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, pname: GLenum, params: *mut GLdouble),
>;
pub type PFNGLGETPROGRAMPARAMETERFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETPROGRAMIVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETPROGRAMSTRINGNVPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, program: *mut GLubyte)>;
pub type PFNGLGETTRACKMATRIXIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, address: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETVERTEXATTRIBDVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLdouble),
>;
pub type PFNGLGETVERTEXATTRIBFVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETVERTEXATTRIBIVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETVERTEXATTRIBPOINTERVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, pointer: *mut *mut libc::c_void),
>;
pub type PFNGLISPROGRAMNVPROC =
    ::core::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
pub type PFNGLLOADPROGRAMNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, id: GLuint, len: GLsizei, program: *const GLubyte),
>;
pub type PFNGLPROGRAMPARAMETER4DNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        x: GLdouble,
        y: GLdouble,
        z: GLdouble,
        w: GLdouble,
    ),
>;
pub type PFNGLPROGRAMPARAMETER4DVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, v: *const GLdouble)>;
pub type PFNGLPROGRAMPARAMETER4FNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
        w: GLfloat,
    ),
>;
pub type PFNGLPROGRAMPARAMETER4FVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, v: *const GLfloat)>;
pub type PFNGLPROGRAMPARAMETERS4DVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, v: *const GLdouble),
>;
pub type PFNGLPROGRAMPARAMETERS4FVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, v: *const GLfloat),
>;
pub type PFNGLREQUESTRESIDENTPROGRAMSNVPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, programs: *const GLuint)>;
pub type PFNGLTRACKMATRIXNVPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, address: GLuint, matrix: GLenum, transform: GLenum),
>;
pub type PFNGLVERTEXATTRIBPOINTERNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        fsize: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLVERTEXATTRIB1DNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble)>;
pub type PFNGLVERTEXATTRIB1DVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB1FNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat)>;
pub type PFNGLVERTEXATTRIB1FVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB1SNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort)>;
pub type PFNGLVERTEXATTRIB1SVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB2DNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble)>;
pub type PFNGLVERTEXATTRIB2DVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB2FNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat)>;
pub type PFNGLVERTEXATTRIB2FVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB2SNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort)>;
pub type PFNGLVERTEXATTRIB2SVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB3DNVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLVERTEXATTRIB3DVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB3FNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLVERTEXATTRIB3FVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB3SNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort)>;
pub type PFNGLVERTEXATTRIB3SVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB4DNVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
>;
pub type PFNGLVERTEXATTRIB4DVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB4FNVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat),
>;
pub type PFNGLVERTEXATTRIB4FVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB4SNVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort, w: GLshort),
>;
pub type PFNGLVERTEXATTRIB4SVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB4UBNVPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLubyte, y: GLubyte, z: GLubyte, w: GLubyte),
>;
pub type PFNGLVERTEXATTRIB4UBVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
pub type PFNGLVERTEXATTRIBS1DVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBS1FVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIBS1SVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIBS2DVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBS2FVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIBS2SVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIBS3DVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBS3FVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIBS3SVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIBS4DVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBS4FVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIBS4SVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIBS4UBVNVPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLubyte)>;
pub type PFNGLVERTEXATTRIBI1IEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint)>;
pub type PFNGLVERTEXATTRIBI2IEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint)>;
pub type PFNGLVERTEXATTRIBI3IEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint, z: GLint)>;
pub type PFNGLVERTEXATTRIBI4IEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint),
>;
pub type PFNGLVERTEXATTRIBI1UIEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint)>;
pub type PFNGLVERTEXATTRIBI2UIEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint)>;
pub type PFNGLVERTEXATTRIBI3UIEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint, z: GLuint)>;
pub type PFNGLVERTEXATTRIBI4UIEXTPROC = ::core::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint),
>;
pub type PFNGLVERTEXATTRIBI1IVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIBI2IVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIBI3IVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIBI4IVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIBI1UIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIBI2UIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIBI3UIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIBI4UIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIBI4BVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
pub type PFNGLVERTEXATTRIBI4SVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIBI4UBVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
pub type PFNGLVERTEXATTRIBI4USVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
pub type PFNGLVERTEXATTRIBIPOINTEREXTPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const libc::c_void,
    ),
>;
pub type PFNGLGETVERTEXATTRIBIIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETVERTEXATTRIBIUIVEXTPROC =
    ::core::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLuint)>;
pub type PFNGLBEGINVIDEOCAPTURENVPROC =
    ::core::option::Option<unsafe extern "C" fn(video_capture_slot: GLuint)>;
pub type PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        stream: GLuint,
        frame_region: GLenum,
        offset: GLintptrARB,
    ),
>;
pub type PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        stream: GLuint,
        frame_region: GLenum,
        target: GLenum,
        texture: GLuint,
    ),
>;
pub type PFNGLENDVIDEOCAPTURENVPROC =
    ::core::option::Option<unsafe extern "C" fn(video_capture_slot: GLuint)>;
pub type PFNGLGETVIDEOCAPTUREIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(video_capture_slot: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETVIDEOCAPTURESTREAMIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        stream: GLuint,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLGETVIDEOCAPTURESTREAMFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        stream: GLuint,
        pname: GLenum,
        params: *mut GLfloat,
    ),
>;
pub type PFNGLGETVIDEOCAPTURESTREAMDVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        stream: GLuint,
        pname: GLenum,
        params: *mut GLdouble,
    ),
>;
pub type PFNGLVIDEOCAPTURENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        sequence_num: *mut GLuint,
        capture_time: *mut GLuint64EXT,
    ) -> GLenum,
>;
pub type PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        stream: GLuint,
        pname: GLenum,
        params: *const GLint,
    ),
>;
pub type PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        stream: GLuint,
        pname: GLenum,
        params: *const GLfloat,
    ),
>;
pub type PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        stream: GLuint,
        pname: GLenum,
        params: *const GLdouble,
    ),
>;
pub type PFNGLVIEWPORTSWIZZLENVPROC = ::core::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        swizzlex: GLenum,
        swizzley: GLenum,
        swizzlez: GLenum,
        swizzlew: GLenum,
    ),
>;
pub type PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        baseViewIndex: GLint,
        numViews: GLsizei,
    ),
>;
pub type PFNGLHINTPGIPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, mode: GLint)>;
pub type PFNGLDETAILTEXFUNCSGISPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, n: GLsizei, points: *const GLfloat)>;
pub type PFNGLGETDETAILTEXFUNCSGISPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, points: *mut GLfloat)>;
pub type PFNGLFOGFUNCSGISPROC =
    ::core::option::Option<unsafe extern "C" fn(n: GLsizei, points: *const GLfloat)>;
pub type PFNGLGETFOGFUNCSGISPROC =
    ::core::option::Option<unsafe extern "C" fn(points: *mut GLfloat)>;
pub type PFNGLSAMPLEMASKSGISPROC =
    ::core::option::Option<unsafe extern "C" fn(value: GLclampf, invert: GLboolean)>;
pub type PFNGLSAMPLEPATTERNSGISPROC = ::core::option::Option<unsafe extern "C" fn(pattern: GLenum)>;
pub type PFNGLPIXELTEXGENPARAMETERISGISPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLPIXELTEXGENPARAMETERIVSGISPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
pub type PFNGLPIXELTEXGENPARAMETERFSGISPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLPIXELTEXGENPARAMETERFVSGISPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
pub type PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLPOINTPARAMETERFSGISPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLPOINTPARAMETERFVSGISPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
pub type PFNGLSHARPENTEXFUNCSGISPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, n: GLsizei, points: *const GLfloat)>;
pub type PFNGLGETSHARPENTEXFUNCSGISPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, points: *mut GLfloat)>;
pub type PFNGLTEXIMAGE4DSGISPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        size4d: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLTEXSUBIMAGE4DSGISPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        woffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        size4d: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const libc::c_void,
    ),
>;
pub type PFNGLTEXTURECOLORMASKSGISPROC = ::core::option::Option<
    unsafe extern "C" fn(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean),
>;
pub type PFNGLGETTEXFILTERFUNCSGISPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, filter: GLenum, weights: *mut GLfloat),
>;
pub type PFNGLTEXFILTERFUNCSGISPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, filter: GLenum, n: GLsizei, weights: *const GLfloat),
>;
pub type PFNGLASYNCMARKERSGIXPROC = ::core::option::Option<unsafe extern "C" fn(marker: GLuint)>;
pub type PFNGLFINISHASYNCSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(markerp: *mut GLuint) -> GLint>;
pub type PFNGLPOLLASYNCSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(markerp: *mut GLuint) -> GLint>;
pub type PFNGLGENASYNCMARKERSSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(range: GLsizei) -> GLuint>;
pub type PFNGLDELETEASYNCMARKERSSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(marker: GLuint, range: GLsizei)>;
pub type PFNGLISASYNCMARKERSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(marker: GLuint) -> GLboolean>;
pub type PFNGLFLUSHRASTERSGIXPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLFRAGMENTCOLORMATERIALSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(face: GLenum, mode: GLenum)>;
pub type PFNGLFRAGMENTLIGHTFSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, param: GLfloat)>;
pub type PFNGLFRAGMENTLIGHTFVSGIXPROC = ::core::option::Option<
    unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLFRAGMENTLIGHTISGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, param: GLint)>;
pub type PFNGLFRAGMENTLIGHTIVSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *const GLint)>;
pub type PFNGLFRAGMENTLIGHTMODELFSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLFRAGMENTLIGHTMODELFVSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
pub type PFNGLFRAGMENTLIGHTMODELISGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLFRAGMENTLIGHTMODELIVSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
pub type PFNGLFRAGMENTMATERIALFSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: GLfloat)>;
pub type PFNGLFRAGMENTMATERIALFVSGIXPROC = ::core::option::Option<
    unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLFRAGMENTMATERIALISGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: GLint)>;
pub type PFNGLFRAGMENTMATERIALIVSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *const GLint)>;
pub type PFNGLGETFRAGMENTLIGHTFVSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETFRAGMENTLIGHTIVSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETFRAGMENTMATERIALFVSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETFRAGMENTMATERIALIVSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLLIGHTENVISGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLFRAMEZOOMSGIXPROC = ::core::option::Option<unsafe extern "C" fn(factor: GLint)>;
pub type PFNGLIGLOOINTERFACESGIXPROC = ::core::option::Option<
    unsafe extern "C" fn(pname: GLenum, params: *const libc::c_void),
>;
pub type PFNGLGETINSTRUMENTSSGIXPROC = ::core::option::Option<unsafe extern "C" fn() -> GLint>;
pub type PFNGLINSTRUMENTSBUFFERSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(size: GLsizei, buffer: *mut GLint)>;
pub type PFNGLPOLLINSTRUMENTSSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(marker_p: *mut GLint) -> GLint>;
pub type PFNGLREADINSTRUMENTSSGIXPROC = ::core::option::Option<unsafe extern "C" fn(marker: GLint)>;
pub type PFNGLSTARTINSTRUMENTSSGIXPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLSTOPINSTRUMENTSSGIXPROC = ::core::option::Option<unsafe extern "C" fn(marker: GLint)>;
pub type PFNGLGETLISTPARAMETERFVSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(list: GLuint, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETLISTPARAMETERIVSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(list: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLLISTPARAMETERFSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(list: GLuint, pname: GLenum, param: GLfloat)>;
pub type PFNGLLISTPARAMETERFVSGIXPROC = ::core::option::Option<
    unsafe extern "C" fn(list: GLuint, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLLISTPARAMETERISGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(list: GLuint, pname: GLenum, param: GLint)>;
pub type PFNGLLISTPARAMETERIVSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(list: GLuint, pname: GLenum, params: *const GLint)>;
pub type PFNGLPIXELTEXGENSGIXPROC = ::core::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLDEFORMATIONMAP3DSGIXPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        u1: GLdouble,
        u2: GLdouble,
        ustride: GLint,
        uorder: GLint,
        v1: GLdouble,
        v2: GLdouble,
        vstride: GLint,
        vorder: GLint,
        w1: GLdouble,
        w2: GLdouble,
        wstride: GLint,
        worder: GLint,
        points: *const GLdouble,
    ),
>;
pub type PFNGLDEFORMATIONMAP3FSGIXPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        u1: GLfloat,
        u2: GLfloat,
        ustride: GLint,
        uorder: GLint,
        v1: GLfloat,
        v2: GLfloat,
        vstride: GLint,
        vorder: GLint,
        w1: GLfloat,
        w2: GLfloat,
        wstride: GLint,
        worder: GLint,
        points: *const GLfloat,
    ),
>;
pub type PFNGLDEFORMSGIXPROC = ::core::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
pub type PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
pub type PFNGLREFERENCEPLANESGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(equation: *const GLdouble)>;
pub type PFNGLSPRITEPARAMETERFSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLSPRITEPARAMETERFVSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
pub type PFNGLSPRITEPARAMETERISGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLSPRITEPARAMETERIVSGIXPROC =
    ::core::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
pub type PFNGLTAGSAMPLEBUFFERSGIXPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLCOLORTABLESGIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        table: *const libc::c_void,
    ),
>;
pub type PFNGLCOLORTABLEPARAMETERFVSGIPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLCOLORTABLEPARAMETERIVSGIPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLCOPYCOLORTABLESGIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
    ),
>;
pub type PFNGLGETCOLORTABLESGIPROC = ::core::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        table: *mut libc::c_void,
    ),
>;
pub type PFNGLGETCOLORTABLEPARAMETERFVSGIPROC = ::core::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETCOLORTABLEPARAMETERIVSGIPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLFINISHTEXTURESUNXPROC = ::core::option::Option<unsafe extern "C" fn()>;
pub type PFNGLGLOBALALPHAFACTORBSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(factor: GLbyte)>;
pub type PFNGLGLOBALALPHAFACTORSSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(factor: GLshort)>;
pub type PFNGLGLOBALALPHAFACTORISUNPROC =
    ::core::option::Option<unsafe extern "C" fn(factor: GLint)>;
pub type PFNGLGLOBALALPHAFACTORFSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(factor: GLfloat)>;
pub type PFNGLGLOBALALPHAFACTORDSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(factor: GLdouble)>;
pub type PFNGLGLOBALALPHAFACTORUBSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(factor: GLubyte)>;
pub type PFNGLGLOBALALPHAFACTORUSSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(factor: GLushort)>;
pub type PFNGLGLOBALALPHAFACTORUISUNPROC =
    ::core::option::Option<unsafe extern "C" fn(factor: GLuint)>;
pub type PFNGLDRAWMESHARRAYSSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei, width: GLsizei),
>;
pub type PFNGLREPLACEMENTCODEUISUNPROC = ::core::option::Option<unsafe extern "C" fn(code: GLuint)>;
pub type PFNGLREPLACEMENTCODEUSSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(code: GLushort)>;
pub type PFNGLREPLACEMENTCODEUBSUNPROC = ::core::option::Option<unsafe extern "C" fn(code: GLubyte)>;
pub type PFNGLREPLACEMENTCODEUIVSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(code: *const GLuint)>;
pub type PFNGLREPLACEMENTCODEUSVSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(code: *const GLushort)>;
pub type PFNGLREPLACEMENTCODEUBVSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(code: *const GLubyte)>;
pub type PFNGLREPLACEMENTCODEPOINTERSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        type_: GLenum,
        stride: GLsizei,
        pointer: *mut *const libc::c_void,
    ),
>;
pub type PFNGLCOLOR4UBVERTEX2FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(r: GLubyte, g: GLubyte, b: GLubyte, a: GLubyte, x: GLfloat, y: GLfloat),
>;
pub type PFNGLCOLOR4UBVERTEX2FVSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(c: *const GLubyte, v: *const GLfloat)>;
pub type PFNGLCOLOR4UBVERTEX3FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        r: GLubyte,
        g: GLubyte,
        b: GLubyte,
        a: GLubyte,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLCOLOR4UBVERTEX3FVSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(c: *const GLubyte, v: *const GLfloat)>;
pub type PFNGLCOLOR3FVERTEX3FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(r: GLfloat, g: GLfloat, b: GLfloat, x: GLfloat, y: GLfloat, z: GLfloat),
>;
pub type PFNGLCOLOR3FVERTEX3FVSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(c: *const GLfloat, v: *const GLfloat)>;
pub type PFNGLNORMAL3FVERTEX3FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(nx: GLfloat, ny: GLfloat, nz: GLfloat, x: GLfloat, y: GLfloat, z: GLfloat),
>;
pub type PFNGLNORMAL3FVERTEX3FVSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(n: *const GLfloat, v: *const GLfloat)>;
pub type PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        r: GLfloat,
        g: GLfloat,
        b: GLfloat,
        a: GLfloat,
        nx: GLfloat,
        ny: GLfloat,
        nz: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(c: *const GLfloat, n: *const GLfloat, v: *const GLfloat),
>;
pub type PFNGLTEXCOORD2FVERTEX3FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(s: GLfloat, t: GLfloat, x: GLfloat, y: GLfloat, z: GLfloat),
>;
pub type PFNGLTEXCOORD2FVERTEX3FVSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(tc: *const GLfloat, v: *const GLfloat)>;
pub type PFNGLTEXCOORD4FVERTEX4FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        s: GLfloat,
        t: GLfloat,
        p: GLfloat,
        q: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
        w: GLfloat,
    ),
>;
pub type PFNGLTEXCOORD4FVERTEX4FVSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(tc: *const GLfloat, v: *const GLfloat)>;
pub type PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        s: GLfloat,
        t: GLfloat,
        r: GLubyte,
        g: GLubyte,
        b: GLubyte,
        a: GLubyte,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(tc: *const GLfloat, c: *const GLubyte, v: *const GLfloat),
>;
pub type PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        s: GLfloat,
        t: GLfloat,
        r: GLfloat,
        g: GLfloat,
        b: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(tc: *const GLfloat, c: *const GLfloat, v: *const GLfloat),
>;
pub type PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        s: GLfloat,
        t: GLfloat,
        nx: GLfloat,
        ny: GLfloat,
        nz: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(tc: *const GLfloat, n: *const GLfloat, v: *const GLfloat),
>;
pub type PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        s: GLfloat,
        t: GLfloat,
        r: GLfloat,
        g: GLfloat,
        b: GLfloat,
        a: GLfloat,
        nx: GLfloat,
        ny: GLfloat,
        nz: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        tc: *const GLfloat,
        c: *const GLfloat,
        n: *const GLfloat,
        v: *const GLfloat,
    ),
>;
pub type PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        s: GLfloat,
        t: GLfloat,
        p: GLfloat,
        q: GLfloat,
        r: GLfloat,
        g: GLfloat,
        b: GLfloat,
        a: GLfloat,
        nx: GLfloat,
        ny: GLfloat,
        nz: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
        w: GLfloat,
    ),
>;
pub type PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        tc: *const GLfloat,
        c: *const GLfloat,
        n: *const GLfloat,
        v: *const GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(rc: GLuint, x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC =
    ::core::option::Option<unsafe extern "C" fn(rc: *const GLuint, v: *const GLfloat)>;
pub type PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        rc: GLuint,
        r: GLubyte,
        g: GLubyte,
        b: GLubyte,
        a: GLubyte,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(rc: *const GLuint, c: *const GLubyte, v: *const GLfloat),
>;
pub type PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        rc: GLuint,
        r: GLfloat,
        g: GLfloat,
        b: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(rc: *const GLuint, c: *const GLfloat, v: *const GLfloat),
>;
pub type PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        rc: GLuint,
        nx: GLfloat,
        ny: GLfloat,
        nz: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(rc: *const GLuint, n: *const GLfloat, v: *const GLfloat),
>;
pub type PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        rc: GLuint,
        r: GLfloat,
        g: GLfloat,
        b: GLfloat,
        a: GLfloat,
        nx: GLfloat,
        ny: GLfloat,
        nz: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        rc: *const GLuint,
        c: *const GLfloat,
        n: *const GLfloat,
        v: *const GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(rc: GLuint, s: GLfloat, t: GLfloat, x: GLfloat, y: GLfloat, z: GLfloat),
>;
pub type PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(rc: *const GLuint, tc: *const GLfloat, v: *const GLfloat),
>;
pub type PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        rc: GLuint,
        s: GLfloat,
        t: GLfloat,
        nx: GLfloat,
        ny: GLfloat,
        nz: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        rc: *const GLuint,
        tc: *const GLfloat,
        n: *const GLfloat,
        v: *const GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        rc: GLuint,
        s: GLfloat,
        t: GLfloat,
        r: GLfloat,
        g: GLfloat,
        b: GLfloat,
        a: GLfloat,
        nx: GLfloat,
        ny: GLfloat,
        nz: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC = ::core::option::Option<
    unsafe extern "C" fn(
        rc: *const GLuint,
        tc: *const GLfloat,
        c: *const GLfloat,
        n: *const GLfloat,
        v: *const GLfloat,
    ),
>;
extern "C" {
    pub fn glBlendEquationSeparateATI(modeRGB: GLenum, modeA: GLenum);
}
pub type PFNGLBLENDEQUATIONSEPARATEATIPROC =
    ::core::option::Option<unsafe extern "C" fn(modeRGB: GLenum, modeA: GLenum)>;
pub type PFNGLEGLIMAGETARGETTEXTURE2DOESPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, image: GLeglImageOES)>;
pub type PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC =
    ::core::option::Option<unsafe extern "C" fn(target: GLenum, image: GLeglImageOES)>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct GLUnurbs {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct GLUquadric {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct GLUtesselator {
    _unused: [u8; 0],
}
pub type GLUnurbsObj = GLUnurbs;
pub type GLUquadricObj = GLUquadric;
pub type GLUtesselatorObj = GLUtesselator;
pub type GLUtriangulatorObj = GLUtesselator;
pub type _GLUfuncptr = ::core::option::Option<unsafe extern "C" fn()>;
extern "C" {
    pub fn gluBeginCurve(nurb: *mut GLUnurbs);
}
extern "C" {
    pub fn gluBeginPolygon(tess: *mut GLUtesselator);
}
extern "C" {
    pub fn gluBeginSurface(nurb: *mut GLUnurbs);
}
extern "C" {
    pub fn gluBeginTrim(nurb: *mut GLUnurbs);
}
extern "C" {
    pub fn gluBuild1DMipmapLevels(
        target: GLenum,
        internalFormat: GLint,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        level: GLint,
        base: GLint,
        max: GLint,
        data: *const libc::c_void,
    ) -> GLint;
}
extern "C" {
    pub fn gluBuild1DMipmaps(
        target: GLenum,
        internalFormat: GLint,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        data: *const libc::c_void,
    ) -> GLint;
}
extern "C" {
    pub fn gluBuild2DMipmapLevels(
        target: GLenum,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        level: GLint,
        base: GLint,
        max: GLint,
        data: *const libc::c_void,
    ) -> GLint;
}
extern "C" {
    pub fn gluBuild2DMipmaps(
        target: GLenum,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        data: *const libc::c_void,
    ) -> GLint;
}
extern "C" {
    pub fn gluBuild3DMipmapLevels(
        target: GLenum,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        level: GLint,
        base: GLint,
        max: GLint,
        data: *const libc::c_void,
    ) -> GLint;
}
extern "C" {
    pub fn gluBuild3DMipmaps(
        target: GLenum,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        data: *const libc::c_void,
    ) -> GLint;
}
extern "C" {
    pub fn gluCheckExtension(extName: *const GLubyte, extString: *const GLubyte) -> GLboolean;
}
extern "C" {
    pub fn gluCylinder(
        quad: *mut GLUquadric,
        base: GLdouble,
        top: GLdouble,
        height: GLdouble,
        slices: GLint,
        stacks: GLint,
    );
}
extern "C" {
    pub fn gluDeleteNurbsRenderer(nurb: *mut GLUnurbs);
}
extern "C" {
    pub fn gluDeleteQuadric(quad: *mut GLUquadric);
}
extern "C" {
    pub fn gluDeleteTess(tess: *mut GLUtesselator);
}
extern "C" {
    pub fn gluDisk(
        quad: *mut GLUquadric,
        inner: GLdouble,
        outer: GLdouble,
        slices: GLint,
        loops: GLint,
    );
}
extern "C" {
    pub fn gluEndCurve(nurb: *mut GLUnurbs);
}
extern "C" {
    pub fn gluEndPolygon(tess: *mut GLUtesselator);
}
extern "C" {
    pub fn gluEndSurface(nurb: *mut GLUnurbs);
}
extern "C" {
    pub fn gluEndTrim(nurb: *mut GLUnurbs);
}
extern "C" {
    pub fn gluErrorString(error: GLenum) -> *const GLubyte;
}
extern "C" {
    pub fn gluGetNurbsProperty(nurb: *mut GLUnurbs, property: GLenum, data: *mut GLfloat);
}
extern "C" {
    pub fn gluGetString(name: GLenum) -> *const GLubyte;
}
extern "C" {
    pub fn gluGetTessProperty(tess: *mut GLUtesselator, which: GLenum, data: *mut GLdouble);
}
extern "C" {
    pub fn gluLoadSamplingMatrices(
        nurb: *mut GLUnurbs,
        model: *const GLfloat,
        perspective: *const GLfloat,
        view: *const GLint,
    );
}
extern "C" {
    pub fn gluLookAt(
        eyeX: GLdouble,
        eyeY: GLdouble,
        eyeZ: GLdouble,
        centerX: GLdouble,
        centerY: GLdouble,
        centerZ: GLdouble,
        upX: GLdouble,
        upY: GLdouble,
        upZ: GLdouble,
    );
}
extern "C" {
    pub fn gluNewNurbsRenderer() -> *mut GLUnurbs;
}
extern "C" {
    pub fn gluNewQuadric() -> *mut GLUquadric;
}
extern "C" {
    pub fn gluNewTess() -> *mut GLUtesselator;
}
extern "C" {
    pub fn gluNextContour(tess: *mut GLUtesselator, type_: GLenum);
}
extern "C" {
    pub fn gluNurbsCallback(nurb: *mut GLUnurbs, which: GLenum, CallBackFunc: _GLUfuncptr);
}
extern "C" {
    pub fn gluNurbsCallbackData(nurb: *mut GLUnurbs, userData: *mut GLvoid);
}
extern "C" {
    pub fn gluNurbsCallbackDataEXT(nurb: *mut GLUnurbs, userData: *mut GLvoid);
}
extern "C" {
    pub fn gluNurbsCurve(
        nurb: *mut GLUnurbs,
        knotCount: GLint,
        knots: *mut GLfloat,
        stride: GLint,
        control: *mut GLfloat,
        order: GLint,
        type_: GLenum,
    );
}
extern "C" {
    pub fn gluNurbsProperty(nurb: *mut GLUnurbs, property: GLenum, value: GLfloat);
}
extern "C" {
    pub fn gluNurbsSurface(
        nurb: *mut GLUnurbs,
        sKnotCount: GLint,
        sKnots: *mut GLfloat,
        tKnotCount: GLint,
        tKnots: *mut GLfloat,
        sStride: GLint,
        tStride: GLint,
        control: *mut GLfloat,
        sOrder: GLint,
        tOrder: GLint,
        type_: GLenum,
    );
}
extern "C" {
    pub fn gluOrtho2D(left: GLdouble, right: GLdouble, bottom: GLdouble, top: GLdouble);
}
extern "C" {
    pub fn gluPartialDisk(
        quad: *mut GLUquadric,
        inner: GLdouble,
        outer: GLdouble,
        slices: GLint,
        loops: GLint,
        start: GLdouble,
        sweep: GLdouble,
    );
}
extern "C" {
    pub fn gluPerspective(fovy: GLdouble, aspect: GLdouble, zNear: GLdouble, zFar: GLdouble);
}
extern "C" {
    pub fn gluPickMatrix(
        x: GLdouble,
        y: GLdouble,
        delX: GLdouble,
        delY: GLdouble,
        viewport: *mut GLint,
    );
}
extern "C" {
    pub fn gluProject(
        objX: GLdouble,
        objY: GLdouble,
        objZ: GLdouble,
        model: *const GLdouble,
        proj: *const GLdouble,
        view: *const GLint,
        winX: *mut GLdouble,
        winY: *mut GLdouble,
        winZ: *mut GLdouble,
    ) -> GLint;
}
extern "C" {
    pub fn gluPwlCurve(
        nurb: *mut GLUnurbs,
        count: GLint,
        data: *mut GLfloat,
        stride: GLint,
        type_: GLenum,
    );
}
extern "C" {
    pub fn gluQuadricCallback(quad: *mut GLUquadric, which: GLenum, CallBackFunc: _GLUfuncptr);
}
extern "C" {
    pub fn gluQuadricDrawStyle(quad: *mut GLUquadric, draw: GLenum);
}
extern "C" {
    pub fn gluQuadricNormals(quad: *mut GLUquadric, normal: GLenum);
}
extern "C" {
    pub fn gluQuadricOrientation(quad: *mut GLUquadric, orientation: GLenum);
}
extern "C" {
    pub fn gluQuadricTexture(quad: *mut GLUquadric, texture: GLboolean);
}
extern "C" {
    pub fn gluScaleImage(
        format: GLenum,
        wIn: GLsizei,
        hIn: GLsizei,
        typeIn: GLenum,
        dataIn: *const libc::c_void,
        wOut: GLsizei,
        hOut: GLsizei,
        typeOut: GLenum,
        dataOut: *mut GLvoid,
    ) -> GLint;
}
extern "C" {
    pub fn gluSphere(quad: *mut GLUquadric, radius: GLdouble, slices: GLint, stacks: GLint);
}
extern "C" {
    pub fn gluTessBeginContour(tess: *mut GLUtesselator);
}
extern "C" {
    pub fn gluTessBeginPolygon(tess: *mut GLUtesselator, data: *mut GLvoid);
}
extern "C" {
    pub fn gluTessCallback(tess: *mut GLUtesselator, which: GLenum, CallBackFunc: _GLUfuncptr);
}
extern "C" {
    pub fn gluTessEndContour(tess: *mut GLUtesselator);
}
extern "C" {
    pub fn gluTessEndPolygon(tess: *mut GLUtesselator);
}
extern "C" {
    pub fn gluTessNormal(
        tess: *mut GLUtesselator,
        valueX: GLdouble,
        valueY: GLdouble,
        valueZ: GLdouble,
    );
}
extern "C" {
    pub fn gluTessProperty(tess: *mut GLUtesselator, which: GLenum, data: GLdouble);
}
extern "C" {
    pub fn gluTessVertex(tess: *mut GLUtesselator, location: *mut GLdouble, data: *mut GLvoid);
}
extern "C" {
    pub fn gluUnProject(
        winX: GLdouble,
        winY: GLdouble,
        winZ: GLdouble,
        model: *const GLdouble,
        proj: *const GLdouble,
        view: *const GLint,
        objX: *mut GLdouble,
        objY: *mut GLdouble,
        objZ: *mut GLdouble,
    ) -> GLint;
}
extern "C" {
    pub fn gluUnProject4(
        winX: GLdouble,
        winY: GLdouble,
        winZ: GLdouble,
        clipW: GLdouble,
        model: *const GLdouble,
        proj: *const GLdouble,
        view: *const GLint,
        nearVal: GLdouble,
        farVal: GLdouble,
        objX: *mut GLdouble,
        objY: *mut GLdouble,
        objZ: *mut GLdouble,
        objW: *mut GLdouble,
    ) -> GLint;
}