Commits

Joseph Marshall committed 5daf2ad Draft

Updated for latest version of rust.

Comments (0)

Files changed (2)

 import re
+import sys
 
 
 # Special functions.
     output(
 """
 fn glShaderSource(shader: uint, string: str) unsafe {
-    let string_c_str = str::as_c_str(string) { |string_| string_ };
+    let string_c_str = str::as_c_str(string, |string_| string_);
     GL::glShaderSource(shader as libc::c_uint, 1 as libc::c_int, ptr::addr_of(string_c_str as *libc::c_uchar), ptr::addr_of(string.len() as libc::c_int));
 }
 """);
 """
 
 
-
-HEADER_FILES = ("/usr/include/GL/gl.h", "gl2.h")
+if len(sys.argv) > 1 and sys.argv[1] == "gl2":
+    HEADER_FILES = ("gl2.h", )
+else:
+    HEADER_FILES = ("/usr/include/GL/gl.h", "gl2.h")
 OUT = "gl.rs"
 SKIP = ('MESA', 'ATI', 'AMD', 'NV', 'APPLE', 'ARB', 'Feedback', 'SGI', 'SGIS',
     'SGIX', 'SUN', 'SUNX', 'IBM', 'GREMEDY', 'HP', 'INTEL', 'INGR', 'OES',
         continue
     output_funcs.append((name, parse_params(params), types[ret]))
 
-output("native mod GL {");
+output("extern mod GL {");
 for f in output_funcs:
     name,params,ret = f
     output("    fn "+name+"("+params+") -> "+ret+";")
     output('fn '+name+'('+nice_types(params)+') -> '+ret+' unsafe {')
     conv, p = cast(params)
     for n in conv:
-        output('    let '+n+'_c_str = str::as_c_str('+n+') { |'+n+'_| '+n+'_ };')
+        output('    let '+n+'_c_str = str::as_c_str('+n+', |'+n+'_| '+n+'_);')
     if ret == 'str':
         output('    ret str::unsafe::from_buf(GL::'+name+'('+p+'));')
     else:
 
-const WIN32_LEAN_AND_MEAN:uint = 1u;
-const GL_VERSION_1_1:uint = 1u;
-const GL_VERSION_1_2:uint = 1u;
-const GL_VERSION_1_3:uint = 1u;
+type GLvoid = libc::c_void; 
+type GLchar = libc::c_uchar; 
 type GLenum = libc::c_uint; 
 type GLboolean = libc::c_uchar; 
 type GLbitfield = libc::c_uint; 
-type GLvoid = libc::c_void; 
-type GLbyte = libc::c_char; /* 1-byte signed */
-type GLshort = libc::c_short; /* 2-byte signed */
-type GLint = libc::c_int; /* 4-byte signed */
-type GLubyte = libc::c_uchar; /* 1-byte unsigned */
-type GLushort = libc::c_ushort; /* 2-byte unsigned */
-type GLuint = libc::c_uint; /* 4-byte unsigned */
-type GLsizei = libc::c_int; /* 4-byte signed */
-type GLfloat = libc::c_float; /* single precision float */
-type GLclampf = libc::c_float; /* single precision float in [0,1] */
-type GLdouble = libc::c_double; /* double precision float */
-type GLclampd = libc::c_double; /* double precision float in [0,1] */
-const GL_FALSE:uint = 0x0u;
-const GL_TRUE:uint = 0x1u;
-const GL_BYTE:uint = 0x1400u;
-const GL_UNSIGNED_BYTE:uint = 0x1401u;
-const GL_SHORT:uint = 0x1402u;
-const GL_UNSIGNED_SHORT:uint = 0x1403u;
-const GL_INT:uint = 0x1404u;
-const GL_UNSIGNED_INT:uint = 0x1405u;
-const GL_FLOAT:uint = 0x1406u;
-const GL_2_BYTES:uint = 0x1407u;
-const GL_3_BYTES:uint = 0x1408u;
-const GL_4_BYTES:uint = 0x1409u;
-const GL_DOUBLE:uint = 0x140Au;
+type GLbyte = libc::c_char; 
+type GLshort = libc::c_short; 
+type GLint = libc::c_int; 
+type GLsizei = libc::c_int; 
+type GLushort = libc::c_ushort; 
+type GLuint = libc::c_uint; 
+type GLfloat = libc::c_float; 
+type GLclampf = libc::c_float; 
+type GLfixed = libc::c_int; 
+const GL_ES_VERSION_2_0:uint = 1u;
+const GL_DEPTH_BUFFER_BIT:uint = 0x00000100u;
+const GL_STENCIL_BUFFER_BIT:uint = 0x00000400u;
+const GL_COLOR_BUFFER_BIT:uint = 0x00004000u;
+const GL_FALSE:uint = 0u;
+const GL_TRUE:uint = 1u;
 const GL_POINTS:uint = 0x0000u;
 const GL_LINES:uint = 0x0001u;
 const GL_LINE_LOOP:uint = 0x0002u;
 const GL_TRIANGLES:uint = 0x0004u;
 const GL_TRIANGLE_STRIP:uint = 0x0005u;
 const GL_TRIANGLE_FAN:uint = 0x0006u;
-const GL_QUADS:uint = 0x0007u;
-const GL_QUAD_STRIP:uint = 0x0008u;
-const GL_POLYGON:uint = 0x0009u;
-const GL_VERTEX_ARRAY:uint = 0x8074u;
-const GL_NORMAL_ARRAY:uint = 0x8075u;
-const GL_COLOR_ARRAY:uint = 0x8076u;
-const GL_INDEX_ARRAY:uint = 0x8077u;
-const GL_TEXTURE_COORD_ARRAY:uint = 0x8078u;
-const GL_EDGE_FLAG_ARRAY:uint = 0x8079u;
-const GL_VERTEX_ARRAY_SIZE:uint = 0x807Au;
-const GL_VERTEX_ARRAY_TYPE:uint = 0x807Bu;
-const GL_VERTEX_ARRAY_STRIDE:uint = 0x807Cu;
-const GL_NORMAL_ARRAY_TYPE:uint = 0x807Eu;
-const GL_NORMAL_ARRAY_STRIDE:uint = 0x807Fu;
-const GL_COLOR_ARRAY_SIZE:uint = 0x8081u;
-const GL_COLOR_ARRAY_TYPE:uint = 0x8082u;
-const GL_COLOR_ARRAY_STRIDE:uint = 0x8083u;
-const GL_INDEX_ARRAY_TYPE:uint = 0x8085u;
-const GL_INDEX_ARRAY_STRIDE:uint = 0x8086u;
-const GL_TEXTURE_COORD_ARRAY_SIZE:uint = 0x8088u;
-const GL_TEXTURE_COORD_ARRAY_TYPE:uint = 0x8089u;
-const GL_TEXTURE_COORD_ARRAY_STRIDE:uint = 0x808Au;
-const GL_EDGE_FLAG_ARRAY_STRIDE:uint = 0x808Cu;
-const GL_VERTEX_ARRAY_POINTER:uint = 0x808Eu;
-const GL_NORMAL_ARRAY_POINTER:uint = 0x808Fu;
-const GL_COLOR_ARRAY_POINTER:uint = 0x8090u;
-const GL_INDEX_ARRAY_POINTER:uint = 0x8091u;
-const GL_TEXTURE_COORD_ARRAY_POINTER:uint = 0x8092u;
-const GL_EDGE_FLAG_ARRAY_POINTER:uint = 0x8093u;
-const GL_V2F:uint = 0x2A20u;
-const GL_V3F:uint = 0x2A21u;
-const GL_C4UB_V2F:uint = 0x2A22u;
-const GL_C4UB_V3F:uint = 0x2A23u;
-const GL_C3F_V3F:uint = 0x2A24u;
-const GL_N3F_V3F:uint = 0x2A25u;
-const GL_C4F_N3F_V3F:uint = 0x2A26u;
-const GL_T2F_V3F:uint = 0x2A27u;
-const GL_T4F_V4F:uint = 0x2A28u;
-const GL_T2F_C4UB_V3F:uint = 0x2A29u;
-const GL_T2F_C3F_V3F:uint = 0x2A2Au;
-const GL_T2F_N3F_V3F:uint = 0x2A2Bu;
-const GL_T2F_C4F_N3F_V3F:uint = 0x2A2Cu;
-const GL_T4F_C4F_N3F_V4F:uint = 0x2A2Du;
-const GL_MATRIX_MODE:uint = 0x0BA0u;
-const GL_MODELVIEW:uint = 0x1700u;
-const GL_PROJECTION:uint = 0x1701u;
-const GL_TEXTURE:uint = 0x1702u;
-const GL_POINT_SMOOTH:uint = 0x0B10u;
-const GL_POINT_SIZE:uint = 0x0B11u;
-const GL_POINT_SIZE_GRANULARITY:uint = 0x0B13u;
-const GL_POINT_SIZE_RANGE:uint = 0x0B12u;
-const GL_LINE_SMOOTH:uint = 0x0B20u;
-const GL_LINE_STIPPLE:uint = 0x0B24u;
-const GL_LINE_STIPPLE_PATTERN:uint = 0x0B25u;
-const GL_LINE_STIPPLE_REPEAT:uint = 0x0B26u;
-const GL_LINE_WIDTH:uint = 0x0B21u;
-const GL_LINE_WIDTH_GRANULARITY:uint = 0x0B23u;
-const GL_LINE_WIDTH_RANGE:uint = 0x0B22u;
-const GL_POINT:uint = 0x1B00u;
-const GL_LINE:uint = 0x1B01u;
-const GL_FILL:uint = 0x1B02u;
-const GL_CW:uint = 0x0900u;
-const GL_CCW:uint = 0x0901u;
-const GL_FRONT:uint = 0x0404u;
-const GL_BACK:uint = 0x0405u;
-const GL_POLYGON_MODE:uint = 0x0B40u;
-const GL_POLYGON_SMOOTH:uint = 0x0B41u;
-const GL_POLYGON_STIPPLE:uint = 0x0B42u;
-const GL_EDGE_FLAG:uint = 0x0B43u;
-const GL_CULL_FACE:uint = 0x0B44u;
-const GL_CULL_FACE_MODE:uint = 0x0B45u;
-const GL_FRONT_FACE:uint = 0x0B46u;
-const GL_POLYGON_OFFSET_FACTOR:uint = 0x8038u;
-const GL_POLYGON_OFFSET_UNITS:uint = 0x2A00u;
-const GL_POLYGON_OFFSET_POINT:uint = 0x2A01u;
-const GL_POLYGON_OFFSET_LINE:uint = 0x2A02u;
-const GL_POLYGON_OFFSET_FILL:uint = 0x8037u;
-const GL_COMPILE:uint = 0x1300u;
-const GL_COMPILE_AND_EXECUTE:uint = 0x1301u;
-const GL_LIST_BASE:uint = 0x0B32u;
-const GL_LIST_INDEX:uint = 0x0B33u;
-const GL_LIST_MODE:uint = 0x0B30u;
-const GL_NEVER:uint = 0x0200u;
-const GL_LESS:uint = 0x0201u;
-const GL_EQUAL:uint = 0x0202u;
-const GL_LEQUAL:uint = 0x0203u;
-const GL_GREATER:uint = 0x0204u;
-const GL_NOTEQUAL:uint = 0x0205u;
-const GL_GEQUAL:uint = 0x0206u;
-const GL_ALWAYS:uint = 0x0207u;
-const GL_DEPTH_TEST:uint = 0x0B71u;
-const GL_DEPTH_BITS:uint = 0x0D56u;
-const GL_DEPTH_CLEAR_VALUE:uint = 0x0B73u;
-const GL_DEPTH_FUNC:uint = 0x0B74u;
-const GL_DEPTH_RANGE:uint = 0x0B70u;
-const GL_DEPTH_WRITEMASK:uint = 0x0B72u;
-const GL_DEPTH_COMPONENT:uint = 0x1902u;
-const GL_LIGHTING:uint = 0x0B50u;
-const GL_LIGHT0:uint = 0x4000u;
-const GL_LIGHT1:uint = 0x4001u;
-const GL_LIGHT2:uint = 0x4002u;
-const GL_LIGHT3:uint = 0x4003u;
-const GL_LIGHT4:uint = 0x4004u;
-const GL_LIGHT5:uint = 0x4005u;
-const GL_LIGHT6:uint = 0x4006u;
-const GL_LIGHT7:uint = 0x4007u;
-const GL_SPOT_EXPONENT:uint = 0x1205u;
-const GL_SPOT_CUTOFF:uint = 0x1206u;
-const GL_CONSTANT_ATTENUATION:uint = 0x1207u;
-const GL_LINEAR_ATTENUATION:uint = 0x1208u;
-const GL_QUADRATIC_ATTENUATION:uint = 0x1209u;
-const GL_AMBIENT:uint = 0x1200u;
-const GL_DIFFUSE:uint = 0x1201u;
-const GL_SPECULAR:uint = 0x1202u;
-const GL_SHININESS:uint = 0x1601u;
-const GL_EMISSION:uint = 0x1600u;
-const GL_POSITION:uint = 0x1203u;
-const GL_SPOT_DIRECTION:uint = 0x1204u;
-const GL_AMBIENT_AND_DIFFUSE:uint = 0x1602u;
-const GL_COLOR_INDEXES:uint = 0x1603u;
-const GL_LIGHT_MODEL_TWO_SIDE:uint = 0x0B52u;
-const GL_LIGHT_MODEL_LOCAL_VIEWER:uint = 0x0B51u;
-const GL_LIGHT_MODEL_AMBIENT:uint = 0x0B53u;
-const GL_FRONT_AND_BACK:uint = 0x0408u;
-const GL_SHADE_MODEL:uint = 0x0B54u;
-const GL_FLAT:uint = 0x1D00u;
-const GL_SMOOTH:uint = 0x1D01u;
-const GL_COLOR_MATERIAL:uint = 0x0B57u;
-const GL_COLOR_MATERIAL_FACE:uint = 0x0B55u;
-const GL_COLOR_MATERIAL_PARAMETER:uint = 0x0B56u;
-const GL_NORMALIZE:uint = 0x0BA1u;
-const GL_CLIP_PLANE0:uint = 0x3000u;
-const GL_CLIP_PLANE1:uint = 0x3001u;
-const GL_CLIP_PLANE2:uint = 0x3002u;
-const GL_CLIP_PLANE3:uint = 0x3003u;
-const GL_CLIP_PLANE4:uint = 0x3004u;
-const GL_CLIP_PLANE5:uint = 0x3005u;
-const GL_ACCUM_RED_BITS:uint = 0x0D58u;
-const GL_ACCUM_GREEN_BITS:uint = 0x0D59u;
-const GL_ACCUM_BLUE_BITS:uint = 0x0D5Au;
-const GL_ACCUM_ALPHA_BITS:uint = 0x0D5Bu;
-const GL_ACCUM_CLEAR_VALUE:uint = 0x0B80u;
-const GL_ACCUM:uint = 0x0100u;
-const GL_ADD:uint = 0x0104u;
-const GL_LOAD:uint = 0x0101u;
-const GL_MULT:uint = 0x0103u;
-const GL_RETURN:uint = 0x0102u;
-const GL_ALPHA_TEST:uint = 0x0BC0u;
-const GL_ALPHA_TEST_REF:uint = 0x0BC2u;
-const GL_ALPHA_TEST_FUNC:uint = 0x0BC1u;
-const GL_BLEND:uint = 0x0BE2u;
-const GL_BLEND_SRC:uint = 0x0BE1u;
-const GL_BLEND_DST:uint = 0x0BE0u;
-const GL_ZERO:uint = 0x0u;
-const GL_ONE:uint = 0x1u;
+const GL_ZERO:uint = 0u;
+const GL_ONE:uint = 1u;
 const GL_SRC_COLOR:uint = 0x0300u;
 const GL_ONE_MINUS_SRC_COLOR:uint = 0x0301u;
 const GL_SRC_ALPHA:uint = 0x0302u;
 const GL_DST_COLOR:uint = 0x0306u;
 const GL_ONE_MINUS_DST_COLOR:uint = 0x0307u;
 const GL_SRC_ALPHA_SATURATE:uint = 0x0308u;
-const GL_FEEDBACK:uint = 0x1C01u;
-const GL_RENDER:uint = 0x1C00u;
-const GL_SELECT:uint = 0x1C02u;
-const GL_2D:uint = 0x0600u;
-const GL_3D:uint = 0x0601u;
-const GL_3D_COLOR:uint = 0x0602u;
-const GL_3D_COLOR_TEXTURE:uint = 0x0603u;
-const GL_4D_COLOR_TEXTURE:uint = 0x0604u;
-const GL_POINT_TOKEN:uint = 0x0701u;
-const GL_LINE_TOKEN:uint = 0x0702u;
-const GL_LINE_RESET_TOKEN:uint = 0x0707u;
-const GL_POLYGON_TOKEN:uint = 0x0703u;
-const GL_BITMAP_TOKEN:uint = 0x0704u;
-const GL_DRAW_PIXEL_TOKEN:uint = 0x0705u;
-const GL_COPY_PIXEL_TOKEN:uint = 0x0706u;
-const GL_PASS_THROUGH_TOKEN:uint = 0x0700u;
-const GL_FEEDBACK_BUFFER_POINTER:uint = 0x0DF0u;
-const GL_FEEDBACK_BUFFER_SIZE:uint = 0x0DF1u;
-const GL_FEEDBACK_BUFFER_TYPE:uint = 0x0DF2u;
-const GL_SELECTION_BUFFER_POINTER:uint = 0x0DF3u;
-const GL_SELECTION_BUFFER_SIZE:uint = 0x0DF4u;
-const GL_FOG:uint = 0x0B60u;
-const GL_FOG_MODE:uint = 0x0B65u;
-const GL_FOG_DENSITY:uint = 0x0B62u;
-const GL_FOG_COLOR:uint = 0x0B66u;
-const GL_FOG_INDEX:uint = 0x0B61u;
-const GL_FOG_START:uint = 0x0B63u;
-const GL_FOG_END:uint = 0x0B64u;
-const GL_LINEAR:uint = 0x2601u;
-const GL_EXP:uint = 0x0800u;
-const GL_EXP2:uint = 0x0801u;
-const GL_LOGIC_OP:uint = 0x0BF1u;
-const GL_INDEX_LOGIC_OP:uint = 0x0BF1u;
-const GL_COLOR_LOGIC_OP:uint = 0x0BF2u;
-const GL_LOGIC_OP_MODE:uint = 0x0BF0u;
-const GL_CLEAR:uint = 0x1500u;
-const GL_SET:uint = 0x150Fu;
-const GL_COPY:uint = 0x1503u;
-const GL_COPY_INVERTED:uint = 0x150Cu;
-const GL_NOOP:uint = 0x1505u;
-const GL_INVERT:uint = 0x150Au;
-const GL_AND:uint = 0x1501u;
-const GL_NAND:uint = 0x150Eu;
-const GL_OR:uint = 0x1507u;
-const GL_NOR:uint = 0x1508u;
-const GL_XOR:uint = 0x1506u;
-const GL_EQUIV:uint = 0x1509u;
-const GL_AND_REVERSE:uint = 0x1502u;
-const GL_AND_INVERTED:uint = 0x1504u;
-const GL_OR_REVERSE:uint = 0x150Bu;
-const GL_OR_INVERTED:uint = 0x150Du;
-const GL_STENCIL_BITS:uint = 0x0D57u;
+const GL_FUNC_ADD:uint = 0x8006u;
+const GL_BLEND_EQUATION:uint = 0x8009u;
+const GL_BLEND_EQUATION_RGB:uint = 0x8009u;
+const GL_BLEND_EQUATION_ALPHA:uint = 0x883Du;
+const GL_FUNC_SUBTRACT:uint = 0x800Au;
+const GL_FUNC_REVERSE_SUBTRACT:uint = 0x800Bu;
+const GL_BLEND_DST_RGB:uint = 0x80C8u;
+const GL_BLEND_SRC_RGB:uint = 0x80C9u;
+const GL_BLEND_DST_ALPHA:uint = 0x80CAu;
+const GL_BLEND_SRC_ALPHA:uint = 0x80CBu;
+const GL_CONSTANT_COLOR:uint = 0x8001u;
+const GL_ONE_MINUS_CONSTANT_COLOR:uint = 0x8002u;
+const GL_CONSTANT_ALPHA:uint = 0x8003u;
+const GL_ONE_MINUS_CONSTANT_ALPHA:uint = 0x8004u;
+const GL_BLEND_COLOR:uint = 0x8005u;
+const GL_ARRAY_BUFFER:uint = 0x8892u;
+const GL_ELEMENT_ARRAY_BUFFER:uint = 0x8893u;
+const GL_ARRAY_BUFFER_BINDING:uint = 0x8894u;
+const GL_ELEMENT_ARRAY_BUFFER_BINDING:uint = 0x8895u;
+const GL_STREAM_DRAW:uint = 0x88E0u;
+const GL_STATIC_DRAW:uint = 0x88E4u;
+const GL_DYNAMIC_DRAW:uint = 0x88E8u;
+const GL_BUFFER_SIZE:uint = 0x8764u;
+const GL_BUFFER_USAGE:uint = 0x8765u;
+const GL_CURRENT_VERTEX_ATTRIB:uint = 0x8626u;
+const GL_FRONT:uint = 0x0404u;
+const GL_BACK:uint = 0x0405u;
+const GL_FRONT_AND_BACK:uint = 0x0408u;
+const GL_TEXTURE_2D:uint = 0x0DE1u;
+const GL_CULL_FACE:uint = 0x0B44u;
+const GL_BLEND:uint = 0x0BE2u;
+const GL_DITHER:uint = 0x0BD0u;
 const GL_STENCIL_TEST:uint = 0x0B90u;
+const GL_DEPTH_TEST:uint = 0x0B71u;
+const GL_SCISSOR_TEST:uint = 0x0C11u;
+const GL_POLYGON_OFFSET_FILL:uint = 0x8037u;
+const GL_SAMPLE_ALPHA_TO_COVERAGE:uint = 0x809Eu;
+const GL_SAMPLE_COVERAGE:uint = 0x80A0u;
+const GL_NO_ERROR:uint = 0u;
+const GL_INVALID_ENUM:uint = 0x0500u;
+const GL_INVALID_VALUE:uint = 0x0501u;
+const GL_INVALID_OPERATION:uint = 0x0502u;
+const GL_OUT_OF_MEMORY:uint = 0x0505u;
+const GL_CW:uint = 0x0900u;
+const GL_CCW:uint = 0x0901u;
+const GL_LINE_WIDTH:uint = 0x0B21u;
+const GL_ALIASED_POINT_SIZE_RANGE:uint = 0x846Du;
+const GL_ALIASED_LINE_WIDTH_RANGE:uint = 0x846Eu;
+const GL_CULL_FACE_MODE:uint = 0x0B45u;
+const GL_FRONT_FACE:uint = 0x0B46u;
+const GL_DEPTH_RANGE:uint = 0x0B70u;
+const GL_DEPTH_WRITEMASK:uint = 0x0B72u;
+const GL_DEPTH_CLEAR_VALUE:uint = 0x0B73u;
+const GL_DEPTH_FUNC:uint = 0x0B74u;
 const GL_STENCIL_CLEAR_VALUE:uint = 0x0B91u;
 const GL_STENCIL_FUNC:uint = 0x0B92u;
-const GL_STENCIL_VALUE_MASK:uint = 0x0B93u;
 const GL_STENCIL_FAIL:uint = 0x0B94u;
 const GL_STENCIL_PASS_DEPTH_FAIL:uint = 0x0B95u;
 const GL_STENCIL_PASS_DEPTH_PASS:uint = 0x0B96u;
 const GL_STENCIL_REF:uint = 0x0B97u;
+const GL_STENCIL_VALUE_MASK:uint = 0x0B93u;
 const GL_STENCIL_WRITEMASK:uint = 0x0B98u;
-const GL_STENCIL_INDEX:uint = 0x1901u;
+const GL_STENCIL_BACK_FUNC:uint = 0x8800u;
+const GL_STENCIL_BACK_FAIL:uint = 0x8801u;
+const GL_STENCIL_BACK_PASS_DEPTH_FAIL:uint = 0x8802u;
+const GL_STENCIL_BACK_PASS_DEPTH_PASS:uint = 0x8803u;
+const GL_STENCIL_BACK_REF:uint = 0x8CA3u;
+const GL_STENCIL_BACK_VALUE_MASK:uint = 0x8CA4u;
+const GL_STENCIL_BACK_WRITEMASK:uint = 0x8CA5u;
+const GL_VIEWPORT:uint = 0x0BA2u;
+const GL_SCISSOR_BOX:uint = 0x0C10u;
+const GL_COLOR_CLEAR_VALUE:uint = 0x0C22u;
+const GL_COLOR_WRITEMASK:uint = 0x0C23u;
+const GL_UNPACK_ALIGNMENT:uint = 0x0CF5u;
+const GL_PACK_ALIGNMENT:uint = 0x0D05u;
+const GL_MAX_TEXTURE_SIZE:uint = 0x0D33u;
+const GL_MAX_VIEWPORT_DIMS:uint = 0x0D3Au;
+const GL_SUBPIXEL_BITS:uint = 0x0D50u;
+const GL_RED_BITS:uint = 0x0D52u;
+const GL_GREEN_BITS:uint = 0x0D53u;
+const GL_BLUE_BITS:uint = 0x0D54u;
+const GL_ALPHA_BITS:uint = 0x0D55u;
+const GL_DEPTH_BITS:uint = 0x0D56u;
+const GL_STENCIL_BITS:uint = 0x0D57u;
+const GL_POLYGON_OFFSET_UNITS:uint = 0x2A00u;
+const GL_POLYGON_OFFSET_FACTOR:uint = 0x8038u;
+const GL_TEXTURE_BINDING_2D:uint = 0x8069u;
+const GL_SAMPLE_BUFFERS:uint = 0x80A8u;
+const GL_SAMPLES:uint = 0x80A9u;
+const GL_SAMPLE_COVERAGE_VALUE:uint = 0x80AAu;
+const GL_SAMPLE_COVERAGE_INVERT:uint = 0x80ABu;
+const GL_NUM_COMPRESSED_TEXTURE_FORMATS:uint = 0x86A2u;
+const GL_COMPRESSED_TEXTURE_FORMATS:uint = 0x86A3u;
+const GL_DONT_CARE:uint = 0x1100u;
+const GL_FASTEST:uint = 0x1101u;
+const GL_NICEST:uint = 0x1102u;
+const GL_GENERATE_MIPMAP_HINT:uint = 0x8192u;
+const GL_BYTE:uint = 0x1400u;
+const GL_UNSIGNED_BYTE:uint = 0x1401u;
+const GL_SHORT:uint = 0x1402u;
+const GL_UNSIGNED_SHORT:uint = 0x1403u;
+const GL_INT:uint = 0x1404u;
+const GL_UNSIGNED_INT:uint = 0x1405u;
+const GL_FLOAT:uint = 0x1406u;
+const GL_FIXED:uint = 0x140Cu;
+const GL_DEPTH_COMPONENT:uint = 0x1902u;
+const GL_ALPHA:uint = 0x1906u;
+const GL_RGB:uint = 0x1907u;
+const GL_RGBA:uint = 0x1908u;
+const GL_LUMINANCE:uint = 0x1909u;
+const GL_LUMINANCE_ALPHA:uint = 0x190Au;
+const GL_UNSIGNED_SHORT_4_4_4_4:uint = 0x8033u;
+const GL_UNSIGNED_SHORT_5_5_5_1:uint = 0x8034u;
+const GL_UNSIGNED_SHORT_5_6_5:uint = 0x8363u;
+const GL_FRAGMENT_SHADER:uint = 0x8B30u;
+const GL_VERTEX_SHADER:uint = 0x8B31u;
+const GL_MAX_VERTEX_ATTRIBS:uint = 0x8869u;
+const GL_MAX_VERTEX_UNIFORM_VECTORS:uint = 0x8DFBu;
+const GL_MAX_VARYING_VECTORS:uint = 0x8DFCu;
+const GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS:uint = 0x8B4Du;
+const GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS:uint = 0x8B4Cu;
+const GL_MAX_TEXTURE_IMAGE_UNITS:uint = 0x8872u;
+const GL_MAX_FRAGMENT_UNIFORM_VECTORS:uint = 0x8DFDu;
+const GL_SHADER_TYPE:uint = 0x8B4Fu;
+const GL_DELETE_STATUS:uint = 0x8B80u;
+const GL_LINK_STATUS:uint = 0x8B82u;
+const GL_VALIDATE_STATUS:uint = 0x8B83u;
+const GL_ATTACHED_SHADERS:uint = 0x8B85u;
+const GL_ACTIVE_UNIFORMS:uint = 0x8B86u;
+const GL_ACTIVE_UNIFORM_MAX_LENGTH:uint = 0x8B87u;
+const GL_ACTIVE_ATTRIBUTES:uint = 0x8B89u;
+const GL_ACTIVE_ATTRIBUTE_MAX_LENGTH:uint = 0x8B8Au;
+const GL_SHADING_LANGUAGE_VERSION:uint = 0x8B8Cu;
+const GL_CURRENT_PROGRAM:uint = 0x8B8Du;
+const GL_NEVER:uint = 0x0200u;
+const GL_LESS:uint = 0x0201u;
+const GL_EQUAL:uint = 0x0202u;
+const GL_LEQUAL:uint = 0x0203u;
+const GL_GREATER:uint = 0x0204u;
+const GL_NOTEQUAL:uint = 0x0205u;
+const GL_GEQUAL:uint = 0x0206u;
+const GL_ALWAYS:uint = 0x0207u;
 const GL_KEEP:uint = 0x1E00u;
 const GL_REPLACE:uint = 0x1E01u;
 const GL_INCR:uint = 0x1E02u;
 const GL_DECR:uint = 0x1E03u;
-const GL_NONE:uint = 0x0u;
-const GL_LEFT:uint = 0x0406u;
-const GL_RIGHT:uint = 0x0407u;
-const GL_FRONT_LEFT:uint = 0x0400u;
-const GL_FRONT_RIGHT:uint = 0x0401u;
-const GL_BACK_LEFT:uint = 0x0402u;
-const GL_BACK_RIGHT:uint = 0x0403u;
-const GL_AUX0:uint = 0x0409u;
-const GL_AUX1:uint = 0x040Au;
-const GL_AUX2:uint = 0x040Bu;
-const GL_AUX3:uint = 0x040Cu;
-const GL_COLOR_INDEX:uint = 0x1900u;
-const GL_RED:uint = 0x1903u;
-const GL_GREEN:uint = 0x1904u;
-const GL_BLUE:uint = 0x1905u;
-const GL_ALPHA:uint = 0x1906u;
-const GL_LUMINANCE:uint = 0x1909u;
-const GL_LUMINANCE_ALPHA:uint = 0x190Au;
-const GL_ALPHA_BITS:uint = 0x0D55u;
-const GL_RED_BITS:uint = 0x0D52u;
-const GL_GREEN_BITS:uint = 0x0D53u;
-const GL_BLUE_BITS:uint = 0x0D54u;
-const GL_INDEX_BITS:uint = 0x0D51u;
-const GL_SUBPIXEL_BITS:uint = 0x0D50u;
-const GL_AUX_BUFFERS:uint = 0x0C00u;
-const GL_READ_BUFFER:uint = 0x0C02u;
-const GL_DRAW_BUFFER:uint = 0x0C01u;
-const GL_DOUBLEBUFFER:uint = 0x0C32u;
-const GL_STEREO:uint = 0x0C33u;
-const GL_BITMAP:uint = 0x1A00u;
-const GL_COLOR:uint = 0x1800u;
-const GL_DEPTH:uint = 0x1801u;
-const GL_STENCIL:uint = 0x1802u;
-const GL_DITHER:uint = 0x0BD0u;
-const GL_RGB:uint = 0x1907u;
-const GL_RGBA:uint = 0x1908u;
-const GL_MAX_LIST_NESTING:uint = 0x0B31u;
-const GL_MAX_EVAL_ORDER:uint = 0x0D30u;
-const GL_MAX_LIGHTS:uint = 0x0D31u;
-const GL_MAX_CLIP_PLANES:uint = 0x0D32u;
-const GL_MAX_TEXTURE_SIZE:uint = 0x0D33u;
-const GL_MAX_PIXEL_MAP_TABLE:uint = 0x0D34u;
-const GL_MAX_ATTRIB_STACK_DEPTH:uint = 0x0D35u;
-const GL_MAX_MODELVIEW_STACK_DEPTH:uint = 0x0D36u;
-const GL_MAX_NAME_STACK_DEPTH:uint = 0x0D37u;
-const GL_MAX_PROJECTION_STACK_DEPTH:uint = 0x0D38u;
-const GL_MAX_TEXTURE_STACK_DEPTH:uint = 0x0D39u;
-const GL_MAX_VIEWPORT_DIMS:uint = 0x0D3Au;
-const GL_MAX_CLIENT_ATTRIB_STACK_DEPTH:uint = 0x0D3Bu;
-const GL_ATTRIB_STACK_DEPTH:uint = 0x0BB0u;
-const GL_CLIENT_ATTRIB_STACK_DEPTH:uint = 0x0BB1u;
-const GL_COLOR_CLEAR_VALUE:uint = 0x0C22u;
-const GL_COLOR_WRITEMASK:uint = 0x0C23u;
-const GL_CURRENT_INDEX:uint = 0x0B01u;
-const GL_CURRENT_COLOR:uint = 0x0B00u;
-const GL_CURRENT_NORMAL:uint = 0x0B02u;
-const GL_CURRENT_RASTER_COLOR:uint = 0x0B04u;
-const GL_CURRENT_RASTER_DISTANCE:uint = 0x0B09u;
-const GL_CURRENT_RASTER_INDEX:uint = 0x0B05u;
-const GL_CURRENT_RASTER_POSITION:uint = 0x0B07u;
-const GL_CURRENT_RASTER_TEXTURE_COORDS:uint = 0x0B06u;
-const GL_CURRENT_RASTER_POSITION_VALID:uint = 0x0B08u;
-const GL_CURRENT_TEXTURE_COORDS:uint = 0x0B03u;
-const GL_INDEX_CLEAR_VALUE:uint = 0x0C20u;
-const GL_INDEX_MODE:uint = 0x0C30u;
-const GL_INDEX_WRITEMASK:uint = 0x0C21u;
-const GL_MODELVIEW_MATRIX:uint = 0x0BA6u;
-const GL_MODELVIEW_STACK_DEPTH:uint = 0x0BA3u;
-const GL_NAME_STACK_DEPTH:uint = 0x0D70u;
-const GL_PROJECTION_MATRIX:uint = 0x0BA7u;
-const GL_PROJECTION_STACK_DEPTH:uint = 0x0BA4u;
-const GL_RENDER_MODE:uint = 0x0C40u;
-const GL_RGBA_MODE:uint = 0x0C31u;
-const GL_TEXTURE_MATRIX:uint = 0x0BA8u;
-const GL_TEXTURE_STACK_DEPTH:uint = 0x0BA5u;
-const GL_VIEWPORT:uint = 0x0BA2u;
-const GL_AUTO_NORMAL:uint = 0x0D80u;
-const GL_MAP1_COLOR_4:uint = 0x0D90u;
-const GL_MAP1_INDEX:uint = 0x0D91u;
-const GL_MAP1_NORMAL:uint = 0x0D92u;
-const GL_MAP1_TEXTURE_COORD_1:uint = 0x0D93u;
-const GL_MAP1_TEXTURE_COORD_2:uint = 0x0D94u;
-const GL_MAP1_TEXTURE_COORD_3:uint = 0x0D95u;
-const GL_MAP1_TEXTURE_COORD_4:uint = 0x0D96u;
-const GL_MAP1_VERTEX_3:uint = 0x0D97u;
-const GL_MAP1_VERTEX_4:uint = 0x0D98u;
-const GL_MAP2_COLOR_4:uint = 0x0DB0u;
-const GL_MAP2_INDEX:uint = 0x0DB1u;
-const GL_MAP2_NORMAL:uint = 0x0DB2u;
-const GL_MAP2_TEXTURE_COORD_1:uint = 0x0DB3u;
-const GL_MAP2_TEXTURE_COORD_2:uint = 0x0DB4u;
-const GL_MAP2_TEXTURE_COORD_3:uint = 0x0DB5u;
-const GL_MAP2_TEXTURE_COORD_4:uint = 0x0DB6u;
-const GL_MAP2_VERTEX_3:uint = 0x0DB7u;
-const GL_MAP2_VERTEX_4:uint = 0x0DB8u;
-const GL_MAP1_GRID_DOMAIN:uint = 0x0DD0u;
-const GL_MAP1_GRID_SEGMENTS:uint = 0x0DD1u;
-const GL_MAP2_GRID_DOMAIN:uint = 0x0DD2u;
-const GL_MAP2_GRID_SEGMENTS:uint = 0x0DD3u;
-const GL_COEFF:uint = 0x0A00u;
-const GL_ORDER:uint = 0x0A01u;
-const GL_DOMAIN:uint = 0x0A02u;
-const GL_PERSPECTIVE_CORRECTION_HINT:uint = 0x0C50u;
-const GL_POINT_SMOOTH_HINT:uint = 0x0C51u;
-const GL_LINE_SMOOTH_HINT:uint = 0x0C52u;
-const GL_POLYGON_SMOOTH_HINT:uint = 0x0C53u;
-const GL_FOG_HINT:uint = 0x0C54u;
-const GL_DONT_CARE:uint = 0x1100u;
-const GL_FASTEST:uint = 0x1101u;
-const GL_NICEST:uint = 0x1102u;
-const GL_SCISSOR_BOX:uint = 0x0C10u;
-const GL_SCISSOR_TEST:uint = 0x0C11u;
-const GL_MAP_COLOR:uint = 0x0D10u;
-const GL_MAP_STENCIL:uint = 0x0D11u;
-const GL_INDEX_SHIFT:uint = 0x0D12u;
-const GL_INDEX_OFFSET:uint = 0x0D13u;
-const GL_RED_SCALE:uint = 0x0D14u;
-const GL_RED_BIAS:uint = 0x0D15u;
-const GL_GREEN_SCALE:uint = 0x0D18u;
-const GL_GREEN_BIAS:uint = 0x0D19u;
-const GL_BLUE_SCALE:uint = 0x0D1Au;
-const GL_BLUE_BIAS:uint = 0x0D1Bu;
-const GL_ALPHA_SCALE:uint = 0x0D1Cu;
-const GL_ALPHA_BIAS:uint = 0x0D1Du;
-const GL_DEPTH_SCALE:uint = 0x0D1Eu;
-const GL_DEPTH_BIAS:uint = 0x0D1Fu;
-const GL_PIXEL_MAP_S_TO_S_SIZE:uint = 0x0CB1u;
-const GL_PIXEL_MAP_I_TO_I_SIZE:uint = 0x0CB0u;
-const GL_PIXEL_MAP_I_TO_R_SIZE:uint = 0x0CB2u;
-const GL_PIXEL_MAP_I_TO_G_SIZE:uint = 0x0CB3u;
-const GL_PIXEL_MAP_I_TO_B_SIZE:uint = 0x0CB4u;
-const GL_PIXEL_MAP_I_TO_A_SIZE:uint = 0x0CB5u;
-const GL_PIXEL_MAP_R_TO_R_SIZE:uint = 0x0CB6u;
-const GL_PIXEL_MAP_G_TO_G_SIZE:uint = 0x0CB7u;
-const GL_PIXEL_MAP_B_TO_B_SIZE:uint = 0x0CB8u;
-const GL_PIXEL_MAP_A_TO_A_SIZE:uint = 0x0CB9u;
-const GL_PIXEL_MAP_S_TO_S:uint = 0x0C71u;
-const GL_PIXEL_MAP_I_TO_I:uint = 0x0C70u;
-const GL_PIXEL_MAP_I_TO_R:uint = 0x0C72u;
-const GL_PIXEL_MAP_I_TO_G:uint = 0x0C73u;
-const GL_PIXEL_MAP_I_TO_B:uint = 0x0C74u;
-const GL_PIXEL_MAP_I_TO_A:uint = 0x0C75u;
-const GL_PIXEL_MAP_R_TO_R:uint = 0x0C76u;
-const GL_PIXEL_MAP_G_TO_G:uint = 0x0C77u;
-const GL_PIXEL_MAP_B_TO_B:uint = 0x0C78u;
-const GL_PIXEL_MAP_A_TO_A:uint = 0x0C79u;
-const GL_PACK_ALIGNMENT:uint = 0x0D05u;
-const GL_PACK_LSB_FIRST:uint = 0x0D01u;
-const GL_PACK_ROW_LENGTH:uint = 0x0D02u;
-const GL_PACK_SKIP_PIXELS:uint = 0x0D04u;
-const GL_PACK_SKIP_ROWS:uint = 0x0D03u;
-const GL_PACK_SWAP_BYTES:uint = 0x0D00u;
-const GL_UNPACK_ALIGNMENT:uint = 0x0CF5u;
-const GL_UNPACK_LSB_FIRST:uint = 0x0CF1u;
-const GL_UNPACK_ROW_LENGTH:uint = 0x0CF2u;
-const GL_UNPACK_SKIP_PIXELS:uint = 0x0CF4u;
-const GL_UNPACK_SKIP_ROWS:uint = 0x0CF3u;
-const GL_UNPACK_SWAP_BYTES:uint = 0x0CF0u;
-const GL_ZOOM_X:uint = 0x0D16u;
-const GL_ZOOM_Y:uint = 0x0D17u;
-const GL_TEXTURE_ENV_MODE:uint = 0x2200u;
-const GL_TEXTURE_1D:uint = 0x0DE0u;
-const GL_TEXTURE_2D:uint = 0x0DE1u;
-const GL_TEXTURE_WRAP_S:uint = 0x2802u;
-const GL_TEXTURE_WRAP_T:uint = 0x2803u;
-const GL_TEXTURE_MAG_FILTER:uint = 0x2800u;
-const GL_TEXTURE_MIN_FILTER:uint = 0x2801u;
-const GL_TEXTURE_ENV_COLOR:uint = 0x2201u;
-const GL_TEXTURE_GEN_S:uint = 0x0C60u;
-const GL_TEXTURE_GEN_T:uint = 0x0C61u;
-const GL_TEXTURE_GEN_R:uint = 0x0C62u;
-const GL_TEXTURE_GEN_Q:uint = 0x0C63u;
-const GL_TEXTURE_GEN_MODE:uint = 0x2500u;
-const GL_TEXTURE_BORDER_COLOR:uint = 0x1004u;
-const GL_TEXTURE_WIDTH:uint = 0x1000u;
-const GL_TEXTURE_HEIGHT:uint = 0x1001u;
-const GL_TEXTURE_BORDER:uint = 0x1005u;
-const GL_TEXTURE_COMPONENTS:uint = 0x1003u;
-const GL_TEXTURE_RED_SIZE:uint = 0x805Cu;
-const GL_TEXTURE_GREEN_SIZE:uint = 0x805Du;
-const GL_TEXTURE_BLUE_SIZE:uint = 0x805Eu;
-const GL_TEXTURE_ALPHA_SIZE:uint = 0x805Fu;
-const GL_TEXTURE_LUMINANCE_SIZE:uint = 0x8060u;
-const GL_TEXTURE_INTENSITY_SIZE:uint = 0x8061u;
-const GL_NEAREST_MIPMAP_NEAREST:uint = 0x2700u;
-const GL_NEAREST_MIPMAP_LINEAR:uint = 0x2702u;
-const GL_LINEAR_MIPMAP_NEAREST:uint = 0x2701u;
-const GL_LINEAR_MIPMAP_LINEAR:uint = 0x2703u;
-const GL_OBJECT_LINEAR:uint = 0x2401u;
-const GL_OBJECT_PLANE:uint = 0x2501u;
-const GL_EYE_LINEAR:uint = 0x2400u;
-const GL_EYE_PLANE:uint = 0x2502u;
-const GL_SPHERE_MAP:uint = 0x2402u;
-const GL_DECAL:uint = 0x2101u;
-const GL_MODULATE:uint = 0x2100u;
-const GL_NEAREST:uint = 0x2600u;
-const GL_REPEAT:uint = 0x2901u;
-const GL_CLAMP:uint = 0x2900u;
-const GL_S:uint = 0x2000u;
-const GL_T:uint = 0x2001u;
-const GL_R:uint = 0x2002u;
-const GL_Q:uint = 0x2003u;
+const GL_INVERT:uint = 0x150Au;
+const GL_INCR_WRAP:uint = 0x8507u;
+const GL_DECR_WRAP:uint = 0x8508u;
 const GL_VENDOR:uint = 0x1F00u;
 const GL_RENDERER:uint = 0x1F01u;
 const GL_VERSION:uint = 0x1F02u;
 const GL_EXTENSIONS:uint = 0x1F03u;
-const GL_NO_ERROR:uint = 0x0u;
-const GL_INVALID_ENUM:uint = 0x0500u;
-const GL_INVALID_VALUE:uint = 0x0501u;
-const GL_INVALID_OPERATION:uint = 0x0502u;
-const GL_STACK_OVERFLOW:uint = 0x0503u;
-const GL_STACK_UNDERFLOW:uint = 0x0504u;
-const GL_OUT_OF_MEMORY:uint = 0x0505u;
-const GL_CURRENT_BIT:uint = 0x00000001u;
-const GL_POINT_BIT:uint = 0x00000002u;
-const GL_LINE_BIT:uint = 0x00000004u;
-const GL_POLYGON_BIT:uint = 0x00000008u;
-const GL_POLYGON_STIPPLE_BIT:uint = 0x00000010u;
-const GL_PIXEL_MODE_BIT:uint = 0x00000020u;
-const GL_LIGHTING_BIT:uint = 0x00000040u;
-const GL_FOG_BIT:uint = 0x00000080u;
-const GL_DEPTH_BUFFER_BIT:uint = 0x00000100u;
-const GL_ACCUM_BUFFER_BIT:uint = 0x00000200u;
-const GL_STENCIL_BUFFER_BIT:uint = 0x00000400u;
-const GL_VIEWPORT_BIT:uint = 0x00000800u;
-const GL_TRANSFORM_BIT:uint = 0x00001000u;
-const GL_ENABLE_BIT:uint = 0x00002000u;
-const GL_COLOR_BUFFER_BIT:uint = 0x00004000u;
-const GL_HINT_BIT:uint = 0x00008000u;
-const GL_EVAL_BIT:uint = 0x00010000u;
-const GL_LIST_BIT:uint = 0x00020000u;
-const GL_TEXTURE_BIT:uint = 0x00040000u;
-const GL_SCISSOR_BIT:uint = 0x00080000u;
-const GL_ALL_ATTRIB_BITS:uint = 0x000FFFFFu;
-const GL_PROXY_TEXTURE_1D:uint = 0x8063u;
-const GL_PROXY_TEXTURE_2D:uint = 0x8064u;
-const GL_TEXTURE_PRIORITY:uint = 0x8066u;
-const GL_TEXTURE_RESIDENT:uint = 0x8067u;
-const GL_TEXTURE_BINDING_1D:uint = 0x8068u;
-const GL_TEXTURE_BINDING_2D:uint = 0x8069u;
-const GL_TEXTURE_INTERNAL_FORMAT:uint = 0x1003u;
-const GL_ALPHA4:uint = 0x803Bu;
-const GL_ALPHA8:uint = 0x803Cu;
-const GL_ALPHA12:uint = 0x803Du;
-const GL_ALPHA16:uint = 0x803Eu;
-const GL_LUMINANCE4:uint = 0x803Fu;
-const GL_LUMINANCE8:uint = 0x8040u;
-const GL_LUMINANCE12:uint = 0x8041u;
-const GL_LUMINANCE16:uint = 0x8042u;
-const GL_LUMINANCE4_ALPHA4:uint = 0x8043u;
-const GL_LUMINANCE6_ALPHA2:uint = 0x8044u;
-const GL_LUMINANCE8_ALPHA8:uint = 0x8045u;
-const GL_LUMINANCE12_ALPHA4:uint = 0x8046u;
-const GL_LUMINANCE12_ALPHA12:uint = 0x8047u;
-const GL_LUMINANCE16_ALPHA16:uint = 0x8048u;
-const GL_INTENSITY:uint = 0x8049u;
-const GL_INTENSITY4:uint = 0x804Au;
-const GL_INTENSITY8:uint = 0x804Bu;
-const GL_INTENSITY12:uint = 0x804Cu;
-const GL_INTENSITY16:uint = 0x804Du;
-const GL_R3_G3_B2:uint = 0x2A10u;
-const GL_RGB4:uint = 0x804Fu;
-const GL_RGB5:uint = 0x8050u;
-const GL_RGB8:uint = 0x8051u;
-const GL_RGB10:uint = 0x8052u;
-const GL_RGB12:uint = 0x8053u;
-const GL_RGB16:uint = 0x8054u;
-const GL_RGBA2:uint = 0x8055u;
-const GL_RGBA4:uint = 0x8056u;
-const GL_RGB5_A1:uint = 0x8057u;
-const GL_RGBA8:uint = 0x8058u;
-const GL_RGB10_A2:uint = 0x8059u;
-const GL_RGBA12:uint = 0x805Au;
-const GL_RGBA16:uint = 0x805Bu;
-const GL_CLIENT_PIXEL_STORE_BIT:uint = 0x00000001u;
-const GL_CLIENT_VERTEX_ARRAY_BIT:uint = 0x00000002u;
-const GL_ALL_CLIENT_ATTRIB_BITS:uint = 0xFFFFFFFFu;
-const GL_CLIENT_ALL_ATTRIB_BITS:uint = 0xFFFFFFFFu;
-const GL_RESCALE_NORMAL:uint = 0x803Au;
-const GL_CLAMP_TO_EDGE:uint = 0x812Fu;
-const GL_MAX_ELEMENTS_VERTICES:uint = 0x80E8u;
-const GL_MAX_ELEMENTS_INDICES:uint = 0x80E9u;
-const GL_BGR:uint = 0x80E0u;
-const GL_BGRA:uint = 0x80E1u;
-const GL_UNSIGNED_BYTE_3_3_2:uint = 0x8032u;
-const GL_UNSIGNED_BYTE_2_3_3_REV:uint = 0x8362u;
-const GL_UNSIGNED_SHORT_5_6_5:uint = 0x8363u;
-const GL_UNSIGNED_SHORT_5_6_5_REV:uint = 0x8364u;
-const GL_UNSIGNED_SHORT_4_4_4_4:uint = 0x8033u;
-const GL_UNSIGNED_SHORT_4_4_4_4_REV:uint = 0x8365u;
-const GL_UNSIGNED_SHORT_5_5_5_1:uint = 0x8034u;
-const GL_UNSIGNED_SHORT_1_5_5_5_REV:uint = 0x8366u;
-const GL_UNSIGNED_INT_8_8_8_8:uint = 0x8035u;
-const GL_UNSIGNED_INT_8_8_8_8_REV:uint = 0x8367u;
-const GL_UNSIGNED_INT_10_10_10_2:uint = 0x8036u;
-const GL_UNSIGNED_INT_2_10_10_10_REV:uint = 0x8368u;
-const GL_LIGHT_MODEL_COLOR_CONTROL:uint = 0x81F8u;
-const GL_SINGLE_COLOR:uint = 0x81F9u;
-const GL_SEPARATE_SPECULAR_COLOR:uint = 0x81FAu;
-const GL_TEXTURE_MIN_LOD:uint = 0x813Au;
-const GL_TEXTURE_MAX_LOD:uint = 0x813Bu;
-const GL_TEXTURE_BASE_LEVEL:uint = 0x813Cu;
-const GL_TEXTURE_MAX_LEVEL:uint = 0x813Du;
-const GL_SMOOTH_POINT_SIZE_RANGE:uint = 0x0B12u;
-const GL_SMOOTH_POINT_SIZE_GRANULARITY:uint = 0x0B13u;
-const GL_SMOOTH_LINE_WIDTH_RANGE:uint = 0x0B22u;
-const GL_SMOOTH_LINE_WIDTH_GRANULARITY:uint = 0x0B23u;
-const GL_ALIASED_POINT_SIZE_RANGE:uint = 0x846Du;
-const GL_ALIASED_LINE_WIDTH_RANGE:uint = 0x846Eu;
-const GL_PACK_SKIP_IMAGES:uint = 0x806Bu;
-const GL_PACK_IMAGE_HEIGHT:uint = 0x806Cu;
-const GL_UNPACK_SKIP_IMAGES:uint = 0x806Du;
-const GL_UNPACK_IMAGE_HEIGHT:uint = 0x806Eu;
-const GL_TEXTURE_3D:uint = 0x806Fu;
-const GL_PROXY_TEXTURE_3D:uint = 0x8070u;
-const GL_TEXTURE_DEPTH:uint = 0x8071u;
-const GL_TEXTURE_WRAP_R:uint = 0x8072u;
-const GL_MAX_3D_TEXTURE_SIZE:uint = 0x8073u;
-const GL_TEXTURE_BINDING_3D:uint = 0x806Au;
-const GL_CONSTANT_COLOR:uint = 0x8001u;
-const GL_ONE_MINUS_CONSTANT_COLOR:uint = 0x8002u;
-const GL_CONSTANT_ALPHA:uint = 0x8003u;
-const GL_ONE_MINUS_CONSTANT_ALPHA:uint = 0x8004u;
-const GL_COLOR_TABLE:uint = 0x80D0u;
-const GL_POST_CONVOLUTION_COLOR_TABLE:uint = 0x80D1u;
-const GL_POST_COLOR_MATRIX_COLOR_TABLE:uint = 0x80D2u;
-const GL_PROXY_COLOR_TABLE:uint = 0x80D3u;
-const GL_PROXY_POST_CONVOLUTION_COLOR_TABLE:uint = 0x80D4u;
-const GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE:uint = 0x80D5u;
-const GL_COLOR_TABLE_SCALE:uint = 0x80D6u;
-const GL_COLOR_TABLE_BIAS:uint = 0x80D7u;
-const GL_COLOR_TABLE_FORMAT:uint = 0x80D8u;
-const GL_COLOR_TABLE_WIDTH:uint = 0x80D9u;
-const GL_COLOR_TABLE_RED_SIZE:uint = 0x80DAu;
-const GL_COLOR_TABLE_GREEN_SIZE:uint = 0x80DBu;
-const GL_COLOR_TABLE_BLUE_SIZE:uint = 0x80DCu;
-const GL_COLOR_TABLE_ALPHA_SIZE:uint = 0x80DDu;
-const GL_COLOR_TABLE_LUMINANCE_SIZE:uint = 0x80DEu;
-const GL_COLOR_TABLE_INTENSITY_SIZE:uint = 0x80DFu;
-const GL_CONVOLUTION_1D:uint = 0x8010u;
-const GL_CONVOLUTION_2D:uint = 0x8011u;
-const GL_SEPARABLE_2D:uint = 0x8012u;
-const GL_CONVOLUTION_BORDER_MODE:uint = 0x8013u;
-const GL_CONVOLUTION_FILTER_SCALE:uint = 0x8014u;
-const GL_CONVOLUTION_FILTER_BIAS:uint = 0x8015u;
-const GL_REDUCE:uint = 0x8016u;
-const GL_CONVOLUTION_FORMAT:uint = 0x8017u;
-const GL_CONVOLUTION_WIDTH:uint = 0x8018u;
-const GL_CONVOLUTION_HEIGHT:uint = 0x8019u;
-const GL_MAX_CONVOLUTION_WIDTH:uint = 0x801Au;
-const GL_MAX_CONVOLUTION_HEIGHT:uint = 0x801Bu;
-const GL_POST_CONVOLUTION_RED_SCALE:uint = 0x801Cu;
-const GL_POST_CONVOLUTION_GREEN_SCALE:uint = 0x801Du;
-const GL_POST_CONVOLUTION_BLUE_SCALE:uint = 0x801Eu;
-const GL_POST_CONVOLUTION_ALPHA_SCALE:uint = 0x801Fu;
-const GL_POST_CONVOLUTION_RED_BIAS:uint = 0x8020u;
-const GL_POST_CONVOLUTION_GREEN_BIAS:uint = 0x8021u;
-const GL_POST_CONVOLUTION_BLUE_BIAS:uint = 0x8022u;
-const GL_POST_CONVOLUTION_ALPHA_BIAS:uint = 0x8023u;
-const GL_CONSTANT_BORDER:uint = 0x8151u;
-const GL_REPLICATE_BORDER:uint = 0x8153u;
-const GL_CONVOLUTION_BORDER_COLOR:uint = 0x8154u;
-const GL_COLOR_MATRIX:uint = 0x80B1u;
-const GL_COLOR_MATRIX_STACK_DEPTH:uint = 0x80B2u;
-const GL_MAX_COLOR_MATRIX_STACK_DEPTH:uint = 0x80B3u;
-const GL_POST_COLOR_MATRIX_RED_SCALE:uint = 0x80B4u;
-const GL_POST_COLOR_MATRIX_GREEN_SCALE:uint = 0x80B5u;
-const GL_POST_COLOR_MATRIX_BLUE_SCALE:uint = 0x80B6u;
-const GL_POST_COLOR_MATRIX_ALPHA_SCALE:uint = 0x80B7u;
-const GL_POST_COLOR_MATRIX_RED_BIAS:uint = 0x80B8u;
-const GL_POST_COLOR_MATRIX_GREEN_BIAS:uint = 0x80B9u;
-const GL_POST_COLOR_MATRIX_BLUE_BIAS:uint = 0x80BAu;
-const GL_POST_COLOR_MATRIX_ALPHA_BIAS:uint = 0x80BBu;
-const GL_HISTOGRAM:uint = 0x8024u;
-const GL_PROXY_HISTOGRAM:uint = 0x8025u;
-const GL_HISTOGRAM_WIDTH:uint = 0x8026u;
-const GL_HISTOGRAM_FORMAT:uint = 0x8027u;
-const GL_HISTOGRAM_RED_SIZE:uint = 0x8028u;
-const GL_HISTOGRAM_GREEN_SIZE:uint = 0x8029u;
-const GL_HISTOGRAM_BLUE_SIZE:uint = 0x802Au;
-const GL_HISTOGRAM_ALPHA_SIZE:uint = 0x802Bu;
-const GL_HISTOGRAM_LUMINANCE_SIZE:uint = 0x802Cu;
-const GL_HISTOGRAM_SINK:uint = 0x802Du;
-const GL_MINMAX:uint = 0x802Eu;
-const GL_MINMAX_FORMAT:uint = 0x802Fu;
-const GL_MINMAX_SINK:uint = 0x8030u;
-const GL_TABLE_TOO_LARGE:uint = 0x8031u;
-const GL_BLEND_EQUATION:uint = 0x8009u;
-const GL_MIN:uint = 0x8007u;
-const GL_MAX:uint = 0x8008u;
-const GL_FUNC_ADD:uint = 0x8006u;
-const GL_FUNC_SUBTRACT:uint = 0x800Au;
-const GL_FUNC_REVERSE_SUBTRACT:uint = 0x800Bu;
-const GL_BLEND_COLOR:uint = 0x8005u;
+const GL_NEAREST:uint = 0x2600u;
+const GL_LINEAR:uint = 0x2601u;
+const GL_NEAREST_MIPMAP_NEAREST:uint = 0x2700u;
+const GL_LINEAR_MIPMAP_NEAREST:uint = 0x2701u;
+const GL_NEAREST_MIPMAP_LINEAR:uint = 0x2702u;
+const GL_LINEAR_MIPMAP_LINEAR:uint = 0x2703u;
+const GL_TEXTURE_MAG_FILTER:uint = 0x2800u;
+const GL_TEXTURE_MIN_FILTER:uint = 0x2801u;
+const GL_TEXTURE_WRAP_S:uint = 0x2802u;
+const GL_TEXTURE_WRAP_T:uint = 0x2803u;
+const GL_TEXTURE:uint = 0x1702u;
+const GL_TEXTURE_CUBE_MAP:uint = 0x8513u;
+const GL_TEXTURE_BINDING_CUBE_MAP:uint = 0x8514u;
+const GL_TEXTURE_CUBE_MAP_POSITIVE_X:uint = 0x8515u;
+const GL_TEXTURE_CUBE_MAP_NEGATIVE_X:uint = 0x8516u;
+const GL_TEXTURE_CUBE_MAP_POSITIVE_Y:uint = 0x8517u;
+const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:uint = 0x8518u;
+const GL_TEXTURE_CUBE_MAP_POSITIVE_Z:uint = 0x8519u;
+const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:uint = 0x851Au;
+const GL_MAX_CUBE_MAP_TEXTURE_SIZE:uint = 0x851Cu;
 const GL_TEXTURE0:uint = 0x84C0u;
 const GL_TEXTURE1:uint = 0x84C1u;
 const GL_TEXTURE2:uint = 0x84C2u;
 const GL_TEXTURE30:uint = 0x84DEu;
 const GL_TEXTURE31:uint = 0x84DFu;
 const GL_ACTIVE_TEXTURE:uint = 0x84E0u;
-const GL_CLIENT_ACTIVE_TEXTURE:uint = 0x84E1u;
-const GL_MAX_TEXTURE_UNITS:uint = 0x84E2u;
-const GL_NORMAL_MAP:uint = 0x8511u;
-const GL_REFLECTION_MAP:uint = 0x8512u;
-const GL_TEXTURE_CUBE_MAP:uint = 0x8513u;
-const GL_TEXTURE_BINDING_CUBE_MAP:uint = 0x8514u;
-const GL_TEXTURE_CUBE_MAP_POSITIVE_X:uint = 0x8515u;
-const GL_TEXTURE_CUBE_MAP_NEGATIVE_X:uint = 0x8516u;
-const GL_TEXTURE_CUBE_MAP_POSITIVE_Y:uint = 0x8517u;
-const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:uint = 0x8518u;
-const GL_TEXTURE_CUBE_MAP_POSITIVE_Z:uint = 0x8519u;
-const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:uint = 0x851Au;
-const GL_PROXY_TEXTURE_CUBE_MAP:uint = 0x851Bu;
-const GL_MAX_CUBE_MAP_TEXTURE_SIZE:uint = 0x851Cu;
-const GL_COMPRESSED_ALPHA:uint = 0x84E9u;
-const GL_COMPRESSED_LUMINANCE:uint = 0x84EAu;
-const GL_COMPRESSED_LUMINANCE_ALPHA:uint = 0x84EBu;
-const GL_COMPRESSED_INTENSITY:uint = 0x84ECu;
-const GL_COMPRESSED_RGB:uint = 0x84EDu;
-const GL_COMPRESSED_RGBA:uint = 0x84EEu;
-const GL_TEXTURE_COMPRESSION_HINT:uint = 0x84EFu;
-const GL_TEXTURE_COMPRESSED_IMAGE_SIZE:uint = 0x86A0u;
-const GL_TEXTURE_COMPRESSED:uint = 0x86A1u;
-const GL_NUM_COMPRESSED_TEXTURE_FORMATS:uint = 0x86A2u;
-const GL_COMPRESSED_TEXTURE_FORMATS:uint = 0x86A3u;
-const GL_MULTISAMPLE:uint = 0x809Du;
-const GL_SAMPLE_ALPHA_TO_COVERAGE:uint = 0x809Eu;
-const GL_SAMPLE_ALPHA_TO_ONE:uint = 0x809Fu;
-const GL_SAMPLE_COVERAGE:uint = 0x80A0u;
-const GL_SAMPLE_BUFFERS:uint = 0x80A8u;
-const GL_SAMPLES:uint = 0x80A9u;
-const GL_SAMPLE_COVERAGE_VALUE:uint = 0x80AAu;
-const GL_SAMPLE_COVERAGE_INVERT:uint = 0x80ABu;
-const GL_MULTISAMPLE_BIT:uint = 0x20000000u;
-const GL_TRANSPOSE_MODELVIEW_MATRIX:uint = 0x84E3u;
-const GL_TRANSPOSE_PROJECTION_MATRIX:uint = 0x84E4u;
-const GL_TRANSPOSE_TEXTURE_MATRIX:uint = 0x84E5u;
-const GL_TRANSPOSE_COLOR_MATRIX:uint = 0x84E6u;
-const GL_COMBINE:uint = 0x8570u;
-const GL_COMBINE_RGB:uint = 0x8571u;
-const GL_COMBINE_ALPHA:uint = 0x8572u;
-const GL_SOURCE0_RGB:uint = 0x8580u;
-const GL_SOURCE1_RGB:uint = 0x8581u;
-const GL_SOURCE2_RGB:uint = 0x8582u;
-const GL_SOURCE0_ALPHA:uint = 0x8588u;
-const GL_SOURCE1_ALPHA:uint = 0x8589u;
-const GL_SOURCE2_ALPHA:uint = 0x858Au;
-const GL_OPERAND0_RGB:uint = 0x8590u;
-const GL_OPERAND1_RGB:uint = 0x8591u;
-const GL_OPERAND2_RGB:uint = 0x8592u;
-const GL_OPERAND0_ALPHA:uint = 0x8598u;
-const GL_OPERAND1_ALPHA:uint = 0x8599u;
-const GL_OPERAND2_ALPHA:uint = 0x859Au;
-const GL_RGB_SCALE:uint = 0x8573u;
-const GL_ADD_SIGNED:uint = 0x8574u;
-const GL_INTERPOLATE:uint = 0x8575u;
-const GL_SUBTRACT:uint = 0x84E7u;
-const GL_CONSTANT:uint = 0x8576u;
-const GL_PRIMARY_COLOR:uint = 0x8577u;
-const GL_PREVIOUS:uint = 0x8578u;
-const GL_DOT3_RGB:uint = 0x86AEu;
-const GL_DOT3_RGBA:uint = 0x86AFu;
-const GL_CLAMP_TO_BORDER:uint = 0x812Du;
-type GLchar = libc::c_uchar; 
-type GLfixed = libc::c_int; 
-const GL_ES_VERSION_2_0:uint = 1u;
-const GL_BLEND_EQUATION_RGB:uint = 0x8009u;
-const GL_BLEND_EQUATION_ALPHA:uint = 0x883Du;
-const GL_BLEND_DST_RGB:uint = 0x80C8u;
-const GL_BLEND_SRC_RGB:uint = 0x80C9u;
-const GL_BLEND_DST_ALPHA:uint = 0x80CAu;
-const GL_BLEND_SRC_ALPHA:uint = 0x80CBu;
-const GL_ARRAY_BUFFER:uint = 0x8892u;
-const GL_ELEMENT_ARRAY_BUFFER:uint = 0x8893u;
-const GL_ARRAY_BUFFER_BINDING:uint = 0x8894u;
-const GL_ELEMENT_ARRAY_BUFFER_BINDING:uint = 0x8895u;
-const GL_STREAM_DRAW:uint = 0x88E0u;
-const GL_STATIC_DRAW:uint = 0x88E4u;
-const GL_DYNAMIC_DRAW:uint = 0x88E8u;
-const GL_BUFFER_SIZE:uint = 0x8764u;
-const GL_BUFFER_USAGE:uint = 0x8765u;
-const GL_CURRENT_VERTEX_ATTRIB:uint = 0x8626u;
-const GL_STENCIL_BACK_FUNC:uint = 0x8800u;
-const GL_STENCIL_BACK_FAIL:uint = 0x8801u;
-const GL_STENCIL_BACK_PASS_DEPTH_FAIL:uint = 0x8802u;
-const GL_STENCIL_BACK_PASS_DEPTH_PASS:uint = 0x8803u;
-const GL_STENCIL_BACK_REF:uint = 0x8CA3u;
-const GL_STENCIL_BACK_VALUE_MASK:uint = 0x8CA4u;
-const GL_STENCIL_BACK_WRITEMASK:uint = 0x8CA5u;
-const GL_GENERATE_MIPMAP_HINT:uint = 0x8192u;
-const GL_FIXED:uint = 0x140Cu;
-const GL_FRAGMENT_SHADER:uint = 0x8B30u;
-const GL_VERTEX_SHADER:uint = 0x8B31u;
-const GL_MAX_VERTEX_ATTRIBS:uint = 0x8869u;
-const GL_MAX_VERTEX_UNIFORM_VECTORS:uint = 0x8DFBu;
-const GL_MAX_VARYING_VECTORS:uint = 0x8DFCu;
-const GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS:uint = 0x8B4Du;
-const GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS:uint = 0x8B4Cu;
-const GL_MAX_TEXTURE_IMAGE_UNITS:uint = 0x8872u;
-const GL_MAX_FRAGMENT_UNIFORM_VECTORS:uint = 0x8DFDu;
-const GL_SHADER_TYPE:uint = 0x8B4Fu;
-const GL_DELETE_STATUS:uint = 0x8B80u;
-const GL_LINK_STATUS:uint = 0x8B82u;
-const GL_VALIDATE_STATUS:uint = 0x8B83u;
-const GL_ATTACHED_SHADERS:uint = 0x8B85u;
-const GL_ACTIVE_UNIFORMS:uint = 0x8B86u;
-const GL_ACTIVE_UNIFORM_MAX_LENGTH:uint = 0x8B87u;
-const GL_ACTIVE_ATTRIBUTES:uint = 0x8B89u;
-const GL_ACTIVE_ATTRIBUTE_MAX_LENGTH:uint = 0x8B8Au;
-const GL_SHADING_LANGUAGE_VERSION:uint = 0x8B8Cu;
-const GL_CURRENT_PROGRAM:uint = 0x8B8Du;
-const GL_INCR_WRAP:uint = 0x8507u;
-const GL_DECR_WRAP:uint = 0x8508u;
+const GL_REPEAT:uint = 0x2901u;
+const GL_CLAMP_TO_EDGE:uint = 0x812Fu;
 const GL_MIRRORED_REPEAT:uint = 0x8370u;
 const GL_FLOAT_VEC2:uint = 0x8B50u;
 const GL_FLOAT_VEC3:uint = 0x8B51u;
 const GL_HIGH_INT:uint = 0x8DF5u;
 const GL_FRAMEBUFFER:uint = 0x8D40u;
 const GL_RENDERBUFFER:uint = 0x8D41u;
+const GL_RGBA4:uint = 0x8056u;
+const GL_RGB5_A1:uint = 0x8057u;
 const GL_RGB565:uint = 0x8D62u;
 const GL_DEPTH_COMPONENT16:uint = 0x81A5u;
+const GL_STENCIL_INDEX:uint = 0x1901u;
 const GL_STENCIL_INDEX8:uint = 0x8D48u;
 const GL_RENDERBUFFER_WIDTH:uint = 0x8D42u;
 const GL_RENDERBUFFER_HEIGHT:uint = 0x8D43u;
 const GL_COLOR_ATTACHMENT0:uint = 0x8CE0u;
 const GL_DEPTH_ATTACHMENT:uint = 0x8D00u;
 const GL_STENCIL_ATTACHMENT:uint = 0x8D20u;
+const GL_NONE:uint = 0u;
 const GL_FRAMEBUFFER_COMPLETE:uint = 0x8CD5u;
 const GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT:uint = 0x8CD6u;
 const GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:uint = 0x8CD7u;
 const GL_RENDERBUFFER_BINDING:uint = 0x8CA7u;
 const GL_MAX_RENDERBUFFER_SIZE:uint = 0x84E8u;
 const GL_INVALID_FRAMEBUFFER_OPERATION:uint = 0x0506u;
-native mod GL {
-    fn glClearColor(red: libc::c_float, green: libc::c_float, blue: libc::c_float, alpha: libc::c_float) -> libc::c_void;
-    fn glClear(mask: libc::c_uint) -> libc::c_void;
-    fn glIndexMask(mask: libc::c_uint) -> libc::c_void;
-    fn glColorMask(red: libc::c_uchar, green: libc::c_uchar, blue: libc::c_uchar, alpha: libc::c_uchar) -> libc::c_void;
-    fn glAlphaFunc(func: libc::c_uint, ref: libc::c_float) -> libc::c_void;
-    fn glBlendFunc(sfactor: libc::c_uint, dfactor: libc::c_uint) -> libc::c_void;
-    fn glLogicOp(opcode: libc::c_uint) -> libc::c_void;
-    fn glCullFace(mode: libc::c_uint) -> libc::c_void;
-    fn glFrontFace(mode: libc::c_uint) -> libc::c_void;
-    fn glPointSize(size: libc::c_float) -> libc::c_void;
-    fn glLineWidth(width: libc::c_float) -> libc::c_void;
-    fn glLineStipple(factor: libc::c_int, pattern: libc::c_ushort) -> libc::c_void;
-    fn glPolygonMode(face: libc::c_uint, mode: libc::c_uint) -> libc::c_void;
-    fn glPolygonOffset(factor: libc::c_float, units: libc::c_float) -> libc::c_void;
-    fn glPolygonStipple(mask: *libc::c_uchar) -> libc::c_void;
-    fn glGetPolygonStipple(mask: *libc::c_uchar) -> libc::c_void;
-    fn glEdgeFlag(flag: libc::c_uchar) -> libc::c_void;
-    fn glEdgeFlagv(flag: *libc::c_uchar) -> libc::c_void;
-    fn glScissor(x: libc::c_int, y: libc::c_int, width: libc::c_int, height: libc::c_int) -> libc::c_void;
-    fn glClipPlane(plane: libc::c_uint, equation: *libc::c_double) -> libc::c_void;
-    fn glGetClipPlane(plane: libc::c_uint, equation: *libc::c_double) -> libc::c_void;
-    fn glDrawBuffer(mode: libc::c_uint) -> libc::c_void;
-    fn glReadBuffer(mode: libc::c_uint) -> libc::c_void;
-    fn glEnable(cap: libc::c_uint) -> libc::c_void;
-    fn glDisable(cap: libc::c_uint) -> libc::c_void;
-    fn glIsEnabled(cap: libc::c_uint) -> libc::c_uchar;
-    fn glEnableClientState(cap: libc::c_uint) -> libc::c_void;
-    fn glGetDoublev(pname: libc::c_uint, params: *libc::c_double) -> libc::c_void;
-    fn glGetFloatv(pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glGetIntegerv(pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glPushAttrib(mask: libc::c_uint) -> libc::c_void;
-    fn glPopAttrib() -> libc::c_void;
-    fn glPushClientAttrib(mask: libc::c_uint) -> libc::c_void;
-    fn glGetError() -> libc::c_uint;
-    fn glGetString(name: libc::c_uint) -> *libc::c_uchar;
-    fn glFinish() -> libc::c_void;
-    fn glFlush() -> libc::c_void;
-    fn glHint(target: libc::c_uint, mode: libc::c_uint) -> libc::c_void;
-    fn glClearDepth(depth: libc::c_double) -> libc::c_void;
-    fn glDepthFunc(func: libc::c_uint) -> libc::c_void;
-    fn glDepthMask(flag: libc::c_uchar) -> libc::c_void;
-    fn glDepthRange(near_val: libc::c_double, far_val: libc::c_double) -> libc::c_void;
-    fn glClearAccum(red: libc::c_float, green: libc::c_float, blue: libc::c_float, alpha: libc::c_float) -> libc::c_void;
-    fn glAccum(op: libc::c_uint, value: libc::c_float) -> libc::c_void;
-    fn glMatrixMode(mode: libc::c_uint) -> libc::c_void;
-    fn glOrtho(left: libc::c_double, right: libc::c_double, bottom: libc::c_double, top: libc::c_double, near_val: libc::c_double, far_val: libc::c_double) -> libc::c_void;
-    fn glFrustum(left: libc::c_double, right: libc::c_double, bottom: libc::c_double, top: libc::c_double, near_val: libc::c_double, far_val: libc::c_double) -> libc::c_void;
-    fn glViewport(x: libc::c_int, y: libc::c_int, width: libc::c_int, height: libc::c_int) -> libc::c_void;
-    fn glPushMatrix() -> libc::c_void;
-    fn glPopMatrix() -> libc::c_void;
-    fn glLoadIdentity() -> libc::c_void;
-    fn glLoadMatrixd(m: *libc::c_double) -> libc::c_void;
-    fn glLoadMatrixf(m: *libc::c_float) -> libc::c_void;
-    fn glMultMatrixd(m: *libc::c_double) -> libc::c_void;
-    fn glMultMatrixf(m: *libc::c_float) -> libc::c_void;
-    fn glRotated(angle: libc::c_double, x: libc::c_double, y: libc::c_double, z: libc::c_double) -> libc::c_void;
-    fn glRotatef(angle: libc::c_float, x: libc::c_float, y: libc::c_float, z: libc::c_float) -> libc::c_void;
-    fn glScaled(x: libc::c_double, y: libc::c_double, z: libc::c_double) -> libc::c_void;
-    fn glScalef(x: libc::c_float, y: libc::c_float, z: libc::c_float) -> libc::c_void;
-    fn glTranslated(x: libc::c_double, y: libc::c_double, z: libc::c_double) -> libc::c_void;
-    fn glTranslatef(x: libc::c_float, y: libc::c_float, z: libc::c_float) -> libc::c_void;
-    fn glIsList(list: libc::c_uint) -> libc::c_uchar;
-    fn glDeleteLists(list: libc::c_uint, range: libc::c_int) -> libc::c_void;
-    fn glGenLists(range: libc::c_int) -> libc::c_uint;
-    fn glNewList(list: libc::c_uint, mode: libc::c_uint) -> libc::c_void;
-    fn glEndList() -> libc::c_void;
-    fn glCallList(list: libc::c_uint) -> libc::c_void;
-    fn glCallLists(n: libc::c_int, type_: libc::c_uint, lists: * libc::c_uchar) -> libc::c_void;
-    fn glListBase(base: libc::c_uint) -> libc::c_void;
-    fn glBegin(mode: libc::c_uint) -> libc::c_void;
-    fn glEnd() -> libc::c_void;
-    fn glVertex2d(x: libc::c_double, y: libc::c_double) -> libc::c_void;
-    fn glVertex2f(x: libc::c_float, y: libc::c_float) -> libc::c_void;
-    fn glVertex2i(x: libc::c_int, y: libc::c_int) -> libc::c_void;
-    fn glVertex2s(x: libc::c_short, y: libc::c_short) -> libc::c_void;
-    fn glVertex3d(x: libc::c_double, y: libc::c_double, z: libc::c_double) -> libc::c_void;
-    fn glVertex3f(x: libc::c_float, y: libc::c_float, z: libc::c_float) -> libc::c_void;
-    fn glVertex3i(x: libc::c_int, y: libc::c_int, z: libc::c_int) -> libc::c_void;
-    fn glVertex3s(x: libc::c_short, y: libc::c_short, z: libc::c_short) -> libc::c_void;
-    fn glVertex4d(x: libc::c_double, y: libc::c_double, z: libc::c_double, w: libc::c_double) -> libc::c_void;
-    fn glVertex4f(x: libc::c_float, y: libc::c_float, z: libc::c_float, w: libc::c_float) -> libc::c_void;
-    fn glVertex4i(x: libc::c_int, y: libc::c_int, z: libc::c_int, w: libc::c_int) -> libc::c_void;
-    fn glVertex4s(x: libc::c_short, y: libc::c_short, z: libc::c_short, w: libc::c_short) -> libc::c_void;
-    fn glVertex2dv(v: *libc::c_double) -> libc::c_void;
-    fn glVertex2fv(v: *libc::c_float) -> libc::c_void;
-    fn glVertex2iv(v: *libc::c_int) -> libc::c_void;
-    fn glVertex2sv(v: *libc::c_short) -> libc::c_void;
-    fn glVertex3dv(v: *libc::c_double) -> libc::c_void;
-    fn glVertex3fv(v: *libc::c_float) -> libc::c_void;
-    fn glVertex3iv(v: *libc::c_int) -> libc::c_void;
-    fn glVertex3sv(v: *libc::c_short) -> libc::c_void;
-    fn glVertex4dv(v: *libc::c_double) -> libc::c_void;
-    fn glVertex4fv(v: *libc::c_float) -> libc::c_void;
-    fn glVertex4iv(v: *libc::c_int) -> libc::c_void;
-    fn glVertex4sv(v: *libc::c_short) -> libc::c_void;
-    fn glNormal3b(nx: libc::c_char, ny: libc::c_char, nz: libc::c_char) -> libc::c_void;
-    fn glNormal3d(nx: libc::c_double, ny: libc::c_double, nz: libc::c_double) -> libc::c_void;
-    fn glNormal3f(nx: libc::c_float, ny: libc::c_float, nz: libc::c_float) -> libc::c_void;
-    fn glNormal3i(nx: libc::c_int, ny: libc::c_int, nz: libc::c_int) -> libc::c_void;
-    fn glNormal3s(nx: libc::c_short, ny: libc::c_short, nz: libc::c_short) -> libc::c_void;
-    fn glNormal3bv(v: *libc::c_char) -> libc::c_void;
-    fn glNormal3dv(v: *libc::c_double) -> libc::c_void;
-    fn glNormal3fv(v: *libc::c_float) -> libc::c_void;
-    fn glNormal3iv(v: *libc::c_int) -> libc::c_void;
-    fn glNormal3sv(v: *libc::c_short) -> libc::c_void;
-    fn glIndexd(c: libc::c_double) -> libc::c_void;
-    fn glIndexf(c: libc::c_float) -> libc::c_void;
-    fn glIndexi(c: libc::c_int) -> libc::c_void;
-    fn glIndexs(c: libc::c_short) -> libc::c_void;
-    fn glIndexub(c: libc::c_uchar) -> libc::c_void;
-    fn glIndexfv(c: *libc::c_float) -> libc::c_void;
-    fn glIndexiv(c: *libc::c_int) -> libc::c_void;
-    fn glIndexsv(c: *libc::c_short) -> libc::c_void;
-    fn glIndexubv(c: *libc::c_uchar) -> libc::c_void;
-    fn glColor3d(red: libc::c_double, green: libc::c_double, blue: libc::c_double) -> libc::c_void;
-    fn glColor3f(red: libc::c_float, green: libc::c_float, blue: libc::c_float) -> libc::c_void;
-    fn glColor3i(red: libc::c_int, green: libc::c_int, blue: libc::c_int) -> libc::c_void;
-    fn glColor3s(red: libc::c_short, green: libc::c_short, blue: libc::c_short) -> libc::c_void;
-    fn glColor3ub(red: libc::c_uchar, green: libc::c_uchar, blue: libc::c_uchar) -> libc::c_void;
-    fn glColor3ui(red: libc::c_uint, green: libc::c_uint, blue: libc::c_uint) -> libc::c_void;
-    fn glColor3us(red: libc::c_ushort, green: libc::c_ushort, blue: libc::c_ushort) -> libc::c_void;
-    fn glColor4b(red: libc::c_char, green: libc::c_char, blue: libc::c_char, alpha: libc::c_char) -> libc::c_void;
-    fn glColor4d(red: libc::c_double, green: libc::c_double, blue: libc::c_double, alpha: libc::c_double) -> libc::c_void;
-    fn glColor4f(red: libc::c_float, green: libc::c_float, blue: libc::c_float, alpha: libc::c_float) -> libc::c_void;
-    fn glColor4i(red: libc::c_int, green: libc::c_int, blue: libc::c_int, alpha: libc::c_int) -> libc::c_void;
-    fn glColor4s(red: libc::c_short, green: libc::c_short, blue: libc::c_short, alpha: libc::c_short) -> libc::c_void;
-    fn glColor4ub(red: libc::c_uchar, green: libc::c_uchar, blue: libc::c_uchar, alpha: libc::c_uchar) -> libc::c_void;
-    fn glColor4ui(red: libc::c_uint, green: libc::c_uint, blue: libc::c_uint, alpha: libc::c_uint) -> libc::c_void;
-    fn glColor4us(red: libc::c_ushort, green: libc::c_ushort, blue: libc::c_ushort, alpha: libc::c_ushort) -> libc::c_void;
-    fn glColor3bv(v: *libc::c_char) -> libc::c_void;
-    fn glColor3dv(v: *libc::c_double) -> libc::c_void;
-    fn glColor3fv(v: *libc::c_float) -> libc::c_void;
-    fn glColor3iv(v: *libc::c_int) -> libc::c_void;
-    fn glColor3sv(v: *libc::c_short) -> libc::c_void;
-    fn glColor3ubv(v: *libc::c_uchar) -> libc::c_void;
-    fn glColor3uiv(v: *libc::c_uint) -> libc::c_void;
-    fn glColor3usv(v: *libc::c_ushort) -> libc::c_void;
-    fn glColor4bv(v: *libc::c_char) -> libc::c_void;
-    fn glColor4dv(v: *libc::c_double) -> libc::c_void;
-    fn glColor4fv(v: *libc::c_float) -> libc::c_void;
-    fn glColor4iv(v: *libc::c_int) -> libc::c_void;
-    fn glColor4sv(v: *libc::c_short) -> libc::c_void;
-    fn glColor4ubv(v: *libc::c_uchar) -> libc::c_void;
-    fn glColor4uiv(v: *libc::c_uint) -> libc::c_void;
-    fn glColor4usv(v: *libc::c_ushort) -> libc::c_void;
-    fn glTexCoord1d(s: libc::c_double) -> libc::c_void;
-    fn glTexCoord1f(s: libc::c_float) -> libc::c_void;
-    fn glTexCoord1i(s: libc::c_int) -> libc::c_void;
-    fn glTexCoord1s(s: libc::c_short) -> libc::c_void;
-    fn glTexCoord2d(s: libc::c_double, t: libc::c_double) -> libc::c_void;
-    fn glTexCoord2f(s: libc::c_float, t: libc::c_float) -> libc::c_void;
-    fn glTexCoord2i(s: libc::c_int, t: libc::c_int) -> libc::c_void;
-    fn glTexCoord2s(s: libc::c_short, t: libc::c_short) -> libc::c_void;
-    fn glTexCoord3d(s: libc::c_double, t: libc::c_double, r: libc::c_double) -> libc::c_void;
-    fn glTexCoord3f(s: libc::c_float, t: libc::c_float, r: libc::c_float) -> libc::c_void;
-    fn glTexCoord3i(s: libc::c_int, t: libc::c_int, r: libc::c_int) -> libc::c_void;
-    fn glTexCoord3s(s: libc::c_short, t: libc::c_short, r: libc::c_short) -> libc::c_void;
-    fn glTexCoord4d(s: libc::c_double, t: libc::c_double, r: libc::c_double, q: libc::c_double) -> libc::c_void;
-    fn glTexCoord4f(s: libc::c_float, t: libc::c_float, r: libc::c_float, q: libc::c_float) -> libc::c_void;
-    fn glTexCoord4i(s: libc::c_int, t: libc::c_int, r: libc::c_int, q: libc::c_int) -> libc::c_void;
-    fn glTexCoord4s(s: libc::c_short, t: libc::c_short, r: libc::c_short, q: libc::c_short) -> libc::c_void;
-    fn glTexCoord1dv(v: *libc::c_double) -> libc::c_void;
-    fn glTexCoord1fv(v: *libc::c_float) -> libc::c_void;
-    fn glTexCoord1iv(v: *libc::c_int) -> libc::c_void;
-    fn glTexCoord1sv(v: *libc::c_short) -> libc::c_void;
-    fn glTexCoord2dv(v: *libc::c_double) -> libc::c_void;
-    fn glTexCoord2fv(v: *libc::c_float) -> libc::c_void;
-    fn glTexCoord2iv(v: *libc::c_int) -> libc::c_void;
-    fn glTexCoord2sv(v: *libc::c_short) -> libc::c_void;
-    fn glTexCoord3dv(v: *libc::c_double) -> libc::c_void;
-    fn glTexCoord3fv(v: *libc::c_float) -> libc::c_void;
-    fn glTexCoord3iv(v: *libc::c_int) -> libc::c_void;
-    fn glTexCoord3sv(v: *libc::c_short) -> libc::c_void;
-    fn glTexCoord4dv(v: *libc::c_double) -> libc::c_void;
-    fn glTexCoord4fv(v: *libc::c_float) -> libc::c_void;
-    fn glTexCoord4iv(v: *libc::c_int) -> libc::c_void;
-    fn glTexCoord4sv(v: *libc::c_short) -> libc::c_void;
-    fn glRasterPos2d(x: libc::c_double, y: libc::c_double) -> libc::c_void;
-    fn glRasterPos2f(x: libc::c_float, y: libc::c_float) -> libc::c_void;
-    fn glRasterPos2i(x: libc::c_int, y: libc::c_int) -> libc::c_void;
-    fn glRasterPos2s(x: libc::c_short, y: libc::c_short) -> libc::c_void;
-    fn glRasterPos3d(x: libc::c_double, y: libc::c_double, z: libc::c_double) -> libc::c_void;
-    fn glRasterPos3f(x: libc::c_float, y: libc::c_float, z: libc::c_float) -> libc::c_void;
-    fn glRasterPos3i(x: libc::c_int, y: libc::c_int, z: libc::c_int) -> libc::c_void;
-    fn glRasterPos3s(x: libc::c_short, y: libc::c_short, z: libc::c_short) -> libc::c_void;
-    fn glRasterPos4d(x: libc::c_double, y: libc::c_double, z: libc::c_double, w: libc::c_double) -> libc::c_void;
-    fn glRasterPos4f(x: libc::c_float, y: libc::c_float, z: libc::c_float, w: libc::c_float) -> libc::c_void;
-    fn glRasterPos4i(x: libc::c_int, y: libc::c_int, z: libc::c_int, w: libc::c_int) -> libc::c_void;
-    fn glRasterPos4s(x: libc::c_short, y: libc::c_short, z: libc::c_short, w: libc::c_short) -> libc::c_void;
-    fn glRasterPos2dv(v: *libc::c_double) -> libc::c_void;
-    fn glRasterPos2fv(v: *libc::c_float) -> libc::c_void;
-    fn glRasterPos2iv(v: *libc::c_int) -> libc::c_void;
-    fn glRasterPos2sv(v: *libc::c_short) -> libc::c_void;
-    fn glRasterPos3dv(v: *libc::c_double) -> libc::c_void;
-    fn glRasterPos3fv(v: *libc::c_float) -> libc::c_void;
-    fn glRasterPos3iv(v: *libc::c_int) -> libc::c_void;
-    fn glRasterPos3sv(v: *libc::c_short) -> libc::c_void;
-    fn glRasterPos4dv(v: *libc::c_double) -> libc::c_void;
-    fn glRasterPos4fv(v: *libc::c_float) -> libc::c_void;
-    fn glRasterPos4iv(v: *libc::c_int) -> libc::c_void;
-    fn glRasterPos4sv(v: *libc::c_short) -> libc::c_void;
-    fn glRectd(x1: libc::c_double, y1: libc::c_double, x2: libc::c_double, y2: libc::c_double) -> libc::c_void;
-    fn glRectf(x1: libc::c_float, y1: libc::c_float, x2: libc::c_float, y2: libc::c_float) -> libc::c_void;
-    fn glRecti(x1: libc::c_int, y1: libc::c_int, x2: libc::c_int, y2: libc::c_int) -> libc::c_void;
-    fn glRects(x1: libc::c_short, y1: libc::c_short, x2: libc::c_short, y2: libc::c_short) -> libc::c_void;
-    fn glRectdv(v1: *libc::c_double, v2: *libc::c_double) -> libc::c_void;
-    fn glRectfv(v1: *libc::c_float, v2: *libc::c_float) -> libc::c_void;
-    fn glRectiv(v1: *libc::c_int, v2: *libc::c_int) -> libc::c_void;
-    fn glRectsv(v1: *libc::c_short, v2: *libc::c_short) -> libc::c_void;
-    fn glVertexPointer(size: libc::c_int, type_: libc::c_uint, stride: libc::c_int, ptr: * libc::c_uchar) -> libc::c_void;
-    fn glNormalPointer(type_: libc::c_uint, stride: libc::c_int, ptr: * libc::c_uchar) -> libc::c_void;
-    fn glColorPointer(size: libc::c_int, type_: libc::c_uint, stride: libc::c_int, ptr: * libc::c_uchar) -> libc::c_void;
-    fn glIndexPointer(type_: libc::c_uint, stride: libc::c_int, ptr: * libc::c_uchar) -> libc::c_void;
-    fn glTexCoordPointer(size: libc::c_int, type_: libc::c_uint, stride: libc::c_int, ptr: * libc::c_uchar) -> libc::c_void;
-    fn glEdgeFlagPointer(stride: libc::c_int, ptr: * libc::c_uchar) -> libc::c_void;
-    fn glGetPointerv(pname: libc::c_uint, params: **libc::c_void) -> libc::c_void;
-    fn glArrayElement(i: libc::c_int) -> libc::c_void;
-    fn glDrawArrays(mode: libc::c_uint, first: libc::c_int, count: libc::c_int) -> libc::c_void;
-    fn glDrawElements(mode: libc::c_uint, count: libc::c_int, type_: libc::c_uint, indices: * libc::c_uchar) -> libc::c_void;
-    fn glInterleavedArrays(format: libc::c_uint, stride: libc::c_int, pointer: * libc::c_uchar) -> libc::c_void;
-    fn glShadeModel(mode: libc::c_uint) -> libc::c_void;
-    fn glLightf(light: libc::c_uint, pname: libc::c_uint, param: libc::c_float) -> libc::c_void;
-    fn glLighti(light: libc::c_uint, pname: libc::c_uint, param: libc::c_int) -> libc::c_void;
-    fn glLightfv(light: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glLightiv(light: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glGetLightfv(light: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glGetLightiv(light: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glLightModelf(pname: libc::c_uint, param: libc::c_float) -> libc::c_void;
-    fn glLightModeli(pname: libc::c_uint, param: libc::c_int) -> libc::c_void;
-    fn glLightModelfv(pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glLightModeliv(pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glMaterialf(face: libc::c_uint, pname: libc::c_uint, param: libc::c_float) -> libc::c_void;
-    fn glMateriali(face: libc::c_uint, pname: libc::c_uint, param: libc::c_int) -> libc::c_void;
-    fn glMaterialfv(face: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glMaterialiv(face: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glGetMaterialfv(face: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glGetMaterialiv(face: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glColorMaterial(face: libc::c_uint, mode: libc::c_uint) -> libc::c_void;
-    fn glPixelZoom(xfactor: libc::c_float, yfactor: libc::c_float) -> libc::c_void;
-    fn glPixelStoref(pname: libc::c_uint, param: libc::c_float) -> libc::c_void;
-    fn glPixelStorei(pname: libc::c_uint, param: libc::c_int) -> libc::c_void;
-    fn glPixelTransferf(pname: libc::c_uint, param: libc::c_float) -> libc::c_void;
-    fn glPixelTransferi(pname: libc::c_uint, param: libc::c_int) -> libc::c_void;
-    fn glPixelMapfv(map: libc::c_uint, mapsize: libc::c_int, values: *libc::c_float) -> libc::c_void;
-    fn glPixelMapuiv(map: libc::c_uint, mapsize: libc::c_int, values: *libc::c_uint) -> libc::c_void;
-    fn glPixelMapusv(map: libc::c_uint, mapsize: libc::c_int, values: *libc::c_ushort) -> libc::c_void;
-    fn glGetPixelMapfv(map: libc::c_uint, values: *libc::c_float) -> libc::c_void;
-    fn glGetPixelMapuiv(map: libc::c_uint, values: *libc::c_uint) -> libc::c_void;
-    fn glGetPixelMapusv(map: libc::c_uint, values: *libc::c_ushort) -> libc::c_void;
-    fn glBitmap(width: libc::c_int, height: libc::c_int, xorig: libc::c_float, yorig: libc::c_float, xmove: libc::c_float, ymove: libc::c_float, bitmap: *libc::c_uchar) -> libc::c_void;
-    fn glReadPixels(x: libc::c_int, y: libc::c_int, width: libc::c_int, height: libc::c_int, format: libc::c_uint, type_: libc::c_uint, pixels: * libc::c_uchar) -> libc::c_void;
-    fn glDrawPixels(width: libc::c_int, height: libc::c_int, format: libc::c_uint, type_: libc::c_uint, pixels: * libc::c_uchar) -> libc::c_void;
-    fn glCopyPixels(x: libc::c_int, y: libc::c_int, width: libc::c_int, height: libc::c_int, type_: libc::c_uint) -> libc::c_void;
-    fn glStencilFunc(func: libc::c_uint, ref: libc::c_int, mask: libc::c_uint) -> libc::c_void;
-    fn glStencilMask(mask: libc::c_uint) -> libc::c_void;
-    fn glStencilOp(fail_: libc::c_uint, zfail: libc::c_uint, zpass: libc::c_uint) -> libc::c_void;
-    fn glClearStencil(s: libc::c_int) -> libc::c_void;
-    fn glTexGend(coord: libc::c_uint, pname: libc::c_uint, param: libc::c_double) -> libc::c_void;
-    fn glTexGenf(coord: libc::c_uint, pname: libc::c_uint, param: libc::c_float) -> libc::c_void;
-    fn glTexGeni(coord: libc::c_uint, pname: libc::c_uint, param: libc::c_int) -> libc::c_void;
-    fn glTexGendv(coord: libc::c_uint, pname: libc::c_uint, params: *libc::c_double) -> libc::c_void;
-    fn glTexGenfv(coord: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glTexGeniv(coord: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glGetTexGendv(coord: libc::c_uint, pname: libc::c_uint, params: *libc::c_double) -> libc::c_void;
-    fn glGetTexGenfv(coord: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glGetTexGeniv(coord: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glTexEnvf(target: libc::c_uint, pname: libc::c_uint, param: libc::c_float) -> libc::c_void;
-    fn glTexEnvi(target: libc::c_uint, pname: libc::c_uint, param: libc::c_int) -> libc::c_void;
-    fn glTexEnvfv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glTexEnviv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glGetTexEnvfv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glGetTexEnviv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glTexParameterf(target: libc::c_uint, pname: libc::c_uint, param: libc::c_float) -> libc::c_void;
-    fn glTexParameteri(target: libc::c_uint, pname: libc::c_uint, param: libc::c_int) -> libc::c_void;
-    fn glTexParameterfv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glTexParameteriv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glGetTexParameterfv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glGetTexParameteriv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glGetTexLevelParameterfv(target: libc::c_uint, level: libc::c_int, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glGetTexLevelParameteriv(target: libc::c_uint, level: libc::c_int, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glTexImage1D(target: libc::c_uint, level: libc::c_int, internalFormat: libc::c_int, width: libc::c_int, border: libc::c_int, format: libc::c_uint, type_: libc::c_uint, pixels: * libc::c_uchar) -> libc::c_void;
-    fn glTexImage2D(target: libc::c_uint, level: libc::c_int, internalFormat: libc::c_int, width: libc::c_int, height: libc::c_int, border: libc::c_int, format: libc::c_uint, type_: libc::c_uint, pixels: * libc::c_uchar) -> libc::c_void;
-    fn glGetTexImage(target: libc::c_uint, level: libc::c_int, format: libc::c_uint, type_: libc::c_uint, pixels: * libc::c_uchar) -> libc::c_void;
-    fn glGenTextures(n: libc::c_int, textures: *libc::c_uint) -> libc::c_void;
-    fn glDeleteTextures(n: libc::c_int, textures: *libc::c_uint) -> libc::c_void;
-    fn glBindTexture(target: libc::c_uint, texture: libc::c_uint) -> libc::c_void;
-    fn glPrioritizeTextures(n: libc::c_int, textures: *libc::c_uint, priorities: *libc::c_float) -> libc::c_void;
-    fn glAreTexturesResident(n: libc::c_int, textures: *libc::c_uint, residences: *libc::c_uchar) -> libc::c_uchar;
-    fn glIsTexture(texture: libc::c_uint) -> libc::c_uchar;
-    fn glTexSubImage1D(target: libc::c_uint, level: libc::c_int, xoffset: libc::c_int, width: libc::c_int, format: libc::c_uint, type_: libc::c_uint, pixels: * libc::c_uchar) -> libc::c_void;
-    fn glTexSubImage2D(target: libc::c_uint, level: libc::c_int, xoffset: libc::c_int, yoffset: libc::c_int, width: libc::c_int, height: libc::c_int, format: libc::c_uint, type_: libc::c_uint, pixels: * libc::c_uchar) -> libc::c_void;
-    fn glCopyTexImage1D(target: libc::c_uint, level: libc::c_int, internalformat: libc::c_uint, x: libc::c_int, y: libc::c_int, width: libc::c_int, border: libc::c_int) -> libc::c_void;
-    fn glCopyTexImage2D(target: libc::c_uint, level: libc::c_int, internalformat: libc::c_uint, x: libc::c_int, y: libc::c_int, width: libc::c_int, height: libc::c_int, border: libc::c_int) -> libc::c_void;
-    fn glCopyTexSubImage1D(target: libc::c_uint, level: libc::c_int, xoffset: libc::c_int, x: libc::c_int, y: libc::c_int, width: libc::c_int) -> libc::c_void;
-    fn glCopyTexSubImage2D(target: libc::c_uint, level: libc::c_int, xoffset: libc::c_int, yoffset: libc::c_int, x: libc::c_int, y: libc::c_int, width: libc::c_int, height: libc::c_int) -> libc::c_void;
-    fn glMap1d(target: libc::c_uint, u1: libc::c_double, u2: libc::c_double, stride: libc::c_int, order: libc::c_int, points: *libc::c_double) -> libc::c_void;
-    fn glMap1f(target: libc::c_uint, u1: libc::c_float, u2: libc::c_float, stride: libc::c_int, order: libc::c_int, points: *libc::c_float) -> libc::c_void;
-    fn glMap2d(target: libc::c_uint, u1: libc::c_double, u2: libc::c_double, ustride: libc::c_int, uorder: libc::c_int, v1: libc::c_double, v2: libc::c_double, vstride: libc::c_int, vorder: libc::c_int, points: *libc::c_double) -> libc::c_void;
-    fn glMap2f(target: libc::c_uint, u1: libc::c_float, u2: libc::c_float, ustride: libc::c_int, uorder: libc::c_int, v1: libc::c_float, v2: libc::c_float, vstride: libc::c_int, vorder: libc::c_int, points: *libc::c_float) -> libc::c_void;
-    fn glGetMapdv(target: libc::c_uint, query: libc::c_uint, v: *libc::c_double) -> libc::c_void;
-    fn glGetMapfv(target: libc::c_uint, query: libc::c_uint, v: *libc::c_float) -> libc::c_void;
-    fn glGetMapiv(target: libc::c_uint, query: libc::c_uint, v: *libc::c_int) -> libc::c_void;
-    fn glEvalCoord1d(u: libc::c_double) -> libc::c_void;
-    fn glEvalCoord1f(u: libc::c_float) -> libc::c_void;
-    fn glEvalCoord1dv(u: *libc::c_double) -> libc::c_void;
-    fn glEvalCoord1fv(u: *libc::c_float) -> libc::c_void;
-    fn glEvalCoord2d(u: libc::c_double, v: libc::c_double) -> libc::c_void;
-    fn glEvalCoord2f(u: libc::c_float, v: libc::c_float) -> libc::c_void;
-    fn glEvalCoord2dv(u: *libc::c_double) -> libc::c_void;
-    fn glEvalCoord2fv(u: *libc::c_float) -> libc::c_void;
-    fn glMapGrid1d(un: libc::c_int, u1: libc::c_double, u2: libc::c_double) -> libc::c_void;
-    fn glMapGrid1f(un: libc::c_int, u1: libc::c_float, u2: libc::c_float) -> libc::c_void;
-    fn glMapGrid2d(un: libc::c_int, u1: libc::c_double, u2: libc::c_double, vn: libc::c_int, v1: libc::c_double, v2: libc::c_double) -> libc::c_void;
-    fn glMapGrid2f(un: libc::c_int, u1: libc::c_float, u2: libc::c_float, vn: libc::c_int, v1: libc::c_float, v2: libc::c_float) -> libc::c_void;
-    fn glEvalPoint1(i: libc::c_int) -> libc::c_void;
-    fn glEvalPoint2(i: libc::c_int, j: libc::c_int) -> libc::c_void;
-    fn glEvalMesh1(mode: libc::c_uint, i1: libc::c_int, i2: libc::c_int) -> libc::c_void;
-    fn glEvalMesh2(mode: libc::c_uint, i1: libc::c_int, i2: libc::c_int, j1: libc::c_int, j2: libc::c_int) -> libc::c_void;
-    fn glFogf(pname: libc::c_uint, param: libc::c_float) -> libc::c_void;
-    fn glFogi(pname: libc::c_uint, param: libc::c_int) -> libc::c_void;
-    fn glFogfv(pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glFogiv(pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glFeedbackBuffer(size: libc::c_int, type_: libc::c_uint, buffer: *libc::c_float) -> libc::c_void;
-    fn glPassThrough(token: libc::c_float) -> libc::c_void;
-    fn glSelectBuffer(size: libc::c_int, buffer: *libc::c_uint) -> libc::c_void;
-    fn glInitNames() -> libc::c_void;
-    fn glLoadName(name: libc::c_uint) -> libc::c_void;
-    fn glPushName(name: libc::c_uint) -> libc::c_void;
-    fn glPopName() -> libc::c_void;
-    fn glDrawRangeElements(mode: libc::c_uint, start: libc::c_uint, end: libc::c_uint, count: libc::c_int, type_: libc::c_uint, indices: * libc::c_uchar) -> libc::c_void;
-    fn glTexImage3D(target: libc::c_uint, level: libc::c_int, internalFormat: libc::c_int, width: libc::c_int, height: libc::c_int, depth: libc::c_int, border: libc::c_int, format: libc::c_uint, type_: libc::c_uint, pixels: * libc::c_uchar) -> libc::c_void;
-    fn glTexSubImage3D(target: libc::c_uint, level: libc::c_int, xoffset: libc::c_int, yoffset: libc::c_int, zoffset: libc::c_int, width: libc::c_int, height: libc::c_int, depth: libc::c_int, format: libc::c_uint, type_: libc::c_uint, pixels: * libc::c_uchar) -> libc::c_void;
-    fn glCopyTexSubImage3D(target: libc::c_uint, level: libc::c_int, xoffset: libc::c_int, yoffset: libc::c_int, zoffset: libc::c_int, x: libc::c_int, y: libc::c_int, width: libc::c_int, height: libc::c_int) -> libc::c_void;
-    fn glColorTable(target: libc::c_uint, internalformat: libc::c_uint, width: libc::c_int, format: libc::c_uint, type_: libc::c_uint, table: * libc::c_uchar) -> libc::c_void;
-    fn glColorSubTable(target: libc::c_uint, start: libc::c_int, count: libc::c_int, format: libc::c_uint, type_: libc::c_uint, data: * libc::c_uchar) -> libc::c_void;
-    fn glColorTableParameteriv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glColorTableParameterfv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glCopyColorSubTable(target: libc::c_uint, start: libc::c_int, x: libc::c_int, y: libc::c_int, width: libc::c_int) -> libc::c_void;
-    fn glCopyColorTable(target: libc::c_uint, internalformat: libc::c_uint, x: libc::c_int, y: libc::c_int, width: libc::c_int) -> libc::c_void;
-    fn glGetColorTable(target: libc::c_uint, format: libc::c_uint, type_: libc::c_uint, table: * libc::c_uchar) -> libc::c_void;
-    fn glGetColorTableParameterfv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glGetColorTableParameteriv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glBlendEquation(mode: libc::c_uint) -> libc::c_void;
-    fn glBlendColor(red: libc::c_float, green: libc::c_float, blue: libc::c_float, alpha: libc::c_float) -> libc::c_void;
-    fn glHistogram(target: libc::c_uint, width: libc::c_int, internalformat: libc::c_uint, sink: libc::c_uchar) -> libc::c_void;
-    fn glResetHistogram(target: libc::c_uint) -> libc::c_void;
-    fn glGetHistogram(target: libc::c_uint, reset: libc::c_uchar, format: libc::c_uint, type_: libc::c_uint, values: * libc::c_uchar) -> libc::c_void;
-    fn glGetHistogramParameterfv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glGetHistogramParameteriv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glMinmax(target: libc::c_uint, internalformat: libc::c_uint, sink: libc::c_uchar) -> libc::c_void;
-    fn glResetMinmax(target: libc::c_uint) -> libc::c_void;
-    fn glGetMinmax(target: libc::c_uint, reset: libc::c_uchar, format: libc::c_uint, types: libc::c_uint, values: * libc::c_uchar) -> libc::c_void;
-    fn glGetMinmaxParameterfv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glGetMinmaxParameteriv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glConvolutionFilter1D(target: libc::c_uint, internalformat: libc::c_uint, width: libc::c_int, format: libc::c_uint, type_: libc::c_uint, image: * libc::c_uchar) -> libc::c_void;
-    fn glConvolutionFilter2D(target: libc::c_uint, internalformat: libc::c_uint, width: libc::c_int, height: libc::c_int, format: libc::c_uint, type_: libc::c_uint, image: * libc::c_uchar) -> libc::c_void;
-    fn glConvolutionParameterf(target: libc::c_uint, pname: libc::c_uint, params: libc::c_float) -> libc::c_void;
-    fn glConvolutionParameterfv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glConvolutionParameteri(target: libc::c_uint, pname: libc::c_uint, params: libc::c_int) -> libc::c_void;
-    fn glConvolutionParameteriv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glCopyConvolutionFilter1D(target: libc::c_uint, internalformat: libc::c_uint, x: libc::c_int, y: libc::c_int, width: libc::c_int) -> libc::c_void;
-    fn glCopyConvolutionFilter2D(target: libc::c_uint, internalformat: libc::c_uint, x: libc::c_int, y: libc::c_int, width: libc::c_int, height: libc::c_int) -> libc::c_void;
-    fn glGetConvolutionFilter(target: libc::c_uint, format: libc::c_uint, type_: libc::c_uint, image: * libc::c_uchar) -> libc::c_void;
-    fn glGetConvolutionParameterfv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
-    fn glGetConvolutionParameteriv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
-    fn glSeparableFilter2D(target: libc::c_uint, internalformat: libc::c_uint, width: libc::c_int, height: libc::c_int, format: libc::c_uint, type_: libc::c_uint, row: * libc::c_uchar, column: * libc::c_uchar) -> libc::c_void;
-    fn glGetSeparableFilter(target: libc::c_uint, format: libc::c_uint, type_: libc::c_uint, row: * libc::c_uchar, column: * libc::c_uchar, span: * libc::c_uchar) -> libc::c_void;
-    fn glActiveTexture(texture: libc::c_uint) -> libc::c_void;
-    fn glClientActiveTexture(texture: libc::c_uint) -> libc::c_void;
-    fn glCompressedTexImage1D(target: libc::c_uint, level: libc::c_int, internalformat: libc::c_uint, width: libc::c_int, border: libc::c_int, imageSize: libc::c_int, data: * libc::c_uchar) -> libc::c_void;
-    fn glCompressedTexImage2D(target: libc::c_uint, level: libc::c_int, internalformat: libc::c_uint, width: libc::c_int, height: libc::c_int, border: libc::c_int, imageSize: libc::c_int, data: * libc::c_uchar) -> libc::c_void;
-    fn glCompressedTexImage3D(target: libc::c_uint, level: libc::c_int, internalformat: libc::c_uint, width: libc::c_int, height: libc::c_int, depth: libc::c_int, border: libc::c_int, imageSize: libc::c_int, data: * libc::c_uchar) -> libc::c_void;
-    fn glCompressedTexSubImage1D(target: libc::c_uint, level: libc::c_int, xoffset: libc::c_int, width: libc::c_int, format: libc::c_uint, imageSize: libc::c_int, data: * libc::c_uchar) -> libc::c_void;
-    fn glCompressedTexSubImage2D(target: libc::c_uint, level: libc::c_int, xoffset: libc::c_int, yoffset: libc::c_int, width: libc::c_int, height: libc::c_int, format: libc::c_uint, imageSize: libc::c_int, data: * libc::c_uchar) -> libc::c_void;
-    fn glCompressedTexSubImage3D(target: libc::c_uint, level: libc::c_int, xoffset: libc::c_int, yoffset: libc::c_int, zoffset: libc::c_int, width: libc::c_int, height: libc::c_int, depth: libc::c_int, format: libc::c_uint, imageSize: libc::c_int, data: * libc::c_uchar) -> libc::c_void;
-    fn glGetCompressedTexImage(target: libc::c_uint, lod: libc::c_int, img: * libc::c_uchar) -> libc::c_void;
-    fn glMultiTexCoord1d(target: libc::c_uint, s: libc::c_double) -> libc::c_void;
-    fn glMultiTexCoord1dv(target: libc::c_uint, v: *libc::c_double) -> libc::c_void;
-    fn glMultiTexCoord1f(target: libc::c_uint, s: libc::c_float) -> libc::c_void;
-    fn glMultiTexCoord1fv(target: libc::c_uint, v: *libc::c_float) -> libc::c_void;
-    fn glMultiTexCoord1i(target: libc::c_uint, s: libc::c_int) -> libc::c_void;
-    fn glMultiTexCoord1iv(target: libc::c_uint, v: *libc::c_int) -> libc::c_void;
-    fn glMultiTexCoord1s(target: libc::c_uint, s: libc::c_short) -> libc::c_void;
-    fn glMultiTexCoord1sv(target: libc::c_uint, v: *libc::c_short) -> libc::c_void;
-    fn glMultiTexCoord2d(target: libc::c_uint, s: libc::c_double, t: libc::c_double) -> libc::c_void;
-    fn glMultiTexCoord2dv(target: libc::c_uint, v: *libc::c_double) -> libc::c_void;
-    fn glMultiTexCoord2f(target: libc::c_uint, s: libc::c_float, t: libc::c_float) -> libc::c_void;
-    fn glMultiTexCoord2fv(target: libc::c_uint, v: *libc::c_float) -> libc::c_void;
-    fn glMultiTexCoord2i(target: libc::c_uint, s: libc::c_int, t: libc::c_int) -> libc::c_void;
-    fn glMultiTexCoord2iv(target: libc::c_uint, v: *libc::c_int) -> libc::c_void;
-    fn glMultiTexCoord2s(target: libc::c_uint, s: libc::c_short, t: libc::c_short) -> libc::c_void;
-    fn glMultiTexCoord2sv(target: libc::c_uint, v: *libc::c_short) -> libc::c_void;
-    fn glMultiTexCoord3d(target: libc::c_uint, s: libc::c_double, t: libc::c_double, r: libc::c_double) -> libc::c_void;
-    fn glMultiTexCoord3dv(target: libc::c_uint, v: *libc::c_double) -> libc::c_void;
-    fn glMultiTexCoord3f(target: libc::c_uint, s: libc::c_float, t: libc::c_float, r: libc::c_float) -> libc::c_void;
-    fn glMultiTexCoord3fv(target: libc::c_uint, v: *libc::c_float) -> libc::c_void;
-    fn glMultiTexCoord3i(target: libc::c_uint, s: libc::c_int, t: libc::c_int, r: libc::c_int) -> libc::c_void;
-    fn glMultiTexCoord3iv(target: libc::c_uint, v: *libc::c_int) -> libc::c_void;
-    fn glMultiTexCoord3s(target: libc::c_uint, s: libc::c_short, t: libc::c_short, r: libc::c_short) -> libc::c_void;
-    fn glMultiTexCoord3sv(target: libc::c_uint, v: *libc::c_short) -> libc::c_void;
-    fn glMultiTexCoord4d(target: libc::c_uint, s: libc::c_double, t: libc::c_double, r: libc::c_double, q: libc::c_double) -> libc::c_void;
-    fn glMultiTexCoord4dv(target: libc::c_uint, v: *libc::c_double) -> libc::c_void;
-    fn glMultiTexCoord4f(target: libc::c_uint, s: libc::c_float, t: libc::c_float, r: libc::c_float, q: libc::c_float) -> libc::c_void;
-    fn glMultiTexCoord4fv(target: libc::c_uint, v: *libc::c_float) -> libc::c_void;
-    fn glMultiTexCoord4i(target: libc::c_uint, s: libc::c_int, t: libc::c_int, r: libc::c_int, q: libc::c_int) -> libc::c_void;
-    fn glMultiTexCoord4iv(target: libc::c_uint, v: *libc::c_int) -> libc::c_void;
-    fn glMultiTexCoord4s(target: libc::c_uint, s: libc::c_short, t: libc::c_short, r: libc::c_short, q: libc::c_short) -> libc::c_void;
-    fn glMultiTexCoord4sv(target: libc::c_uint, v: *libc::c_short) -> libc::c_void;
-    fn glLoadTransposeMatrixd(m: libc::c_double) -> libc::c_void;
-    fn glLoadTransposeMatrixf(m: libc::c_float) -> libc::c_void;
-    fn glMultTransposeMatrixd(m: libc::c_double) -> libc::c_void;
-    fn glMultTransposeMatrixf(m: libc::c_float) -> libc::c_void;
-    fn glSampleCoverage(value: libc::c_float, invert: libc::c_uchar) -> libc::c_void;
+extern mod GL {
     fn glAttachShader(program: libc::c_uint, shader: libc::c_uint) -> libc::c_void;
     fn glBindAttribLocation(program: libc::c_uint, index: libc::c_uint, name: *libc::c_uchar) -> libc::c_void;
     fn glBindBuffer(target: libc::c_uint, buffer: libc::c_uint) -> libc::c_void;
     fn glBindFramebuffer(target: libc::c_uint, framebuffer: libc::c_uint) -> libc::c_void;
     fn glBindRenderbuffer(target: libc::c_uint, renderbuffer: libc::c_uint) -> libc::c_void;
+    fn glBindTexture(target: libc::c_uint, texture: libc::c_uint) -> libc::c_void;
+    fn glBlendColor(red: libc::c_float, green: libc::c_float, blue: libc::c_float, alpha: libc::c_float) -> libc::c_void;
+    fn glBlendEquation(mode: libc::c_uint) -> libc::c_void;
     fn glBlendEquationSeparate(modeRGB: libc::c_uint, modeAlpha: libc::c_uint) -> libc::c_void;
+    fn glBlendFunc(sfactor: libc::c_uint, dfactor: libc::c_uint) -> libc::c_void;
     fn glBlendFuncSeparate(srcRGB: libc::c_uint, dstRGB: libc::c_uint, srcAlpha: libc::c_uint, dstAlpha: libc::c_uint) -> libc::c_void;
     fn glBufferData(target: libc::c_uint, size: libc::ptrdiff_t, data: * libc::c_uchar, usage: libc::c_uint) -> libc::c_void;
     fn glBufferSubData(target: libc::c_uint, offset: libc::intptr_t, size: libc::ptrdiff_t, data: * libc::c_uchar) -> libc::c_void;
     fn glCheckFramebufferStatus(target: libc::c_uint) -> libc::c_uint;
+    fn glClear(mask: libc::c_uint) -> libc::c_void;
+    fn glClearColor(red: libc::c_float, green: libc::c_float, blue: libc::c_float, alpha: libc::c_float) -> libc::c_void;
     fn glClearDepthf(depth: libc::c_float) -> libc::c_void;
+    fn glClearStencil(s: libc::c_int) -> libc::c_void;
+    fn glColorMask(red: libc::c_uchar, green: libc::c_uchar, blue: libc::c_uchar, alpha: libc::c_uchar) -> libc::c_void;
     fn glCompileShader(shader: libc::c_uint) -> libc::c_void;
+    fn glCompressedTexImage2D(target: libc::c_uint, level: libc::c_int, internalformat: libc::c_uint, width: libc::c_int, height: libc::c_int, border: libc::c_int, imageSize: libc::c_int, data: * libc::c_uchar) -> libc::c_void;
+    fn glCompressedTexSubImage2D(target: libc::c_uint, level: libc::c_int, xoffset: libc::c_int, yoffset: libc::c_int, width: libc::c_int, height: libc::c_int, format: libc::c_uint, imageSize: libc::c_int, data: * libc::c_uchar) -> libc::c_void;
+    fn glCopyTexImage2D(target: libc::c_uint, level: libc::c_int, internalformat: libc::c_uint, x: libc::c_int, y: libc::c_int, width: libc::c_int, height: libc::c_int, border: libc::c_int) -> libc::c_void;
+    fn glCopyTexSubImage2D(target: libc::c_uint, level: libc::c_int, xoffset: libc::c_int, yoffset: libc::c_int, x: libc::c_int, y: libc::c_int, width: libc::c_int, height: libc::c_int) -> libc::c_void;
     fn glCreateProgram() -> libc::c_uint;
     fn glCreateShader(type_: libc::c_uint) -> libc::c_uint;
+    fn glCullFace(mode: libc::c_uint) -> libc::c_void;
     fn glDeleteBuffers(n: libc::c_int, buffers: *libc::c_uint) -> libc::c_void;
     fn glDeleteFramebuffers(n: libc::c_int, framebuffers: *libc::c_uint) -> libc::c_void;
     fn glDeleteProgram(program: libc::c_uint) -> libc::c_void;
     fn glDeleteRenderbuffers(n: libc::c_int, renderbuffers: *libc::c_uint) -> libc::c_void;
     fn glDeleteShader(shader: libc::c_uint) -> libc::c_void;
+    fn glDeleteTextures(n: libc::c_int, textures: *libc::c_uint) -> libc::c_void;
+    fn glDepthFunc(func: libc::c_uint) -> libc::c_void;
+    fn glDepthMask(flag: libc::c_uchar) -> libc::c_void;
     fn glDepthRangef(zNear: libc::c_float, zFar: libc::c_float) -> libc::c_void;
     fn glDetachShader(program: libc::c_uint, shader: libc::c_uint) -> libc::c_void;
+    fn glDisable(cap: libc::c_uint) -> libc::c_void;
     fn glDisableVertexAttribArray(index: libc::c_uint) -> libc::c_void;
+    fn glDrawArrays(mode: libc::c_uint, first: libc::c_int, count: libc::c_int) -> libc::c_void;
+    fn glDrawElements(mode: libc::c_uint, count: libc::c_int, type_: libc::c_uint, indices: * libc::c_uchar) -> libc::c_void;
+    fn glEnable(cap: libc::c_uint) -> libc::c_void;
     fn glEnableVertexAttribArray(index: libc::c_uint) -> libc::c_void;
+    fn glFinish() -> libc::c_void;
+    fn glFlush() -> libc::c_void;
     fn glFramebufferRenderbuffer(target: libc::c_uint, attachment: libc::c_uint, renderbuffertarget: libc::c_uint, renderbuffer: libc::c_uint) -> libc::c_void;
     fn glFramebufferTexture2D(target: libc::c_uint, attachment: libc::c_uint, textarget: libc::c_uint, texture: libc::c_uint, level: libc::c_int) -> libc::c_void;
+    fn glFrontFace(mode: libc::c_uint) -> libc::c_void;
     fn glGenBuffers(n: libc::c_int, buffers: *libc::c_uint) -> libc::c_void;
     fn glGenerateMipmap(target: libc::c_uint) -> libc::c_void;
     fn glGenFramebuffers(n: libc::c_int, framebuffers: *libc::c_uint) -> libc::c_void;
     fn glGenRenderbuffers(n: libc::c_int, renderbuffers: *libc::c_uint) -> libc::c_void;
+    fn glGenTextures(n: libc::c_int, textures: *libc::c_uint) -> libc::c_void;
     fn glGetActiveAttrib(program: libc::c_uint, index: libc::c_uint, bufsize: libc::c_int, length: *libc::c_int, size: *libc::c_int, type_: *libc::c_uint, name: *libc::c_uchar) -> libc::c_void;
     fn glGetActiveUniform(program: libc::c_uint, index: libc::c_uint, bufsize: libc::c_int, length: *libc::c_int, size: *libc::c_int, type_: *libc::c_uint, name: *libc::c_uchar) -> libc::c_void;
     fn glGetAttachedShaders(program: libc::c_uint, maxcount: libc::c_int, count: *libc::c_int, shaders: *libc::c_uint) -> libc::c_void;
     fn glGetAttribLocation(program: libc::c_uint, name: *libc::c_uchar) -> libc::c_int;
     fn glGetBooleanv(pname: libc::c_uint, params: *libc::c_uchar) -> libc::c_void;
     fn glGetBufferParameteriv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
+    fn glGetError() -> libc::c_uint;
+    fn glGetFloatv(pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
     fn glGetFramebufferAttachmentParameteriv(target: libc::c_uint, attachment: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
+    fn glGetIntegerv(pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
     fn glGetProgramiv(program: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
     fn glGetProgramInfoLog(program: libc::c_uint, bufsize: libc::c_int, length: *libc::c_int, infolog: *libc::c_uchar) -> libc::c_void;
     fn glGetRenderbufferParameteriv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
     fn glGetShaderInfoLog(shader: libc::c_uint, bufsize: libc::c_int, length: *libc::c_int, infolog: *libc::c_uchar) -> libc::c_void;
     fn glGetShaderPrecisionFormat(shadertype: libc::c_uint, precisiontype: libc::c_uint, range: *libc::c_int, precision: *libc::c_int) -> libc::c_void;
     fn glGetShaderSource(shader: libc::c_uint, bufsize: libc::c_int, length: *libc::c_int, source: *libc::c_uchar) -> libc::c_void;
+    fn glGetString(name: libc::c_uint) -> *libc::c_uchar;
+    fn glGetTexParameterfv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
+    fn glGetTexParameteriv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
     fn glGetUniformfv(program: libc::c_uint, location: libc::c_int, params: *libc::c_float) -> libc::c_void;
     fn glGetUniformiv(program: libc::c_uint, location: libc::c_int, params: *libc::c_int) -> libc::c_void;
     fn glGetUniformLocation(program: libc::c_uint, name: *libc::c_uchar) -> libc::c_int;
     fn glGetVertexAttribfv(index: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
     fn glGetVertexAttribiv(index: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
     fn glGetVertexAttribPointerv(index: libc::c_uint, pname: libc::c_uint, pointer: **libc::c_void) -> libc::c_void;
+    fn glHint(target: libc::c_uint, mode: libc::c_uint) -> libc::c_void;
     fn glIsBuffer(buffer: libc::c_uint) -> libc::c_uchar;
+    fn glIsEnabled(cap: libc::c_uint) -> libc::c_uchar;
     fn glIsFramebuffer(framebuffer: libc::c_uint) -> libc::c_uchar;
     fn glIsProgram(program: libc::c_uint) -> libc::c_uchar;
     fn glIsRenderbuffer(renderbuffer: libc::c_uint) -> libc::c_uchar;
     fn glIsShader(shader: libc::c_uint) -> libc::c_uchar;
+    fn glIsTexture(texture: libc::c_uint) -> libc::c_uchar;
+    fn glLineWidth(width: libc::c_float) -> libc::c_void;
     fn glLinkProgram(program: libc::c_uint) -> libc::c_void;
+    fn glPixelStorei(pname: libc::c_uint, param: libc::c_int) -> libc::c_void;
+    fn glPolygonOffset(factor: libc::c_float, units: libc::c_float) -> libc::c_void;
+    fn glReadPixels(x: libc::c_int, y: libc::c_int, width: libc::c_int, height: libc::c_int, format: libc::c_uint, type_: libc::c_uint, pixels: * libc::c_uchar) -> libc::c_void;
     fn glReleaseShaderCompiler() -> libc::c_void;
     fn glRenderbufferStorage(target: libc::c_uint, internalformat: libc::c_uint, width: libc::c_int, height: libc::c_int) -> libc::c_void;
+    fn glSampleCoverage(value: libc::c_float, invert: libc::c_uchar) -> libc::c_void;
+    fn glScissor(x: libc::c_int, y: libc::c_int, width: libc::c_int, height: libc::c_int) -> libc::c_void;
     fn glShaderBinary(n: libc::c_int, shaders: *libc::c_uint, binaryformat: libc::c_uint, binary: * libc::c_uchar, length: libc::c_int) -> libc::c_void;
     fn glShaderSource(shader: libc::c_uint, count: libc::c_int, string: **libc::c_uchar, length: *libc::c_int) -> libc::c_void;
+    fn glStencilFunc(func: libc::c_uint, ref: libc::c_int, mask: libc::c_uint) -> libc::c_void;
     fn glStencilFuncSeparate(face: libc::c_uint, func: libc::c_uint, ref: libc::c_int, mask: libc::c_uint) -> libc::c_void;
+    fn glStencilMask(mask: libc::c_uint) -> libc::c_void;
     fn glStencilMaskSeparate(face: libc::c_uint, mask: libc::c_uint) -> libc::c_void;
+    fn glStencilOp(fail_: libc::c_uint, zfail: libc::c_uint, zpass: libc::c_uint) -> libc::c_void;
     fn glStencilOpSeparate(face: libc::c_uint, fail_: libc::c_uint, zfail: libc::c_uint, zpass: libc::c_uint) -> libc::c_void;
+    fn glTexImage2D(target: libc::c_uint, level: libc::c_int, internalformat: libc::c_int, width: libc::c_int, height: libc::c_int, border: libc::c_int, format: libc::c_uint, type_: libc::c_uint, pixels: * libc::c_uchar) -> libc::c_void;
+    fn glTexParameterf(target: libc::c_uint, pname: libc::c_uint, param: libc::c_float) -> libc::c_void;
+    fn glTexParameterfv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_float) -> libc::c_void;
+    fn glTexParameteri(target: libc::c_uint, pname: libc::c_uint, param: libc::c_int) -> libc::c_void;
+    fn glTexParameteriv(target: libc::c_uint, pname: libc::c_uint, params: *libc::c_int) -> libc::c_void;
+    fn glTexSubImage2D(target: libc::c_uint, level: libc::c_int, xoffset: libc::c_int, yoffset: libc::c_int, width: libc::c_int, height: libc::c_int, format: libc::c_uint, type_: libc::c_uint, pixels: * libc::c_uchar) -> libc::c_void;
     fn glUniform1f(location: libc::c_int, x: libc::c_float) -> libc::c_void;
     fn glUniform1fv(location: libc::c_int, count: libc::c_int, v: *libc::c_float) -> libc::c_void;
     fn glUniform1i(location: libc::c_int, x: libc::c_int) -> libc::c_void;
     fn glVertexAttrib4f(indx: libc::c_uint, x: libc::c_float, y: libc::c_float, z: libc::c_float, w: libc::c_float) -> libc::c_void;
     fn glVertexAttrib4fv(indx: libc::c_uint, values: *libc::c_float) -> libc::c_void;
     fn glVertexAttribPointer(indx: libc::c_uint, size: libc::c_int, type_: libc::c_uint, normalized: libc::c_uchar, stride: libc::c_int, ptr: * libc::c_uchar) -> libc::c_void;
-}
-fn glClearColor(red: float, green: float, blue: float, alpha: float) -> libc::c_void unsafe {
-    ret GL::glClearColor(red as libc::c_float, green as libc::c_float, blue as libc::c_float, alpha as libc::c_float);
-}
-fn glClear(mask: uint) -> libc::c_void unsafe {
-    ret GL::glClear(mask as libc::c_uint);
-}
-fn glIndexMask(mask: uint) -> libc::c_void unsafe {
-    ret GL::glIndexMask(mask as libc::c_uint);
-}
-fn glColorMask(red: uint, green: uint, blue: uint, alpha: uint) -> libc::c_void unsafe {
-    ret GL::glColorMask(red as libc::c_uchar, green as libc::c_uchar, blue as libc::c_uchar, alpha as libc::c_uchar);
-}
-fn glAlphaFunc(func: uint, ref: float) -> libc::c_void unsafe {
-    ret GL::glAlphaFunc(func as libc::c_uint, ref as libc::c_float);
-}
-fn glBlendFunc(sfactor: uint, dfactor: uint) -> libc::c_void unsafe {
-    ret GL::glBlendFunc(sfactor as libc::c_uint, dfactor as libc::c_uint);
-}
-fn glLogicOp(opcode: uint) -> libc::c_void unsafe {
-    ret GL::glLogicOp(opcode as libc::c_uint);
-}
-fn glCullFace(mode: uint) -> libc::c_void unsafe {
-    ret GL::glCullFace(mode as libc::c_uint);
-}
-fn glFrontFace(mode: uint) -> libc::c_void unsafe {
-    ret GL::glFrontFace(mode as libc::c_uint);
-}
-fn glPointSize(size: float) -> libc::c_void unsafe {
-    ret GL::glPointSize(size as libc::c_float);
-}
-fn glLineWidth(width: float) -> libc::c_void unsafe {
-    ret GL::glLineWidth(width as libc::c_float);
-}
-fn glLineStipple(factor: int, pattern: uint) -> libc::c_void unsafe {
-    ret GL::glLineStipple(factor as libc::c_int, pattern as libc::c_ushort);
-}
-fn glPolygonMode(face: uint, mode: uint) -> libc::c_void unsafe {
-    ret GL::glPolygonMode(face as libc::c_uint, mode as libc::c_uint);
-}
-fn glPolygonOffset(factor: float, units: float) -> libc::c_void unsafe {
-    ret GL::glPolygonOffset(factor as libc::c_float, units as libc::c_float);
-}
-fn glPolygonStipple(mask: str) -> libc::c_void unsafe {
-    let mask_c_str = str::as_c_str(mask) { |mask_| mask_ };
-    ret GL::glPolygonStipple(mask_c_str as *libc::c_uchar);
-}
-fn glGetPolygonStipple(mask: str) -> libc::c_void unsafe {
-    let mask_c_str = str::as_c_str(mask) { |mask_| mask_ };
-    ret GL::glGetPolygonStipple(mask_c_str as *libc::c_uchar);
-}
-fn glEdgeFlag(flag: uint) -> libc::c_void unsafe {
-    ret GL::glEdgeFlag(flag as libc::c_uchar);
-}
-fn glEdgeFlagv(flag: str) -> libc::c_void unsafe {
-    let flag_c_str = str::as_c_str(flag) { |flag_| flag_ };
-    ret GL::glEdgeFlagv(flag_c_str as *libc::c_uchar);
-}
-fn glScissor(x: int, y: int, width: int, height: int) -> libc::c_void unsafe {
-    ret GL::glScissor(x as libc::c_int, y as libc::c_int, width as libc::c_int, height as libc::c_int);
-}
-fn glClipPlane(plane: uint, equation: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glClipPlane(plane as libc::c_uint, equation);
-}
-fn glGetClipPlane(plane: uint, equation: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glGetClipPlane(plane as libc::c_uint, equation);
-}
-fn glDrawBuffer(mode: uint) -> libc::c_void unsafe {
-    ret GL::glDrawBuffer(mode as libc::c_uint);
-}
-fn glReadBuffer(mode: uint) -> libc::c_void unsafe {
-    ret GL::glReadBuffer(mode as libc::c_uint);
-}
-fn glEnable(cap: uint) -> libc::c_void unsafe {
-    ret GL::glEnable(cap as libc::c_uint);
-}
-fn glDisable(cap: uint) -> libc::c_void unsafe {
-    ret GL::glDisable(cap as libc::c_uint);
-}
-fn glIsEnabled(cap: uint) -> uint unsafe {
-    ret GL::glIsEnabled(cap as libc::c_uint) as uint;
-}
-fn glEnableClientState(cap: uint) -> libc::c_void unsafe {
-    ret GL::glEnableClientState(cap as libc::c_uint);
-}
-fn glGetDoublev(pname: uint, params: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glGetDoublev(pname as libc::c_uint, params);
-}
-fn glGetFloatv(pname: uint, params: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glGetFloatv(pname as libc::c_uint, params);
-}
-fn glGetIntegerv(pname: uint, params: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glGetIntegerv(pname as libc::c_uint, params);
-}
-fn glPushAttrib(mask: uint) -> libc::c_void unsafe {
-    ret GL::glPushAttrib(mask as libc::c_uint);
-}
-fn glPopAttrib() -> libc::c_void unsafe {
-    ret GL::glPopAttrib();
-}
-fn glPushClientAttrib(mask: uint) -> libc::c_void unsafe {
-    ret GL::glPushClientAttrib(mask as libc::c_uint);
-}
-fn glGetError() -> uint unsafe {
-    ret GL::glGetError() as uint;
-}
-fn glGetString(name: uint) -> str unsafe {
-    ret str::unsafe::from_buf(GL::glGetString(name as libc::c_uint));
-}
-fn glFinish() -> libc::c_void unsafe {
-    ret GL::glFinish();
-}
-fn glFlush() -> libc::c_void unsafe {
-    ret GL::glFlush();
-}
-fn glHint(target: uint, mode: uint) -> libc::c_void unsafe {
-    ret GL::glHint(target as libc::c_uint, mode as libc::c_uint);
-}
-fn glClearDepth(depth: float) -> libc::c_void unsafe {
-    ret GL::glClearDepth(depth as libc::c_double);
-}
-fn glDepthFunc(func: uint) -> libc::c_void unsafe {
-    ret GL::glDepthFunc(func as libc::c_uint);
-}
-fn glDepthMask(flag: uint) -> libc::c_void unsafe {
-    ret GL::glDepthMask(flag as libc::c_uchar);
-}
-fn glDepthRange(near_val: float, far_val: float) -> libc::c_void unsafe {
-    ret GL::glDepthRange(near_val as libc::c_double, far_val as libc::c_double);
-}
-fn glClearAccum(red: float, green: float, blue: float, alpha: float) -> libc::c_void unsafe {
-    ret GL::glClearAccum(red as libc::c_float, green as libc::c_float, blue as libc::c_float, alpha as libc::c_float);
-}
-fn glAccum(op: uint, value: float) -> libc::c_void unsafe {
-    ret GL::glAccum(op as libc::c_uint, value as libc::c_float);
-}
-fn glMatrixMode(mode: uint) -> libc::c_void unsafe {
-    ret GL::glMatrixMode(mode as libc::c_uint);
-}
-fn glOrtho(left: float, right: float, bottom: float, top: float, near_val: float, far_val: float) -> libc::c_void unsafe {
-    ret GL::glOrtho(left as libc::c_double, right as libc::c_double, bottom as libc::c_double, top as libc::c_double, near_val as libc::c_double, far_val as libc::c_double);
-}
-fn glFrustum(left: float, right: float, bottom: float, top: float, near_val: float, far_val: float) -> libc::c_void unsafe {
-    ret GL::glFrustum(left as libc::c_double, right as libc::c_double, bottom as libc::c_double, top as libc::c_double, near_val as libc::c_double, far_val as libc::c_double);
-}
-fn glViewport(x: int, y: int, width: int, height: int) -> libc::c_void unsafe {
-    ret GL::glViewport(x as libc::c_int, y as libc::c_int, width as libc::c_int, height as libc::c_int);
-}
-fn glPushMatrix() -> libc::c_void unsafe {
-    ret GL::glPushMatrix();
-}
-fn glPopMatrix() -> libc::c_void unsafe {
-    ret GL::glPopMatrix();
-}
-fn glLoadIdentity() -> libc::c_void unsafe {
-    ret GL::glLoadIdentity();
-}
-fn glLoadMatrixd(m: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glLoadMatrixd(m);
-}
-fn glLoadMatrixf(m: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glLoadMatrixf(m);
-}
-fn glMultMatrixd(m: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glMultMatrixd(m);
-}
-fn glMultMatrixf(m: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glMultMatrixf(m);
-}
-fn glRotated(angle: float, x: float, y: float, z: float) -> libc::c_void unsafe {
-    ret GL::glRotated(angle as libc::c_double, x as libc::c_double, y as libc::c_double, z as libc::c_double);
-}
-fn glRotatef(angle: float, x: float, y: float, z: float) -> libc::c_void unsafe {
-    ret GL::glRotatef(angle as libc::c_float, x as libc::c_float, y as libc::c_float, z as libc::c_float);
-}
-fn glScaled(x: float, y: float, z: float) -> libc::c_void unsafe {
-    ret GL::glScaled(x as libc::c_double, y as libc::c_double, z as libc::c_double);
-}
-fn glScalef(x: float, y: float, z: float) -> libc::c_void unsafe {
-    ret GL::glScalef(x as libc::c_float, y as libc::c_float, z as libc::c_float);
-}
-fn glTranslated(x: float, y: float, z: float) -> libc::c_void unsafe {
-    ret GL::glTranslated(x as libc::c_double, y as libc::c_double, z as libc::c_double);
-}
-fn glTranslatef(x: float, y: float, z: float) -> libc::c_void unsafe {
-    ret GL::glTranslatef(x as libc::c_float, y as libc::c_float, z as libc::c_float);
-}
-fn glIsList(list: uint) -> uint unsafe {
-    ret GL::glIsList(list as libc::c_uint) as uint;
-}
-fn glDeleteLists(list: uint, range: int) -> libc::c_void unsafe {
-    ret GL::glDeleteLists(list as libc::c_uint, range as libc::c_int);
-}
-fn glGenLists(range: int) -> uint unsafe {
-    ret GL::glGenLists(range as libc::c_int) as uint;
-}
-fn glNewList(list: uint, mode: uint) -> libc::c_void unsafe {
-    ret GL::glNewList(list as libc::c_uint, mode as libc::c_uint);
-}
-fn glEndList() -> libc::c_void unsafe {
-    ret GL::glEndList();
-}
-fn glCallList(list: uint) -> libc::c_void unsafe {
-    ret GL::glCallList(list as libc::c_uint);
-}
-fn glCallLists(n: int, type_: uint, lists: * libc::c_uchar) -> libc::c_void unsafe {
-    ret GL::glCallLists(n as libc::c_int, type_ as libc::c_uint, lists);
-}
-fn glListBase(base: uint) -> libc::c_void unsafe {
-    ret GL::glListBase(base as libc::c_uint);
-}
-fn glBegin(mode: uint) -> libc::c_void unsafe {
-    ret GL::glBegin(mode as libc::c_uint);
-}
-fn glEnd() -> libc::c_void unsafe {
-    ret GL::glEnd();
-}
-fn glVertex2d(x: float, y: float) -> libc::c_void unsafe {
-    ret GL::glVertex2d(x as libc::c_double, y as libc::c_double);
-}
-fn glVertex2f(x: float, y: float) -> libc::c_void unsafe {
-    ret GL::glVertex2f(x as libc::c_float, y as libc::c_float);
-}
-fn glVertex2i(x: int, y: int) -> libc::c_void unsafe {
-    ret GL::glVertex2i(x as libc::c_int, y as libc::c_int);
-}
-fn glVertex2s(x: int, y: int) -> libc::c_void unsafe {
-    ret GL::glVertex2s(x as libc::c_short, y as libc::c_short);
-}
-fn glVertex3d(x: float, y: float, z: float) -> libc::c_void unsafe {
-    ret GL::glVertex3d(x as libc::c_double, y as libc::c_double, z as libc::c_double);
-}
-fn glVertex3f(x: float, y: float, z: float) -> libc::c_void unsafe {
-    ret GL::glVertex3f(x as libc::c_float, y as libc::c_float, z as libc::c_float);
-}
-fn glVertex3i(x: int, y: int, z: int) -> libc::c_void unsafe {
-    ret GL::glVertex3i(x as libc::c_int, y as libc::c_int, z as libc::c_int);
-}
-fn glVertex3s(x: int, y: int, z: int) -> libc::c_void unsafe {
-    ret GL::glVertex3s(x as libc::c_short, y as libc::c_short, z as libc::c_short);
-}
-fn glVertex4d(x: float, y: float, z: float, w: float) -> libc::c_void unsafe {
-    ret GL::glVertex4d(x as libc::c_double, y as libc::c_double, z as libc::c_double, w as libc::c_double);
-}
-fn glVertex4f(x: float, y: float, z: float, w: float) -> libc::c_void unsafe {
-    ret GL::glVertex4f(x as libc::c_float, y as libc::c_float, z as libc::c_float, w as libc::c_float);
-}
-fn glVertex4i(x: int, y: int, z: int, w: int) -> libc::c_void unsafe {
-    ret GL::glVertex4i(x as libc::c_int, y as libc::c_int, z as libc::c_int, w as libc::c_int);
-}
-fn glVertex4s(x: int, y: int, z: int, w: int) -> libc::c_void unsafe {
-    ret GL::glVertex4s(x as libc::c_short, y as libc::c_short, z as libc::c_short, w as libc::c_short);
-}
-fn glVertex2dv(v: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glVertex2dv(v);
-}
-fn glVertex2fv(v: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glVertex2fv(v);
-}
-fn glVertex2iv(v: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glVertex2iv(v);
-}
-fn glVertex2sv(v: *libc::c_short) -> libc::c_void unsafe {
-    ret GL::glVertex2sv(v);
-}
-fn glVertex3dv(v: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glVertex3dv(v);
-}
-fn glVertex3fv(v: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glVertex3fv(v);
-}
-fn glVertex3iv(v: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glVertex3iv(v);
-}
-fn glVertex3sv(v: *libc::c_short) -> libc::c_void unsafe {
-    ret GL::glVertex3sv(v);
-}
-fn glVertex4dv(v: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glVertex4dv(v);
-}
-fn glVertex4fv(v: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glVertex4fv(v);
-}
-fn glVertex4iv(v: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glVertex4iv(v);
-}
-fn glVertex4sv(v: *libc::c_short) -> libc::c_void unsafe {
-    ret GL::glVertex4sv(v);
-}
-fn glNormal3b(nx: int, ny: int, nz: int) -> libc::c_void unsafe {
-    ret GL::glNormal3b(nx as libc::c_char, ny as libc::c_char, nz as libc::c_char);
-}
-fn glNormal3d(nx: float, ny: float, nz: float) -> libc::c_void unsafe {
-    ret GL::glNormal3d(nx as libc::c_double, ny as libc::c_double, nz as libc::c_double);
-}
-fn glNormal3f(nx: float, ny: float, nz: float) -> libc::c_void unsafe {
-    ret GL::glNormal3f(nx as libc::c_float, ny as libc::c_float, nz as libc::c_float);
-}
-fn glNormal3i(nx: int, ny: int, nz: int) -> libc::c_void unsafe {
-    ret GL::glNormal3i(nx as libc::c_int, ny as libc::c_int, nz as libc::c_int);
-}
-fn glNormal3s(nx: int, ny: int, nz: int) -> libc::c_void unsafe {
-    ret GL::glNormal3s(nx as libc::c_short, ny as libc::c_short, nz as libc::c_short);
-}
-fn glNormal3bv(v: *libc::c_char) -> libc::c_void unsafe {
-    ret GL::glNormal3bv(v);
-}
-fn glNormal3dv(v: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glNormal3dv(v);
-}
-fn glNormal3fv(v: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glNormal3fv(v);
-}
-fn glNormal3iv(v: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glNormal3iv(v);
-}
-fn glNormal3sv(v: *libc::c_short) -> libc::c_void unsafe {
-    ret GL::glNormal3sv(v);
-}
-fn glIndexd(c: float) -> libc::c_void unsafe {
-    ret GL::glIndexd(c as libc::c_double);
-}
-fn glIndexf(c: float) -> libc::c_void unsafe {
-    ret GL::glIndexf(c as libc::c_float);
-}
-fn glIndexi(c: int) -> libc::c_void unsafe {
-    ret GL::glIndexi(c as libc::c_int);
-}
-fn glIndexs(c: int) -> libc::c_void unsafe {
-    ret GL::glIndexs(c as libc::c_short);
-}
-fn glIndexub(c: uint) -> libc::c_void unsafe {
-    ret GL::glIndexub(c as libc::c_uchar);
-}
-fn glIndexfv(c: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glIndexfv(c);
-}
-fn glIndexiv(c: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glIndexiv(c);
-}
-fn glIndexsv(c: *libc::c_short) -> libc::c_void unsafe {
-    ret GL::glIndexsv(c);
-}
-fn glIndexubv(c: str) -> libc::c_void unsafe {
-    let c_c_str = str::as_c_str(c) { |c_| c_ };
-    ret GL::glIndexubv(c_c_str as *libc::c_uchar);
-}
-fn glColor3d(red: float, green: float, blue: float) -> libc::c_void unsafe {
-    ret GL::glColor3d(red as libc::c_double, green as libc::c_double, blue as libc::c_double);
-}
-fn glColor3f(red: float, green: float, blue: float) -> libc::c_void unsafe {
-    ret GL::glColor3f(red as libc::c_float, green as libc::c_float, blue as libc::c_float);
-}
-fn glColor3i(red: int, green: int, blue: int) -> libc::c_void unsafe {
-    ret GL::glColor3i(red as libc::c_int, green as libc::c_int, blue as libc::c_int);
-}
-fn glColor3s(red: int, green: int, blue: int) -> libc::c_void unsafe {
-    ret GL::glColor3s(red as libc::c_short, green as libc::c_short, blue as libc::c_short);
-}
-fn glColor3ub(red: uint, green: uint, blue: uint) -> libc::c_void unsafe {
-    ret GL::glColor3ub(red as libc::c_uchar, green as libc::c_uchar, blue as libc::c_uchar);
-}
-fn glColor3ui(red: uint, green: uint, blue: uint) -> libc::c_void unsafe {
-    ret GL::glColor3ui(red as libc::c_uint, green as libc::c_uint, blue as libc::c_uint);
-}
-fn glColor3us(red: uint, green: uint, blue: uint) -> libc::c_void unsafe {
-    ret GL::glColor3us(red as libc::c_ushort, green as libc::c_ushort, blue as libc::c_ushort);
-}
-fn glColor4b(red: int, green: int, blue: int, alpha: int) -> libc::c_void unsafe {
-    ret GL::glColor4b(red as libc::c_char, green as libc::c_char, blue as libc::c_char, alpha as libc::c_char);
-}
-fn glColor4d(red: float, green: float, blue: float, alpha: float) -> libc::c_void unsafe {
-    ret GL::glColor4d(red as libc::c_double, green as libc::c_double, blue as libc::c_double, alpha as libc::c_double);
-}
-fn glColor4f(red: float, green: float, blue: float, alpha: float) -> libc::c_void unsafe {
-    ret GL::glColor4f(red as libc::c_float, green as libc::c_float, blue as libc::c_float, alpha as libc::c_float);
-}
-fn glColor4i(red: int, green: int, blue: int, alpha: int) -> libc::c_void unsafe {
-    ret GL::glColor4i(red as libc::c_int, green as libc::c_int, blue as libc::c_int, alpha as libc::c_int);
-}
-fn glColor4s(red: int, green: int, blue: int, alpha: int) -> libc::c_void unsafe {
-    ret GL::glColor4s(red as libc::c_short, green as libc::c_short, blue as libc::c_short, alpha as libc::c_short);
-}
-fn glColor4ub(red: uint, green: uint, blue: uint, alpha: uint) -> libc::c_void unsafe {
-    ret GL::glColor4ub(red as libc::c_uchar, green as libc::c_uchar, blue as libc::c_uchar, alpha as libc::c_uchar);
-}
-fn glColor4ui(red: uint, green: uint, blue: uint, alpha: uint) -> libc::c_void unsafe {
-    ret GL::glColor4ui(red as libc::c_uint, green as libc::c_uint, blue as libc::c_uint, alpha as libc::c_uint);
-}
-fn glColor4us(red: uint, green: uint, blue: uint, alpha: uint) -> libc::c_void unsafe {
-    ret GL::glColor4us(red as libc::c_ushort, green as libc::c_ushort, blue as libc::c_ushort, alpha as libc::c_ushort);
-}
-fn glColor3bv(v: *libc::c_char) -> libc::c_void unsafe {
-    ret GL::glColor3bv(v);
-}
-fn glColor3dv(v: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glColor3dv(v);
-}
-fn glColor3fv(v: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glColor3fv(v);
-}
-fn glColor3iv(v: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glColor3iv(v);
-}
-fn glColor3sv(v: *libc::c_short) -> libc::c_void unsafe {
-    ret GL::glColor3sv(v);
-}
-fn glColor3ubv(v: str) -> libc::c_void unsafe {
-    let v_c_str = str::as_c_str(v) { |v_| v_ };
-    ret GL::glColor3ubv(v_c_str as *libc::c_uchar);
-}
-fn glColor3uiv(v: *libc::c_uint) -> libc::c_void unsafe {
-    ret GL::glColor3uiv(v);
-}
-fn glColor3usv(v: *libc::c_ushort) -> libc::c_void unsafe {
-    ret GL::glColor3usv(v);
-}
-fn glColor4bv(v: *libc::c_char) -> libc::c_void unsafe {
-    ret GL::glColor4bv(v);
-}
-fn glColor4dv(v: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glColor4dv(v);
-}
-fn glColor4fv(v: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glColor4fv(v);
-}
-fn glColor4iv(v: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glColor4iv(v);
-}
-fn glColor4sv(v: *libc::c_short) -> libc::c_void unsafe {
-    ret GL::glColor4sv(v);
-}
-fn glColor4ubv(v: str) -> libc::c_void unsafe {
-    let v_c_str = str::as_c_str(v) { |v_| v_ };
-    ret GL::glColor4ubv(v_c_str as *libc::c_uchar);
-}
-fn glColor4uiv(v: *libc::c_uint) -> libc::c_void unsafe {
-    ret GL::glColor4uiv(v);
-}
-fn glColor4usv(v: *libc::c_ushort) -> libc::c_void unsafe {
-    ret GL::glColor4usv(v);
-}
-fn glTexCoord1d(s: float) -> libc::c_void unsafe {
-    ret GL::glTexCoord1d(s as libc::c_double);
-}
-fn glTexCoord1f(s: float) -> libc::c_void unsafe {
-    ret GL::glTexCoord1f(s as libc::c_float);
-}
-fn glTexCoord1i(s: int) -> libc::c_void unsafe {
-    ret GL::glTexCoord1i(s as libc::c_int);
-}
-fn glTexCoord1s(s: int) -> libc::c_void unsafe {
-    ret GL::glTexCoord1s(s as libc::c_short);
-}
-fn glTexCoord2d(s: float, t: float) -> libc::c_void unsafe {
-    ret GL::glTexCoord2d(s as libc::c_double, t as libc::c_double);
-}
-fn glTexCoord2f(s: float, t: float) -> libc::c_void unsafe {
-    ret GL::glTexCoord2f(s as libc::c_float, t as libc::c_float);
-}
-fn glTexCoord2i(s: int, t: int) -> libc::c_void unsafe {
-    ret GL::glTexCoord2i(s as libc::c_int, t as libc::c_int);
-}
-fn glTexCoord2s(s: int, t: int) -> libc::c_void unsafe {
-    ret GL::glTexCoord2s(s as libc::c_short, t as libc::c_short);
-}
-fn glTexCoord3d(s: float, t: float, r: float) -> libc::c_void unsafe {
-    ret GL::glTexCoord3d(s as libc::c_double, t as libc::c_double, r as libc::c_double);
-}
-fn glTexCoord3f(s: float, t: float, r: float) -> libc::c_void unsafe {
-    ret GL::glTexCoord3f(s as libc::c_float, t as libc::c_float, r as libc::c_float);
-}
-fn glTexCoord3i(s: int, t: int, r: int) -> libc::c_void unsafe {
-    ret GL::glTexCoord3i(s as libc::c_int, t as libc::c_int, r as libc::c_int);
-}
-fn glTexCoord3s(s: int, t: int, r: int) -> libc::c_void unsafe {
-    ret GL::glTexCoord3s(s as libc::c_short, t as libc::c_short, r as libc::c_short);
-}
-fn glTexCoord4d(s: float, t: float, r: float, q: float) -> libc::c_void unsafe {
-    ret GL::glTexCoord4d(s as libc::c_double, t as libc::c_double, r as libc::c_double, q as libc::c_double);
-}
-fn glTexCoord4f(s: float, t: float, r: float, q: float) -> libc::c_void unsafe {
-    ret GL::glTexCoord4f(s as libc::c_float, t as libc::c_float, r as libc::c_float, q as libc::c_float);
-}
-fn glTexCoord4i(s: int, t: int, r: int, q: int) -> libc::c_void unsafe {
-    ret GL::glTexCoord4i(s as libc::c_int, t as libc::c_int, r as libc::c_int, q as libc::c_int);
-}
-fn glTexCoord4s(s: int, t: int, r: int, q: int) -> libc::c_void unsafe {
-    ret GL::glTexCoord4s(s as libc::c_short, t as libc::c_short, r as libc::c_short, q as libc::c_short);
-}
-fn glTexCoord1dv(v: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glTexCoord1dv(v);
-}
-fn glTexCoord1fv(v: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glTexCoord1fv(v);
-}
-fn glTexCoord1iv(v: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glTexCoord1iv(v);
-}
-fn glTexCoord1sv(v: *libc::c_short) -> libc::c_void unsafe {
-    ret GL::glTexCoord1sv(v);
-}
-fn glTexCoord2dv(v: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glTexCoord2dv(v);
-}
-fn glTexCoord2fv(v: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glTexCoord2fv(v);
-}
-fn glTexCoord2iv(v: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glTexCoord2iv(v);
-}
-fn glTexCoord2sv(v: *libc::c_short) -> libc::c_void unsafe {
-    ret GL::glTexCoord2sv(v);
-}
-fn glTexCoord3dv(v: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glTexCoord3dv(v);
-}
-fn glTexCoord3fv(v: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glTexCoord3fv(v);
-}
-fn glTexCoord3iv(v: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glTexCoord3iv(v);
-}
-fn glTexCoord3sv(v: *libc::c_short) -> libc::c_void unsafe {
-    ret GL::glTexCoord3sv(v);
-}
-fn glTexCoord4dv(v: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glTexCoord4dv(v);
-}
-fn glTexCoord4fv(v: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glTexCoord4fv(v);
-}
-fn glTexCoord4iv(v: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glTexCoord4iv(v);
-}
-fn glTexCoord4sv(v: *libc::c_short) -> libc::c_void unsafe {
-    ret GL::glTexCoord4sv(v);
-}
-fn glRasterPos2d(x: float, y: float) -> libc::c_void unsafe {
-    ret GL::glRasterPos2d(x as libc::c_double, y as libc::c_double);
-}
-fn glRasterPos2f(x: float, y: float) -> libc::c_void unsafe {
-    ret GL::glRasterPos2f(x as libc::c_float, y as libc::c_float);
-}
-fn glRasterPos2i(x: int, y: int) -> libc::c_void unsafe {
-    ret GL::glRasterPos2i(x as libc::c_int, y as libc::c_int);
-}
-fn glRasterPos2s(x: int, y: int) -> libc::c_void unsafe {
-    ret GL::glRasterPos2s(x as libc::c_short, y as libc::c_short);
-}
-fn glRasterPos3d(x: float, y: float, z: float) -> libc::c_void unsafe {
-    ret GL::glRasterPos3d(x as libc::c_double, y as libc::c_double, z as libc::c_double);
-}
-fn glRasterPos3f(x: float, y: float, z: float) -> libc::c_void unsafe {
-    ret GL::glRasterPos3f(x as libc::c_float, y as libc::c_float, z as libc::c_float);
-}
-fn glRasterPos3i(x: int, y: int, z: int) -> libc::c_void unsafe {
-    ret GL::glRasterPos3i(x as libc::c_int, y as libc::c_int, z as libc::c_int);
-}
-fn glRasterPos3s(x: int, y: int, z: int) -> libc::c_void unsafe {
-    ret GL::glRasterPos3s(x as libc::c_short, y as libc::c_short, z as libc::c_short);
-}
-fn glRasterPos4d(x: float, y: float, z: float, w: float) -> libc::c_void unsafe {
-    ret GL::glRasterPos4d(x as libc::c_double, y as libc::c_double, z as libc::c_double, w as libc::c_double);
-}
-fn glRasterPos4f(x: float, y: float, z: float, w: float) -> libc::c_void unsafe {
-    ret GL::glRasterPos4f(x as libc::c_float, y as libc::c_float, z as libc::c_float, w as libc::c_float);
-}
-fn glRasterPos4i(x: int, y: int, z: int, w: int) -> libc::c_void unsafe {
-    ret GL::glRasterPos4i(x as libc::c_int, y as libc::c_int, z as libc::c_int, w as libc::c_int);
-}
-fn glRasterPos4s(x: int, y: int, z: int, w: int) -> libc::c_void unsafe {
-    ret GL::glRasterPos4s(x as libc::c_short, y as libc::c_short, z as libc::c_short, w as libc::c_short);
-}
-fn glRasterPos2dv(v: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glRasterPos2dv(v);
-}
-fn glRasterPos2fv(v: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glRasterPos2fv(v);
-}
-fn glRasterPos2iv(v: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glRasterPos2iv(v);
-}
-fn glRasterPos2sv(v: *libc::c_short) -> libc::c_void unsafe {
-    ret GL::glRasterPos2sv(v);
-}
-fn glRasterPos3dv(v: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glRasterPos3dv(v);
-}
-fn glRasterPos3fv(v: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glRasterPos3fv(v);
-}
-fn glRasterPos3iv(v: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glRasterPos3iv(v);
-}
-fn glRasterPos3sv(v: *libc::c_short) -> libc::c_void unsafe {
-    ret GL::glRasterPos3sv(v);
-}
-fn glRasterPos4dv(v: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glRasterPos4dv(v);
-}
-fn glRasterPos4fv(v: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glRasterPos4fv(v);
-}
-fn glRasterPos4iv(v: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glRasterPos4iv(v);
-}
-fn glRasterPos4sv(v: *libc::c_short) -> libc::c_void unsafe {
-    ret GL::glRasterPos4sv(v);
-}
-fn glRectd(x1: float, y1: float, x2: float, y2: float) -> libc::c_void unsafe {
-    ret GL::glRectd(x1 as libc::c_double, y1 as libc::c_double, x2 as libc::c_double, y2 as libc::c_double);
-}
-fn glRectf(x1: float, y1: float, x2: float, y2: float) -> libc::c_void unsafe {
-    ret GL::glRectf(x1 as libc::c_float, y1 as libc::c_float, x2 as libc::c_float, y2 as libc::c_float);
-}
-fn glRecti(x1: int, y1: int, x2: int, y2: int) -> libc::c_void unsafe {
-    ret GL::glRecti(x1 as libc::c_int, y1 as libc::c_int, x2 as libc::c_int, y2 as libc::c_int);
-}
-fn glRects(x1: int, y1: int, x2: int, y2: int) -> libc::c_void unsafe {
-    ret GL::glRects(x1 as libc::c_short, y1 as libc::c_short, x2 as libc::c_short, y2 as libc::c_short);
-}
-fn glRectdv(v1: *libc::c_double, v2: *libc::c_double) -> libc::c_void unsafe {
-    ret GL::glRectdv(v1, v2);
-}
-fn glRectfv(v1: *libc::c_float, v2: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glRectfv(v1, v2);
-}
-fn glRectiv(v1: *libc::c_int, v2: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glRectiv(v1, v2);
-}
-fn glRectsv(v1: *libc::c_short, v2: *libc::c_short) -> libc::c_void unsafe {
-    ret GL::glRectsv(v1, v2);
-}
-fn glVertexPointer(size: int, type_: uint, stride: int, ptr: * libc::c_uchar) -> libc::c_void unsafe {
-    ret GL::glVertexPointer(size as libc::c_int, type_ as libc::c_uint, stride as libc::c_int, ptr);
-}
-fn glNormalPointer(type_: uint, stride: int, ptr: * libc::c_uchar) -> libc::c_void unsafe {
-    ret GL::glNormalPointer(type_ as libc::c_uint, stride as libc::c_int, ptr);
-}
-fn glColorPointer(size: int, type_: uint, stride: int, ptr: * libc::c_uchar) -> libc::c_void unsafe {
-    ret GL::glColorPointer(size as libc::c_int, type_ as libc::c_uint, stride as libc::c_int, ptr);
-}
-fn glIndexPointer(type_: uint, stride: int, ptr: * libc::c_uchar) -> libc::c_void unsafe {
-    ret GL::glIndexPointer(type_ as libc::c_uint, stride as libc::c_int, ptr);
-}
-fn glTexCoordPointer(size: int, type_: uint, stride: int, ptr: * libc::c_uchar) -> libc::c_void unsafe {
-    ret GL::glTexCoordPointer(size as libc::c_int, type_ as libc::c_uint, stride as libc::c_int, ptr);
-}
-fn glEdgeFlagPointer(stride: int, ptr: * libc::c_uchar) -> libc::c_void unsafe {
-    ret GL::glEdgeFlagPointer(stride as libc::c_int, ptr);
-}
-fn glGetPointerv(pname: uint, params: **libc::c_void) -> libc::c_void unsafe {
-    ret GL::glGetPointerv(pname as libc::c_uint, params);
-}
-fn glArrayElement(i: int) -> libc::c_void unsafe {
-    ret GL::glArrayElement(i as libc::c_int);
-}
-fn glDrawArrays(mode: uint, first: int, count: int) -> libc::c_void unsafe {
-    ret GL::glDrawArrays(mode as libc::c_uint, first as libc::c_int, count as libc::c_int);
-}
-fn glDrawElements(mode: uint, count: int, type_: uint, indices: * libc::c_uchar) -> libc::c_void unsafe {
-    ret GL::glDrawElements(mode as libc::c_uint, count as libc::c_int, type_ as libc::c_uint, indices);
-}
-fn glInterleavedArrays(format: uint, stride: int, pointer: * libc::c_uchar) -> libc::c_void unsafe {
-    ret GL::glInterleavedArrays(format as libc::c_uint, stride as libc::c_int, pointer);
-}
-fn glShadeModel(mode: uint) -> libc::c_void unsafe {
-    ret GL::glShadeModel(mode as libc::c_uint);
-}
-fn glLightf(light: uint, pname: uint, param: float) -> libc::c_void unsafe {
-    ret GL::glLightf(light as libc::c_uint, pname as libc::c_uint, param as libc::c_float);
-}
-fn glLighti(light: uint, pname: uint, param: int) -> libc::c_void unsafe {
-    ret GL::glLighti(light as libc::c_uint, pname as libc::c_uint, param as libc::c_int);
-}
-fn glLightfv(light: uint, pname: uint, params: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glLightfv(light as libc::c_uint, pname as libc::c_uint, params);
-}
-fn glLightiv(light: uint, pname: uint, params: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glLightiv(light as libc::c_uint, pname as libc::c_uint, params);
-}
-fn glGetLightfv(light: uint, pname: uint, params: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glGetLightfv(light as libc::c_uint, pname as libc::c_uint, params);
-}
-fn glGetLightiv(light: uint, pname: uint, params: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glGetLightiv(light as libc::c_uint, pname as libc::c_uint, params);
-}
-fn glLightModelf(pname: uint, param: float) -> libc::c_void unsafe {
-    ret GL::glLightModelf(pname as libc::c_uint, param as libc::c_float);
-}
-fn glLightModeli(pname: uint, param: int) -> libc::c_void unsafe {
-    ret GL::glLightModeli(pname as libc::c_uint, param as libc::c_int);
-}
-fn glLightModelfv(pname: uint, params: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glLightModelfv(pname as libc::c_uint, params);
-}
-fn glLightModeliv(pname: uint, params: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glLightModeliv(pname as libc::c_uint, params);
-}
-fn glMaterialf(face: uint, pname: uint, param: float) -> libc::c_void unsafe {
-    ret GL::glMaterialf(face as libc::c_uint, pname as libc::c_uint, param as libc::c_float);
-}
-fn glMateriali(face: uint, pname: uint, param: int) -> libc::c_void unsafe {
-    ret GL::glMateriali(face as libc::c_uint, pname as libc::c_uint, param as libc::c_int);
-}
-fn glMaterialfv(face: uint, pname: uint, params: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glMaterialfv(face as libc::c_uint, pname as libc::c_uint, params);
-}
-fn glMaterialiv(face: uint, pname: uint, params: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glMaterialiv(face as libc::c_uint, pname as libc::c_uint, params);
-}
-fn glGetMaterialfv(face: uint, pname: uint, params: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glGetMaterialfv(face as libc::c_uint, pname as libc::c_uint, params);
-}
-fn glGetMaterialiv(face: uint, pname: uint, params: *libc::c_int) -> libc::c_void unsafe {
-    ret GL::glGetMaterialiv(face as libc::c_uint, pname as libc::c_uint, params);
-}
-fn glColorMaterial(face: uint, mode: uint) -> libc::c_void unsafe {
-    ret GL::glColorMaterial(face as libc::c_uint, mode as libc::c_uint);
-}
-fn glPixelZoom(xfactor: float, yfactor: float) -> libc::c_void unsafe {
-    ret GL::glPixelZoom(xfactor as libc::c_float, yfactor as libc::c_float);
-}
-fn glPixelStoref(pname: uint, param: float) -> libc::c_void unsafe {
-    ret GL::glPixelStoref(pname as libc::c_uint, param as libc::c_float);
-}
-fn glPixelStorei(pname: uint, param: int) -> libc::c_void unsafe {
-    ret GL::glPixelStorei(pname as libc::c_uint, param as libc::c_int);
-}
-fn glPixelTransferf(pname: uint, param: float) -> libc::c_void unsafe {
-    ret GL::glPixelTransferf(pname as libc::c_uint, param as libc::c_float);
-}
-fn glPixelTransferi(pname: uint, param: int) -> libc::c_void unsafe {
-    ret GL::glPixelTransferi(pname as libc::c_uint, param as libc::c_int);
-}
-fn glPixelMapfv(map: uint, mapsize: int, values: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glPixelMapfv(map as libc::c_uint, mapsize as libc::c_int, values);
-}
-fn glPixelMapuiv(map: uint, mapsize: int, values: *libc::c_uint) -> libc::c_void unsafe {
-    ret GL::glPixelMapuiv(map as libc::c_uint, mapsize as libc::c_int, values);
-}
-fn glPixelMapusv(map: uint, mapsize: int, values: *libc::c_ushort) -> libc::c_void unsafe {
-    ret GL::glPixelMapusv(map as libc::c_uint, mapsize as libc::c_int, values);
-}
-fn glGetPixelMapfv(map: uint, values: *libc::c_float) -> libc::c_void unsafe {
-    ret GL::glGetPixelMapfv(map as libc::c_uint, values);
-}
-fn glGetPixelMapuiv(map: uint, values: *libc::c_uint) -> libc::c_void unsafe {
-    ret GL::glGetPixelMapuiv(map as libc::c_uint, values);
-}
-fn glGetPixelMapusv(map: uint, values: *libc::c_ushort) -> libc::c_void unsafe {