Skip to content

@bjz /gl.rc secret
Last active

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
#[link(name = "gl",
vers = "0.1")];
#[comment = "OpenGL bindings for the Rust programming language."];
#[crate_type = "lib"];
use core::cast::transmute;
use core::libc::*;
pub type GLenum = c_uint;
pub type GLboolean = c_uchar;
pub type GLbitfield = c_uint;
pub type GLbyte = c_schar;
pub type GLshort = c_short;
pub type GLint = c_int;
pub type GLsizei = c_int;
pub type GLubyte = c_uchar;
pub type GLushort = c_ushort;
pub type GLuint = c_uint;
pub type GLhalf = c_ushort;
pub type GLfloat = c_float;
pub type GLclampf = c_float;
pub type GLdouble = c_double;
pub type GLclampd = c_double;
pub type GLvoid = c_void;
/* GL type for program/shader text */
pub type GLchar = c_char;
/* GL types for handling large vertex buffer objects */
pub type GLintptr = ptrdiff_t;
pub type GLsizeiptr = ptrdiff_t;
/* GL types for handling large vertex buffer objects */
pub type GLintptrARB = ptrdiff_t;
pub type GLsizeiptrARB = ptrdiff_t;
/* GL types for program/shader text and shader object handles */
pub type GLcharARB = c_char;
pub type GLhandleARB = c_uint;
/* GL type for "half" precision (s10e5) float data in host memory */
pub type GLhalfARB = c_ushort;
pub type GLhalfNV = c_ushort;
pub type GLint64EXT = i64;
pub type GLuint64EXT = u64;
pub type GLint64 = i64;
pub type GLuint64 = u64;
pub struct __GLsync {}
pub type GLsync = *__GLsync;
/* These incomplete types let us declare types compatible with OpenCL's cl_context and cl_event */
pub struct _cl_context {}
pub struct _cl_event {}
pub type GLDEBUGPROCARB = extern "C" fn(source: GLenum, gltype: GLenum, id: GLuint, severity: GLenum, length: GLsizei, message: *GLchar, userParam: *GLvoid);
pub type GLDEBUGPROCAMD = extern "C" fn(id: GLuint, category: GLenum, severity: GLenum, length: GLsizei, message: *GLchar, userParam: *GLvoid);
pub type GLDEBUGPROC = extern "C" fn(source: GLenum, gltype: GLenum, id: GLuint, severity: GLenum, length: GLsizei, message: *GLchar, userParam: *GLvoid);
pub type GLvdpauSurfaceNV = GLintptr;
pub const DEPTH_BUFFER_BIT: GLenum = 0x00000100;
pub const STENCIL_BUFFER_BIT: GLenum = 0x00000400;
pub const COLOR_BUFFER_BIT: GLenum = 0x00004000;
pub const FALSE: GLenum = 0;
pub const TRUE: GLenum = 1;
pub const POINTS: GLenum = 0x0000;
pub const LINES: GLenum = 0x0001;
pub const LINE_LOOP: GLenum = 0x0002;
pub const LINE_STRIP: GLenum = 0x0003;
pub const TRIANGLES: GLenum = 0x0004;
pub const TRIANGLE_STRIP: GLenum = 0x0005;
pub const TRIANGLE_FAN: GLenum = 0x0006;
pub const QUADS: GLenum = 0x0007;
pub const NEVER: GLenum = 0x0200;
pub const LESS: GLenum = 0x0201;
pub const EQUAL: GLenum = 0x0202;
pub const LEQUAL: GLenum = 0x0203;
pub const GREATER: GLenum = 0x0204;
pub const NOTEQUAL: GLenum = 0x0205;
pub const GEQUAL: GLenum = 0x0206;
pub const ALWAYS: GLenum = 0x0207;
pub const ZERO: GLenum = 0;
pub const ONE: GLenum = 1;
pub const SRC_COLOR: GLenum = 0x0300;
pub const ONE_MINUS_SRC_COLOR: GLenum = 0x0301;
pub const SRC_ALPHA: GLenum = 0x0302;
pub const ONE_MINUS_SRC_ALPHA: GLenum = 0x0303;
pub const DST_ALPHA: GLenum = 0x0304;
pub const ONE_MINUS_DST_ALPHA: GLenum = 0x0305;
pub const DST_COLOR: GLenum = 0x0306;
pub const ONE_MINUS_DST_COLOR: GLenum = 0x0307;
pub const SRC_ALPHA_SATURATE: GLenum = 0x0308;
pub const NONE: GLenum = 0;
pub const FRONT_LEFT: GLenum = 0x0400;
pub const FRONT_RIGHT: GLenum = 0x0401;
pub const BACK_LEFT: GLenum = 0x0402;
pub const BACK_RIGHT: GLenum = 0x0403;
pub const FRONT: GLenum = 0x0404;
pub const BACK: GLenum = 0x0405;
pub const LEFT: GLenum = 0x0406;
pub const RIGHT: GLenum = 0x0407;
pub const FRONT_AND_BACK: GLenum = 0x0408;
pub const NO_ERROR: GLenum = 0;
pub const INVALID_ENUM: GLenum = 0x0500;
pub const INVALID_VALUE: GLenum = 0x0501;
pub const INVALID_OPERATION: GLenum = 0x0502;
pub const OUT_OF_MEMORY: GLenum = 0x0505;
pub const CW: GLenum = 0x0900;
pub const CCW: GLenum = 0x0901;
pub const POINT_SIZE: GLenum = 0x0B11;
pub const POINT_SIZE_RANGE: GLenum = 0x0B12;
pub const POINT_SIZE_GRANULARITY: GLenum = 0x0B13;
pub const LINE_SMOOTH: GLenum = 0x0B20;
pub const LINE_WIDTH: GLenum = 0x0B21;
pub const LINE_WIDTH_RANGE: GLenum = 0x0B22;
pub const LINE_WIDTH_GRANULARITY: GLenum = 0x0B23;
pub const POLYGON_MODE: GLenum = 0x0B40;
pub const POLYGON_SMOOTH: GLenum = 0x0B41;
pub const CULL_FACE: GLenum = 0x0B44;
pub const CULL_FACE_MODE: GLenum = 0x0B45;
pub const FRONT_FACE: GLenum = 0x0B46;
pub const DEPTH_RANGE: GLenum = 0x0B70;
pub const DEPTH_TEST: GLenum = 0x0B71;
pub const DEPTH_WRITEMASK: GLenum = 0x0B72;
pub const DEPTH_CLEAR_VALUE: GLenum = 0x0B73;
pub const DEPTH_FUNC: GLenum = 0x0B74;
pub const STENCIL_TEST: GLenum = 0x0B90;
pub const STENCIL_CLEAR_VALUE: GLenum = 0x0B91;
pub const STENCIL_FUNC: GLenum = 0x0B92;
pub const STENCIL_VALUE_MASK: GLenum = 0x0B93;
pub const STENCIL_FAIL: GLenum = 0x0B94;
pub const STENCIL_PASS_DEPTH_FAIL: GLenum = 0x0B95;
pub const STENCIL_PASS_DEPTH_PASS: GLenum = 0x0B96;
pub const STENCIL_REF: GLenum = 0x0B97;
pub const STENCIL_WRITEMASK: GLenum = 0x0B98;
pub const VIEWPORT: GLenum = 0x0BA2;
pub const DITHER: GLenum = 0x0BD0;
pub const BLEND_DST: GLenum = 0x0BE0;
pub const BLEND_SRC: GLenum = 0x0BE1;
pub const BLEND: GLenum = 0x0BE2;
pub const LOGIC_OP_MODE: GLenum = 0x0BF0;
pub const COLOR_LOGIC_OP: GLenum = 0x0BF2;
pub const DRAW_BUFFER: GLenum = 0x0C01;
pub const READ_BUFFER: GLenum = 0x0C02;
pub const SCISSOR_BOX: GLenum = 0x0C10;
pub const SCISSOR_TEST: GLenum = 0x0C11;
pub const COLOR_CLEAR_VALUE: GLenum = 0x0C22;
pub const COLOR_WRITEMASK: GLenum = 0x0C23;
pub const DOUBLEBUFFER: GLenum = 0x0C32;
pub const STEREO: GLenum = 0x0C33;
pub const LINE_SMOOTH_HINT: GLenum = 0x0C52;
pub const POLYGON_SMOOTH_HINT: GLenum = 0x0C53;
pub const UNPACK_SWAP_BYTES: GLenum = 0x0CF0;
pub const UNPACK_LSB_FIRST: GLenum = 0x0CF1;
pub const UNPACK_ROW_LENGTH: GLenum = 0x0CF2;
pub const UNPACK_SKIP_ROWS: GLenum = 0x0CF3;
pub const UNPACK_SKIP_PIXELS: GLenum = 0x0CF4;
pub const UNPACK_ALIGNMENT: GLenum = 0x0CF5;
pub const PACK_SWAP_BYTES: GLenum = 0x0D00;
pub const PACK_LSB_FIRST: GLenum = 0x0D01;
pub const PACK_ROW_LENGTH: GLenum = 0x0D02;
pub const PACK_SKIP_ROWS: GLenum = 0x0D03;
pub const PACK_SKIP_PIXELS: GLenum = 0x0D04;
pub const PACK_ALIGNMENT: GLenum = 0x0D05;
pub const MAX_TEXTURE_SIZE: GLenum = 0x0D33;
pub const MAX_VIEWPORT_DIMS: GLenum = 0x0D3A;
pub const SUBPIXEL_BITS: GLenum = 0x0D50;
pub const TEXTURE_1D: GLenum = 0x0DE0;
pub const TEXTURE_2D: GLenum = 0x0DE1;
pub const POLYGON_OFFSET_UNITS: GLenum = 0x2A00;
pub const POLYGON_OFFSET_POINT: GLenum = 0x2A01;
pub const POLYGON_OFFSET_LINE: GLenum = 0x2A02;
pub const POLYGON_OFFSET_FILL: GLenum = 0x8037;
pub const POLYGON_OFFSET_FACTOR: GLenum = 0x8038;
pub const TEXTURE_BINDING_1D: GLenum = 0x8068;
pub const TEXTURE_BINDING_2D: GLenum = 0x8069;
pub const TEXTURE_WIDTH: GLenum = 0x1000;
pub const TEXTURE_HEIGHT: GLenum = 0x1001;
pub const TEXTURE_INTERNAL_FORMAT: GLenum = 0x1003;
pub const TEXTURE_BORDER_COLOR: GLenum = 0x1004;
pub const TEXTURE_RED_SIZE: GLenum = 0x805C;
pub const TEXTURE_GREEN_SIZE: GLenum = 0x805D;
pub const TEXTURE_BLUE_SIZE: GLenum = 0x805E;
pub const TEXTURE_ALPHA_SIZE: GLenum = 0x805F;
pub const DONT_CARE: GLenum = 0x1100;
pub const FASTEST: GLenum = 0x1101;
pub const NICEST: GLenum = 0x1102;
pub const BYTE: GLenum = 0x1400;
pub const UNSIGNED_BYTE: GLenum = 0x1401;
pub const SHORT: GLenum = 0x1402;
pub const UNSIGNED_SHORT: GLenum = 0x1403;
pub const INT: GLenum = 0x1404;
pub const UNSIGNED_INT: GLenum = 0x1405;
pub const FLOAT: GLenum = 0x1406;
pub const DOUBLE: GLenum = 0x140A;
pub const CLEAR: GLenum = 0x1500;
pub const AND: GLenum = 0x1501;
pub const AND_REVERSE: GLenum = 0x1502;
pub const COPY: GLenum = 0x1503;
pub const AND_INVERTED: GLenum = 0x1504;
pub const NOOP: GLenum = 0x1505;
pub const XOR: GLenum = 0x1506;
pub const OR: GLenum = 0x1507;
pub const NOR: GLenum = 0x1508;
pub const EQUIV: GLenum = 0x1509;
pub const INVERT: GLenum = 0x150A;
pub const OR_REVERSE: GLenum = 0x150B;
pub const COPY_INVERTED: GLenum = 0x150C;
pub const OR_INVERTED: GLenum = 0x150D;
pub const NAND: GLenum = 0x150E;
pub const SET: GLenum = 0x150F;
pub const TEXTURE: GLenum = 0x1702;
pub const COLOR: GLenum = 0x1800;
pub const DEPTH: GLenum = 0x1801;
pub const STENCIL: GLenum = 0x1802;
pub const STENCIL_INDEX: GLenum = 0x1901;
pub const DEPTH_COMPONENT: GLenum = 0x1902;
pub const RED: GLenum = 0x1903;
pub const GREEN: GLenum = 0x1904;
pub const BLUE: GLenum = 0x1905;
pub const ALPHA: GLenum = 0x1906;
pub const RGB: GLenum = 0x1907;
pub const RGBA: GLenum = 0x1908;
pub const POINT: GLenum = 0x1B00;
pub const LINE: GLenum = 0x1B01;
pub const FILL: GLenum = 0x1B02;
pub const KEEP: GLenum = 0x1E00;
pub const REPLACE: GLenum = 0x1E01;
pub const INCR: GLenum = 0x1E02;
pub const DECR: GLenum = 0x1E03;
pub const VENDOR: GLenum = 0x1F00;
pub const RENDERER: GLenum = 0x1F01;
pub const VERSION: GLenum = 0x1F02;
pub const EXTENSIONS: GLenum = 0x1F03;
pub const NEAREST: GLenum = 0x2600;
pub const LINEAR: GLenum = 0x2601;
pub const NEAREST_MIPMAP_NEAREST: GLenum = 0x2700;
pub const LINEAR_MIPMAP_NEAREST: GLenum = 0x2701;
pub const NEAREST_MIPMAP_LINEAR: GLenum = 0x2702;
pub const LINEAR_MIPMAP_LINEAR: GLenum = 0x2703;
pub const TEXTURE_MAG_FILTER: GLenum = 0x2800;
pub const TEXTURE_MIN_FILTER: GLenum = 0x2801;
pub const TEXTURE_WRAP_S: GLenum = 0x2802;
pub const TEXTURE_WRAP_T: GLenum = 0x2803;
pub const PROXY_TEXTURE_1D: GLenum = 0x8063;
pub const PROXY_TEXTURE_2D: GLenum = 0x8064;
pub const REPEAT: GLenum = 0x2901;
pub const R3_G3_B2: GLenum = 0x2A10;
pub const RGB4: GLenum = 0x804F;
pub const RGB5: GLenum = 0x8050;
pub const RGB8: GLenum = 0x8051;
pub const RGB10: GLenum = 0x8052;
pub const RGB12: GLenum = 0x8053;
pub const RGB16: GLenum = 0x8054;
pub const RGBA2: GLenum = 0x8055;
pub const RGBA4: GLenum = 0x8056;
pub const RGB5_A1: GLenum = 0x8057;
pub const RGBA8: GLenum = 0x8058;
pub const RGB10_A2: GLenum = 0x8059;
pub const RGBA12: GLenum = 0x805A;
pub const RGBA16: GLenum = 0x805B;
pub const CONSTANT_COLOR: GLenum = 0x8001;
pub const ONE_MINUS_CONSTANT_COLOR: GLenum = 0x8002;
pub const CONSTANT_ALPHA: GLenum = 0x8003;
pub const ONE_MINUS_CONSTANT_ALPHA: GLenum = 0x8004;
pub const BLEND_COLOR: GLenum = 0x8005;
pub const FUNC_ADD: GLenum = 0x8006;
pub const MIN: GLenum = 0x8007;
pub const MAX: GLenum = 0x8008;
pub const BLEND_EQUATION: GLenum = 0x8009;
pub const FUNC_SUBTRACT: GLenum = 0x800A;
pub const FUNC_REVERSE_SUBTRACT: GLenum = 0x800B;
pub const CONVOLUTION_1D: GLenum = 0x8010;
pub const CONVOLUTION_2D: GLenum = 0x8011;
pub const SEPARABLE_2D: GLenum = 0x8012;
pub const CONVOLUTION_BORDER_MODE: GLenum = 0x8013;
pub const CONVOLUTION_FILTER_SCALE: GLenum = 0x8014;
pub const CONVOLUTION_FILTER_BIAS: GLenum = 0x8015;
pub const REDUCE: GLenum = 0x8016;
pub const CONVOLUTION_FORMAT: GLenum = 0x8017;
pub const CONVOLUTION_WIDTH: GLenum = 0x8018;
pub const CONVOLUTION_HEIGHT: GLenum = 0x8019;
pub const MAX_CONVOLUTION_WIDTH: GLenum = 0x801A;
pub const MAX_CONVOLUTION_HEIGHT: GLenum = 0x801B;
pub const POST_CONVOLUTION_RED_SCALE: GLenum = 0x801C;
pub const POST_CONVOLUTION_GREEN_SCALE: GLenum = 0x801D;
pub const POST_CONVOLUTION_BLUE_SCALE: GLenum = 0x801E;
pub const POST_CONVOLUTION_ALPHA_SCALE: GLenum = 0x801F;
pub const POST_CONVOLUTION_RED_BIAS: GLenum = 0x8020;
pub const POST_CONVOLUTION_GREEN_BIAS: GLenum = 0x8021;
pub const POST_CONVOLUTION_BLUE_BIAS: GLenum = 0x8022;
pub const POST_CONVOLUTION_ALPHA_BIAS: GLenum = 0x8023;
pub const HISTOGRAM: GLenum = 0x8024;
pub const PROXY_HISTOGRAM: GLenum = 0x8025;
pub const HISTOGRAM_WIDTH: GLenum = 0x8026;
pub const HISTOGRAM_FORMAT: GLenum = 0x8027;
pub const HISTOGRAM_RED_SIZE: GLenum = 0x8028;
pub const HISTOGRAM_GREEN_SIZE: GLenum = 0x8029;
pub const HISTOGRAM_BLUE_SIZE: GLenum = 0x802A;
pub const HISTOGRAM_ALPHA_SIZE: GLenum = 0x802B;
pub const HISTOGRAM_LUMINANCE_SIZE: GLenum = 0x802C;
pub const HISTOGRAM_SINK: GLenum = 0x802D;
pub const MINMAX: GLenum = 0x802E;
pub const MINMAX_FORMAT: GLenum = 0x802F;
pub const MINMAX_SINK: GLenum = 0x8030;
pub const TABLE_TOO_LARGE: GLenum = 0x8031;
pub const COLOR_MATRIX: GLenum = 0x80B1;
pub const COLOR_MATRIX_STACK_DEPTH: GLenum = 0x80B2;
pub const MAX_COLOR_MATRIX_STACK_DEPTH: GLenum = 0x80B3;
pub const POST_COLOR_MATRIX_RED_SCALE: GLenum = 0x80B4;
pub const POST_COLOR_MATRIX_GREEN_SCALE: GLenum = 0x80B5;
pub const POST_COLOR_MATRIX_BLUE_SCALE: GLenum = 0x80B6;
pub const POST_COLOR_MATRIX_ALPHA_SCALE: GLenum = 0x80B7;
pub const POST_COLOR_MATRIX_RED_BIAS: GLenum = 0x80B8;
pub const POST_COLOR_MATRIX_GREEN_BIAS: GLenum = 0x80B9;
pub const POST_COLOR_MATRIX_BLUE_BIAS: GLenum = 0x80BA;
pub const POST_COLOR_MATRIX_ALPHA_BIAS: GLenum = 0x80BB;
pub const COLOR_TABLE: GLenum = 0x80D0;
pub const POST_CONVOLUTION_COLOR_TABLE: GLenum = 0x80D1;
pub const POST_COLOR_MATRIX_COLOR_TABLE: GLenum = 0x80D2;
pub const PROXY_COLOR_TABLE: GLenum = 0x80D3;
pub const PROXY_POST_CONVOLUTION_COLOR_TABLE: GLenum = 0x80D4;
pub const PROXY_POST_COLOR_MATRIX_COLOR_TABLE: GLenum = 0x80D5;
pub const COLOR_TABLE_SCALE: GLenum = 0x80D6;
pub const COLOR_TABLE_BIAS: GLenum = 0x80D7;
pub const COLOR_TABLE_FORMAT: GLenum = 0x80D8;
pub const COLOR_TABLE_WIDTH: GLenum = 0x80D9;
pub const COLOR_TABLE_RED_SIZE: GLenum = 0x80DA;
pub const COLOR_TABLE_GREEN_SIZE: GLenum = 0x80DB;
pub const COLOR_TABLE_BLUE_SIZE: GLenum = 0x80DC;
pub const COLOR_TABLE_ALPHA_SIZE: GLenum = 0x80DD;
pub const COLOR_TABLE_LUMINANCE_SIZE: GLenum = 0x80DE;
pub const COLOR_TABLE_INTENSITY_SIZE: GLenum = 0x80DF;
pub const CONSTANT_BORDER: GLenum = 0x8151;
pub const REPLICATE_BORDER: GLenum = 0x8153;
pub const CONVOLUTION_BORDER_COLOR: GLenum = 0x8154;
pub const UNSIGNED_BYTE_3_3_2: GLenum = 0x8032;
pub const UNSIGNED_SHORT_4_4_4_4: GLenum = 0x8033;
pub const UNSIGNED_SHORT_5_5_5_1: GLenum = 0x8034;
pub const UNSIGNED_INT_8_8_8_8: GLenum = 0x8035;
pub const UNSIGNED_INT_10_10_10_2: GLenum = 0x8036;
pub const TEXTURE_BINDING_3D: GLenum = 0x806A;
pub const PACK_SKIP_IMAGES: GLenum = 0x806B;
pub const PACK_IMAGE_HEIGHT: GLenum = 0x806C;
pub const UNPACK_SKIP_IMAGES: GLenum = 0x806D;
pub const UNPACK_IMAGE_HEIGHT: GLenum = 0x806E;
pub const TEXTURE_3D: GLenum = 0x806F;
pub const PROXY_TEXTURE_3D: GLenum = 0x8070;
pub const TEXTURE_DEPTH: GLenum = 0x8071;
pub const TEXTURE_WRAP_R: GLenum = 0x8072;
pub const MAX_3D_TEXTURE_SIZE: GLenum = 0x8073;
pub const UNSIGNED_BYTE_2_3_3_REV: GLenum = 0x8362;
pub const UNSIGNED_SHORT_5_6_5: GLenum = 0x8363;
pub const UNSIGNED_SHORT_5_6_5_REV: GLenum = 0x8364;
pub const UNSIGNED_SHORT_4_4_4_4_REV: GLenum = 0x8365;
pub const UNSIGNED_SHORT_1_5_5_5_REV: GLenum = 0x8366;
pub const UNSIGNED_INT_8_8_8_8_REV: GLenum = 0x8367;
pub const BGR: GLenum = 0x80E0;
pub const MAX_ELEMENTS_VERTICES: GLenum = 0x80E8;
pub const MAX_ELEMENTS_INDICES: GLenum = 0x80E9;
pub const CLAMP_TO_EDGE: GLenum = 0x812F;
pub const TEXTURE_MIN_LOD: GLenum = 0x813A;
pub const TEXTURE_MAX_LOD: GLenum = 0x813B;
pub const TEXTURE_BASE_LEVEL: GLenum = 0x813C;
pub const TEXTURE_MAX_LEVEL: GLenum = 0x813D;
pub const SMOOTH_POINT_SIZE_RANGE: GLenum = 0x0B12;
pub const SMOOTH_POINT_SIZE_GRANULARITY: GLenum = 0x0B13;
pub const SMOOTH_LINE_WIDTH_RANGE: GLenum = 0x0B22;
pub const SMOOTH_LINE_WIDTH_GRANULARITY: GLenum = 0x0B23;
pub const ALIASED_LINE_WIDTH_RANGE: GLenum = 0x846E;
pub const TEXTURE0: GLenum = 0x84C0;
pub const TEXTURE1: GLenum = 0x84C1;
pub const TEXTURE2: GLenum = 0x84C2;
pub const TEXTURE3: GLenum = 0x84C3;
pub const TEXTURE4: GLenum = 0x84C4;
pub const TEXTURE5: GLenum = 0x84C5;
pub const TEXTURE6: GLenum = 0x84C6;
pub const TEXTURE7: GLenum = 0x84C7;
pub const TEXTURE8: GLenum = 0x84C8;
pub const TEXTURE9: GLenum = 0x84C9;
pub const TEXTURE10: GLenum = 0x84CA;
pub const TEXTURE11: GLenum = 0x84CB;
pub const TEXTURE12: GLenum = 0x84CC;
pub const TEXTURE13: GLenum = 0x84CD;
pub const TEXTURE14: GLenum = 0x84CE;
pub const TEXTURE15: GLenum = 0x84CF;
pub const TEXTURE16: GLenum = 0x84D0;
pub const TEXTURE17: GLenum = 0x84D1;
pub const TEXTURE18: GLenum = 0x84D2;
pub const TEXTURE19: GLenum = 0x84D3;
pub const TEXTURE20: GLenum = 0x84D4;
pub const TEXTURE21: GLenum = 0x84D5;
pub const TEXTURE22: GLenum = 0x84D6;
pub const TEXTURE23: GLenum = 0x84D7;
pub const TEXTURE24: GLenum = 0x84D8;
pub const TEXTURE25: GLenum = 0x84D9;
pub const TEXTURE26: GLenum = 0x84DA;
pub const TEXTURE27: GLenum = 0x84DB;
pub const TEXTURE28: GLenum = 0x84DC;
pub const TEXTURE29: GLenum = 0x84DD;
pub const TEXTURE30: GLenum = 0x84DE;
pub const TEXTURE31: GLenum = 0x84DF;
pub const ACTIVE_TEXTURE: GLenum = 0x84E0;
pub const MULTISAMPLE: GLenum = 0x809D;
pub const SAMPLE_ALPHA_TO_COVERAGE: GLenum = 0x809E;
pub const SAMPLE_ALPHA_TO_ONE: GLenum = 0x809F;
pub const SAMPLE_COVERAGE: GLenum = 0x80A0;
pub const SAMPLE_BUFFERS: GLenum = 0x80A8;
pub const SAMPLES: GLenum = 0x80A9;
pub const SAMPLE_COVERAGE_VALUE: GLenum = 0x80AA;
pub const SAMPLE_COVERAGE_INVERT: GLenum = 0x80AB;
pub const TEXTURE_CUBE_MAP: GLenum = 0x8513;
pub const TEXTURE_BINDING_CUBE_MAP: GLenum = 0x8514;
pub const TEXTURE_CUBE_MAP_POSITIVE_X: GLenum = 0x8515;
pub const TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum = 0x8516;
pub const TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum = 0x8517;
pub const TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum = 0x8518;
pub const TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum = 0x8519;
pub const TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum = 0x851A;
pub const PROXY_TEXTURE_CUBE_MAP: GLenum = 0x851B;
pub const MAX_CUBE_MAP_TEXTURE_SIZE: GLenum = 0x851C;
pub const COMPRESSED_RGB: GLenum = 0x84ED;
pub const COMPRESSED_RGBA: GLenum = 0x84EE;
pub const TEXTURE_COMPRESSION_HINT: GLenum = 0x84EF;
pub const TEXTURE_COMPRESSED_IMAGE_SIZE: GLenum = 0x86A0;
pub const TEXTURE_COMPRESSED: GLenum = 0x86A1;
pub const NUM_COMPRESSED_TEXTURE_FORMATS: GLenum = 0x86A2;
pub const COMPRESSED_TEXTURE_FORMATS: GLenum = 0x86A3;
pub const CLAMP_TO_BORDER: GLenum = 0x812D;
pub const BLEND_DST_RGB: GLenum = 0x80C8;
pub const BLEND_SRC_RGB: GLenum = 0x80C9;
pub const BLEND_DST_ALPHA: GLenum = 0x80CA;
pub const BLEND_SRC_ALPHA: GLenum = 0x80CB;
pub const POINT_FADE_THRESHOLD_SIZE: GLenum = 0x8128;
pub const DEPTH_COMPONENT16: GLenum = 0x81A5;
pub const DEPTH_COMPONENT24: GLenum = 0x81A6;
pub const DEPTH_COMPONENT32: GLenum = 0x81A7;
pub const MIRRORED_REPEAT: GLenum = 0x8370;
pub const MAX_TEXTURE_LOD_BIAS: GLenum = 0x84FD;
pub const TEXTURE_LOD_BIAS: GLenum = 0x8501;
pub const INCR_WRAP: GLenum = 0x8507;
pub const DECR_WRAP: GLenum = 0x8508;
pub const TEXTURE_DEPTH_SIZE: GLenum = 0x884A;
pub const TEXTURE_COMPARE_MODE: GLenum = 0x884C;
pub const TEXTURE_COMPARE_FUNC: GLenum = 0x884D;
pub const BUFFER_SIZE: GLenum = 0x8764;
pub const BUFFER_USAGE: GLenum = 0x8765;
pub const QUERY_COUNTER_BITS: GLenum = 0x8864;
pub const CURRENT_QUERY: GLenum = 0x8865;
pub const QUERY_RESULT: GLenum = 0x8866;
pub const QUERY_RESULT_AVAILABLE: GLenum = 0x8867;
pub const ARRAY_BUFFER: GLenum = 0x8892;
pub const ELEMENT_ARRAY_BUFFER: GLenum = 0x8893;
pub const ARRAY_BUFFER_BINDING: GLenum = 0x8894;
pub const ELEMENT_ARRAY_BUFFER_BINDING: GLenum = 0x8895;
pub const VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum = 0x889F;
pub const READ_ONLY: GLenum = 0x88B8;
pub const WRITE_ONLY: GLenum = 0x88B9;
pub const READ_WRITE: GLenum = 0x88BA;
pub const BUFFER_ACCESS: GLenum = 0x88BB;
pub const BUFFER_MAPPED: GLenum = 0x88BC;
pub const BUFFER_MAP_POINTER: GLenum = 0x88BD;
pub const STREAM_DRAW: GLenum = 0x88E0;
pub const STREAM_READ: GLenum = 0x88E1;
pub const STREAM_COPY: GLenum = 0x88E2;
pub const STATIC_DRAW: GLenum = 0x88E4;
pub const STATIC_READ: GLenum = 0x88E5;
pub const STATIC_COPY: GLenum = 0x88E6;
pub const DYNAMIC_DRAW: GLenum = 0x88E8;
pub const DYNAMIC_READ: GLenum = 0x88E9;
pub const DYNAMIC_COPY: GLenum = 0x88EA;
pub const SAMPLES_PASSED: GLenum = 0x8914;
pub const BLEND_EQUATION_RGB: GLenum = 0x8009;
pub const VERTEX_ATTRIB_ARRAY_ENABLED: GLenum = 0x8622;
pub const VERTEX_ATTRIB_ARRAY_SIZE: GLenum = 0x8623;
pub const VERTEX_ATTRIB_ARRAY_STRIDE: GLenum = 0x8624;
pub const VERTEX_ATTRIB_ARRAY_TYPE: GLenum = 0x8625;
pub const CURRENT_VERTEX_ATTRIB: GLenum = 0x8626;
pub const VERTEX_PROGRAM_POINT_SIZE: GLenum = 0x8642;
pub const VERTEX_ATTRIB_ARRAY_POINTER: GLenum = 0x8645;
pub const STENCIL_BACK_FUNC: GLenum = 0x8800;
pub const STENCIL_BACK_FAIL: GLenum = 0x8801;
pub const STENCIL_BACK_PASS_DEPTH_FAIL: GLenum = 0x8802;
pub const STENCIL_BACK_PASS_DEPTH_PASS: GLenum = 0x8803;
pub const MAX_DRAW_BUFFERS: GLenum = 0x8824;
pub const DRAW_BUFFER0: GLenum = 0x8825;
pub const DRAW_BUFFER1: GLenum = 0x8826;
pub const DRAW_BUFFER2: GLenum = 0x8827;
pub const DRAW_BUFFER3: GLenum = 0x8828;
pub const DRAW_BUFFER4: GLenum = 0x8829;
pub const DRAW_BUFFER5: GLenum = 0x882A;
pub const DRAW_BUFFER6: GLenum = 0x882B;
pub const DRAW_BUFFER7: GLenum = 0x882C;
pub const DRAW_BUFFER8: GLenum = 0x882D;
pub const DRAW_BUFFER9: GLenum = 0x882E;
pub const DRAW_BUFFER10: GLenum = 0x882F;
pub const DRAW_BUFFER11: GLenum = 0x8830;
pub const DRAW_BUFFER12: GLenum = 0x8831;
pub const DRAW_BUFFER13: GLenum = 0x8832;
pub const DRAW_BUFFER14: GLenum = 0x8833;
pub const DRAW_BUFFER15: GLenum = 0x8834;
pub const BLEND_EQUATION_ALPHA: GLenum = 0x883D;
pub const MAX_VERTEX_ATTRIBS: GLenum = 0x8869;
pub const VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum = 0x886A;
pub const MAX_TEXTURE_IMAGE_UNITS: GLenum = 0x8872;
pub const FRAGMENT_SHADER: GLenum = 0x8B30;
pub const VERTEX_SHADER: GLenum = 0x8B31;
pub const MAX_FRAGMENT_UNIFORM_COMPONENTS: GLenum = 0x8B49;
pub const MAX_VERTEX_UNIFORM_COMPONENTS: GLenum = 0x8B4A;
pub const MAX_VARYING_FLOATS: GLenum = 0x8B4B;
pub const MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum = 0x8B4C;
pub const MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum = 0x8B4D;
pub const SHADER_TYPE: GLenum = 0x8B4F;
pub const FLOAT_VEC2: GLenum = 0x8B50;
pub const FLOAT_VEC3: GLenum = 0x8B51;
pub const FLOAT_VEC4: GLenum = 0x8B52;
pub const INT_VEC2: GLenum = 0x8B53;
pub const INT_VEC3: GLenum = 0x8B54;
pub const INT_VEC4: GLenum = 0x8B55;
pub const BOOL: GLenum = 0x8B56;
pub const BOOL_VEC2: GLenum = 0x8B57;
pub const BOOL_VEC3: GLenum = 0x8B58;
pub const BOOL_VEC4: GLenum = 0x8B59;
pub const FLOAT_MAT2: GLenum = 0x8B5A;
pub const FLOAT_MAT3: GLenum = 0x8B5B;
pub const FLOAT_MAT4: GLenum = 0x8B5C;
pub const SAMPLER_1D: GLenum = 0x8B5D;
pub const SAMPLER_2D: GLenum = 0x8B5E;
pub const SAMPLER_3D: GLenum = 0x8B5F;
pub const SAMPLER_CUBE: GLenum = 0x8B60;
pub const SAMPLER_1D_SHADOW: GLenum = 0x8B61;
pub const SAMPLER_2D_SHADOW: GLenum = 0x8B62;
pub const DELETE_STATUS: GLenum = 0x8B80;
pub const COMPILE_STATUS: GLenum = 0x8B81;
pub const LINK_STATUS: GLenum = 0x8B82;
pub const VALIDATE_STATUS: GLenum = 0x8B83;
pub const INFO_LOG_LENGTH: GLenum = 0x8B84;
pub const ATTACHED_SHADERS: GLenum = 0x8B85;
pub const ACTIVE_UNIFORMS: GLenum = 0x8B86;
pub const ACTIVE_UNIFORM_MAX_LENGTH: GLenum = 0x8B87;
pub const SHADER_SOURCE_LENGTH: GLenum = 0x8B88;
pub const ACTIVE_ATTRIBUTES: GLenum = 0x8B89;
pub const ACTIVE_ATTRIBUTE_MAX_LENGTH: GLenum = 0x8B8A;
pub const FRAGMENT_SHADER_DERIVATIVE_HINT: GLenum = 0x8B8B;
pub const SHADING_LANGUAGE_VERSION: GLenum = 0x8B8C;
pub const CURRENT_PROGRAM: GLenum = 0x8B8D;
pub const POINT_SPRITE_COORD_ORIGIN: GLenum = 0x8CA0;
pub const LOWER_LEFT: GLenum = 0x8CA1;
pub const UPPER_LEFT: GLenum = 0x8CA2;
pub const STENCIL_BACK_REF: GLenum = 0x8CA3;
pub const STENCIL_BACK_VALUE_MASK: GLenum = 0x8CA4;
pub const STENCIL_BACK_WRITEMASK: GLenum = 0x8CA5;
pub const PIXEL_PACK_BUFFER: GLenum = 0x88EB;
pub const PIXEL_UNPACK_BUFFER: GLenum = 0x88EC;
pub const PIXEL_PACK_BUFFER_BINDING: GLenum = 0x88ED;
pub const PIXEL_UNPACK_BUFFER_BINDING: GLenum = 0x88EF;
pub const FLOAT_MAT2x3: GLenum = 0x8B65;
pub const FLOAT_MAT2x4: GLenum = 0x8B66;
pub const FLOAT_MAT3x2: GLenum = 0x8B67;
pub const FLOAT_MAT3x4: GLenum = 0x8B68;
pub const FLOAT_MAT4x2: GLenum = 0x8B69;
pub const FLOAT_MAT4x3: GLenum = 0x8B6A;
pub const SRGB: GLenum = 0x8C40;
pub const SRGB8: GLenum = 0x8C41;
pub const SRGB_ALPHA: GLenum = 0x8C42;
pub const SRGB8_ALPHA8: GLenum = 0x8C43;
pub const COMPRESSED_SRGB: GLenum = 0x8C48;
pub const COMPRESSED_SRGB_ALPHA: GLenum = 0x8C49;
pub const VERTEX_ARRAY_BINDING: GLenum = 0x85B5;
pub const RG: GLenum = 0x8227;
pub const RG_INTEGER: GLenum = 0x8228;
pub const R8: GLenum = 0x8229;
pub const R16: GLenum = 0x822A;
pub const RG8: GLenum = 0x822B;
pub const RG16: GLenum = 0x822C;
pub const R16F: GLenum = 0x822D;
pub const R32F: GLenum = 0x822E;
pub const RG16F: GLenum = 0x822F;
pub const RG32F: GLenum = 0x8230;
pub const R8I: GLenum = 0x8231;
pub const R8UI: GLenum = 0x8232;
pub const R16I: GLenum = 0x8233;
pub const R16UI: GLenum = 0x8234;
pub const R32I: GLenum = 0x8235;
pub const R32UI: GLenum = 0x8236;
pub const RG8I: GLenum = 0x8237;
pub const RG8UI: GLenum = 0x8238;
pub const RG16I: GLenum = 0x8239;
pub const RG16UI: GLenum = 0x823A;
pub const RG32I: GLenum = 0x823B;
pub const RG32UI: GLenum = 0x823C;
pub const COMPRESSED_RED_RGTC1: GLenum = 0x8DBB;
pub const COMPRESSED_SIGNED_RED_RGTC1: GLenum = 0x8DBC;
pub const COMPRESSED_RG_RGTC2: GLenum = 0x8DBD;
pub const COMPRESSED_SIGNED_RG_RGTC2: GLenum = 0x8DBE;
pub const MAP_READ_BIT: GLenum = 0x0001;
pub const MAP_WRITE_BIT: GLenum = 0x0002;
pub const MAP_INVALIDATE_RANGE_BIT: GLenum = 0x0004;
pub const MAP_INVALIDATE_BUFFER_BIT: GLenum = 0x0008;
pub const MAP_FLUSH_EXPLICIT_BIT: GLenum = 0x0010;
pub const MAP_UNSYNCHRONIZED_BIT: GLenum = 0x0020;
pub const HALF_FLOAT: GLenum = 0x140B;
pub const FRAMEBUFFER_SRGB: GLenum = 0x8DB9;
pub const INVALID_FRAMEBUFFER_OPERATION: GLenum = 0x0506;
pub const FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: GLenum = 0x8210;
pub const FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: GLenum = 0x8211;
pub const FRAMEBUFFER_ATTACHMENT_RED_SIZE: GLenum = 0x8212;
pub const FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: GLenum = 0x8213;
pub const FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: GLenum = 0x8214;
pub const FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: GLenum = 0x8215;
pub const FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: GLenum = 0x8216;
pub const FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: GLenum = 0x8217;
pub const FRAMEBUFFER_DEFAULT: GLenum = 0x8218;
pub const FRAMEBUFFER_UNDEFINED: GLenum = 0x8219;
pub const DEPTH_STENCIL_ATTACHMENT: GLenum = 0x821A;
pub const INDEX: GLenum = 0x8222;
pub const MAX_RENDERBUFFER_SIZE: GLenum = 0x84E8;
pub const DEPTH_STENCIL: GLenum = 0x84F9;
pub const UNSIGNED_INT_24_8: GLenum = 0x84FA;
pub const DEPTH24_STENCIL8: GLenum = 0x88F0;
pub const TEXTURE_STENCIL_SIZE: GLenum = 0x88F1;
pub const TEXTURE_RED_TYPE: GLenum = 0x8C10;
pub const TEXTURE_GREEN_TYPE: GLenum = 0x8C11;
pub const TEXTURE_BLUE_TYPE: GLenum = 0x8C12;
pub const TEXTURE_ALPHA_TYPE: GLenum = 0x8C13;
pub const TEXTURE_DEPTH_TYPE: GLenum = 0x8C16;
pub const UNSIGNED_NORMALIZED: GLenum = 0x8C17;
pub const FRAMEBUFFER_BINDING: GLenum = 0x8CA6;
pub const DRAW_FRAMEBUFFER_BINDING: GLenum = 0x8CA6;
pub const RENDERBUFFER_BINDING: GLenum = 0x8CA7;
pub const READ_FRAMEBUFFER: GLenum = 0x8CA8;
pub const DRAW_FRAMEBUFFER: GLenum = 0x8CA9;
pub const READ_FRAMEBUFFER_BINDING: GLenum = 0x8CAA;
pub const RENDERBUFFER_SAMPLES: GLenum = 0x8CAB;
pub const FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum = 0x8CD0;
pub const FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum = 0x8CD1;
pub const FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum = 0x8CD2;
pub const FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum = 0x8CD3;
pub const FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: GLenum = 0x8CD4;
pub const FRAMEBUFFER_COMPLETE: GLenum = 0x8CD5;
pub const FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum = 0x8CD6;
pub const FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum = 0x8CD7;
pub const FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER: GLenum = 0x8CDB;
pub const FRAMEBUFFER_INCOMPLETE_READ_BUFFER: GLenum = 0x8CDC;
pub const FRAMEBUFFER_UNSUPPORTED: GLenum = 0x8CDD;
pub const MAX_COLOR_ATTACHMENTS: GLenum = 0x8CDF;
pub const COLOR_ATTACHMENT0: GLenum = 0x8CE0;
pub const COLOR_ATTACHMENT1: GLenum = 0x8CE1;
pub const COLOR_ATTACHMENT2: GLenum = 0x8CE2;
pub const COLOR_ATTACHMENT3: GLenum = 0x8CE3;
pub const COLOR_ATTACHMENT4: GLenum = 0x8CE4;
pub const COLOR_ATTACHMENT5: GLenum = 0x8CE5;
pub const COLOR_ATTACHMENT6: GLenum = 0x8CE6;
pub const COLOR_ATTACHMENT7: GLenum = 0x8CE7;
pub const COLOR_ATTACHMENT8: GLenum = 0x8CE8;
pub const COLOR_ATTACHMENT9: GLenum = 0x8CE9;
pub const COLOR_ATTACHMENT10: GLenum = 0x8CEA;
pub const COLOR_ATTACHMENT11: GLenum = 0x8CEB;
pub const COLOR_ATTACHMENT12: GLenum = 0x8CEC;
pub const COLOR_ATTACHMENT13: GLenum = 0x8CED;
pub const COLOR_ATTACHMENT14: GLenum = 0x8CEE;
pub const COLOR_ATTACHMENT15: GLenum = 0x8CEF;
pub const DEPTH_ATTACHMENT: GLenum = 0x8D00;
pub const STENCIL_ATTACHMENT: GLenum = 0x8D20;
pub const FRAMEBUFFER: GLenum = 0x8D40;
pub const RENDERBUFFER: GLenum = 0x8D41;
pub const RENDERBUFFER_WIDTH: GLenum = 0x8D42;
pub const RENDERBUFFER_HEIGHT: GLenum = 0x8D43;
pub const RENDERBUFFER_INTERNAL_FORMAT: GLenum = 0x8D44;
pub const STENCIL_INDEX1: GLenum = 0x8D46;
pub const STENCIL_INDEX4: GLenum = 0x8D47;
pub const STENCIL_INDEX8: GLenum = 0x8D48;
pub const STENCIL_INDEX16: GLenum = 0x8D49;
pub const RENDERBUFFER_RED_SIZE: GLenum = 0x8D50;
pub const RENDERBUFFER_GREEN_SIZE: GLenum = 0x8D51;
pub const RENDERBUFFER_BLUE_SIZE: GLenum = 0x8D52;
pub const RENDERBUFFER_ALPHA_SIZE: GLenum = 0x8D53;
pub const RENDERBUFFER_DEPTH_SIZE: GLenum = 0x8D54;
pub const RENDERBUFFER_STENCIL_SIZE: GLenum = 0x8D55;
pub const FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: GLenum = 0x8D56;
pub const MAX_SAMPLES: GLenum = 0x8D57;
pub const TEXTURE_LUMINANCE_TYPE: GLenum = 0x8C14;
pub const TEXTURE_INTENSITY_TYPE: GLenum = 0x8C15;
pub const DEPTH_COMPONENT32F: GLenum = 0x8CAC;
pub const DEPTH32F_STENCIL8: GLenum = 0x8CAD;
pub const FLOAT_32_UNSIGNED_INT_24_8_REV: GLenum = 0x8DAD;
pub const COMPARE_REF_TO_TEXTURE: GLenum = 0x884E;
pub const CLIP_DISTANCE0: GLenum = 0x3000;
pub const CLIP_DISTANCE1: GLenum = 0x3001;
pub const CLIP_DISTANCE2: GLenum = 0x3002;
pub const CLIP_DISTANCE3: GLenum = 0x3003;
pub const CLIP_DISTANCE4: GLenum = 0x3004;
pub const CLIP_DISTANCE5: GLenum = 0x3005;
pub const CLIP_DISTANCE6: GLenum = 0x3006;
pub const CLIP_DISTANCE7: GLenum = 0x3007;
pub const MAX_CLIP_DISTANCES: GLenum = 0x0D32;
pub const MAJOR_VERSION: GLenum = 0x821B;
pub const MINOR_VERSION: GLenum = 0x821C;
pub const NUM_EXTENSIONS: GLenum = 0x821D;
pub const CONTEXT_FLAGS: GLenum = 0x821E;
pub const COMPRESSED_RED: GLenum = 0x8225;
pub const COMPRESSED_RG: GLenum = 0x8226;
pub const CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT: GLenum = 0x0001;
pub const RGBA32F: GLenum = 0x8814;
pub const RGB32F: GLenum = 0x8815;
pub const RGBA16F: GLenum = 0x881A;
pub const RGB16F: GLenum = 0x881B;
pub const VERTEX_ATTRIB_ARRAY_INTEGER: GLenum = 0x88FD;
pub const MAX_ARRAY_TEXTURE_LAYERS: GLenum = 0x88FF;
pub const MIN_PROGRAM_TEXEL_OFFSET: GLenum = 0x8904;
pub const MAX_PROGRAM_TEXEL_OFFSET: GLenum = 0x8905;
pub const CLAMP_READ_COLOR: GLenum = 0x891C;
pub const FIXED_ONLY: GLenum = 0x891D;
pub const MAX_VARYING_COMPONENTS: GLenum = 0x8B4B;
pub const TEXTURE_1D_ARRAY: GLenum = 0x8C18;
pub const PROXY_TEXTURE_1D_ARRAY: GLenum = 0x8C19;
pub const TEXTURE_2D_ARRAY: GLenum = 0x8C1A;
pub const PROXY_TEXTURE_2D_ARRAY: GLenum = 0x8C1B;
pub const TEXTURE_BINDING_1D_ARRAY: GLenum = 0x8C1C;
pub const TEXTURE_BINDING_2D_ARRAY: GLenum = 0x8C1D;
pub const R11F_G11F_B10F: GLenum = 0x8C3A;
pub const UNSIGNED_INT_10F_11F_11F_REV: GLenum = 0x8C3B;
pub const RGB9_E5: GLenum = 0x8C3D;
pub const UNSIGNED_INT_5_9_9_9_REV: GLenum = 0x8C3E;
pub const TEXTURE_SHARED_SIZE: GLenum = 0x8C3F;
pub const TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH: GLenum = 0x8C76;
pub const TRANSFORM_FEEDBACK_BUFFER_MODE: GLenum = 0x8C7F;
pub const MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: GLenum = 0x8C80;
pub const TRANSFORM_FEEDBACK_VARYINGS: GLenum = 0x8C83;
pub const TRANSFORM_FEEDBACK_BUFFER_START: GLenum = 0x8C84;
pub const TRANSFORM_FEEDBACK_BUFFER_SIZE: GLenum = 0x8C85;
pub const PRIMITIVES_GENERATED: GLenum = 0x8C87;
pub const TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: GLenum = 0x8C88;
pub const RASTERIZER_DISCARD: GLenum = 0x8C89;
pub const MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: GLenum = 0x8C8A;
pub const MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: GLenum = 0x8C8B;
pub const INTERLEAVED_ATTRIBS: GLenum = 0x8C8C;
pub const SEPARATE_ATTRIBS: GLenum = 0x8C8D;
pub const TRANSFORM_FEEDBACK_BUFFER: GLenum = 0x8C8E;
pub const TRANSFORM_FEEDBACK_BUFFER_BINDING: GLenum = 0x8C8F;
pub const RGBA32UI: GLenum = 0x8D70;
pub const RGB32UI: GLenum = 0x8D71;
pub const RGBA16UI: GLenum = 0x8D76;
pub const RGB16UI: GLenum = 0x8D77;
pub const RGBA8UI: GLenum = 0x8D7C;
pub const RGB8UI: GLenum = 0x8D7D;
pub const RGBA32I: GLenum = 0x8D82;
pub const RGB32I: GLenum = 0x8D83;
pub const RGBA16I: GLenum = 0x8D88;
pub const RGB16I: GLenum = 0x8D89;
pub const RGBA8I: GLenum = 0x8D8E;
pub const RGB8I: GLenum = 0x8D8F;
pub const RED_INTEGER: GLenum = 0x8D94;
pub const GREEN_INTEGER: GLenum = 0x8D95;
pub const BLUE_INTEGER: GLenum = 0x8D96;
pub const RGB_INTEGER: GLenum = 0x8D98;
pub const RGBA_INTEGER: GLenum = 0x8D99;
pub const BGR_INTEGER: GLenum = 0x8D9A;
pub const BGRA_INTEGER: GLenum = 0x8D9B;
pub const SAMPLER_1D_ARRAY: GLenum = 0x8DC0;
pub const SAMPLER_2D_ARRAY: GLenum = 0x8DC1;
pub const SAMPLER_1D_ARRAY_SHADOW: GLenum = 0x8DC3;
pub const SAMPLER_2D_ARRAY_SHADOW: GLenum = 0x8DC4;
pub const SAMPLER_CUBE_SHADOW: GLenum = 0x8DC5;
pub const UNSIGNED_INT_VEC2: GLenum = 0x8DC6;
pub const UNSIGNED_INT_VEC3: GLenum = 0x8DC7;
pub const UNSIGNED_INT_VEC4: GLenum = 0x8DC8;
pub const INT_SAMPLER_1D: GLenum = 0x8DC9;
pub const INT_SAMPLER_2D: GLenum = 0x8DCA;
pub const INT_SAMPLER_3D: GLenum = 0x8DCB;
pub const INT_SAMPLER_CUBE: GLenum = 0x8DCC;
pub const INT_SAMPLER_1D_ARRAY: GLenum = 0x8DCE;
pub const INT_SAMPLER_2D_ARRAY: GLenum = 0x8DCF;
pub const UNSIGNED_INT_SAMPLER_1D: GLenum = 0x8DD1;
pub const UNSIGNED_INT_SAMPLER_2D: GLenum = 0x8DD2;
pub const UNSIGNED_INT_SAMPLER_3D: GLenum = 0x8DD3;
pub const UNSIGNED_INT_SAMPLER_CUBE: GLenum = 0x8DD4;
pub const UNSIGNED_INT_SAMPLER_1D_ARRAY: GLenum = 0x8DD6;
pub const UNSIGNED_INT_SAMPLER_2D_ARRAY: GLenum = 0x8DD7;
pub const QUERY_WAIT: GLenum = 0x8E13;
pub const QUERY_NO_WAIT: GLenum = 0x8E14;
pub const QUERY_BY_REGION_WAIT: GLenum = 0x8E15;
pub const QUERY_BY_REGION_NO_WAIT: GLenum = 0x8E16;
pub const BUFFER_ACCESS_FLAGS: GLenum = 0x911F;
pub const BUFFER_MAP_LENGTH: GLenum = 0x9120;
pub const BUFFER_MAP_OFFSET: GLenum = 0x9121;
pub const UNIFORM_BUFFER: GLenum = 0x8A11;
pub const UNIFORM_BUFFER_BINDING: GLenum = 0x8A28;
pub const UNIFORM_BUFFER_START: GLenum = 0x8A29;
pub const UNIFORM_BUFFER_SIZE: GLenum = 0x8A2A;
pub const MAX_VERTEX_UNIFORM_BLOCKS: GLenum = 0x8A2B;
pub const MAX_FRAGMENT_UNIFORM_BLOCKS: GLenum = 0x8A2D;
pub const MAX_COMBINED_UNIFORM_BLOCKS: GLenum = 0x8A2E;
pub const MAX_UNIFORM_BUFFER_BINDINGS: GLenum = 0x8A2F;
pub const MAX_UNIFORM_BLOCK_SIZE: GLenum = 0x8A30;
pub const MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: GLenum = 0x8A31;
pub const MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: GLenum = 0x8A33;
pub const UNIFORM_BUFFER_OFFSET_ALIGNMENT: GLenum = 0x8A34;
pub const ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH: GLenum = 0x8A35;
pub const ACTIVE_UNIFORM_BLOCKS: GLenum = 0x8A36;
pub const UNIFORM_TYPE: GLenum = 0x8A37;
pub const UNIFORM_SIZE: GLenum = 0x8A38;
pub const UNIFORM_NAME_LENGTH: GLenum = 0x8A39;
pub const UNIFORM_BLOCK_INDEX: GLenum = 0x8A3A;
pub const UNIFORM_OFFSET: GLenum = 0x8A3B;
pub const UNIFORM_ARRAY_STRIDE: GLenum = 0x8A3C;
pub const UNIFORM_MATRIX_STRIDE: GLenum = 0x8A3D;
pub const UNIFORM_IS_ROW_MAJOR: GLenum = 0x8A3E;
pub const UNIFORM_BLOCK_BINDING: GLenum = 0x8A3F;
pub const UNIFORM_BLOCK_DATA_SIZE: GLenum = 0x8A40;
pub const UNIFORM_BLOCK_NAME_LENGTH: GLenum = 0x8A41;
pub const UNIFORM_BLOCK_ACTIVE_UNIFORMS: GLenum = 0x8A42;
pub const UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: GLenum = 0x8A43;
pub const UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: GLenum = 0x8A44;
pub const UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: GLenum = 0x8A46;
pub const INVALID_INDEX: GLenum = 0xFFFFFFFF;
pub const MAX_GEOMETRY_UNIFORM_BLOCKS: GLenum = 0x8A2C;
pub const MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS: GLenum = 0x8A32;
pub const UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER: GLenum = 0x8A45;
pub const COPY_READ_BUFFER: GLenum = 0x8F36;
pub const COPY_WRITE_BUFFER: GLenum = 0x8F37;
pub const COPY_READ_BUFFER_BINDING: GLenum = 0x8F36;
pub const COPY_WRITE_BUFFER_BINDING: GLenum = 0x8F37;
pub const SAMPLER_2D_RECT: GLenum = 0x8B63;
pub const SAMPLER_2D_RECT_SHADOW: GLenum = 0x8B64;
pub const SAMPLER_BUFFER: GLenum = 0x8DC2;
pub const INT_SAMPLER_2D_RECT: GLenum = 0x8DCD;
pub const INT_SAMPLER_BUFFER: GLenum = 0x8DD0;
pub const UNSIGNED_INT_SAMPLER_2D_RECT: GLenum = 0x8DD5;
pub const UNSIGNED_INT_SAMPLER_BUFFER: GLenum = 0x8DD8;
pub const TEXTURE_BUFFER: GLenum = 0x8C2A;
pub const MAX_TEXTURE_BUFFER_SIZE: GLenum = 0x8C2B;
pub const TEXTURE_BINDING_BUFFER: GLenum = 0x8C2C;
pub const TEXTURE_BUFFER_DATA_STORE_BINDING: GLenum = 0x8C2D;
pub const TEXTURE_RECTANGLE: GLenum = 0x84F5;
pub const TEXTURE_BINDING_RECTANGLE: GLenum = 0x84F6;
pub const PROXY_TEXTURE_RECTANGLE: GLenum = 0x84F7;
pub const MAX_RECTANGLE_TEXTURE_SIZE: GLenum = 0x84F8;
pub const RED_SNORM: GLenum = 0x8F90;
pub const RG_SNORM: GLenum = 0x8F91;
pub const RGB_SNORM: GLenum = 0x8F92;
pub const RGBA_SNORM: GLenum = 0x8F93;
pub const R8_SNORM: GLenum = 0x8F94;
pub const RG8_SNORM: GLenum = 0x8F95;
pub const RGB8_SNORM: GLenum = 0x8F96;
pub const RGBA8_SNORM: GLenum = 0x8F97;
pub const R16_SNORM: GLenum = 0x8F98;
pub const RG16_SNORM: GLenum = 0x8F99;
pub const RGB16_SNORM: GLenum = 0x8F9A;
pub const RGBA16_SNORM: GLenum = 0x8F9B;
pub const SIGNED_NORMALIZED: GLenum = 0x8F9C;
pub const PRIMITIVE_RESTART: GLenum = 0x8F9D;
pub const PRIMITIVE_RESTART_INDEX: GLenum = 0x8F9E;
pub const DEPTH_CLAMP: GLenum = 0x864F;
pub const QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION: GLenum = 0x8E4C;
pub const FIRST_VERTEX_CONVENTION: GLenum = 0x8E4D;
pub const LAST_VERTEX_CONVENTION: GLenum = 0x8E4E;
pub const PROVOKING_VERTEX: GLenum = 0x8E4F;
pub const TEXTURE_CUBE_MAP_SEAMLESS: GLenum = 0x884F;
pub const MAX_SERVER_WAIT_TIMEOUT: GLenum = 0x9111;
pub const OBJECT_TYPE: GLenum = 0x9112;
pub const SYNC_CONDITION: GLenum = 0x9113;
pub const SYNC_STATUS: GLenum = 0x9114;
pub const SYNC_FLAGS: GLenum = 0x9115;
pub const SYNC_FENCE: GLenum = 0x9116;
pub const SYNC_GPU_COMMANDS_COMPLETE: GLenum = 0x9117;
pub const UNSIGNALED: GLenum = 0x9118;
pub const SIGNALED: GLenum = 0x9119;
pub const ALREADY_SIGNALED: GLenum = 0x911A;
pub const TIMEOUT_EXPIRED: GLenum = 0x911B;
pub const CONDITION_SATISFIED: GLenum = 0x911C;
pub const WAIT_FAILED: GLenum = 0x911D;
pub const TIMEOUT_IGNORED: GLenum = 0xFFFFFFFFFFFFFFFF;
pub const SYNC_FLUSH_COMMANDS_BIT: GLenum = 0x00000001;
pub const SAMPLE_POSITION: GLenum = 0x8E50;
pub const SAMPLE_MASK: GLenum = 0x8E51;
pub const SAMPLE_MASK_VALUE: GLenum = 0x8E52;
pub const MAX_SAMPLE_MASK_WORDS: GLenum = 0x8E59;
pub const TEXTURE_2D_MULTISAMPLE: GLenum = 0x9100;
pub const PROXY_TEXTURE_2D_MULTISAMPLE: GLenum = 0x9101;
pub const TEXTURE_2D_MULTISAMPLE_ARRAY: GLenum = 0x9102;
pub const PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY: GLenum = 0x9103;
pub const TEXTURE_BINDING_2D_MULTISAMPLE: GLenum = 0x9104;
pub const TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY: GLenum = 0x9105;
pub const TEXTURE_SAMPLES: GLenum = 0x9106;
pub const TEXTURE_FIXED_SAMPLE_LOCATIONS: GLenum = 0x9107;
pub const SAMPLER_2D_MULTISAMPLE: GLenum = 0x9108;
pub const INT_SAMPLER_2D_MULTISAMPLE: GLenum = 0x9109;
pub const UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE: GLenum = 0x910A;
pub const SAMPLER_2D_MULTISAMPLE_ARRAY: GLenum = 0x910B;
pub const INT_SAMPLER_2D_MULTISAMPLE_ARRAY: GLenum = 0x910C;
pub const UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: GLenum = 0x910D;
pub const MAX_COLOR_TEXTURE_SAMPLES: GLenum = 0x910E;
pub const MAX_DEPTH_TEXTURE_SAMPLES: GLenum = 0x910F;
pub const MAX_INTEGER_SAMPLES: GLenum = 0x9110;
pub const BGRA: GLenum = 0x80E1;
pub const CONTEXT_CORE_PROFILE_BIT: GLenum = 0x00000001;
pub const CONTEXT_COMPATIBILITY_PROFILE_BIT: GLenum = 0x00000002;
pub const LINES_ADJACENCY: GLenum = 0x000A;
pub const LINE_STRIP_ADJACENCY: GLenum = 0x000B;
pub const TRIANGLES_ADJACENCY: GLenum = 0x000C;
pub const TRIANGLE_STRIP_ADJACENCY: GLenum = 0x000D;
pub const PROGRAM_POINT_SIZE: GLenum = 0x8642;
pub const MAX_GEOMETRY_TEXTURE_IMAGE_UNITS: GLenum = 0x8C29;
pub const FRAMEBUFFER_ATTACHMENT_LAYERED: GLenum = 0x8DA7;
pub const FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS: GLenum = 0x8DA8;
pub const GEOMETRY_SHADER: GLenum = 0x8DD9;
pub const GEOMETRY_VERTICES_OUT: GLenum = 0x8916;
pub const GEOMETRY_INPUT_TYPE: GLenum = 0x8917;
pub const GEOMETRY_OUTPUT_TYPE: GLenum = 0x8918;
pub const MAX_GEOMETRY_UNIFORM_COMPONENTS: GLenum = 0x8DDF;
pub const MAX_GEOMETRY_OUTPUT_VERTICES: GLenum = 0x8DE0;
pub const MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS: GLenum = 0x8DE1;
pub const MAX_VERTEX_OUTPUT_COMPONENTS: GLenum = 0x9122;
pub const MAX_GEOMETRY_INPUT_COMPONENTS: GLenum = 0x9123;
pub const MAX_GEOMETRY_OUTPUT_COMPONENTS: GLenum = 0x9124;
pub const MAX_FRAGMENT_INPUT_COMPONENTS: GLenum = 0x9125;
pub const CONTEXT_PROFILE_MASK: GLenum = 0x9126;
pub const RGB10_A2UI: GLenum = 0x906F;
pub const TEXTURE_SWIZZLE_R: GLenum = 0x8E42;
pub const TEXTURE_SWIZZLE_G: GLenum = 0x8E43;
pub const TEXTURE_SWIZZLE_B: GLenum = 0x8E44;
pub const TEXTURE_SWIZZLE_A: GLenum = 0x8E45;
pub const TEXTURE_SWIZZLE_RGBA: GLenum = 0x8E46;
pub const TIME_ELAPSED: GLenum = 0x88BF;
pub const TIMESTAMP: GLenum = 0x8E28;
pub const UNSIGNED_INT_2_10_10_10_REV: GLenum = 0x8368;
pub const INT_2_10_10_10_REV: GLenum = 0x8D9F;
pub const SRC1_ALPHA: GLenum = 0x8589;
pub const SRC1_COLOR: GLenum = 0x88F9;
pub const ONE_MINUS_SRC1_COLOR: GLenum = 0x88FA;
pub const ONE_MINUS_SRC1_ALPHA: GLenum = 0x88FB;
pub const MAX_DUAL_SOURCE_DRAW_BUFFERS: GLenum = 0x88FC;
pub const ANY_SAMPLES_PASSED: GLenum = 0x8C2F;
pub const SAMPLER_BINDING: GLenum = 0x8919;
pub const VERTEX_ATTRIB_ARRAY_DIVISOR: GLenum = 0x88FE;
pub struct GL {
CullFace: extern "C" fn(mode: GLenum),
FrontFace: extern "C" fn(mode: GLenum),
Hint: extern "C" fn(target: GLenum, mode: GLenum),
LineWidth: extern "C" fn(width: GLfloat),
PointSize: extern "C" fn(size: GLfloat),
PolygonMode: extern "C" fn(face: GLenum, mode: GLenum),
Scissor: extern "C" fn(x: GLint, y: GLint, width: GLsizei, height: GLsizei),
TexParameterf: extern "C" fn(target: GLenum, pname: GLenum, param: GLfloat),
TexParameterfv: extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
TexParameteri: extern "C" fn(target: GLenum, pname: GLenum, param: GLint),
TexParameteriv: extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
TexImage1D: extern "C" fn(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, border: GLint, format: GLenum, type_: GLenum, pixels: *const GLvoid),
TexImage2D: extern "C" fn(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type_: GLenum, pixels: *const GLvoid),
DrawBuffer: extern "C" fn(mode: GLenum),
Clear: extern "C" fn(mask: GLbitfield),
ClearColor: extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat),
ClearStencil: extern "C" fn(s: GLint),
ClearDepth: extern "C" fn(depth: GLdouble),
StencilMask: extern "C" fn(mask: GLuint),
ColorMask: extern "C" fn(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean),
DepthMask: extern "C" fn(flag: GLboolean),
Disable: extern "C" fn(cap: GLenum),
Enable: extern "C" fn(cap: GLenum),
Finish: extern "C" fn(),
Flush: extern "C" fn(),
BlendFunc: extern "C" fn(sfactor: GLenum, dfactor: GLenum),
LogicOp: extern "C" fn(opcode: GLenum),
StencilFunc: extern "C" fn(func: GLenum, ref_: GLint, mask: GLuint),
StencilOp: extern "C" fn(fail_: GLenum, zfail: GLenum, zpass: GLenum),
DepthFunc: extern "C" fn(func: GLenum),
PixelStoref: extern "C" fn(pname: GLenum, param: GLfloat),
PixelStorei: extern "C" fn(pname: GLenum, param: GLint),
ReadBuffer: extern "C" fn(mode: GLenum),
ReadPixels: extern "C" fn(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type_: GLenum, pixels: *GLvoid),
GetBooleanv: extern "C" fn(pname: GLenum, params: *GLboolean),
GetDoublev: extern "C" fn(pname: GLenum, params: *GLdouble),
GetError: extern "C" fn() -> GLenum,
GetFloatv: extern "C" fn(pname: GLenum, params: *GLfloat),
GetIntegerv: extern "C" fn(pname: GLenum, params: *GLint),
GetString: extern "C" fn(name: GLenum) -> *const GLubyte,
GetTexImage: extern "C" fn(target: GLenum, level: GLint, format: GLenum, type_: GLenum, pixels: *GLvoid),
GetTexParameterfv: extern "C" fn(target: GLenum, pname: GLenum, params: *GLfloat),
GetTexParameteriv: extern "C" fn(target: GLenum, pname: GLenum, params: *GLint),
GetTexLevelParameterfv: extern "C" fn(target: GLenum, level: GLint, pname: GLenum, params: *GLfloat),
GetTexLevelParameteriv: extern "C" fn(target: GLenum, level: GLint, pname: GLenum, params: *GLint),
IsEnabled: extern "C" fn(cap: GLenum) -> GLboolean,
DepthRange: extern "C" fn(near: GLdouble, far: GLdouble),
Viewport: extern "C" fn(x: GLint, y: GLint, width: GLsizei, height: GLsizei),
DrawArrays: extern "C" fn(mode: GLenum, first: GLint, count: GLsizei),
DrawElements: extern "C" fn(mode: GLenum, count: GLsizei, type_: GLenum, indices: *const GLvoid),
GetPointerv: extern "C" fn(pname: GLenum, params: **GLvoid),
PolygonOffset: extern "C" fn(factor: GLfloat, units: GLfloat),
CopyTexImage1D: extern "C" fn(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, border: GLint),
CopyTexImage2D: extern "C" fn(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint),
CopyTexSubImage1D: extern "C" fn(target: GLenum, level: GLint, xoffset: GLint, x: GLint, y: GLint, width: GLsizei),
CopyTexSubImage2D: extern "C" fn(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei),
TexSubImage1D: extern "C" fn(target: GLenum, level: GLint, xoffset: GLint, width: GLsizei, format: GLenum, type_: GLenum, pixels: *const GLvoid),
TexSubImage2D: extern "C" fn(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type_: GLenum, pixels: *const GLvoid),
BindTexture: extern "C" fn(target: GLenum, texture: GLuint),
DeleteTextures: extern "C" fn(n: GLsizei, textures: *const GLuint),
GenTextures: extern "C" fn(n: GLsizei, textures: *GLuint),
IsTexture: extern "C" fn(texture: GLuint) -> GLboolean,
Indexub: extern "C" fn(c: GLubyte),
Indexubv: extern "C" fn(c: *const GLubyte),
BlendColor: extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat),
BlendEquation: extern "C" fn(mode: GLenum),
DrawRangeElements: extern "C" fn(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type_: GLenum, indices: *const GLvoid),
TexImage3D: extern "C" fn(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type_: GLenum, pixels: *const GLvoid),
TexSubImage3D: 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),
CopyTexSubImage3D: extern "C" fn(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei),
ActiveTexture: extern "C" fn(texture: GLenum),
SampleCoverage: extern "C" fn(value: GLfloat, invert: GLboolean),
CompressedTexImage3D: extern "C" fn(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, data: *const GLvoid),
CompressedTexImage2D: extern "C" fn(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, data: *const GLvoid),
CompressedTexImage1D: extern "C" fn(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, border: GLint, imageSize: GLsizei, data: *const GLvoid),
CompressedTexSubImage3D: 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),
CompressedTexSubImage2D: extern "C" fn(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, data: *const GLvoid),
CompressedTexSubImage1D: extern "C" fn(target: GLenum, level: GLint, xoffset: GLint, width: GLsizei, format: GLenum, imageSize: GLsizei, data: *const GLvoid),
GetCompressedTexImage: extern "C" fn(target: GLenum, level: GLint, img: *GLvoid),
BlendFuncSeparate: extern "C" fn(sfactorRGB: GLenum, dfactorRGB: GLenum, sfactorAlpha: GLenum, dfactorAlpha: GLenum),
MultiDrawArrays: extern "C" fn(mode: GLenum, first: *const GLint, count: *const GLsizei, drawcount: GLsizei),
MultiDrawElements: extern "C" fn(mode: GLenum, count: *const GLsizei, type_: GLenum, indices: *const *const GLvoid, drawcount: GLsizei),
PointParameterf: extern "C" fn(pname: GLenum, param: GLfloat),
PointParameterfv: extern "C" fn(pname: GLenum, params: *const GLfloat),
PointParameteri: extern "C" fn(pname: GLenum, param: GLint),
PointParameteriv: extern "C" fn(pname: GLenum, params: *const GLint),
GenQueries: extern "C" fn(n: GLsizei, ids: *GLuint),
DeleteQueries: extern "C" fn(n: GLsizei, ids: *const GLuint),
IsQuery: extern "C" fn(id: GLuint) -> GLboolean,
BeginQuery: extern "C" fn(target: GLenum, id: GLuint),
EndQuery: extern "C" fn(target: GLenum),
GetQueryiv: extern "C" fn(target: GLenum, pname: GLenum, params: *GLint),
GetQueryObjectiv: extern "C" fn(id: GLuint, pname: GLenum, params: *GLint),
GetQueryObjectuiv: extern "C" fn(id: GLuint, pname: GLenum, params: *GLuint),
BindBuffer: extern "C" fn(target: GLenum, buffer: GLuint),
DeleteBuffers: extern "C" fn(n: GLsizei, buffers: *const GLuint),
GenBuffers: extern "C" fn(n: GLsizei, buffers: *GLuint),
IsBuffer: extern "C" fn(buffer: GLuint) -> GLboolean,
BufferData: extern "C" fn(target: GLenum, size: GLsizeiptr, data: *const GLvoid, usage: GLenum),
BufferSubData: extern "C" fn(target: GLenum, offset: GLintptr, size: GLsizeiptr, data: *const GLvoid),
GetBufferSubData: extern "C" fn(target: GLenum, offset: GLintptr, size: GLsizeiptr, data: *GLvoid),
MapBuffer: extern "C" fn(target: GLenum, access: GLenum) -> *GLvoid,
UnmapBuffer: extern "C" fn(target: GLenum) -> GLboolean,
GetBufferParameteriv: extern "C" fn(target: GLenum, pname: GLenum, params: *GLint),
GetBufferPointerv: extern "C" fn(target: GLenum, pname: GLenum, params: **GLvoid),
BlendEquationSeparate: extern "C" fn(modeRGB: GLenum, modeAlpha: GLenum),
DrawBuffers: extern "C" fn(n: GLsizei, bufs: *const GLenum),
StencilOpSeparate: extern "C" fn(face: GLenum, sfail: GLenum, dpfail: GLenum, dppass: GLenum),
StencilFuncSeparate: extern "C" fn(face: GLenum, func: GLenum, ref_: GLint, mask: GLuint),
StencilMaskSeparate: extern "C" fn(face: GLenum, mask: GLuint),
AttachShader: extern "C" fn(program: GLuint, shader: GLuint),
BindAttribLocation: extern "C" fn(program: GLuint, index: GLuint, name: *const GLchar),
CompileShader: extern "C" fn(shader: GLuint),
CreateProgram: extern "C" fn() -> GLuint,
CreateShader: extern "C" fn(type_: GLenum) -> GLuint,
DeleteProgram: extern "C" fn(program: GLuint),
DeleteShader: extern "C" fn(shader: GLuint),
DetachShader: extern "C" fn(program: GLuint, shader: GLuint),
DisableVertexAttribArray: extern "C" fn(index: GLuint),
EnableVertexAttribArray: extern "C" fn(index: GLuint),
GetActiveAttrib: extern "C" fn(program: GLuint, index: GLuint, bufSize: GLsizei, length: *GLsizei, size: *GLint, type_: *GLenum, name: *GLchar),
GetActiveUniform: extern "C" fn(program: GLuint, index: GLuint, bufSize: GLsizei, length: *GLsizei, size: *GLint, type_: *GLenum, name: *GLchar),
GetAttachedShaders: extern "C" fn(program: GLuint, maxCount: GLsizei, count: *GLsizei, obj: *GLuint),
GetAttribLocation: extern "C" fn(program: GLuint, name: *const GLchar) -> GLint,
GetProgramiv: extern "C" fn(program: GLuint, pname: GLenum, params: *GLint),
GetProgramInfoLog: extern "C" fn(program: GLuint, bufSize: GLsizei, length: *GLsizei, infoLog: *GLchar),
GetShaderiv: extern "C" fn(shader: GLuint, pname: GLenum, params: *GLint),
GetShaderInfoLog: extern "C" fn(shader: GLuint, bufSize: GLsizei, length: *GLsizei, infoLog: *GLchar),
GetShaderSource: extern "C" fn(shader: GLuint, bufSize: GLsizei, length: *GLsizei, source: *GLchar),
GetUniformLocation: extern "C" fn(program: GLuint, name: *const GLchar) -> GLint,
GetUniformfv: extern "C" fn(program: GLuint, location: GLint, params: *GLfloat),
GetUniformiv: extern "C" fn(program: GLuint, location: GLint, params: *GLint),
GetVertexAttribdv: extern "C" fn(index: GLuint, pname: GLenum, params: *GLdouble),
GetVertexAttribfv: extern "C" fn(index: GLuint, pname: GLenum, params: *GLfloat),
GetVertexAttribiv: extern "C" fn(index: GLuint, pname: GLenum, params: *GLint),
GetVertexAttribPointerv: extern "C" fn(index: GLuint, pname: GLenum, pointer: **GLvoid),
IsProgram: extern "C" fn(program: GLuint) -> GLboolean,
IsShader: extern "C" fn(shader: GLuint) -> GLboolean,
LinkProgram: extern "C" fn(program: GLuint),
ShaderSource: extern "C" fn(shader: GLuint, count: GLsizei, string: *const *const GLchar, length: *const GLint),
UseProgram: extern "C" fn(program: GLuint),
Uniform1f: extern "C" fn(location: GLint, v0: GLfloat),
Uniform2f: extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat),
Uniform3f: extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat),
Uniform4f: extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat, v3: GLfloat),
Uniform1i: extern "C" fn(location: GLint, v0: GLint),
Uniform2i: extern "C" fn(location: GLint, v0: GLint, v1: GLint),
Uniform3i: extern "C" fn(location: GLint, v0: GLint, v1: GLint, v2: GLint),
Uniform4i: extern "C" fn(location: GLint, v0: GLint, v1: GLint, v2: GLint, v3: GLint),
Uniform1fv: extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
Uniform2fv: extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
Uniform3fv: extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
Uniform4fv: extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
Uniform1iv: extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
Uniform2iv: extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
Uniform3iv: extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
Uniform4iv: extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
UniformMatrix2fv: extern "C" fn(location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat),
UniformMatrix3fv: extern "C" fn(location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat),
UniformMatrix4fv: extern "C" fn(location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat),
ValidateProgram: extern "C" fn(program: GLuint),
VertexAttribPointer: extern "C" fn(index: GLuint, size: GLint, type_: GLenum, normalized: GLboolean, stride: GLsizei, pointer: *const GLvoid),
UniformMatrix2x3fv: extern "C" fn(location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat),
UniformMatrix3x2fv: extern "C" fn(location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat),
UniformMatrix2x4fv: extern "C" fn(location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat),
UniformMatrix4x2fv: extern "C" fn(location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat),
UniformMatrix3x4fv: extern "C" fn(location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat),
UniformMatrix4x3fv: extern "C" fn(location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat),
BindVertexArray: extern "C" fn(array: GLuint),
DeleteVertexArrays: extern "C" fn(n: GLsizei, arrays: *const GLuint),
GenVertexArrays: extern "C" fn(n: GLsizei, arrays: *GLuint),
IsVertexArray: extern "C" fn(array: GLuint) -> GLboolean,
MapBufferRange: extern "C" fn(target: GLenum, offset: GLintptr, length: GLsizeiptr, access: GLbitfield) -> *GLvoid,
FlushMappedBufferRange: extern "C" fn(target: GLenum, offset: GLintptr, length: GLsizeiptr),
IsRenderbuffer: extern "C" fn(renderbuffer: GLuint) -> GLboolean,
BindRenderbuffer: extern "C" fn(target: GLenum, renderbuffer: GLuint),
DeleteRenderbuffers: extern "C" fn(n: GLsizei, renderbuffers: *const GLuint),
GenRenderbuffers: extern "C" fn(n: GLsizei, renderbuffers: *GLuint),
RenderbufferStorage: extern "C" fn(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei),
GetRenderbufferParameteriv: extern "C" fn(target: GLenum, pname: GLenum, params: *GLint),
IsFramebuffer: extern "C" fn(framebuffer: GLuint) -> GLboolean,
BindFramebuffer: extern "C" fn(target: GLenum, framebuffer: GLuint),
DeleteFramebuffers: extern "C" fn(n: GLsizei, framebuffers: *const GLuint),
GenFramebuffers: extern "C" fn(n: GLsizei, framebuffers: *GLuint),
CheckFramebufferStatus: extern "C" fn(target: GLenum) -> GLenum,
FramebufferTexture1D: extern "C" fn(target: GLenum, attachment: GLenum, textarget: GLenum, texture: GLuint, level: GLint),
FramebufferTexture2D: extern "C" fn(target: GLenum, attachment: GLenum, textarget: GLenum, texture: GLuint, level: GLint),
FramebufferTexture3D: extern "C" fn(target: GLenum, attachment: GLenum, textarget: GLenum, texture: GLuint, level: GLint, zoffset: GLint),
FramebufferRenderbuffer: extern "C" fn(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: GLuint),
GetFramebufferAttachmentParameteriv: extern "C" fn(target: GLenum, attachment: GLenum, pname: GLenum, params: *GLint),
GenerateMipmap: extern "C" fn(target: GLenum),
BlitFramebuffer: extern "C" fn(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum),
RenderbufferStorageMultisample: extern "C" fn(target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei),
FramebufferTextureLayer: extern "C" fn(target: GLenum, attachment: GLenum, texture: GLuint, level: GLint, layer: GLint),
ColorMaski: extern "C" fn(index: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean),
GetBooleani_v: extern "C" fn(target: GLenum, index: GLuint, data: *GLboolean),
GetIntegeri_v: extern "C" fn(target: GLenum, index: GLuint, data: *GLint),
Enablei: extern "C" fn(target: GLenum, index: GLuint),
Disablei: extern "C" fn(target: GLenum, index: GLuint),
IsEnabledi: extern "C" fn(target: GLenum, index: GLuint) -> GLboolean,
BeginTransformFeedback: extern "C" fn(primitiveMode: GLenum),
EndTransformFeedback: extern "C" fn(),
BindBufferRange: extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint, offset: GLintptr, size: GLsizeiptr),
BindBufferBase: extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint),
TransformFeedbackVaryings: extern "C" fn(program: GLuint, count: GLsizei, varyings: *const *const GLchar, bufferMode: GLenum),
GetTransformFeedbackVarying: extern "C" fn(program: GLuint, index: GLuint, bufSize: GLsizei, length: *GLsizei, size: *GLsizei, type_: *GLenum, name: *GLchar),
ClampColor: extern "C" fn(target: GLenum, clamp: GLenum),
BeginConditionalRender: extern "C" fn(id: GLuint, mode: GLenum),
EndConditionalRender: extern "C" fn(),
VertexAttribIPointer: extern "C" fn(index: GLuint, size: GLint, type_: GLenum, stride: GLsizei, pointer: *const GLvoid),
GetVertexAttribIiv: extern "C" fn(index: GLuint, pname: GLenum, params: *GLint),
GetVertexAttribIuiv: extern "C" fn(index: GLuint, pname: GLenum, params: *GLuint),
VertexAttribI1i: extern "C" fn(index: GLuint, x: GLint),
VertexAttribI2i: extern "C" fn(index: GLuint, x: GLint, y: GLint),
VertexAttribI3i: extern "C" fn(index: GLuint, x: GLint, y: GLint, z: GLint),
VertexAttribI4i: extern "C" fn(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint),
VertexAttribI1ui: extern "C" fn(index: GLuint, x: GLuint),
VertexAttribI2ui: extern "C" fn(index: GLuint, x: GLuint, y: GLuint),
VertexAttribI3ui: extern "C" fn(index: GLuint, x: GLuint, y: GLuint, z: GLuint),
VertexAttribI4ui: extern "C" fn(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint),
VertexAttribI1iv: extern "C" fn(index: GLuint, v: *const GLint),
VertexAttribI2iv: extern "C" fn(index: GLuint, v: *const GLint),
VertexAttribI3iv: extern "C" fn(index: GLuint, v: *const GLint),
VertexAttribI4iv: extern "C" fn(index: GLuint, v: *const GLint),
VertexAttribI1uiv: extern "C" fn(index: GLuint, v: *const GLuint),
VertexAttribI2uiv: extern "C" fn(index: GLuint, v: *const GLuint),
VertexAttribI3uiv: extern "C" fn(index: GLuint, v: *const GLuint),
VertexAttribI4uiv: extern "C" fn(index: GLuint, v: *const GLuint),
VertexAttribI4bv: extern "C" fn(index: GLuint, v: *const GLbyte),
VertexAttribI4sv: extern "C" fn(index: GLuint, v: *const GLshort),
VertexAttribI4ubv: extern "C" fn(index: GLuint, v: *const GLubyte),
VertexAttribI4usv: extern "C" fn(index: GLuint, v: *const GLushort),
GetUniformuiv: extern "C" fn(program: GLuint, location: GLint, params: *GLuint),
BindFragDataLocation: extern "C" fn(program: GLuint, color: GLuint, name: *const GLchar),
GetFragDataLocation: extern "C" fn(program: GLuint, name: *const GLchar) -> GLint,
Uniform1ui: extern "C" fn(location: GLint, v0: GLuint),
Uniform2ui: extern "C" fn(location: GLint, v0: GLuint, v1: GLuint),
Uniform3ui: extern "C" fn(location: GLint, v0: GLuint, v1: GLuint, v2: GLuint),
Uniform4ui: extern "C" fn(location: GLint, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint),
Uniform1uiv: extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
Uniform2uiv: extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
Uniform3uiv: extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
Uniform4uiv: extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
TexParameterIiv: extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
TexParameterIuiv: extern "C" fn(target: GLenum, pname: GLenum, params: *const GLuint),
GetTexParameterIiv: extern "C" fn(target: GLenum, pname: GLenum, params: *GLint),
GetTexParameterIuiv: extern "C" fn(target: GLenum, pname: GLenum, params: *GLuint),
ClearBufferiv: extern "C" fn(buffer: GLenum, drawbuffer: GLint, value: *const GLint),
ClearBufferuiv: extern "C" fn(buffer: GLenum, drawbuffer: GLint, value: *const GLuint),
ClearBufferfv: extern "C" fn(buffer: GLenum, drawbuffer: GLint, value: *const GLfloat),
ClearBufferfi: extern "C" fn(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint),
GetStringi: extern "C" fn(name: GLenum, index: GLuint) -> *const GLubyte,
GetUniformIndices: extern "C" fn(program: GLuint, uniformCount: GLsizei, uniformNames: *const *const GLchar, uniformIndices: *GLuint),
GetActiveUniformsiv: extern "C" fn(program: GLuint, uniformCount: GLsizei, uniformIndices: *const GLuint, pname: GLenum, params: *GLint),
GetActiveUniformName: extern "C" fn(program: GLuint, uniformIndex: GLuint, bufSize: GLsizei, length: *GLsizei, uniformName: *GLchar),
GetUniformBlockIndex: extern "C" fn(program: GLuint, uniformBlockName: *const GLchar) -> GLuint,
GetActiveUniformBlockiv: extern "C" fn(program: GLuint, uniformBlockIndex: GLuint, pname: GLenum, params: *GLint),
GetActiveUniformBlockName: extern "C" fn(program: GLuint, uniformBlockIndex: GLuint, bufSize: GLsizei, length: *GLsizei, uniformBlockName: *GLchar),
UniformBlockBinding: extern "C" fn(program: GLuint, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint),
CopyBufferSubData: extern "C" fn(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr),
DrawArraysInstanced: extern "C" fn(mode: GLenum, first: GLint, count: GLsizei, instancecount: GLsizei),
DrawElementsInstanced: extern "C" fn(mode: GLenum, count: GLsizei, type_: GLenum, indices: *const GLvoid, instancecount: GLsizei),
TexBuffer: extern "C" fn(target: GLenum, internalformat: GLenum, buffer: GLuint),
PrimitiveRestartIndex: extern "C" fn(index: GLuint),
DrawElementsBaseVertex: extern "C" fn(mode: GLenum, count: GLsizei, type_: GLenum, indices: *const GLvoid, basevertex: GLint),
DrawRangeElementsBaseVertex: extern "C" fn(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type_: GLenum, indices: *const GLvoid, basevertex: GLint),
DrawElementsInstancedBaseVertex: extern "C" fn(mode: GLenum, count: GLsizei, type_: GLenum, indices: *const GLvoid, instancecount: GLsizei, basevertex: GLint),
MultiDrawElementsBaseVertex: extern "C" fn(mode: GLenum, count: *const GLsizei, type_: GLenum, indices: *const *const GLvoid, drawcount: GLsizei, basevertex: *const GLint),
ProvokingVertex: extern "C" fn(mode: GLenum),
FenceSync: extern "C" fn(condition: GLenum, flags: GLbitfield) -> GLsync,
IsSync: extern "C" fn(sync: GLsync) -> GLboolean,
DeleteSync: extern "C" fn(sync: GLsync),
ClientWaitSync: extern "C" fn(sync: GLsync, flags: GLbitfield, timeout: GLuint64) -> GLenum,
WaitSync: extern "C" fn(sync: GLsync, flags: GLbitfield, timeout: GLuint64),
GetInteger64v: extern "C" fn(pname: GLenum, params: *GLint64),
GetSynciv: extern "C" fn(sync: GLsync, pname: GLenum, bufSize: GLsizei, length: *GLsizei, values: *GLint),
TexImage2DMultisample: extern "C" fn(target: GLenum, samples: GLsizei, internalformat: GLint, width: GLsizei, height: GLsizei, fixedsamplelocations: GLboolean),
TexImage3DMultisample: extern "C" fn(target: GLenum, samples: GLsizei, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, fixedsamplelocations: GLboolean),
GetMultisamplefv: extern "C" fn(pname: GLenum, index: GLuint, val: *GLfloat),
SampleMaski: extern "C" fn(index: GLuint, mask: GLbitfield),
GetInteger64i_v: extern "C" fn(target: GLenum, index: GLuint, data: *GLint64),
GetBufferParameteri64v: extern "C" fn(target: GLenum, pname: GLenum, params: *GLint64),
FramebufferTexture: extern "C" fn(target: GLenum, attachment: GLenum, texture: GLuint, level: GLint),
QueryCounter: extern "C" fn(id: GLuint, target: GLenum),
GetQueryObjecti64v: extern "C" fn(id: GLuint, pname: GLenum, params: *GLint64),
GetQueryObjectui64v: extern "C" fn(id: GLuint, pname: GLenum, params: *GLuint64),
VertexP2ui: extern "C" fn(type_: GLenum, value: GLuint),
VertexP2uiv: extern "C" fn(type_: GLenum, value: *const GLuint),
VertexP3ui: extern "C" fn(type_: GLenum, value: GLuint),
VertexP3uiv: extern "C" fn(type_: GLenum, value: *const GLuint),
VertexP4ui: extern "C" fn(type_: GLenum, value: GLuint),
VertexP4uiv: extern "C" fn(type_: GLenum, value: *const GLuint),
TexCoordP1ui: extern "C" fn(type_: GLenum, coords: GLuint),
TexCoordP1uiv: extern "C" fn(type_: GLenum, coords: *const GLuint),
TexCoordP2ui: extern "C" fn(type_: GLenum, coords: GLuint),
TexCoordP2uiv: extern "C" fn(type_: GLenum, coords: *const GLuint),
TexCoordP3ui: extern "C" fn(type_: GLenum, coords: GLuint),
TexCoordP3uiv: extern "C" fn(type_: GLenum, coords: *const GLuint),
TexCoordP4ui: extern "C" fn(type_: GLenum, coords: GLuint),
TexCoordP4uiv: extern "C" fn(type_: GLenum, coords: *const GLuint),
MultiTexCoordP1ui: extern "C" fn(texture: GLenum, type_: GLenum, coords: GLuint),
MultiTexCoordP1uiv: extern "C" fn(texture: GLenum, type_: GLenum, coords: *const GLuint),
MultiTexCoordP2ui: extern "C" fn(texture: GLenum, type_: GLenum, coords: GLuint),
MultiTexCoordP2uiv: extern "C" fn(texture: GLenum, type_: GLenum, coords: *const GLuint),
MultiTexCoordP3ui: extern "C" fn(texture: GLenum, type_: GLenum, coords: GLuint),
MultiTexCoordP3uiv: extern "C" fn(texture: GLenum, type_: GLenum, coords: *const GLuint),
MultiTexCoordP4ui: extern "C" fn(texture: GLenum, type_: GLenum, coords: GLuint),
MultiTexCoordP4uiv: extern "C" fn(texture: GLenum, type_: GLenum, coords: *const GLuint),
NormalP3ui: extern "C" fn(type_: GLenum, coords: GLuint),
NormalP3uiv: extern "C" fn(type_: GLenum, coords: *const GLuint),
ColorP3ui: extern "C" fn(type_: GLenum, color: GLuint),
ColorP3uiv: extern "C" fn(type_: GLenum, color: *const GLuint),
ColorP4ui: extern "C" fn(type_: GLenum, color: GLuint),
ColorP4uiv: extern "C" fn(type_: GLenum, color: *const GLuint),
SecondaryColorP3ui: extern "C" fn(type_: GLenum, color: GLuint),
SecondaryColorP3uiv: extern "C" fn(type_: GLenum, color: *const GLuint),
VertexAttribP1ui: extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint),
VertexAttribP1uiv: extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: *const GLuint),
VertexAttribP2ui: extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint),
VertexAttribP2uiv: extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: *const GLuint),
VertexAttribP3ui: extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint),
VertexAttribP3uiv: extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: *const GLuint),
VertexAttribP4ui: extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint),
VertexAttribP4uiv: extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: *const GLuint),
BindFragDataLocationIndexed: extern "C" fn(program: GLuint, colorNumber: GLuint, index: GLuint, name: *const GLchar),
GetFragDataIndex: extern "C" fn(program: GLuint, name: *const GLchar) -> GLint,
GenSamplers: extern "C" fn(count: GLsizei, samplers: *GLuint),
DeleteSamplers: extern "C" fn(count: GLsizei, samplers: *const GLuint),
IsSampler: extern "C" fn(sampler: GLuint) -> GLboolean,
BindSampler: extern "C" fn(unit: GLuint, sampler: GLuint),
SamplerParameteri: extern "C" fn(sampler: GLuint, pname: GLenum, param: GLint),
SamplerParameteriv: extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLint),
SamplerParameterf: extern "C" fn(sampler: GLuint, pname: GLenum, param: GLfloat),
SamplerParameterfv: extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLfloat),
SamplerParameterIiv: extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLint),
SamplerParameterIuiv: extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLuint),
GetSamplerParameteriv: extern "C" fn(sampler: GLuint, pname: GLenum, params: *GLint),
GetSamplerParameterIiv: extern "C" fn(sampler: GLuint, pname: GLenum, params: *GLint),
GetSamplerParameterfv: extern "C" fn(sampler: GLuint, pname: GLenum, params: *GLfloat),
GetSamplerParameterIuiv: extern "C" fn(sampler: GLuint, pname: GLenum, params: *GLuint),
VertexAttribDivisor: extern "C" fn(index: GLuint, divisor: GLuint),
}
macro_rules! get_funptr(
($loadfn:id -> $symbol:expr) => (
unsafe { transmute(
&$loadfn(transmute(&($symbol[0]))
) }
)
)
pub impl GL {
/**
* Load each OpenGL symbol using a custom load function. This allows for the
* use of functions like `glfwGetProcAddress` or `SDL_GL_GetProcAddress`.
*
* ~~~
* let gl = gl::load_with(glfw::get_proc_address);
* ~~~
*/
static fn load_with(loadfn: &fn(symbol: *c_char) -> *c_void) -> GL {
GL {
CullFace: get_funptr!(loadfn -> "glCullFace")
FrontFace: get_funptr!(loadfn -> "glFrontFace")
Hint: get_funptr!(loadfn -> "glHint")
LineWidth: get_funptr!(loadfn -> "glLineWidth")
PointSize: get_funptr!(loadfn -> "glPointSize")
PolygonMode: get_funptr!(loadfn -> "glPolygonMode")
Scissor: get_funptr!(loadfn -> "glScissor")
TexParameterf: get_funptr!(loadfn -> "glTexParameterf")
TexParameterfv: get_funptr!(loadfn -> "glTexParameterfv")
TexParameteri: get_funptr!(loadfn -> "glTexParameteri")
TexParameteriv: get_funptr!(loadfn -> "glTexParameteriv")
TexImage1D: get_funptr!(loadfn -> "glTexImage1D")
TexImage2D: get_funptr!(loadfn -> "glTexImage2D")
DrawBuffer: get_funptr!(loadfn -> "glDrawBuffer")
Clear: get_funptr!(loadfn -> "glClear")
ClearColor: get_funptr!(loadfn -> "glClearColor")
ClearStencil: get_funptr!(loadfn -> "glClearStencil")
ClearDepth: get_funptr!(loadfn -> "glClearDepth")
StencilMask: get_funptr!(loadfn -> "glStencilMask")
ColorMask: get_funptr!(loadfn -> "glColorMask")
DepthMask: get_funptr!(loadfn -> "glDepthMask")
Disable: get_funptr!(loadfn -> "glDisable")
Enable: get_funptr!(loadfn -> "glEnable")
Finish: get_funptr!(loadfn -> "glFinish")
Flush: get_funptr!(loadfn -> "glFlush")
BlendFunc: get_funptr!(loadfn -> "glBlendFunc")
LogicOp: get_funptr!(loadfn -> "glLogicOp")
StencilFunc: get_funptr!(loadfn -> "glStencilFunc")
StencilOp: get_funptr!(loadfn -> "glStencilOp")
DepthFunc: get_funptr!(loadfn -> "glDepthFunc")
PixelStoref: get_funptr!(loadfn -> "glPixelStoref")
PixelStorei: get_funptr!(loadfn -> "glPixelStorei")
ReadBuffer: get_funptr!(loadfn -> "glReadBuffer")
ReadPixels: get_funptr!(loadfn -> "glReadPixels")
GetBooleanv: get_funptr!(loadfn -> "glGetBooleanv")
GetDoublev: get_funptr!(loadfn -> "glGetDoublev")
GetError: get_funptr!(loadfn -> "glGetError")
GetFloatv: get_funptr!(loadfn -> "glGetFloatv")
GetIntegerv: get_funptr!(loadfn -> "glGetIntegerv")
GetString: get_funptr!(loadfn -> "glGetString")
GetTexImage: get_funptr!(loadfn -> "glGetTexImage")
GetTexParameterfv: get_funptr!(loadfn -> "glGetTexParameterfv")
GetTexParameteriv: get_funptr!(loadfn -> "glGetTexParameteriv")
GetTexLevelParameterfv: get_funptr!(loadfn -> "glGetTexLevelParameterfv")
GetTexLevelParameteriv: get_funptr!(loadfn -> "glGetTexLevelParameteriv")
IsEnabled: get_funptr!(loadfn -> "glIsEnabled")
DepthRange: get_funptr!(loadfn -> "glDepthRange")
Viewport: get_funptr!(loadfn -> "glViewport")
DrawArrays: get_funptr!(loadfn -> "glDrawArrays")
DrawElements: get_funptr!(loadfn -> "glDrawElements")
GetPointerv: get_funptr!(loadfn -> "glGetPointerv")
PolygonOffset: get_funptr!(loadfn -> "glPolygonOffset")
CopyTexImage1D: get_funptr!(loadfn -> "glCopyTexImage1D")
CopyTexImage2D: get_funptr!(loadfn -> "glCopyTexImage2D")
CopyTexSubImage1D: get_funptr!(loadfn -> "glCopyTexSubImage1D")
CopyTexSubImage2D: get_funptr!(loadfn -> "glCopyTexSubImage2D")
TexSubImage1D: get_funptr!(loadfn -> "glTexSubImage1D")
TexSubImage2D: get_funptr!(loadfn -> "glTexSubImage2D")
BindTexture: get_funptr!(loadfn -> "glBindTexture")
DeleteTextures: get_funptr!(loadfn -> "glDeleteTextures")
GenTextures: get_funptr!(loadfn -> "glGenTextures")
IsTexture: get_funptr!(loadfn -> "glIsTexture")
Indexub: get_funptr!(loadfn -> "glIndexub")
Indexubv: get_funptr!(loadfn -> "glIndexubv")
BlendColor: get_funptr!(loadfn -> "glBlendColor")
BlendEquation: get_funptr!(loadfn -> "glBlendEquation")
DrawRangeElements: get_funptr!(loadfn -> "glDrawRangeElements")
TexImage3D: get_funptr!(loadfn -> "glTexImage3D")
TexSubImage3D: get_funptr!(loadfn -> "glTexSubImage3D")
CopyTexSubImage3D: get_funptr!(loadfn -> "glCopyTexSubImage3D")
ActiveTexture: get_funptr!(loadfn -> "glActiveTexture")
SampleCoverage: get_funptr!(loadfn -> "glSampleCoverage")
CompressedTexImage3D: get_funptr!(loadfn -> "glCompressedTexImage3D")
CompressedTexImage2D: get_funptr!(loadfn -> "glCompressedTexImage2D")
CompressedTexImage1D: get_funptr!(loadfn -> "glCompressedTexImage1D")
CompressedTexSubImage3D: get_funptr!(loadfn -> "glCompressedTexSubImage3D")
CompressedTexSubImage2D: get_funptr!(loadfn -> "glCompressedTexSubImage2D")
CompressedTexSubImage1D: get_funptr!(loadfn -> "glCompressedTexSubImage1D")
GetCompressedTexImage: get_funptr!(loadfn -> "glGetCompressedTexImage")
BlendFuncSeparate: get_funptr!(loadfn -> "glBlendFuncSeparate")
MultiDrawArrays: get_funptr!(loadfn -> "glMultiDrawArrays")
MultiDrawElements: get_funptr!(loadfn -> "glMultiDrawElements")
PointParameterf: get_funptr!(loadfn -> "glPointParameterf")
PointParameterfv: get_funptr!(loadfn -> "glPointParameterfv")
PointParameteri: get_funptr!(loadfn -> "glPointParameteri")
PointParameteriv: get_funptr!(loadfn -> "glPointParameteriv")
GenQueries: get_funptr!(loadfn -> "glGenQueries")
DeleteQueries: get_funptr!(loadfn -> "glDeleteQueries")
IsQuery: get_funptr!(loadfn -> "glIsQuery")
BeginQuery: get_funptr!(loadfn -> "glBeginQuery")
EndQuery: get_funptr!(loadfn -> "glEndQuery")
GetQueryiv: get_funptr!(loadfn -> "glGetQueryiv")
GetQueryObjectiv: get_funptr!(loadfn -> "glGetQueryObjectiv")
GetQueryObjectuiv: get_funptr!(loadfn -> "glGetQueryObjectuiv")
BindBuffer: get_funptr!(loadfn -> "glBindBuffer")
DeleteBuffers: get_funptr!(loadfn -> "glDeleteBuffers")
GenBuffers: get_funptr!(loadfn -> "glGenBuffers")
IsBuffer: get_funptr!(loadfn -> "glIsBuffer")
BufferData: get_funptr!(loadfn -> "glBufferData")
BufferSubData: get_funptr!(loadfn -> "glBufferSubData")
GetBufferSubData: get_funptr!(loadfn -> "glGetBufferSubData")
MapBuffer: get_funptr!(loadfn -> "glMapBuffer")
UnmapBuffer: get_funptr!(loadfn -> "glUnmapBuffer")
GetBufferParameteriv: get_funptr!(loadfn -> "glGetBufferParameteriv")
GetBufferPointerv: get_funptr!(loadfn -> "glGetBufferPointerv")
BlendEquationSeparate: get_funptr!(loadfn -> "glBlendEquationSeparate")
DrawBuffers: get_funptr!(loadfn -> "glDrawBuffers")
StencilOpSeparate: get_funptr!(loadfn -> "glStencilOpSeparate")
StencilFuncSeparate: get_funptr!(loadfn -> "glStencilFuncSeparate")
StencilMaskSeparate: get_funptr!(loadfn -> "glStencilMaskSeparate")
AttachShader: get_funptr!(loadfn -> "glAttachShader")
BindAttribLocation: get_funptr!(loadfn -> "glBindAttribLocation")
CompileShader: get_funptr!(loadfn -> "glCompileShader")
CreateProgram: get_funptr!(loadfn -> "glCreateProgram")
CreateShader: get_funptr!(loadfn -> "glCreateShader")
DeleteProgram: get_funptr!(loadfn -> "glDeleteProgram")
DeleteShader: get_funptr!(loadfn -> "glDeleteShader")
DetachShader: get_funptr!(loadfn -> "glDetachShader")
DisableVertexAttribArray: get_funptr!(loadfn -> "glDisableVertexAttribArray")
EnableVertexAttribArray: get_funptr!(loadfn -> "glEnableVertexAttribArray")
GetActiveAttrib: get_funptr!(loadfn -> "glGetActiveAttrib")
GetActiveUniform: get_funptr!(loadfn -> "glGetActiveUniform")
GetAttachedShaders: get_funptr!(loadfn -> "glGetAttachedShaders")
GetAttribLocation: get_funptr!(loadfn -> "glGetAttribLocation")
GetProgramiv: get_funptr!(loadfn -> "glGetProgramiv")
GetProgramInfoLog: get_funptr!(loadfn -> "glGetProgramInfoLog")
GetShaderiv: get_funptr!(loadfn -> "glGetShaderiv")
GetShaderInfoLog: get_funptr!(loadfn -> "glGetShaderInfoLog")
GetShaderSource: get_funptr!(loadfn -> "glGetShaderSource")
GetUniformLocation: get_funptr!(loadfn -> "glGetUniformLocation")
GetUniformfv: get_funptr!(loadfn -> "glGetUniformfv")
GetUniformiv: get_funptr!(loadfn -> "glGetUniformiv")
GetVertexAttribdv: get_funptr!(loadfn -> "glGetVertexAttribdv")
GetVertexAttribfv: get_funptr!(loadfn -> "glGetVertexAttribfv")
GetVertexAttribiv: get_funptr!(loadfn -> "glGetVertexAttribiv")
GetVertexAttribPointerv: get_funptr!(loadfn -> "glGetVertexAttribPointerv")
IsProgram: get_funptr!(loadfn -> "glIsProgram")
IsShader: get_funptr!(loadfn -> "glIsShader")
LinkProgram: get_funptr!(loadfn -> "glLinkProgram")
ShaderSource: get_funptr!(loadfn -> "glShaderSource")
UseProgram: get_funptr!(loadfn -> "glUseProgram")
Uniform1f: get_funptr!(loadfn -> "glUniform1f")
Uniform2f: get_funptr!(loadfn -> "glUniform2f")
Uniform3f: get_funptr!(loadfn -> "glUniform3f")
Uniform4f: get_funptr!(loadfn -> "glUniform4f")
Uniform1i: get_funptr!(loadfn -> "glUniform1i")
Uniform2i: get_funptr!(loadfn -> "glUniform2i")
Uniform3i: get_funptr!(loadfn -> "glUniform3i")
Uniform4i: get_funptr!(loadfn -> "glUniform4i")
Uniform1fv: get_funptr!(loadfn -> "glUniform1fv")
Uniform2fv: get_funptr!(loadfn -> "glUniform2fv")
Uniform3fv: get_funptr!(loadfn -> "glUniform3fv")
Uniform4fv: get_funptr!(loadfn -> "glUniform4fv")
Uniform1iv: get_funptr!(loadfn -> "glUniform1iv")
Uniform2iv: get_funptr!(loadfn -> "glUniform2iv")
Uniform3iv: get_funptr!(loadfn -> "glUniform3iv")
Uniform4iv: get_funptr!(loadfn -> "glUniform4iv")
UniformMatrix2fv: get_funptr!(loadfn -> "glUniformMatrix2fv")
UniformMatrix3fv: get_funptr!(loadfn -> "glUniformMatrix3fv")
UniformMatrix4fv: get_funptr!(loadfn -> "glUniformMatrix4fv")
ValidateProgram: get_funptr!(loadfn -> "glValidateProgram")
VertexAttribPointer: get_funptr!(loadfn -> "glVertexAttribPointer")
UniformMatrix2x3fv: get_funptr!(loadfn -> "glUniformMatrix2x3fv")
UniformMatrix3x2fv: get_funptr!(loadfn -> "glUniformMatrix3x2fv")
UniformMatrix2x4fv: get_funptr!(loadfn -> "glUniformMatrix2x4fv")
UniformMatrix4x2fv: get_funptr!(loadfn -> "glUniformMatrix4x2fv")
UniformMatrix3x4fv: get_funptr!(loadfn -> "glUniformMatrix3x4fv")
UniformMatrix4x3fv: get_funptr!(loadfn -> "glUniformMatrix4x3fv")
BindVertexArray: get_funptr!(loadfn -> "glBindVertexArray")
DeleteVertexArrays: get_funptr!(loadfn -> "glDeleteVertexArrays")
GenVertexArrays: get_funptr!(loadfn -> "glGenVertexArrays")
IsVertexArray: get_funptr!(loadfn -> "glIsVertexArray")
MapBufferRange: get_funptr!(loadfn -> "glMapBufferRange")
FlushMappedBufferRange: get_funptr!(loadfn -> "glFlushMappedBufferRange")
IsRenderbuffer: get_funptr!(loadfn -> "glIsRenderbuffer")
BindRenderbuffer: get_funptr!(loadfn -> "glBindRenderbuffer")
DeleteRenderbuffers: get_funptr!(loadfn -> "glDeleteRenderbuffers")
GenRenderbuffers: get_funptr!(loadfn -> "glGenRenderbuffers")
RenderbufferStorage: get_funptr!(loadfn -> "glRenderbufferStorage")
GetRenderbufferParameteriv: get_funptr!(loadfn -> "glGetRenderbufferParameteriv")
IsFramebuffer: get_funptr!(loadfn -> "glIsFramebuffer")
BindFramebuffer: get_funptr!(loadfn -> "glBindFramebuffer")
DeleteFramebuffers: get_funptr!(loadfn -> "glDeleteFramebuffers")
GenFramebuffers: get_funptr!(loadfn -> "glGenFramebuffers")
CheckFramebufferStatus: get_funptr!(loadfn -> "glCheckFramebufferStatus")
FramebufferTexture1D: get_funptr!(loadfn -> "glFramebufferTexture1D")
FramebufferTexture2D: get_funptr!(loadfn -> "glFramebufferTexture2D")
FramebufferTexture3D: get_funptr!(loadfn -> "glFramebufferTexture3D")
FramebufferRenderbuffer: get_funptr!(loadfn -> "glFramebufferRenderbuffer")
GetFramebufferAttachmentParameteriv: get_funptr!(loadfn -> "glGetFramebufferAttachmentParameteriv")
GenerateMipmap: get_funptr!(loadfn -> "glGenerateMipmap")
BlitFramebuffer: get_funptr!(loadfn -> "glBlitFramebuffer")
RenderbufferStorageMultisample: get_funptr!(loadfn -> "glRenderbufferStorageMultisample")
FramebufferTextureLayer: get_funptr!(loadfn -> "glFramebufferTextureLayer")
ColorMaski: get_funptr!(loadfn -> "glColorMaski")
GetBooleani_v: get_funptr!(loadfn -> "glGetBooleani_v")
GetIntegeri_v: get_funptr!(loadfn -> "glGetIntegeri_v")
Enablei: get_funptr!(loadfn -> "glEnablei")
Disablei: get_funptr!(loadfn -> "glDisablei")
IsEnabledi: get_funptr!(loadfn -> "glIsEnabledi")
BeginTransformFeedback: get_funptr!(loadfn -> "glBeginTransformFeedback")
EndTransformFeedback: get_funptr!(loadfn -> "glEndTransformFeedback")
BindBufferRange: get_funptr!(loadfn -> "glBindBufferRange")
BindBufferBase: get_funptr!(loadfn -> "glBindBufferBase")
TransformFeedbackVaryings: get_funptr!(loadfn -> "glTransformFeedbackVaryings")
GetTransformFeedbackVarying: get_funptr!(loadfn -> "glGetTransformFeedbackVarying")
ClampColor: get_funptr!(loadfn -> "glClampColor")
BeginConditionalRender: get_funptr!(loadfn -> "glBeginConditionalRender")
EndConditionalRender: get_funptr!(loadfn -> "glEndConditionalRender")
VertexAttribIPointer: get_funptr!(loadfn -> "glVertexAttribIPointer")
GetVertexAttribIiv: get_funptr!(loadfn -> "glGetVertexAttribIiv")
GetVertexAttribIuiv: get_funptr!(loadfn -> "glGetVertexAttribIuiv")
VertexAttribI1i: get_funptr!(loadfn -> "glVertexAttribI1i")
VertexAttribI2i: get_funptr!(loadfn -> "glVertexAttribI2i")
VertexAttribI3i: get_funptr!(loadfn -> "glVertexAttribI3i")
VertexAttribI4i: get_funptr!(loadfn -> "glVertexAttribI4i")
VertexAttribI1ui: get_funptr!(loadfn -> "glVertexAttribI1ui")
VertexAttribI2ui: get_funptr!(loadfn -> "glVertexAttribI2ui")
VertexAttribI3ui: get_funptr!(loadfn -> "glVertexAttribI3ui")
VertexAttribI4ui: get_funptr!(loadfn -> "glVertexAttribI4ui")
VertexAttribI1iv: get_funptr!(loadfn -> "glVertexAttribI1iv")
VertexAttribI2iv: get_funptr!(loadfn -> "glVertexAttribI2iv")
VertexAttribI3iv: get_funptr!(loadfn -> "glVertexAttribI3iv")
VertexAttribI4iv: get_funptr!(loadfn -> "glVertexAttribI4iv")
VertexAttribI1uiv: get_funptr!(loadfn -> "glVertexAttribI1uiv")
VertexAttribI2uiv: get_funptr!(loadfn -> "glVertexAttribI2uiv")
VertexAttribI3uiv: get_funptr!(loadfn -> "glVertexAttribI3uiv")
VertexAttribI4uiv: get_funptr!(loadfn -> "glVertexAttribI4uiv")
VertexAttribI4bv: get_funptr!(loadfn -> "glVertexAttribI4bv")
VertexAttribI4sv: get_funptr!(loadfn -> "glVertexAttribI4sv")
VertexAttribI4ubv: get_funptr!(loadfn -> "glVertexAttribI4ubv")
VertexAttribI4usv: get_funptr!(loadfn -> "glVertexAttribI4usv")
GetUniformuiv: get_funptr!(loadfn -> "glGetUniformuiv")
BindFragDataLocation: get_funptr!(loadfn -> "glBindFragDataLocation")
GetFragDataLocation: get_funptr!(loadfn -> "glGetFragDataLocation")
Uniform1ui: get_funptr!(loadfn -> "glUniform1ui")
Uniform2ui: get_funptr!(loadfn -> "glUniform2ui")
Uniform3ui: get_funptr!(loadfn -> "glUniform3ui")
Uniform4ui: get_funptr!(loadfn -> "glUniform4ui")
Uniform1uiv: get_funptr!(loadfn -> "glUniform1uiv")
Uniform2uiv: get_funptr!(loadfn -> "glUniform2uiv")
Uniform3uiv: get_funptr!(loadfn -> "glUniform3uiv")
Uniform4uiv: get_funptr!(loadfn -> "glUniform4uiv")
TexParameterIiv: get_funptr!(loadfn -> "glTexParameterIiv")
TexParameterIuiv: get_funptr!(loadfn -> "glTexParameterIuiv")
GetTexParameterIiv: get_funptr!(loadfn -> "glGetTexParameterIiv")
GetTexParameterIuiv: get_funptr!(loadfn -> "glGetTexParameterIuiv")
ClearBufferiv: get_funptr!(loadfn -> "glClearBufferiv")
ClearBufferuiv: get_funptr!(loadfn -> "glClearBufferuiv")
ClearBufferfv: get_funptr!(loadfn -> "glClearBufferfv")
ClearBufferfi: get_funptr!(loadfn -> "glClearBufferfi")
GetStringi: get_funptr!(loadfn -> "glGetStringi")
GetUniformIndices: get_funptr!(loadfn -> "glGetUniformIndices")
GetActiveUniformsiv: get_funptr!(loadfn -> "glGetActiveUniformsiv")
GetActiveUniformName: get_funptr!(loadfn -> "glGetActiveUniformName")
GetUniformBlockIndex: get_funptr!(loadfn -> "glGetUniformBlockIndex")
GetActiveUniformBlockiv: get_funptr!(loadfn -> "glGetActiveUniformBlockiv")
GetActiveUniformBlockName: get_funptr!(loadfn -> "glGetActiveUniformBlockName")
UniformBlockBinding: get_funptr!(loadfn -> "glUniformBlockBinding")
CopyBufferSubData: get_funptr!(loadfn -> "glCopyBufferSubData")
DrawArraysInstanced: get_funptr!(loadfn -> "glDrawArraysInstanced")
DrawElementsInstanced: get_funptr!(loadfn -> "glDrawElementsInstanced")
TexBuffer: get_funptr!(loadfn -> "glTexBuffer")
PrimitiveRestartIndex: get_funptr!(loadfn -> "glPrimitiveRestartIndex")
DrawElementsBaseVertex: get_funptr!(loadfn -> "glDrawElementsBaseVertex")
DrawRangeElementsBaseVertex: get_funptr!(loadfn -> "glDrawRangeElementsBaseVertex")
DrawElementsInstancedBaseVertex: get_funptr!(loadfn -> "glDrawElementsInstancedBaseVertex")
MultiDrawElementsBaseVertex: get_funptr!(loadfn -> "glMultiDrawElementsBaseVertex")
ProvokingVertex: get_funptr!(loadfn -> "glProvokingVertex")
FenceSync: get_funptr!(loadfn -> "glFenceSync")
IsSync: get_funptr!(loadfn -> "glIsSync")
DeleteSync: get_funptr!(loadfn -> "glDeleteSync")
ClientWaitSync: get_funptr!(loadfn -> "glClientWaitSync")
WaitSync: get_funptr!(loadfn -> "glWaitSync")
GetInteger64v: get_funptr!(loadfn -> "glGetInteger64v")
GetSynciv: get_funptr!(loadfn -> "glGetSynciv")
TexImage2DMultisample: get_funptr!(loadfn -> "glTexImage2DMultisample")
TexImage3DMultisample: get_funptr!(loadfn -> "glTexImage3DMultisample")
GetMultisamplefv: get_funptr!(loadfn -> "glGetMultisamplefv")
SampleMaski: get_funptr!(loadfn -> "glSampleMaski")
GetInteger64i_v: get_funptr!(loadfn -> "glGetInteger64i_v")
GetBufferParameteri64v: get_funptr!(loadfn -> "glGetBufferParameteri64v")
FramebufferTexture: get_funptr!(loadfn -> "glFramebufferTexture")
QueryCounter: get_funptr!(loadfn -> "glQueryCounter")
GetQueryObjecti64v: get_funptr!(loadfn -> "glGetQueryObjecti64v")
GetQueryObjectui64v: get_funptr!(loadfn -> "glGetQueryObjectui64v")
VertexP2ui: get_funptr!(loadfn -> "glVertexP2ui")
VertexP2uiv: get_funptr!(loadfn -> "glVertexP2uiv")
VertexP3ui: get_funptr!(loadfn -> "glVertexP3ui")
VertexP3uiv: get_funptr!(loadfn -> "glVertexP3uiv")
VertexP4ui: get_funptr!(loadfn -> "glVertexP4ui")
VertexP4uiv: get_funptr!(loadfn -> "glVertexP4uiv")
TexCoordP1ui: get_funptr!(loadfn -> "glTexCoordP1ui")
TexCoordP1uiv: get_funptr!(loadfn -> "glTexCoordP1uiv")
TexCoordP2ui: get_funptr!(loadfn -> "glTexCoordP2ui")
TexCoordP2uiv: get_funptr!(loadfn -> "glTexCoordP2uiv")
TexCoordP3ui: get_funptr!(loadfn -> "glTexCoordP3ui")
TexCoordP3uiv: get_funptr!(loadfn -> "glTexCoordP3uiv")
TexCoordP4ui: get_funptr!(loadfn -> "glTexCoordP4ui")
TexCoordP4uiv: get_funptr!(loadfn -> "glTexCoordP4uiv")
MultiTexCoordP1ui: get_funptr!(loadfn -> "glMultiTexCoordP1ui")
MultiTexCoordP1uiv: get_funptr!(loadfn -> "glMultiTexCoordP1uiv")
MultiTexCoordP2ui: get_funptr!(loadfn -> "glMultiTexCoordP2ui")
MultiTexCoordP2uiv: get_funptr!(loadfn -> "glMultiTexCoordP2uiv")
MultiTexCoordP3ui: get_funptr!(loadfn -> "glMultiTexCoordP3ui")
MultiTexCoordP3uiv: get_funptr!(loadfn -> "glMultiTexCoordP3uiv")
MultiTexCoordP4ui: get_funptr!(loadfn -> "glMultiTexCoordP4ui")
MultiTexCoordP4uiv: get_funptr!(loadfn -> "glMultiTexCoordP4uiv")
NormalP3ui: get_funptr!(loadfn -> "glNormalP3ui")
NormalP3uiv: get_funptr!(loadfn -> "glNormalP3uiv")
ColorP3ui: get_funptr!(loadfn -> "glColorP3ui")
ColorP3uiv: get_funptr!(loadfn -> "glColorP3uiv")
ColorP4ui: get_funptr!(loadfn -> "glColorP4ui")
ColorP4uiv: get_funptr!(loadfn -> "glColorP4uiv")
SecondaryColorP3ui: get_funptr!(loadfn -> "glSecondaryColorP3ui")
SecondaryColorP3uiv: get_funptr!(loadfn -> "glSecondaryColorP3uiv")
VertexAttribP1ui: get_funptr!(loadfn -> "glVertexAttribP1ui")
VertexAttribP1uiv: get_funptr!(loadfn -> "glVertexAttribP1uiv")
VertexAttribP2ui: get_funptr!(loadfn -> "glVertexAttribP2ui")
VertexAttribP2uiv: get_funptr!(loadfn -> "glVertexAttribP2uiv")
VertexAttribP3ui: get_funptr!(loadfn -> "glVertexAttribP3ui")
VertexAttribP3uiv: get_funptr!(loadfn -> "glVertexAttribP3uiv")
VertexAttribP4ui: get_funptr!(loadfn -> "glVertexAttribP4ui")
VertexAttribP4uiv: get_funptr!(loadfn -> "glVertexAttribP4uiv")
BindFragDataLocationIndexed: get_funptr!(loadfn -> "glBindFragDataLocationIndexed")
GetFragDataIndex: get_funptr!(loadfn -> "glGetFragDataIndex")
GenSamplers: get_funptr!(loadfn -> "glGenSamplers")
DeleteSamplers: get_funptr!(loadfn -> "glDeleteSamplers")
IsSampler: get_funptr!(loadfn -> "glIsSampler")
BindSampler: get_funptr!(loadfn -> "glBindSampler")
SamplerParameteri: get_funptr!(loadfn -> "glSamplerParameteri")
SamplerParameteriv: get_funptr!(loadfn -> "glSamplerParameteriv")
SamplerParameterf: get_funptr!(loadfn -> "glSamplerParameterf")
SamplerParameterfv: get_funptr!(loadfn -> "glSamplerParameterfv")
SamplerParameterIiv: get_funptr!(loadfn -> "glSamplerParameterIiv")
SamplerParameterIuiv: get_funptr!(loadfn -> "glSamplerParameterIuiv")
GetSamplerParameteriv: get_funptr!(loadfn -> "glGetSamplerParameteriv")
GetSamplerParameterIiv: get_funptr!(loadfn -> "glGetSamplerParameterIiv")
GetSamplerParameterfv: get_funptr!(loadfn -> "glGetSamplerParameterfv")
GetSamplerParameterIuiv: get_funptr!(loadfn -> "glGetSamplerParameterIuiv")
VertexAttribDivisor: get_funptr!(loadfn -> "glVertexAttribDivisor")
}
}
#[inline(always)] unsafe fn CullFace(&self, mode: GLenum) { (self.CullFace)(mode) }
#[inline(always)] unsafe fn FrontFace(&self, mode: GLenum) { (self.FrontFace)(mode) }
#[inline(always)] unsafe fn Hint(&self, target: GLenum, mode: GLenum) { (self.Hint)(target, mode) }
#[inline(always)] unsafe fn LineWidth(&self, width: GLfloat) { (self.LineWidth)(width) }
#[inline(always)] unsafe fn PointSize(&self, size: GLfloat) { (self.PointSize)(size) }
#[inline(always)] unsafe fn PolygonMode(&self, face: GLenum, mode: GLenum) { (self.PolygonMode)(face, mode) }
#[inline(always)] unsafe fn Scissor(&self, x: GLint, y: GLint, width: GLsizei, height: GLsizei) { (self.Scissor)(x, y, width, height) }
#[inline(always)] unsafe fn TexParameterf(&self, target: GLenum, pname: GLenum, param: GLfloat) { (self.TexParameterf)(target, pname, param) }
#[inline(always)] unsafe fn TexParameterfv(&self, target: GLenum, pname: GLenum, params: *const GLfloat) { (self.TexParameterfv)(target, pname, params) }
#[inline(always)] unsafe fn TexParameteri(&self, target: GLenum, pname: GLenum, param: GLint) { (self.TexParameteri)(target, pname, param) }
#[inline(always)] unsafe fn TexParameteriv(&self, target: GLenum, pname: GLenum, params: *const GLint) { (self.TexParameteriv)(target, pname, params) }
#[inline(always)] unsafe fn TexImage1D(&self, target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, border: GLint, format: GLenum, type_: GLenum, pixels: *const GLvoid) { (self.TexImage1D)(target, level, internalformat, width, border, format, type_, pixels) }
#[inline(always)] unsafe fn TexImage2D(&self, target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type_: GLenum, pixels: *const GLvoid) { (self.TexImage2D)(target, level, internalformat, width, height, border, format, type_, pixels) }
#[inline(always)] unsafe fn DrawBuffer(&self, mode: GLenum) { (self.DrawBuffer)(mode) }
#[inline(always)] unsafe fn Clear(&self, mask: GLbitfield) { (self.Clear)(mask) }
#[inline(always)] unsafe fn ClearColor(&self, red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat) { (self.ClearColor)(red, green, blue, alpha) }
#[inline(always)] unsafe fn ClearStencil(&self, s: GLint) { (self.ClearStencil)(s) }
#[inline(always)] unsafe fn ClearDepth(&self, depth: GLdouble) { (self.ClearDepth)(depth) }
#[inline(always)] unsafe fn StencilMask(&self, mask: GLuint) { (self.StencilMask)(mask) }
#[inline(always)] unsafe fn ColorMask(&self, red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean) { (self.ColorMask)(red, green, blue, alpha) }
#[inline(always)] unsafe fn DepthMask(&self, flag: GLboolean) { (self.DepthMask)(flag) }
#[inline(always)] unsafe fn Disable(&self, cap: GLenum) { (self.Disable)(cap) }
#[inline(always)] unsafe fn Enable(&self, cap: GLenum) { (self.Enable)(cap) }
#[inline(always)] unsafe fn Finish(&self) { (self.Finish)() }
#[inline(always)] unsafe fn Flush(&self) { (self.Flush)() }
#[inline(always)] unsafe fn BlendFunc(&self, sfactor: GLenum, dfactor: GLenum) { (self.BlendFunc)(sfactor, dfactor) }
#[inline(always)] unsafe fn LogicOp(&self, opcode: GLenum) { (self.LogicOp)(opcode) }
#[inline(always)] unsafe fn StencilFunc(&self, func: GLenum, ref_: GLint, mask: GLuint) { (self.StencilFunc)(func, ref_, mask) }
#[inline(always)] unsafe fn StencilOp(&self, fail_: GLenum, zfail: GLenum, zpass: GLenum) { (self.StencilOp)(fail_, zfail, zpass) }
#[inline(always)] unsafe fn DepthFunc(&self, func: GLenum) { (self.DepthFunc)(func) }
#[inline(always)] unsafe fn PixelStoref(&self, pname: GLenum, param: GLfloat) { (self.PixelStoref)(pname, param) }
#[inline(always)] unsafe fn PixelStorei(&self, pname: GLenum, param: GLint) { (self.PixelStorei)(pname, param) }
#[inline(always)] unsafe fn ReadBuffer(&self, mode: GLenum) { (self.ReadBuffer)(mode) }
#[inline(always)] unsafe fn ReadPixels(&self, x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type_: GLenum, pixels: *GLvoid) { (self.ReadPixels)(x, y, width, height, format, type_, pixels) }
#[inline(always)] unsafe fn GetBooleanv(&self, pname: GLenum, params: *GLboolean) { (self.GetBooleanv)(pname, params) }
#[inline(always)] unsafe fn GetDoublev(&self, pname: GLenum, params: *GLdouble) { (self.GetDoublev)(pname, params) }
#[inline(always)] unsafe fn GetError(&self) -> GLenum { (self.GetError)() }
#[inline(always)] unsafe fn GetFloatv(&self, pname: GLenum, params: *GLfloat) { (self.GetFloatv)(pname, params) }
#[inline(always)] unsafe fn GetIntegerv(&self, pname: GLenum, params: *GLint) { (self.GetIntegerv)(pname, params) }
#[inline(always)] unsafe fn GetString(&self, name: GLenum) -> *const GLubyte { (self.GetString)(name) }
#[inline(always)] unsafe fn GetTexImage(&self, target: GLenum, level: GLint, format: GLenum, type_: GLenum, pixels: *GLvoid) { (self.GetTexImage)(target, level, format, type_, pixels) }
#[inline(always)] unsafe fn GetTexParameterfv(&self, target: GLenum, pname: GLenum, params: *GLfloat) { (self.GetTexParameterfv)(target, pname, params) }
#[inline(always)] unsafe fn GetTexParameteriv(&self, target: GLenum, pname: GLenum, params: *GLint) { (self.GetTexParameteriv)(target, pname, params) }
#[inline(always)] unsafe fn GetTexLevelParameterfv(&self, target: GLenum, level: GLint, pname: GLenum, params: *GLfloat) { (self.GetTexLevelParameterfv)(target, level, pname, params) }
#[inline(always)] unsafe fn GetTexLevelParameteriv(&self, target: GLenum, level: GLint, pname: GLenum, params: *GLint) { (self.GetTexLevelParameteriv)(target, level, pname, params) }
#[inline(always)] unsafe fn IsEnabled(&self, cap: GLenum) -> GLboolean { (self.IsEnabled)(cap) }
#[inline(always)] unsafe fn DepthRange(&self, near: GLdouble, far: GLdouble) { (self.DepthRange)(near, far) }
#[inline(always)] unsafe fn Viewport(&self, x: GLint, y: GLint, width: GLsizei, height: GLsizei) { (self.Viewport)(x, y, width, height) }
#[inline(always)] unsafe fn DrawArrays(&self, mode: GLenum, first: GLint, count: GLsizei) { (self.DrawArrays)(mode, first, count) }
#[inline(always)] unsafe fn DrawElements(&self, mode: GLenum, count: GLsizei, type_: GLenum, indices: *const GLvoid) { (self.DrawElements)(mode, count, type_, indices) }
#[inline(always)] unsafe fn GetPointerv(&self, pname: GLenum, params: **GLvoid) { (self.GetPointerv)(pname, params) }
#[inline(always)] unsafe fn PolygonOffset(&self, factor: GLfloat, units: GLfloat) { (self.PolygonOffset)(factor, units) }
#[inline(always)] unsafe fn CopyTexImage1D(&self, target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, border: GLint) { (self.CopyTexImage1D)(target, level, internalformat, x, y, width, border) }
#[inline(always)] unsafe fn CopyTexImage2D(&self, target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint) { (self.CopyTexImage2D)(target, level, internalformat, x, y, width, height, border) }
#[inline(always)] unsafe fn CopyTexSubImage1D(&self, target: GLenum, level: GLint, xoffset: GLint, x: GLint, y: GLint, width: GLsizei) { (self.CopyTexSubImage1D)(target, level, xoffset, x, y, width) }
#[inline(always)] unsafe fn CopyTexSubImage2D(&self, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) { (self.CopyTexSubImage2D)(target, level, xoffset, yoffset, x, y, width, height) }
#[inline(always)] unsafe fn TexSubImage1D(&self, target: GLenum, level: GLint, xoffset: GLint, width: GLsizei, format: GLenum, type_: GLenum, pixels: *const GLvoid) { (self.TexSubImage1D)(target, level, xoffset, width, format, type_, pixels) }
#[inline(always)] unsafe fn TexSubImage2D(&self, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type_: GLenum, pixels: *const GLvoid) { (self.TexSubImage2D)(target, level, xoffset, yoffset, width, height, format, type_, pixels) }
#[inline(always)] unsafe fn BindTexture(&self, target: GLenum, texture: GLuint) { (self.BindTexture)(target, texture) }
#[inline(always)] unsafe fn DeleteTextures(&self, n: GLsizei, textures: *const GLuint) { (self.DeleteTextures)(n, textures) }
#[inline(always)] unsafe fn GenTextures(&self, n: GLsizei, textures: *GLuint) { (self.GenTextures)(n, textures) }
#[inline(always)] unsafe fn IsTexture(&self, texture: GLuint) -> GLboolean { (self.IsTexture)(texture) }
#[inline(always)] unsafe fn Indexub(&self, c: GLubyte) { (self.Indexub)(c) }
#[inline(always)] unsafe fn Indexubv(&self, c: *const GLubyte) { (self.Indexubv)(c) }
#[inline(always)] unsafe fn BlendColor(&self, red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat) { (self.BlendColor)(red, green, blue, alpha) }
#[inline(always)] unsafe fn BlendEquation(&self, mode: GLenum) { (self.BlendEquation)(mode) }
#[inline(always)] unsafe fn DrawRangeElements(&self, mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type_: GLenum, indices: *const GLvoid) { (self.DrawRangeElements)(mode, start, end, count, type_, indices) }
#[inline(always)] unsafe fn TexImage3D(&self, target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type_: GLenum, pixels: *const GLvoid) { (self.TexImage3D)(target, level, internalformat, width, height, depth, border, format, type_, pixels) }
#[inline(always)] unsafe fn TexSubImage3D(&self, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type_: GLenum, pixels: *const GLvoid) { (self.TexSubImage3D)(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type_, pixels) }
#[inline(always)] unsafe fn CopyTexSubImage3D(&self, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) { (self.CopyTexSubImage3D)(target, level, xoffset, yoffset, zoffset, x, y, width, height) }
#[inline(always)] unsafe fn ActiveTexture(&self, texture: GLenum) { (self.ActiveTexture)(texture) }
#[inline(always)] unsafe fn SampleCoverage(&self, value: GLfloat, invert: GLboolean) { (self.SampleCoverage)(value, invert) }
#[inline(always)] unsafe fn CompressedTexImage3D(&self, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, data: *const GLvoid) { (self.CompressedTexImage3D)(target, level, internalformat, width, height, depth, border, imageSize, data) }
#[inline(always)] unsafe fn CompressedTexImage2D(&self, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, data: *const GLvoid) { (self.CompressedTexImage2D)(target, level, internalformat, width, height, border, imageSize, data) }
#[inline(always)] unsafe fn CompressedTexImage1D(&self, target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, border: GLint, imageSize: GLsizei, data: *const GLvoid) { (self.CompressedTexImage1D)(target, level, internalformat, width, border, imageSize, data) }
#[inline(always)] unsafe fn CompressedTexSubImage3D(&self, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, data: *const GLvoid) { (self.CompressedTexSubImage3D)(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data) }
#[inline(always)] unsafe fn CompressedTexSubImage2D(&self, target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, data: *const GLvoid) { (self.CompressedTexSubImage2D)(target, level, xoffset, yoffset, width, height, format, imageSize, data) }
#[inline(always)] unsafe fn CompressedTexSubImage1D(&self, target: GLenum, level: GLint, xoffset: GLint, width: GLsizei, format: GLenum, imageSize: GLsizei, data: *const GLvoid) { (self.CompressedTexSubImage1D)(target, level, xoffset, width, format, imageSize, data) }
#[inline(always)] unsafe fn GetCompressedTexImage(&self, target: GLenum, level: GLint, img: *GLvoid) { (self.GetCompressedTexImage)(target, level, img) }
#[inline(always)] unsafe fn BlendFuncSeparate(&self, sfactorRGB: GLenum, dfactorRGB: GLenum, sfactorAlpha: GLenum, dfactorAlpha: GLenum) { (self.BlendFuncSeparate)(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha) }
#[inline(always)] unsafe fn MultiDrawArrays(&self, mode: GLenum, first: *const GLint, count: *const GLsizei, drawcount: GLsizei) { (self.MultiDrawArrays)(mode, first, count, drawcount) }
#[inline(always)] unsafe fn MultiDrawElements(&self, mode: GLenum, count: *const GLsizei, type_: GLenum, indices: *const *const GLvoid, drawcount: GLsizei) { (self.MultiDrawElements)(mode, count, type_, indices, drawcount) }
#[inline(always)] unsafe fn PointParameterf(&self, pname: GLenum, param: GLfloat) { (self.PointParameterf)(pname, param) }
#[inline(always)] unsafe fn PointParameterfv(&self, pname: GLenum, params: *const GLfloat) { (self.PointParameterfv)(pname, params) }
#[inline(always)] unsafe fn PointParameteri(&self, pname: GLenum, param: GLint) { (self.PointParameteri)(pname, param) }
#[inline(always)] unsafe fn PointParameteriv(&self, pname: GLenum, params: *const GLint) { (self.PointParameteriv)(pname, params) }
#[inline(always)] unsafe fn GenQueries(&self, n: GLsizei, ids: *GLuint) { (self.GenQueries)(n, ids) }
#[inline(always)] unsafe fn DeleteQueries(&self, n: GLsizei, ids: *const GLuint) { (self.DeleteQueries)(n, ids) }
#[inline(always)] unsafe fn IsQuery(&self, id: GLuint) -> GLboolean { (self.IsQuery)(id) }
#[inline(always)] unsafe fn BeginQuery(&self, target: GLenum, id: GLuint) { (self.BeginQuery)(target, id) }
#[inline(always)] unsafe fn EndQuery(&self, target: GLenum) { (self.EndQuery)(target) }
#[inline(always)] unsafe fn GetQueryiv(&self, target: GLenum, pname: GLenum, params: *GLint) { (self.GetQueryiv)(target, pname, params) }
#[inline(always)] unsafe fn GetQueryObjectiv(&self, id: GLuint, pname: GLenum, params: *GLint) { (self.GetQueryObjectiv)(id, pname, params) }
#[inline(always)] unsafe fn GetQueryObjectuiv(&self, id: GLuint, pname: GLenum, params: *GLuint) { (self.GetQueryObjectuiv)(id, pname, params) }
#[inline(always)] unsafe fn BindBuffer(&self, target: GLenum, buffer: GLuint) { (self.BindBuffer)(target, buffer) }
#[inline(always)] unsafe fn DeleteBuffers(&self, n: GLsizei, buffers: *const GLuint) { (self.DeleteBuffers)(n, buffers) }
#[inline(always)] unsafe fn GenBuffers(&self, n: GLsizei, buffers: *GLuint) { (self.GenBuffers)(n, buffers) }
#[inline(always)] unsafe fn IsBuffer(&self, buffer: GLuint) -> GLboolean { (self.IsBuffer)(buffer) }
#[inline(always)] unsafe fn BufferData(&self, target: GLenum, size: GLsizeiptr, data: *const GLvoid, usage: GLenum) { (self.BufferData)(target, size, data, usage) }
#[inline(always)] unsafe fn BufferSubData(&self, target: GLenum, offset: GLintptr, size: GLsizeiptr, data: *const GLvoid) { (self.BufferSubData)(target, offset, size, data) }
#[inline(always)] unsafe fn GetBufferSubData(&self, target: GLenum, offset: GLintptr, size: GLsizeiptr, data: *GLvoid) { (self.GetBufferSubData)(target, offset, size, data) }
#[inline(always)] unsafe fn MapBuffer(&self, target: GLenum, access: GLenum) -> *GLvoid { (self.MapBuffer)(target, access) }
#[inline(always)] unsafe fn UnmapBuffer(&self, target: GLenum) -> GLboolean { (self.UnmapBuffer)(target) }
#[inline(always)] unsafe fn GetBufferParameteriv(&self, target: GLenum, pname: GLenum, params: *GLint) { (self.GetBufferParameteriv)(target, pname, params) }
#[inline(always)] unsafe fn GetBufferPointerv(&self, target: GLenum, pname: GLenum, params: **GLvoid) { (self.GetBufferPointerv)(target, pname, params) }
#[inline(always)] unsafe fn BlendEquationSeparate(&self, modeRGB: GLenum, modeAlpha: GLenum) { (self.BlendEquationSeparate)(modeRGB, modeAlpha) }
#[inline(always)] unsafe fn DrawBuffers(&self, n: GLsizei, bufs: *const GLenum) { (self.DrawBuffers)(n, bufs) }
#[inline(always)] unsafe fn StencilOpSeparate(&self, face: GLenum, sfail: GLenum, dpfail: GLenum, dppass: GLenum) { (self.StencilOpSeparate)(face, sfail, dpfail, dppass) }
#[inline(always)] unsafe fn StencilFuncSeparate(&self, face: GLenum, func: GLenum, ref_: GLint, mask: GLuint) { (self.StencilFuncSeparate)(face, func, ref_, mask) }
#[inline(always)] unsafe fn StencilMaskSeparate(&self, face: GLenum, mask: GLuint) { (self.StencilMaskSeparate)(face, mask) }
#[inline(always)] unsafe fn AttachShader(&self, program: GLuint, shader: GLuint) { (self.AttachShader)(program, shader) }
#[inline(always)] unsafe fn BindAttribLocation(&self, program: GLuint, index: GLuint, name: *const GLchar) { (self.BindAttribLocation)(program, index, name) }
#[inline(always)] unsafe fn CompileShader(&self, shader: GLuint) { (self.CompileShader)(shader) }
#[inline(always)] unsafe fn CreateProgram(&self) -> GLuint { (self.CreateProgram)() }
#[inline(always)] unsafe fn CreateShader(&self, type_: GLenum) -> GLuint { (self.CreateShader)(type_) }
#[inline(always)] unsafe fn DeleteProgram(&self, program: GLuint) { (self.DeleteProgram)(program) }
#[inline(always)] unsafe fn DeleteShader(&self, shader: GLuint) { (self.DeleteShader)(shader) }
#[inline(always)] unsafe fn DetachShader(&self, program: GLuint, shader: GLuint) { (self.DetachShader)(program, shader) }
#[inline(always)] unsafe fn DisableVertexAttribArray(&self, index: GLuint) { (self.DisableVertexAttribArray)(index) }
#[inline(always)] unsafe fn EnableVertexAttribArray(&self, index: GLuint) { (self.EnableVertexAttribArray)(index) }
#[inline(always)] unsafe fn GetActiveAttrib(&self, program: GLuint, index: GLuint, bufSize: GLsizei, length: *GLsizei, size: *GLint, type_: *GLenum, name: *GLchar) { (self.GetActiveAttrib)(program, index, bufSize, length, size, type_, name) }
#[inline(always)] unsafe fn GetActiveUniform(&self, program: GLuint, index: GLuint, bufSize: GLsizei, length: *GLsizei, size: *GLint, type_: *GLenum, name: *GLchar) { (self.GetActiveUniform)(program, index, bufSize, length, size, type_, name) }
#[inline(always)] unsafe fn GetAttachedShaders(&self, program: GLuint, maxCount: GLsizei, count: *GLsizei, obj: *GLuint) { (self.GetAttachedShaders)(program, maxCount, count, obj) }
#[inline(always)] unsafe fn GetAttribLocation(&self, program: GLuint, name: *const GLchar) -> GLint { (self.GetAttribLocation)(program, name) }
#[inline(always)] unsafe fn GetProgramiv(&self, program: GLuint, pname: GLenum, params: *GLint) { (self.GetProgramiv)(program, pname, params) }
#[inline(always)] unsafe fn GetProgramInfoLog(&self, program: GLuint, bufSize: GLsizei, length: *GLsizei, infoLog: *GLchar) { (self.GetProgramInfoLog)(program, bufSize, length, infoLog) }
#[inline(always)] unsafe fn GetShaderiv(&self, shader: GLuint, pname: GLenum, params: *GLint) { (self.GetShaderiv)(shader, pname, params) }
#[inline(always)] unsafe fn GetShaderInfoLog(&self, shader: GLuint, bufSize: GLsizei, length: *GLsizei, infoLog: *GLchar) { (self.GetShaderInfoLog)(shader, bufSize, length, infoLog) }
#[inline(always)] unsafe fn GetShaderSource(&self, shader: GLuint, bufSize: GLsizei, length: *GLsizei, source: *GLchar) { (self.GetShaderSource)(shader, bufSize, length, source) }
#[inline(always)] unsafe fn GetUniformLocation(&self, program: GLuint, name: *const GLchar) -> GLint { (self.GetUniformLocation)(program, name) }
#[inline(always)] unsafe fn GetUniformfv(&self, program: GLuint, location: GLint, params: *GLfloat) { (self.GetUniformfv)(program, location, params) }
#[inline(always)] unsafe fn GetUniformiv(&self, program: GLuint, location: GLint, params: *GLint) { (self.GetUniformiv)(program, location, params) }
#[inline(always)] unsafe fn GetVertexAttribdv(&self, index: GLuint, pname: GLenum, params: *GLdouble) { (self.GetVertexAttribdv)(index, pname, params) }
#[inline(always)] unsafe fn GetVertexAttribfv(&self, index: GLuint, pname: GLenum, params: *GLfloat) { (self.GetVertexAttribfv)(index, pname, params) }
#[inline(always)] unsafe fn GetVertexAttribiv(&self, index: GLuint, pname: GLenum, params: *GLint) { (self.GetVertexAttribiv)(index, pname, params) }
#[inline(always)] unsafe fn GetVertexAttribPointerv(&self, index: GLuint, pname: GLenum, pointer: **GLvoid) { (self.GetVertexAttribPointerv)(index, pname, pointer) }
#[inline(always)] unsafe fn IsProgram(&self, program: GLuint) -> GLboolean { (self.IsProgram)(program) }
#[inline(always)] unsafe fn IsShader(&self, shader: GLuint) -> GLboolean { (self.IsShader)(shader) }
#[inline(always)] unsafe fn LinkProgram(&self, program: GLuint) { (self.LinkProgram)(program) }
#[inline(always)] unsafe fn ShaderSource(&self, shader: GLuint, count: GLsizei, string: *const *const GLchar, length: *const GLint) { (self.ShaderSource)(shader, count, string, length) }
#[inline(always)] unsafe fn UseProgram(&self, program: GLuint) { (self.UseProgram)(program) }
#[inline(always)] unsafe fn Uniform1f(&self, location: GLint, v0: GLfloat) { (self.Uniform1f)(location, v0) }
#[inline(always)] unsafe fn Uniform2f(&self, location: GLint, v0: GLfloat, v1: GLfloat) { (self.Uniform2f)(location, v0, v1) }
#[inline(always)] unsafe fn Uniform3f(&self, location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat) { (self.Uniform3f)(location, v0, v1, v2) }
#[inline(always)] unsafe fn Uniform4f(&self, location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat, v3: GLfloat) { (self.Uniform4f)(location, v0, v1, v2, v3) }
#[inline(always)] unsafe fn Uniform1i(&self, location: GLint, v0: GLint) { (self.Uniform1i)(location, v0) }
#[inline(always)] unsafe fn Uniform2i(&self, location: GLint, v0: GLint, v1: GLint) { (self.Uniform2i)(location, v0, v1) }
#[inline(always)] unsafe fn Uniform3i(&self, location: GLint, v0: GLint, v1: GLint, v2: GLint) { (self.Uniform3i)(location, v0, v1, v2) }
#[inline(always)] unsafe fn Uniform4i(&self, location: GLint, v0: GLint, v1: GLint, v2: GLint, v3: GLint) { (self.Uniform4i)(location, v0, v1, v2, v3) }
#[inline(always)] unsafe fn Uniform1fv(&self, location: GLint, count: GLsizei, value: *const GLfloat) { (self.Uniform1fv)(location, count, value) }
#[inline(always)] unsafe fn Uniform2fv(&self, location: GLint, count: GLsizei, value: *const GLfloat) { (self.Uniform2fv)(location, count, value) }
#[inline(always)] unsafe fn Uniform3fv(&self, location: GLint, count: GLsizei, value: *const GLfloat) { (self.Uniform3fv)(location, count, value) }
#[inline(always)] unsafe fn Uniform4fv(&self, location: GLint, count: GLsizei, value: *const GLfloat) { (self.Uniform4fv)(location, count, value) }
#[inline(always)] unsafe fn Uniform1iv(&self, location: GLint, count: GLsizei, value: *const GLint) { (self.Uniform1iv)(location, count, value) }
#[inline(always)] unsafe fn Uniform2iv(&self, location: GLint, count: GLsizei, value: *const GLint) { (self.Uniform2iv)(location, count, value) }
#[inline(always)] unsafe fn Uniform3iv(&self, location: GLint, count: GLsizei, value: *const GLint) { (self.Uniform3iv)(location, count, value) }
#[inline(always)] unsafe fn Uniform4iv(&self, location: GLint, count: GLsizei, value: *const GLint) { (self.Uniform4iv)(location, count, value) }
#[inline(always)] unsafe fn UniformMatrix2fv(&self, location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat) { (self.UniformMatrix2fv)(location, count, transpose, value) }
#[inline(always)] unsafe fn UniformMatrix3fv(&self, location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat) { (self.UniformMatrix3fv)(location, count, transpose, value) }
#[inline(always)] unsafe fn UniformMatrix4fv(&self, location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat) { (self.UniformMatrix4fv)(location, count, transpose, value) }
#[inline(always)] unsafe fn ValidateProgram(&self, program: GLuint) { (self.ValidateProgram)(program) }
#[inline(always)] unsafe fn VertexAttribPointer(&self, index: GLuint, size: GLint, type_: GLenum, normalized: GLboolean, stride: GLsizei, pointer: *const GLvoid) { (self.VertexAttribPointer)(index, size, type_, normalized, stride, pointer) }
#[inline(always)] unsafe fn UniformMatrix2x3fv(&self, location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat) { (self.UniformMatrix2x3fv)(location, count, transpose, value) }
#[inline(always)] unsafe fn UniformMatrix3x2fv(&self, location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat) { (self.UniformMatrix3x2fv)(location, count, transpose, value) }
#[inline(always)] unsafe fn UniformMatrix2x4fv(&self, location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat) { (self.UniformMatrix2x4fv)(location, count, transpose, value) }
#[inline(always)] unsafe fn UniformMatrix4x2fv(&self, location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat) { (self.UniformMatrix4x2fv)(location, count, transpose, value) }
#[inline(always)] unsafe fn UniformMatrix3x4fv(&self, location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat) { (self.UniformMatrix3x4fv)(location, count, transpose, value) }
#[inline(always)] unsafe fn UniformMatrix4x3fv(&self, location: GLint, count: GLsizei, transpose: GLboolean, value: *const GLfloat) { (self.UniformMatrix4x3fv)(location, count, transpose, value) }
#[inline(always)] unsafe fn BindVertexArray(&self, array: GLuint) { (self.BindVertexArray)(array) }
#[inline(always)] unsafe fn DeleteVertexArrays(&self, n: GLsizei, arrays: *const GLuint) { (self.DeleteVertexArrays)(n, arrays) }
#[inline(always)] unsafe fn GenVertexArrays(&self, n: GLsizei, arrays: *GLuint) { (self.GenVertexArrays)(n, arrays) }
#[inline(always)] unsafe fn IsVertexArray(&self, array: GLuint) -> GLboolean { (self.IsVertexArray)(array) }
#[inline(always)] unsafe fn MapBufferRange(&self, target: GLenum, offset: GLintptr, length: GLsizeiptr, access: GLbitfield) -> *GLvoid { (self.MapBufferRange)(target, offset, length, access) }
#[inline(always)] unsafe fn FlushMappedBufferRange(&self, target: GLenum, offset: GLintptr, length: GLsizeiptr) { (self.FlushMappedBufferRange)(target, offset, length) }
#[inline(always)] unsafe fn IsRenderbuffer(&self, renderbuffer: GLuint) -> GLboolean { (self.IsRenderbuffer)(renderbuffer) }
#[inline(always)] unsafe fn BindRenderbuffer(&self, target: GLenum, renderbuffer: GLuint) { (self.BindRenderbuffer)(target, renderbuffer) }
#[inline(always)] unsafe fn DeleteRenderbuffers(&self, n: GLsizei, renderbuffers: *const GLuint) { (self.DeleteRenderbuffers)(n, renderbuffers) }
#[inline(always)] unsafe fn GenRenderbuffers(&self, n: GLsizei, renderbuffers: *GLuint) { (self.GenRenderbuffers)(n, renderbuffers) }
#[inline(always)] unsafe fn RenderbufferStorage(&self, target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei) { (self.RenderbufferStorage)(target, internalformat, width, height) }
#[inline(always)] unsafe fn GetRenderbufferParameteriv(&self, target: GLenum, pname: GLenum, params: *GLint) { (self.GetRenderbufferParameteriv)(target, pname, params) }
#[inline(always)] unsafe fn IsFramebuffer(&self, framebuffer: GLuint) -> GLboolean { (self.IsFramebuffer)(framebuffer) }
#[inline(always)] unsafe fn BindFramebuffer(&self, target: GLenum, framebuffer: GLuint) { (self.BindFramebuffer)(target, framebuffer) }
#[inline(always)] unsafe fn DeleteFramebuffers(&self, n: GLsizei, framebuffers: *const GLuint) { (self.DeleteFramebuffers)(n, framebuffers) }
#[inline(always)] unsafe fn GenFramebuffers(&self, n: GLsizei, framebuffers: *GLuint) { (self.GenFramebuffers)(n, framebuffers) }
#[inline(always)] unsafe fn CheckFramebufferStatus(&self, target: GLenum) -> GLenum { (self.CheckFramebufferStatus)(target) }
#[inline(always)] unsafe fn FramebufferTexture1D(&self, target: GLenum, attachment: GLenum, textarget: GLenum, texture: GLuint, level: GLint) { (self.FramebufferTexture1D)(target, attachment, textarget, texture, level) }
#[inline(always)] unsafe fn FramebufferTexture2D(&self, target: GLenum, attachment: GLenum, textarget: GLenum, texture: GLuint, level: GLint) { (self.FramebufferTexture2D)(target, attachment, textarget, texture, level) }
#[inline(always)] unsafe fn FramebufferTexture3D(&self, target: GLenum, attachment: GLenum, textarget: GLenum, texture: GLuint, level: GLint, zoffset: GLint) { (self.FramebufferTexture3D)(target, attachment, textarget, texture, level, zoffset) }
#[inline(always)] unsafe fn FramebufferRenderbuffer(&self, target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: GLuint) { (self.FramebufferRenderbuffer)(target, attachment, renderbuffertarget, renderbuffer) }
#[inline(always)] unsafe fn GetFramebufferAttachmentParameteriv(&self, target: GLenum, attachment: GLenum, pname: GLenum, params: *GLint) { (self.GetFramebufferAttachmentParameteriv)(target, attachment, pname, params) }
#[inline(always)] unsafe fn GenerateMipmap(&self, target: GLenum) { (self.GenerateMipmap)(target) }
#[inline(always)] unsafe fn BlitFramebuffer(&self, srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum) { (self.BlitFramebuffer)(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) }
#[inline(always)] unsafe fn RenderbufferStorageMultisample(&self, target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei) { (self.RenderbufferStorageMultisample)(target, samples, internalformat, width, height) }
#[inline(always)] unsafe fn FramebufferTextureLayer(&self, target: GLenum, attachment: GLenum, texture: GLuint, level: GLint, layer: GLint) { (self.FramebufferTextureLayer)(target, attachment, texture, level, layer) }
#[inline(always)] unsafe fn ColorMaski(&self, index: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean) { (self.ColorMaski)(index, r, g, b, a) }
#[inline(always)] unsafe fn GetBooleani_v(&self, target: GLenum, index: GLuint, data: *GLboolean) { (self.GetBooleani_v)(target, index, data) }
#[inline(always)] unsafe fn GetIntegeri_v(&self, target: GLenum, index: GLuint, data: *GLint) { (self.GetIntegeri_v)(target, index, data) }
#[inline(always)] unsafe fn Enablei(&self, target: GLenum, index: GLuint) { (self.Enablei)(target, index) }
#[inline(always)] unsafe fn Disablei(&self, target: GLenum, index: GLuint) { (self.Disablei)(target, index) }
#[inline(always)] unsafe fn IsEnabledi(&self, target: GLenum, index: GLuint) -> GLboolean { (self.IsEnabledi)(target, index) }
#[inline(always)] unsafe fn BeginTransformFeedback(&self, primitiveMode: GLenum) { (self.BeginTransformFeedback)(primitiveMode) }
#[inline(always)] unsafe fn EndTransformFeedback(&self) { (self.EndTransformFeedback)() }
#[inline(always)] unsafe fn BindBufferRange(&self, target: GLenum, index: GLuint, buffer: GLuint, offset: GLintptr, size: GLsizeiptr) { (self.BindBufferRange)(target, index, buffer, offset, size) }
#[inline(always)] unsafe fn BindBufferBase(&self, target: GLenum, index: GLuint, buffer: GLuint) { (self.BindBufferBase)(target, index, buffer) }
#[inline(always)] unsafe fn TransformFeedbackVaryings(&self, program: GLuint, count: GLsizei, varyings: *const *const GLchar, bufferMode: GLenum) { (self.TransformFeedbackVaryings)(program, count, varyings, bufferMode) }
#[inline(always)] unsafe fn GetTransformFeedbackVarying(&self, program: GLuint, index: GLuint, bufSize: GLsizei, length: *GLsizei, size: *GLsizei, type_: *GLenum, name: *GLchar) { (self.GetTransformFeedbackVarying)(program, index, bufSize, length, size, type_, name) }
#[inline(always)] unsafe fn ClampColor(&self, target: GLenum, clamp: GLenum) { (self.ClampColor)(target, clamp) }
#[inline(always)] unsafe fn BeginConditionalRender(&self, id: GLuint, mode: GLenum) { (self.BeginConditionalRender)(id, mode) }
#[inline(always)] unsafe fn EndConditionalRender(&self) { (self.EndConditionalRender)() }
#[inline(always)] unsafe fn VertexAttribIPointer(&self, index: GLuint, size: GLint, type_: GLenum, stride: GLsizei, pointer: *const GLvoid) { (self.VertexAttribIPointer)(index, size, type_, stride, pointer) }
#[inline(always)] unsafe fn GetVertexAttribIiv(&self, index: GLuint, pname: GLenum, params: *GLint) { (self.GetVertexAttribIiv)(index, pname, params) }
#[inline(always)] unsafe fn GetVertexAttribIuiv(&self, index: GLuint, pname: GLenum, params: *GLuint) { (self.GetVertexAttribIuiv)(index, pname, params) }
#[inline(always)] unsafe fn VertexAttribI1i(&self, index: GLuint, x: GLint) { (self.VertexAttribI1i)(index, x) }
#[inline(always)] unsafe fn VertexAttribI2i(&self, index: GLuint, x: GLint, y: GLint) { (self.VertexAttribI2i)(index, x, y) }
#[inline(always)] unsafe fn VertexAttribI3i(&self, index: GLuint, x: GLint, y: GLint, z: GLint) { (self.VertexAttribI3i)(index, x, y, z) }
#[inline(always)] unsafe fn VertexAttribI4i(&self, index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint) { (self.VertexAttribI4i)(index, x, y, z, w) }
#[inline(always)] unsafe fn VertexAttribI1ui(&self, index: GLuint, x: GLuint) { (self.VertexAttribI1ui)(index, x) }
#[inline(always)] unsafe fn VertexAttribI2ui(&self, index: GLuint, x: GLuint, y: GLuint) { (self.VertexAttribI2ui)(index, x, y) }
#[inline(always)] unsafe fn VertexAttribI3ui(&self, index: GLuint, x: GLuint, y: GLuint, z: GLuint) { (self.VertexAttribI3ui)(index, x, y, z) }
#[inline(always)] unsafe fn VertexAttribI4ui(&self, index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint) { (self.VertexAttribI4ui)(index, x, y, z, w) }
#[inline(always)] unsafe fn VertexAttribI1iv(&self, index: GLuint, v: *const GLint) { (self.VertexAttribI1iv)(index, v) }
#[inline(always)] unsafe fn VertexAttribI2iv(&self, index: GLuint, v: *const GLint) { (self.VertexAttribI2iv)(index, v) }
#[inline(always)] unsafe fn VertexAttribI3iv(&self, index: GLuint, v: *const GLint) { (self.VertexAttribI3iv)(index, v) }
#[inline(always)] unsafe fn VertexAttribI4iv(&self, index: GLuint, v: *const GLint) { (self.VertexAttribI4iv)(index, v) }
#[inline(always)] unsafe fn VertexAttribI1uiv(&self, index: GLuint, v: *const GLuint) { (self.VertexAttribI1uiv)(index, v) }
#[inline(always)] unsafe fn VertexAttribI2uiv(&self, index: GLuint, v: *const GLuint) { (self.VertexAttribI2uiv)(index, v) }
#[inline(always)] unsafe fn VertexAttribI3uiv(&self, index: GLuint, v: *const GLuint) { (self.VertexAttribI3uiv)(index, v) }
#[inline(always)] unsafe fn VertexAttribI4uiv(&self, index: GLuint, v: *const GLuint) { (self.VertexAttribI4uiv)(index, v) }
#[inline(always)] unsafe fn VertexAttribI4bv(&self, index: GLuint, v: *const GLbyte) { (self.VertexAttribI4bv)(index, v) }
#[inline(always)] unsafe fn VertexAttribI4sv(&self, index: GLuint, v: *const GLshort) { (self.VertexAttribI4sv)(index, v) }
#[inline(always)] unsafe fn VertexAttribI4ubv(&self, index: GLuint, v: *const GLubyte) { (self.VertexAttribI4ubv)(index, v) }
#[inline(always)] unsafe fn VertexAttribI4usv(&self, index: GLuint, v: *const GLushort) { (self.VertexAttribI4usv)(index, v) }
#[inline(always)] unsafe fn GetUniformuiv(&self, program: GLuint, location: GLint, params: *GLuint) { (self.GetUniformuiv)(program, location, params) }
#[inline(always)] unsafe fn BindFragDataLocation(&self, program: GLuint, color: GLuint, name: *const GLchar) { (self.BindFragDataLocation)(program, color, name) }
#[inline(always)] unsafe fn GetFragDataLocation(&self, program: GLuint, name: *const GLchar) -> GLint { (self.GetFragDataLocation)(program, name) }
#[inline(always)] unsafe fn Uniform1ui(&self, location: GLint, v0: GLuint) { (self.Uniform1ui)(location, v0) }
#[inline(always)] unsafe fn Uniform2ui(&self, location: GLint, v0: GLuint, v1: GLuint) { (self.Uniform2ui)(location, v0, v1) }
#[inline(always)] unsafe fn Uniform3ui(&self, location: GLint, v0: GLuint, v1: GLuint, v2: GLuint) { (self.Uniform3ui)(location, v0, v1, v2) }
#[inline(always)] unsafe fn Uniform4ui(&self, location: GLint, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint) { (self.Uniform4ui)(location, v0, v1, v2, v3) }
#[inline(always)] unsafe fn Uniform1uiv(&self, location: GLint, count: GLsizei, value: *const GLuint) { (self.Uniform1uiv)(location, count, value) }
#[inline(always)] unsafe fn Uniform2uiv(&self, location: GLint, count: GLsizei, value: *const GLuint) { (self.Uniform2uiv)(location, count, value) }
#[inline(always)] unsafe fn Uniform3uiv(&self, location: GLint, count: GLsizei, value: *const GLuint) { (self.Uniform3uiv)(location, count, value) }
#[inline(always)] unsafe fn Uniform4uiv(&self, location: GLint, count: GLsizei, value: *const GLuint) { (self.Uniform4uiv)(location, count, value) }
#[inline(always)] unsafe fn TexParameterIiv(&self, target: GLenum, pname: GLenum, params: *const GLint) { (self.TexParameterIiv)(target, pname, params) }
#[inline(always)] unsafe fn TexParameterIuiv(&self, target: GLenum, pname: GLenum, params: *const GLuint) { (self.TexParameterIuiv)(target, pname, params) }
#[inline(always)] unsafe fn GetTexParameterIiv(&self, target: GLenum, pname: GLenum, params: *GLint) { (self.GetTexParameterIiv)(target, pname, params) }
#[inline(always)] unsafe fn GetTexParameterIuiv(&self, target: GLenum, pname: GLenum, params: *GLuint) { (self.GetTexParameterIuiv)(target, pname, params) }
#[inline(always)] unsafe fn ClearBufferiv(&self, buffer: GLenum, drawbuffer: GLint, value: *const GLint) { (self.ClearBufferiv)(buffer, drawbuffer, value) }
#[inline(always)] unsafe fn ClearBufferuiv(&self, buffer: GLenum, drawbuffer: GLint, value: *const GLuint) { (self.ClearBufferuiv)(buffer, drawbuffer, value) }
#[inline(always)] unsafe fn ClearBufferfv(&self, buffer: GLenum, drawbuffer: GLint, value: *const GLfloat) { (self.ClearBufferfv)(buffer, drawbuffer, value) }
#[inline(always)] unsafe fn ClearBufferfi(&self, buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint) { (self.ClearBufferfi)(buffer, drawbuffer, depth, stencil) }
#[inline(always)] unsafe fn GetStringi(&self, name: GLenum, index: GLuint) -> *const GLubyte { (self.GetStringi)(name, index) }
#[inline(always)] unsafe fn GetUniformIndices(&self, program: GLuint, uniformCount: GLsizei, uniformNames: *const *const GLchar, uniformIndices: *GLuint) { (self.GetUniformIndices)(program, uniformCount, uniformNames, uniformIndices) }
#[inline(always)] unsafe fn GetActiveUniformsiv(&self, program: GLuint, uniformCount: GLsizei, uniformIndices: *const GLuint, pname: GLenum, params: *GLint) { (self.GetActiveUniformsiv)(program, uniformCount, uniformIndices, pname, params) }
#[inline(always)] unsafe fn GetActiveUniformName(&self, program: GLuint, uniformIndex: GLuint, bufSize: GLsizei, length: *GLsizei, uniformName: *GLchar) { (self.GetActiveUniformName)(program, uniformIndex, bufSize, length, uniformName) }
#[inline(always)] unsafe fn GetUniformBlockIndex(&self, program: GLuint, uniformBlockName: *const GLchar) -> GLuint { (self.GetUniformBlockIndex)(program, uniformBlockName) }
#[inline(always)] unsafe fn GetActiveUniformBlockiv(&self, program: GLuint, uniformBlockIndex: GLuint, pname: GLenum, params: *GLint) { (self.GetActiveUniformBlockiv)(program, uniformBlockIndex, pname, params) }
#[inline(always)] unsafe fn GetActiveUniformBlockName(&self, program: GLuint, uniformBlockIndex: GLuint, bufSize: GLsizei, length: *GLsizei, uniformBlockName: *GLchar) { (self.GetActiveUniformBlockName)(program, uniformBlockIndex, bufSize, length, uniformBlockName) }
#[inline(always)] unsafe fn UniformBlockBinding(&self, program: GLuint, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint) { (self.UniformBlockBinding)(program, uniformBlockIndex, uniformBlockBinding) }
#[inline(always)] unsafe fn CopyBufferSubData(&self, readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr) { (self.CopyBufferSubData)(readTarget, writeTarget, readOffset, writeOffset, size) }
#[inline(always)] unsafe fn DrawArraysInstanced(&self, mode: GLenum, first: GLint, count: GLsizei, instancecount: GLsizei) { (self.DrawArraysInstanced)(mode, first, count, instancecount) }
#[inline(always)] unsafe fn DrawElementsInstanced(&self, mode: GLenum, count: GLsizei, type_: GLenum, indices: *const GLvoid, instancecount: GLsizei) { (self.DrawElementsInstanced)(mode, count, type_, indices, instancecount) }
#[inline(always)] unsafe fn TexBuffer(&self, target: GLenum, internalformat: GLenum, buffer: GLuint) { (self.TexBuffer)(target, internalformat, buffer) }
#[inline(always)] unsafe fn PrimitiveRestartIndex(&self, index: GLuint) { (self.PrimitiveRestartIndex)(index) }
#[inline(always)] unsafe fn DrawElementsBaseVertex(&self, mode: GLenum, count: GLsizei, type_: GLenum, indices: *const GLvoid, basevertex: GLint) { (self.DrawElementsBaseVertex)(mode, count, type_, indices, basevertex) }
#[inline(always)] unsafe fn DrawRangeElementsBaseVertex(&self, mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type_: GLenum, indices: *const GLvoid, basevertex: GLint) { (self.DrawRangeElementsBaseVertex)(mode, start, end, count, type_, indices, basevertex) }
#[inline(always)] unsafe fn DrawElementsInstancedBaseVertex(&self, mode: GLenum, count: GLsizei, type_: GLenum, indices: *const GLvoid, instancecount: GLsizei, basevertex: GLint) { (self.DrawElementsInstancedBaseVertex)(mode, count, type_, indices, instancecount, basevertex) }
#[inline(always)] unsafe fn MultiDrawElementsBaseVertex(&self, mode: GLenum, count: *const GLsizei, type_: GLenum, indices: *const *const GLvoid, drawcount: GLsizei, basevertex: *const GLint) { (self.MultiDrawElementsBaseVertex)(mode, count, type_, indices, drawcount, basevertex) }
#[inline(always)] unsafe fn ProvokingVertex(&self, mode: GLenum) { (self.ProvokingVertex)(mode) }
#[inline(always)] unsafe fn FenceSync(&self, condition: GLenum, flags: GLbitfield) -> GLsync { (self.FenceSync)(condition, flags) }
#[inline(always)] unsafe fn IsSync(&self, sync: GLsync) -> GLboolean { (self.IsSync)(sync) }
#[inline(always)] unsafe fn DeleteSync(&self, sync: GLsync) { (self.DeleteSync)(sync) }
#[inline(always)] unsafe fn ClientWaitSync(&self, sync: GLsync, flags: GLbitfield, timeout: GLuint64) -> GLenum { (self.ClientWaitSync)(sync, flags, timeout) }
#[inline(always)] unsafe fn WaitSync(&self, sync: GLsync, flags: GLbitfield, timeout: GLuint64) { (self.WaitSync)(sync, flags, timeout) }
#[inline(always)] unsafe fn GetInteger64v(&self, pname: GLenum, params: *GLint64) { (self.GetInteger64v)(pname, params) }
#[inline(always)] unsafe fn GetSynciv(&self, sync: GLsync, pname: GLenum, bufSize: GLsizei, length: *GLsizei, values: *GLint) { (self.GetSynciv)(sync, pname, bufSize, length, values) }
#[inline(always)] unsafe fn TexImage2DMultisample(&self, target: GLenum, samples: GLsizei, internalformat: GLint, width: GLsizei, height: GLsizei, fixedsamplelocations: GLboolean) { (self.TexImage2DMultisample)(target, samples, internalformat, width, height, fixedsamplelocations) }
#[inline(always)] unsafe fn TexImage3DMultisample(&self, target: GLenum, samples: GLsizei, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, fixedsamplelocations: GLboolean) { (self.TexImage3DMultisample)(target, samples, internalformat, width, height, depth, fixedsamplelocations) }
#[inline(always)] unsafe fn GetMultisamplefv(&self, pname: GLenum, index: GLuint, val: *GLfloat) { (self.GetMultisamplefv)(pname, index, val) }
#[inline(always)] unsafe fn SampleMaski(&self, index: GLuint, mask: GLbitfield) { (self.SampleMaski)(index, mask) }
#[inline(always)] unsafe fn GetInteger64i_v(&self, target: GLenum, index: GLuint, data: *GLint64) { (self.GetInteger64i_v)(target, index, data) }
#[inline(always)] unsafe fn GetBufferParameteri64v(&self, target: GLenum, pname: GLenum, params: *GLint64) { (self.GetBufferParameteri64v)(target, pname, params) }
#[inline(always)] unsafe fn FramebufferTexture(&self, target: GLenum, attachment: GLenum, texture: GLuint, level: GLint) { (self.FramebufferTexture)(target, attachment, texture, level) }
#[inline(always)] unsafe fn QueryCounter(&self, id: GLuint, target: GLenum) { (self.QueryCounter)(id, target) }
#[inline(always)] unsafe fn GetQueryObjecti64v(&self, id: GLuint, pname: GLenum, params: *GLint64) { (self.GetQueryObjecti64v)(id, pname, params) }
#[inline(always)] unsafe fn GetQueryObjectui64v(&self, id: GLuint, pname: GLenum, params: *GLuint64) { (self.GetQueryObjectui64v)(id, pname, params) }
#[inline(always)] unsafe fn VertexP2ui(&self, type_: GLenum, value: GLuint) { (self.VertexP2ui)(type_, value) }
#[inline(always)] unsafe fn VertexP2uiv(&self, type_: GLenum, value: *const GLuint) { (self.VertexP2uiv)(type_, value) }
#[inline(always)] unsafe fn VertexP3ui(&self, type_: GLenum, value: GLuint) { (self.VertexP3ui)(type_, value) }
#[inline(always)] unsafe fn VertexP3uiv(&self, type_: GLenum, value: *const GLuint) { (self.VertexP3uiv)(type_, value) }
#[inline(always)] unsafe fn VertexP4ui(&self, type_: GLenum, value: GLuint) { (self.VertexP4ui)(type_, value) }
#[inline(always)] unsafe fn VertexP4uiv(&self, type_: GLenum, value: *const GLuint) { (self.VertexP4uiv)(type_, value) }
#[inline(always)] unsafe fn TexCoordP1ui(&self, type_: GLenum, coords: GLuint) { (self.TexCoordP1ui)(type_, coords) }
#[inline(always)] unsafe fn TexCoordP1uiv(&self, type_: GLenum, coords: *const GLuint) { (self.TexCoordP1uiv)(type_, coords) }
#[inline(always)] unsafe fn TexCoordP2ui(&self, type_: GLenum, coords: GLuint) { (self.TexCoordP2ui)(type_, coords) }
#[inline(always)] unsafe fn TexCoordP2uiv(&self, type_: GLenum, coords: *const GLuint) { (self.TexCoordP2uiv)(type_, coords) }
#[inline(always)] unsafe fn TexCoordP3ui(&self, type_: GLenum, coords: GLuint) { (self.TexCoordP3ui)(type_, coords) }
#[inline(always)] unsafe fn TexCoordP3uiv(&self, type_: GLenum, coords: *const GLuint) { (self.TexCoordP3uiv)(type_, coords) }
#[inline(always)] unsafe fn TexCoordP4ui(&self, type_: GLenum, coords: GLuint) { (self.TexCoordP4ui)(type_, coords) }
#[inline(always)] unsafe fn TexCoordP4uiv(&self, type_: GLenum, coords: *const GLuint) { (self.TexCoordP4uiv)(type_, coords) }
#[inline(always)] unsafe fn MultiTexCoordP1ui(&self, texture: GLenum, type_: GLenum, coords: GLuint) { (self.MultiTexCoordP1ui)(texture, type_, coords) }
#[inline(always)] unsafe fn MultiTexCoordP1uiv(&self, texture: GLenum, type_: GLenum, coords: *const GLuint) { (self.MultiTexCoordP1uiv)(texture, type_, coords) }
#[inline(always)] unsafe fn MultiTexCoordP2ui(&self, texture: GLenum, type_: GLenum, coords: GLuint) { (self.MultiTexCoordP2ui)(texture, type_, coords) }
#[inline(always)] unsafe fn MultiTexCoordP2uiv(&self, texture: GLenum, type_: GLenum, coords: *const GLuint) { (self.MultiTexCoordP2uiv)(texture, type_, coords) }
#[inline(always)] unsafe fn MultiTexCoordP3ui(&self, texture: GLenum, type_: GLenum, coords: GLuint) { (self.MultiTexCoordP3ui)(texture, type_, coords) }
#[inline(always)] unsafe fn MultiTexCoordP3uiv(&self, texture: GLenum, type_: GLenum, coords: *const GLuint) { (self.MultiTexCoordP3uiv)(texture, type_, coords) }
#[inline(always)] unsafe fn MultiTexCoordP4ui(&self, texture: GLenum, type_: GLenum, coords: GLuint) { (self.MultiTexCoordP4ui)(texture, type_, coords) }
#[inline(always)] unsafe fn MultiTexCoordP4uiv(&self, texture: GLenum, type_: GLenum, coords: *const GLuint) { (self.MultiTexCoordP4uiv)(texture, type_, coords) }
#[inline(always)] unsafe fn NormalP3ui(&self, type_: GLenum, coords: GLuint) { (self.NormalP3ui)(type_, coords) }
#[inline(always)] unsafe fn NormalP3uiv(&self, type_: GLenum, coords: *const GLuint) { (self.NormalP3uiv)(type_, coords) }
#[inline(always)] unsafe fn ColorP3ui(&self, type_: GLenum, color: GLuint) { (self.ColorP3ui)(type_, color) }
#[inline(always)] unsafe fn ColorP3uiv(&self, type_: GLenum, color: *const GLuint) { (self.ColorP3uiv)(type_, color) }
#[inline(always)] unsafe fn ColorP4ui(&self, type_: GLenum, color: GLuint) { (self.ColorP4ui)(type_, color) }
#[inline(always)] unsafe fn ColorP4uiv(&self, type_: GLenum, color: *const GLuint) { (self.ColorP4uiv)(type_, color) }
#[inline(always)] unsafe fn SecondaryColorP3ui(&self, type_: GLenum, color: GLuint) { (self.SecondaryColorP3ui)(type_, color) }
#[inline(always)] unsafe fn SecondaryColorP3uiv(&self, type_: GLenum, color: *const GLuint) { (self.SecondaryColorP3uiv)(type_, color) }
#[inline(always)] unsafe fn VertexAttribP1ui(&self, index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint) { (self.VertexAttribP1ui)(index, type_, normalized, value) }
#[inline(always)] unsafe fn VertexAttribP1uiv(&self, index: GLuint, type_: GLenum, normalized: GLboolean, value: *const GLuint) { (self.VertexAttribP1uiv)(index, type_, normalized, value) }
#[inline(always)] unsafe fn VertexAttribP2ui(&self, index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint) { (self.VertexAttribP2ui)(index, type_, normalized, value) }
#[inline(always)] unsafe fn VertexAttribP2uiv(&self, index: GLuint, type_: GLenum, normalized: GLboolean, value: *const GLuint) { (self.VertexAttribP2uiv)(index, type_, normalized, value) }
#[inline(always)] unsafe fn VertexAttribP3ui(&self, index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint) { (self.VertexAttribP3ui)(index, type_, normalized, value) }
#[inline(always)] unsafe fn VertexAttribP3uiv(&self, index: GLuint, type_: GLenum, normalized: GLboolean, value: *const GLuint) { (self.VertexAttribP3uiv)(index, type_, normalized, value) }
#[inline(always)] unsafe fn VertexAttribP4ui(&self, index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint) { (self.VertexAttribP4ui)(index, type_, normalized, value) }
#[inline(always)] unsafe fn VertexAttribP4uiv(&self, index: GLuint, type_: GLenum, normalized: GLboolean, value: *const GLuint) { (self.VertexAttribP4uiv)(index, type_, normalized, value) }
#[inline(always)] unsafe fn BindFragDataLocationIndexed(&self, program: GLuint, colorNumber: GLuint, index: GLuint, name: *const GLchar) { (self.BindFragDataLocationIndexed)(program, colorNumber, index, name) }
#[inline(always)] unsafe fn GetFragDataIndex(&self, program: GLuint, name: *const GLchar) -> GLint { (self.GetFragDataIndex)(program, name) }
#[inline(always)] unsafe fn GenSamplers(&self, count: GLsizei, samplers: *GLuint) { (self.GenSamplers)(count, samplers) }
#[inline(always)] unsafe fn DeleteSamplers(&self, count: GLsizei, samplers: *const GLuint) { (self.DeleteSamplers)(count, samplers) }
#[inline(always)] unsafe fn IsSampler(&self, sampler: GLuint) -> GLboolean { (self.IsSampler)(sampler) }
#[inline(always)] unsafe fn BindSampler(&self, unit: GLuint, sampler: GLuint) { (self.BindSampler)(unit, sampler) }
#[inline(always)] unsafe fn SamplerParameteri(&self, sampler: GLuint, pname: GLenum, param: GLint) { (self.SamplerParameteri)(sampler, pname, param) }
#[inline(always)] unsafe fn SamplerParameteriv(&self, sampler: GLuint, pname: GLenum, param: *const GLint) { (self.SamplerParameteriv)(sampler, pname, param) }
#[inline(always)] unsafe fn SamplerParameterf(&self, sampler: GLuint, pname: GLenum, param: GLfloat) { (self.SamplerParameterf)(sampler, pname, param) }
#[inline(always)] unsafe fn SamplerParameterfv(&self, sampler: GLuint, pname: GLenum, param: *const GLfloat) { (self.SamplerParameterfv)(sampler, pname, param) }
#[inline(always)] unsafe fn SamplerParameterIiv(&self, sampler: GLuint, pname: GLenum, param: *const GLint) { (self.SamplerParameterIiv)(sampler, pname, param) }
#[inline(always)] unsafe fn SamplerParameterIuiv(&self, sampler: GLuint, pname: GLenum, param: *const GLuint) { (self.SamplerParameterIuiv)(sampler, pname, param) }
#[inline(always)] unsafe fn GetSamplerParameteriv(&self, sampler: GLuint, pname: GLenum, params: *GLint) { (self.GetSamplerParameteriv)(sampler, pname, params) }
#[inline(always)] unsafe fn GetSamplerParameterIiv(&self, sampler: GLuint, pname: GLenum, params: *GLint) { (self.GetSamplerParameterIiv)(sampler, pname, params) }
#[inline(always)] unsafe fn GetSamplerParameterfv(&self, sampler: GLuint, pname: GLenum, params: *GLfloat) { (self.GetSamplerParameterfv)(sampler, pname, params) }
#[inline(always)] unsafe fn GetSamplerParameterIuiv(&self, sampler: GLuint, pname: GLenum, params: *GLuint) { (self.GetSamplerParameterIuiv)(sampler, pname, params) }
#[inline(always)] unsafe fn VertexAttribDivisor(&self, index: GLuint, divisor: GLuint) { (self.VertexAttribDivisor)(index, divisor) }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.