pub(crate) const FUNCTIONS: &[(&str, &str, &str)] = &[
("width", "", "i"),
("height", "", "i"),
("frame_shown", "", "i"),
("present", "", ""),
("get_error", "", "i"),
("get_string", "iii", "i"),
("enable_extension", "ii", "i"),
("get_integerv", "iii", "i"),
("get_floatv", "iii", "i"),
("get_integer64v", "iii", "i"),
("get_integeri_v", "iiii", "i"),
("get_internalformativ", "iiiii", "i"),
("get_shader_precision_format", "iii", ""),
("active_texture", "i", ""),
("blend_color", "ffff", ""),
("blend_equation", "i", ""),
("blend_equation_separate", "ii", ""),
("blend_func", "ii", ""),
("blend_func_separate", "iiii", ""),
("clear", "i", ""),
("clear_color", "ffff", ""),
("clear_depthf", "f", ""),
("clear_stencil", "i", ""),
("color_mask", "iiii", ""),
("cull_face", "i", ""),
("depth_func", "i", ""),
("depth_mask", "i", ""),
("depth_rangef", "ff", ""),
("disable", "i", ""),
("enable", "i", ""),
("is_enabled", "i", "i"),
("front_face", "i", ""),
("hint", "ii", ""),
("line_width", "f", ""),
("pixel_storei", "ii", ""),
("polygon_offset", "ff", ""),
("sample_coverage", "fi", ""),
("scissor", "iiii", ""),
("viewport", "iiii", ""),
("stencil_func", "iii", ""),
("stencil_func_separate", "iiii", ""),
("stencil_mask", "i", ""),
("stencil_mask_separate", "ii", ""),
("stencil_op", "iii", ""),
("stencil_op_separate", "iiii", ""),
("finish", "", ""),
("flush", "", ""),
("create_buffer", "", "i"),
("delete_buffer", "i", ""),
("is_buffer", "i", "i"),
("bind_buffer", "ii", ""),
("bind_buffer_base", "iii", ""),
("bind_buffer_range", "iiiii", ""),
("buffer_data", "iiii", ""),
("buffer_sub_data", "iiii", ""),
("copy_buffer_sub_data", "iiiii", ""),
("get_buffer_sub_data", "iiii", ""),
("get_buffer_parameteriv", "ii", "i"),
("create_vertex_array", "", "i"),
("delete_vertex_array", "i", ""),
("is_vertex_array", "i", "i"),
("bind_vertex_array", "i", ""),
("enable_vertex_attrib_array", "i", ""),
("disable_vertex_attrib_array", "i", ""),
("vertex_attrib_pointer", "iiiiii", ""),
("vertex_attrib_ipointer", "iiiii", ""),
("vertex_attrib_divisor", "ii", ""),
("vertex_attrib4f", "iffff", ""),
("vertex_attribi4i", "iiiii", ""),
("vertex_attribi4ui", "iiiii", ""),
("get_vertex_attribiv", "ii", "i"),
("get_vertex_attribfv", "iiii", "i"),
("get_vertex_attrib_offset", "ii", "i"),
("draw_arrays", "iii", ""),
("draw_elements", "iiii", ""),
("draw_arrays_instanced", "iiii", ""),
("draw_elements_instanced", "iiiii", ""),
("draw_range_elements", "iiiiii", ""),
("draw_buffers", "ii", ""),
("clear_bufferiv", "iiii", ""),
("clear_bufferuiv", "iiii", ""),
("clear_bufferfv", "iiii", ""),
("clear_bufferfi", "iifi", ""),
("create_texture", "", "i"),
("delete_texture", "i", ""),
("is_texture", "i", "i"),
("bind_texture", "ii", ""),
("tex_parameteri", "iii", ""),
("tex_parameterf", "iif", ""),
("get_tex_parameteriv", "ii", "i"),
("get_tex_parameterfv", "ii", "f"),
("tex_image_2d", "iiiiiiiiii", ""),
("tex_image_3d", "iiiiiiiiiii", ""),
("tex_sub_image_2d", "iiiiiiiiii", ""),
("tex_sub_image_3d", "iiiiiiiiiiii", ""),
("tex_storage_2d", "iiiii", ""),
("tex_storage_3d", "iiiiii", ""),
("compressed_tex_image_2d", "iiiiiiii", ""),
("compressed_tex_image_3d", "iiiiiiiii", ""),
("compressed_tex_sub_image_2d", "iiiiiiiii", ""),
("compressed_tex_sub_image_3d", "iiiiiiiiiii", ""),
("copy_tex_image_2d", "iiiiiiii", ""),
("copy_tex_sub_image_2d", "iiiiiiii", ""),
("copy_tex_sub_image_3d", "iiiiiiiii", ""),
("generate_mipmap", "i", ""),
("create_sampler", "", "i"),
("delete_sampler", "i", ""),
("is_sampler", "i", "i"),
("bind_sampler", "ii", ""),
("sampler_parameteri", "iii", ""),
("sampler_parameterf", "iif", ""),
("get_sampler_parameteriv", "ii", "i"),
("get_sampler_parameterfv", "ii", "f"),
("create_framebuffer", "", "i"),
("delete_framebuffer", "i", ""),
("is_framebuffer", "i", "i"),
("bind_framebuffer", "ii", ""),
("check_framebuffer_status", "i", "i"),
("framebuffer_texture_2d", "iiiii", ""),
("framebuffer_texture_layer", "iiiii", ""),
("framebuffer_renderbuffer", "iiii", ""),
("get_framebuffer_attachment_parameteriv", "iii", "i"),
("blit_framebuffer", "iiiiiiiiii", ""),
("invalidate_framebuffer", "iii", ""),
("invalidate_sub_framebuffer", "iiiiiii", ""),
("read_buffer", "i", ""),
("read_pixels", "iiiiiiii", ""),
("create_renderbuffer", "", "i"),
("delete_renderbuffer", "i", ""),
("is_renderbuffer", "i", "i"),
("bind_renderbuffer", "ii", ""),
("renderbuffer_storage", "iiii", ""),
("renderbuffer_storage_multisample", "iiiii", ""),
("get_renderbuffer_parameteriv", "ii", "i"),
("create_shader", "i", "i"),
("delete_shader", "i", ""),
("is_shader", "i", "i"),
("shader_source", "iii", ""),
("compile_shader", "i", ""),
("get_shaderiv", "ii", "i"),
("get_shader_info_log", "iii", "i"),
("get_shader_source", "iii", "i"),
("create_program", "", "i"),
("delete_program", "i", ""),
("is_program", "i", "i"),
("attach_shader", "ii", ""),
("detach_shader", "ii", ""),
("link_program", "i", ""),
("use_program", "i", ""),
("validate_program", "i", ""),
("get_programiv", "ii", "i"),
("get_program_info_log", "iii", "i"),
("get_attached_shaders", "iii", "i"),
("bind_attrib_location", "iiii", ""),
("get_attrib_location", "iii", "i"),
("get_frag_data_location", "iii", "i"),
("get_active_attrib", "iiiii", "i"),
("get_active_uniform", "iiiii", "i"),
("get_uniform_location", "iii", "i"),
("get_uniform_index", "iii", "i"),
("get_active_uniformsiv", "iiiii", ""),
("get_uniform_block_index", "iii", "i"),
("get_active_uniform_block_name", "iiii", "i"),
("get_active_uniform_blockiv", "iiiii", "i"),
("uniform_block_binding", "iii", ""),
("get_uniformfv", "iiii", "i"),
("get_uniformiv", "iiii", "i"),
("get_uniformuiv", "iiii", "i"),
("transform_feedback_varyings", "iiiii", ""),
("get_transform_feedback_varying", "iiiii", "i"),
("uniform1f", "if", ""),
("uniform2f", "iff", ""),
("uniform3f", "ifff", ""),
("uniform4f", "iffff", ""),
("uniform1i", "ii", ""),
("uniform2i", "iii", ""),
("uniform3i", "iiii", ""),
("uniform4i", "iiiii", ""),
("uniform1ui", "ii", ""),
("uniform2ui", "iii", ""),
("uniform3ui", "iiii", ""),
("uniform4ui", "iiiii", ""),
("uniform1fv", "iii", ""),
("uniform2fv", "iii", ""),
("uniform3fv", "iii", ""),
("uniform4fv", "iii", ""),
("uniform1iv", "iii", ""),
("uniform2iv", "iii", ""),
("uniform3iv", "iii", ""),
("uniform4iv", "iii", ""),
("uniform1uiv", "iii", ""),
("uniform2uiv", "iii", ""),
("uniform3uiv", "iii", ""),
("uniform4uiv", "iii", ""),
("uniform_matrix2fv", "iiii", ""),
("uniform_matrix3fv", "iiii", ""),
("uniform_matrix4fv", "iiii", ""),
("uniform_matrix2x3fv", "iiii", ""),
("uniform_matrix3x2fv", "iiii", ""),
("uniform_matrix2x4fv", "iiii", ""),
("uniform_matrix4x2fv", "iiii", ""),
("uniform_matrix3x4fv", "iiii", ""),
("uniform_matrix4x3fv", "iiii", ""),
("create_query", "", "i"),
("delete_query", "i", ""),
("is_query", "i", "i"),
("begin_query", "ii", ""),
("end_query", "i", ""),
("get_queryiv", "ii", "i"),
("get_query_objectuiv", "ii", "i"),
("fence_sync", "ii", "i"),
("is_sync", "i", "i"),
("delete_sync", "i", ""),
("client_wait_sync", "iiI", "i"),
("wait_sync", "iiI", ""),
("get_synciv", "ii", "i"),
("create_transform_feedback", "", "i"),
("delete_transform_feedback", "i", ""),
("is_transform_feedback", "i", "i"),
("bind_transform_feedback", "ii", ""),
("begin_transform_feedback", "i", ""),
("end_transform_feedback", "", ""),
("pause_transform_feedback", "", ""),
("resume_transform_feedback", "", ""),
];