gasm-host 0.8.0

Native host for gasm games (a portable game runtime on WebAssembly): wasmtime, WebGPU via wgpu, audio, gamepads, WebSocket networking and storage. Includes the gasm-run runner
Documentation
//! gasm:gl import signatures: (name, params, result), one char per wasm value
//! (i = i32, I = i64, f = f32). GENERATED from spec/abi.json by scripts/gen-abi.mjs.

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", "", ""),
];