wgpu_mbt

This repo contains a MoonBit port of the `wgpu-native` C API (WebGPU)

WebGPU
wgpu
moon add Milky2018/wgpu_mbt@0.16.0
Download zip
Author
Version
0.16.0
License
Apache-2.0
Last updated
26 days ago
Downloads
14K

Dependencies

README

#Milky2018/wgpu_mbt

MoonBit bindings for the wgpu-native C API (WebGPU), targeting native backends.

#Supported Platforms

PlatformBackendSurface API
macOSMetalInstance::create_surface_metal_layer()
Linux (experimental)VulkanInstance::create_surface_wayland() / create_surface_xcb() / create_surface_xlib()
Windows (experimental)DX12 / Vulkan (via wgpu-native)Instance::create_surface_windows_hwnd() / create_surface_swap_chain_panel()
Android (experimental)Vulkan/OpenGLES (depends on native build)Instance::create_surface_android_native_window()

#Install

  1. Add dependency:

{ "import": [ { "path": "Milky2018/wgpu_mbt", "alias": "wgpu" } ] }

  1. Choose a link mode:

  • Static (default): no extra downstream link flags; the prebuild hook downloads and links a verified upstream static archive automatically
  • Dynamic: set MBT_WGPU_LINK_MODE=dynamic before moon build / moon test, then extract a matching upstream release archive

  1. Dynamic mode uses the official upstream release assets:

Recommended dynamic install: extract the archive into $HOME/.local (or %USERPROFILE%\\.local on Windows), so the release metadata is preserved:

  • macOS: $HOME/.local/lib/libwgpu_native.dylib
  • Linux: $HOME/.local/lib/libwgpu_native.so
  • Windows: %USERPROFILE%\\.local\\lib\\wgpu_native.dll
  • metadata tag: .../wgpu-native-meta/wgpu-native-git-tag

Or set MBT_WGPU_NATIVE_LIB to an absolute library path inside an extracted upstream release tree.

#Quick Example

fn main {
try {
let instance = @wgpu.Instance::create()
let adapter = instance.request_adapter_sync()
let device = adapter.request_device_sync(instance)
let queue = device.queue()

let buf = device.create_buffer(
size=4UL,
usage=@wgpu.BufferUsage::from_u64(@wgpu.BUFFER_USAGE_COPY_DST),
)
ignore(buf.size())

let shader = device.create_shader_module_wgsl(
#|@compute @workgroup_size(1)
#|fn main() {}
#|,
)
let pipeline = device.create_compute_pipeline(shader)
let encoder = device.create_command_encoder()
let pass = encoder.begin_compute_pass()
pass.set_pipeline(pipeline)
pass.dispatch_workgroups(1U, 1U, 1U)
pass.end()
pass.release()

let cmd = encoder.finish()
queue.submit_one(cmd)

cmd.release()
encoder.release()
pipeline.release()
shader.release()
buf.release()
queue.release()
device.release()
adapter.release()
instance.release()
} catch {
e => println(e.message())
}
}

#Surface Configuration (Frame Latency)

SurfaceConfiguration now exposes desired_maximum_frame_latency through a typed API:

let config = @wgpu.SurfaceConfiguration::new(
width,
height,
usage,
format,
@wgpu.PresentMode::from_u32(present_mode_u32),
@wgpu.CompositeAlphaMode::from_u32(alpha_mode_u32),
)
.with_view_formats([format])
.with_desired_maximum_frame_latency(2U)

surface.configure_with_or_raise(adapter, device, config)

You can still use configure_u32 / configure_view_formats_u32 / configure_best_effort, and pass desired_maximum_frame_latency as an optional named parameter.

For raw WGPUSurfaceConfiguration* workflows (calling Surface::configure_ptr directly), the package now also exposes pointer builders that include WGPUSurfaceConfigurationExtras.desiredMaximumFrameLatency:

  • surface_configuration_ptr_new(device, config)
  • surface_configuration_ptr_free(config_ptr)

#Surface Sources (All Common Native Sources)

High-level constructors now cover all common native surface sources:

  • Metal: Instance::create_surface_metal_layer()
  • Wayland: Instance::create_surface_wayland(display, surface)
  • XCB: Instance::create_surface_xcb(connection, window)
  • Xlib: Instance::create_surface_xlib(display, window)
  • Windows HWND: Instance::create_surface_windows_hwnd(hinstance, hwnd)
  • Windows SwapChainPanel: Instance::create_surface_swap_chain_panel(panel_native)
  • Android: Instance::create_surface_android_native_window(window)

You can also build source-chained descriptors and call Instance::create_surface(descriptor) directly:

  • surface_descriptor_metal_layer_new
  • surface_descriptor_wayland_new
  • surface_descriptor_xcb_new
  • surface_descriptor_xlib_new
  • surface_descriptor_windows_hwnd_new
  • surface_descriptor_swap_chain_panel_new
  • surface_descriptor_android_native_window_new
  • surface_descriptor_free

#Native Instance Extras

You can create an instance with explicit native extras instead of defaults:

  • Instance::create_with_extras_u32(backends_u64, flags_u32, dx12_shader_compiler_u32, gles3_minor_version_u32, gl_fence_behaviour_u32, dxc_max_shader_model_u32, dx12_presentation_system_u32, dxc_path)

This exposes backend/compiler knobs from WGPUInstanceExtras. dxc_path is kept as a forward-compatible parameter but currently ignored for ABI safety across upstream binaries.

For WGPUDeviceExtras.tracePath, you can set trace path on descriptor builders via:

  • @wgpu_c.device_descriptor_set_trace_path_utf8(desc, trace_path, trace_path_len)

#Shader / Pipeline Native Extras

  • GLSL shader module descriptor and helper:
    • @wgpu_c.shader_module_descriptor_glsl_new(stage_u64, code, code_len)
    • Device::create_shader_module_glsl(stage_u64, code)
  • Query set descriptor extras with multiple pipeline statistics:
    • @wgpu_c.query_set_descriptor_pipeline_statistics_many_new(...)
    • Device::create_query_set_pipeline_statistics_many(count, first_statistic_name_u32, other_statistic_names_u32)
  • Pipeline layout extras with multiple push-constant ranges:
    • @wgpu_c.pipeline_layout_descriptor_push_constants_many_new(...)
    • Device::create_pipeline_layout_push_constants_many(first_stages, first_start, first_end, other_ranges)
  • Render pipeline primitive extras on builder:
    • RenderPipelineDescBuilder::set_polygon_mode_u32(...)
    • RenderPipelineDescBuilder::set_conservative_rasterization(...)
    • RenderPipelineDescBuilder::clear_primitive_extras()

#Async Future APIs

Besides sync helpers, the package now exposes non-blocking future-style APIs:

  • Adapter request:
    • Instance::request_adapter_future_id_u64(...)
    • Instance::request_adapter_async_status_u32(...)
    • Instance::request_adapter_async_take_or_raise(...)
  • Device request:
    • Adapter::request_device_future_id_u64(...)
    • Adapter::request_device_async_status_u32(...)
    • Adapter::request_device_async_take_or_raise(...)

Drive completion with Instance::process_events() or Instance::wait_any_one(...).

#Runtime Behavior

  • Static mode is the default and links the verified upstream static library into the final native binary.
  • Dynamic mode is opt-in and loads libwgpu_native at runtime.
  • Dynamic library lookup order:
    1. MBT_WGPU_NATIVE_LIB
    2. default per-user path listed above
  • @wgpu.native_available() checks whether the core library/symbols are loadable.
  • @wgpu.native_supported() checks whether the current runtime matches the supported upstream release.
  • @wgpu.native_static_linked() reports whether this build used static linking.
  • @wgpu.native_expected_release_tag() returns the supported upstream release tag.
  • @wgpu.native_diagnostic() returns a combined loader/support diagnostic string.
  • For custom dynamic builds without release metadata, set MBT_WGPU_NATIVE_ALLOW_UNVERIFIED=1 to bypass strict release verification.
  • To force dynamic mode in a downstream project, export MBT_WGPU_LINK_MODE=dynamic for moon check / moon build / moon test.

#Optional Feature Gates

Some wgpu-native builds still have unimplemented or unstable entry points.

  • Debug labels / markers are off by default
    • enable via @wgpu.set_debug_labels_enabled(true) or MBT_WGPU_DEBUG_LABELS=1
  • Async pipeline creation is off by default
    • enable via MBT_WGPU_ENABLE_PIPELINE_ASYNC=1 or @wgpu.set_pipeline_async_enabled(true)
    • probe via @wgpu.pipeline_async_enabled() / @wgpu.pipeline_async_available()
  • Shader compilation info is off by default
    • enable via MBT_WGPU_ENABLE_COMPILATION_INFO=1 or @wgpu.set_compilation_info_enabled(true)
    • probe via @wgpu.compilation_info_enabled() / @wgpu.compilation_info_available()
  • Native features:
    • clear texture: @wgpu.NATIVE_FEATURE_CLEAR_TEXTURE
    • multiview: @wgpu.NATIVE_FEATURE_MULTIVIEW
    • quick checks: Adapter::has_feature_native_clear_texture() / Adapter::has_feature_native_multiview()
  • Force-disable env vars always take precedence:
    • MBT_WGPU_DISABLE_PIPELINE_ASYNC=1
    • MBT_WGPU_DISABLE_COMPILATION_INFO=1

#Known Upstream Gaps

These are still blocked by upstream wgpu-native headers/releases, so wgpu_mbt does not expose fake or unstable wrappers for them:

  • AddressModeClampToZero
  • AddressModeClampToBorder

ClearTexture and Multiview are already exposed by wgpu_mbt through local native-feature shims. The remaining blocker is sampler clamp-to-zero/border support: current upstream C headers still do not expose the required address-mode and border-color API surface.

#Troubleshooting

If startup fails at the first WebGPU call, usually libwgpu_native is missing, unsupported, or not loadable.

  • Check diagnostics: @wgpu.native_diagnostic()
  • Verify that you extracted the official upstream archive, not just the bare library file
  • Verify file path and filename for your platform
  • If using dynamic mode, set MBT_WGPU_LINK_MODE=dynamic
  • If using a custom dynamic library location, set MBT_WGPU_NATIVE_LIB=/absolute/path/to/libwgpu_native.(dylib|so|dll)

#
BufferSyncError

type BufferSyncError

#
BufferSyncError::message

fn BufferSyncError::message(self : BufferSyncError) -> String

#
ComputePipelineDescError

type ComputePipelineDescError

#
ComputePipelineDescError::message

#
OptionalSymbolError

type OptionalSymbolError

#
OptionalSymbolError::kind_u32

fn OptionalSymbolError::kind_u32(self : OptionalSymbolError) -> UInt

#
OptionalSymbolError::message

fn OptionalSymbolError::message(self : OptionalSymbolError) -> String

#
QueueWorkDoneError

type QueueWorkDoneError

#
QueueWorkDoneError::message

fn QueueWorkDoneError::message(self : QueueWorkDoneError) -> String

#
QueueWorkDoneError::status_u32

fn QueueWorkDoneError::status_u32(self : QueueWorkDoneError) -> UInt

#
QueueWorkDoneWaitError

type QueueWorkDoneWaitError

#
QueueWorkDoneWaitError::message

fn QueueWorkDoneWaitError::message(self : QueueWorkDoneWaitError) -> String

#
RenderPipelineDescError

type RenderPipelineDescError

#
RenderPipelineDescError::message

fn RenderPipelineDescError::message(self : RenderPipelineDescError) -> String

#
SurfaceConfigureError

type SurfaceConfigureError

#
SurfaceConfigureError::message

fn SurfaceConfigureError::message(self : SurfaceConfigureError) -> String

#
SurfacePresentError

type SurfacePresentError

#
SurfacePresentError::message

fn SurfacePresentError::message(self : SurfacePresentError) -> String

#
SurfaceTextureError

type SurfaceTextureError

#
SurfaceTextureError::message

fn SurfaceTextureError::message(self : SurfaceTextureError) -> String

#
WaitAnyError

type WaitAnyError

#
WaitAnyError::message

fn WaitAnyError::message(self : WaitAnyError) -> String

#
WaitAnyError::status_u32

fn WaitAnyError::status_u32(self : WaitAnyError) -> UInt

#
WgpuError

pub suberror WgpuError {
WgpuNativeUnavailable(String)
WgpuNativeUnsupported(String)
WgpuNativeMissingSymbol(String, String)
WgpuRequestAdapterFailed(UInt)
WgpuRequestDeviceFailed(UInt)
}

#
WgpuError::message

fn WgpuError::message(self : WgpuError) -> String

#
Adapter

#
Adapter::add_ref

fn Adapter::add_ref(self : Adapter) -> Adapter

#
Adapter::add_ref_raw

fn Adapter::add_ref_raw(self : Adapter) -> Unit

#
Adapter::get_features

#
Adapter::has_feature

fn Adapter::has_feature(self : Adapter, feature :
WGPUFeatureName
) -> Bool

#
Adapter::has_feature_native_buffer_binding_array

fn Adapter::has_feature_native_buffer_binding_array(self : Adapter) -> Bool

#
Adapter::has_feature_native_clear_texture

fn Adapter::has_feature_native_clear_texture(self : Adapter) -> Bool

#
Adapter::has_feature_native_conservative_rasterization

fn Adapter::has_feature_native_conservative_rasterization(self : Adapter) -> Bool

#
Adapter::has_feature_native_mappable_primary_buffers

fn Adapter::has_feature_native_mappable_primary_buffers(self : Adapter) -> Bool

#
Adapter::has_feature_native_multi_draw_indirect_count

fn Adapter::has_feature_native_multi_draw_indirect_count(self : Adapter) -> Bool

#
Adapter::has_feature_native_multiview

fn Adapter::has_feature_native_multiview(self : Adapter) -> Bool

#
Adapter::has_feature_native_partially_bound_binding_array

fn Adapter::has_feature_native_partially_bound_binding_array(self : Adapter) -> Bool

#
Adapter::has_feature_native_pipeline_statistics_query

fn Adapter::has_feature_native_pipeline_statistics_query(self : Adapter) -> Bool

#
Adapter::has_feature_native_polygon_mode_line

fn Adapter::has_feature_native_polygon_mode_line(self : Adapter) -> Bool

#
Adapter::has_feature_native_polygon_mode_point

fn Adapter::has_feature_native_polygon_mode_point(self : Adapter) -> Bool

#
Adapter::has_feature_native_push_constants

fn Adapter::has_feature_native_push_constants(self : Adapter) -> Bool

#
Adapter::has_feature_native_ray_query

fn Adapter::has_feature_native_ray_query(self : Adapter) -> Bool

#
Adapter::has_feature_native_sampled_texture_and_storage_buffer_array_non_uniform_indexing

fn Adapter::has_feature_native_sampled_texture_and_storage_buffer_array_non_uniform_indexing(self : Adapter) -> Bool

#
Adapter::has_feature_native_shader_early_depth_test

fn Adapter::has_feature_native_shader_early_depth_test(self : Adapter) -> Bool

#
Adapter::has_feature_native_shader_f64

fn Adapter::has_feature_native_shader_f64(self : Adapter) -> Bool

#
Adapter::has_feature_native_shader_i16

fn Adapter::has_feature_native_shader_i16(self : Adapter) -> Bool

#
Adapter::has_feature_native_shader_int64

fn Adapter::has_feature_native_shader_int64(self : Adapter) -> Bool

#
Adapter::has_feature_native_shader_primitive_index

fn Adapter::has_feature_native_shader_primitive_index(self : Adapter) -> Bool

#
Adapter::has_feature_native_spirv_shader_passthrough

fn Adapter::has_feature_native_spirv_shader_passthrough(self : Adapter) -> Bool

#
Adapter::has_feature_native_storage_resource_binding_array

fn Adapter::has_feature_native_storage_resource_binding_array(self : Adapter) -> Bool

#
Adapter::has_feature_native_subgroup

fn Adapter::has_feature_native_subgroup(self : Adapter) -> Bool

#
Adapter::has_feature_native_subgroup_barrier

fn Adapter::has_feature_native_subgroup_barrier(self : Adapter) -> Bool

#
Adapter::has_feature_native_subgroup_vertex

fn Adapter::has_feature_native_subgroup_vertex(self : Adapter) -> Bool

#
Adapter::has_feature_native_texture_adapter_specific_format_features

fn Adapter::has_feature_native_texture_adapter_specific_format_features(self : Adapter) -> Bool

#
Adapter::has_feature_native_texture_binding_array

fn Adapter::has_feature_native_texture_binding_array(self : Adapter) -> Bool

#
Adapter::has_feature_native_texture_compression_astc_hdr

fn Adapter::has_feature_native_texture_compression_astc_hdr(self : Adapter) -> Bool

#
Adapter::has_feature_native_texture_format16bit_norm

fn Adapter::has_feature_native_texture_format16bit_norm(self : Adapter) -> Bool

#
Adapter::has_feature_native_texture_format_nv12

fn Adapter::has_feature_native_texture_format_nv12(self : Adapter) -> Bool

#
Adapter::has_feature_native_timestamp_query_inside_encoders

fn Adapter::has_feature_native_timestamp_query_inside_encoders(self : Adapter) -> Bool

#
Adapter::has_feature_native_timestamp_query_inside_passes

fn Adapter::has_feature_native_timestamp_query_inside_passes(self : Adapter) -> Bool

#
Adapter::has_feature_native_u32

fn Adapter::has_feature_native_u32(self : Adapter, native_feature_u32 : UInt) -> Bool

#
Adapter::has_feature_native_uniform_buffer_and_storage_texture_array_non_uniform_indexing

fn Adapter::has_feature_native_uniform_buffer_and_storage_texture_array_non_uniform_indexing(self : Adapter) -> Bool

#
Adapter::has_feature_native_vertex_attribute64bit

fn Adapter::has_feature_native_vertex_attribute64bit(self : Adapter) -> Bool

#
Adapter::has_feature_native_vertex_writable_storage

fn Adapter::has_feature_native_vertex_writable_storage(self : Adapter) -> Bool

#
Adapter::has_feature_timestamp_query

fn Adapter::has_feature_timestamp_query(self : Adapter) -> Bool

#
Adapter::info_adapter_type_u32

fn Adapter::info_adapter_type_u32(self : Adapter) -> UInt

#
Adapter::info_architecture

fn Adapter::info_architecture(self : Adapter) -> String

#
Adapter::info_backend_type_u32

fn Adapter::info_backend_type_u32(self : Adapter) -> UInt

#
Adapter::info_description

fn Adapter::info_description(self : Adapter) -> String

#
Adapter::info_device

fn Adapter::info_device(self : Adapter) -> String

#
Adapter::info_device_id_u32

fn Adapter::info_device_id_u32(self : Adapter) -> UInt

#
Adapter::info_vendor

fn Adapter::info_vendor(self : Adapter) -> String

#
Adapter::info_vendor_id_u32

fn Adapter::info_vendor_id_u32(self : Adapter) -> UInt

#
Adapter::limits_max_bind_groups_plus_vertex_buffers_u32

fn Adapter::limits_max_bind_groups_plus_vertex_buffers_u32(self : Adapter) -> UInt

#
Adapter::limits_max_bind_groups_u32

fn Adapter::limits_max_bind_groups_u32(self : Adapter) -> UInt

#
Adapter::limits_max_bindings_per_bind_group_u32

fn Adapter::limits_max_bindings_per_bind_group_u32(self : Adapter) -> UInt

#
Adapter::limits_max_buffer_size_u64

fn Adapter::limits_max_buffer_size_u64(self : Adapter) -> UInt64

#
Adapter::limits_max_color_attachment_bytes_per_sample_u32

fn Adapter::limits_max_color_attachment_bytes_per_sample_u32(self : Adapter) -> UInt

#
Adapter::limits_max_color_attachments_u32

fn Adapter::limits_max_color_attachments_u32(self : Adapter) -> UInt

#
Adapter::limits_max_compute_invocations_per_workgroup_u32

fn Adapter::limits_max_compute_invocations_per_workgroup_u32(self : Adapter) -> UInt

#
Adapter::limits_max_compute_workgroup_size_x_u32

fn Adapter::limits_max_compute_workgroup_size_x_u32(self : Adapter) -> UInt

#
Adapter::limits_max_compute_workgroup_size_y_u32

fn Adapter::limits_max_compute_workgroup_size_y_u32(self : Adapter) -> UInt

#
Adapter::limits_max_compute_workgroup_size_z_u32

fn Adapter::limits_max_compute_workgroup_size_z_u32(self : Adapter) -> UInt

#
Adapter::limits_max_compute_workgroup_storage_size_u32

fn Adapter::limits_max_compute_workgroup_storage_size_u32(self : Adapter) -> UInt

#
Adapter::limits_max_compute_workgroups_per_dimension_u32

fn Adapter::limits_max_compute_workgroups_per_dimension_u32(self : Adapter) -> UInt

#
Adapter::limits_max_dynamic_storage_buffers_per_pipeline_layout_u32

fn Adapter::limits_max_dynamic_storage_buffers_per_pipeline_layout_u32(self : Adapter) -> UInt

#
Adapter::limits_max_dynamic_uniform_buffers_per_pipeline_layout_u32

fn Adapter::limits_max_dynamic_uniform_buffers_per_pipeline_layout_u32(self : Adapter) -> UInt

#
Adapter::limits_max_inter_stage_shader_variables_u32

fn Adapter::limits_max_inter_stage_shader_variables_u32(self : Adapter) -> UInt

#
Adapter::limits_max_non_sampler_bindings_u32

fn Adapter::limits_max_non_sampler_bindings_u32(self : Adapter) -> UInt

#
Adapter::limits_max_push_constant_size_u32

fn Adapter::limits_max_push_constant_size_u32(self : Adapter) -> UInt

#
Adapter::limits_max_sampled_textures_per_shader_stage_u32

fn Adapter::limits_max_sampled_textures_per_shader_stage_u32(self : Adapter) -> UInt

#
Adapter::limits_max_samplers_per_shader_stage_u32

fn Adapter::limits_max_samplers_per_shader_stage_u32(self : Adapter) -> UInt

#
Adapter::limits_max_storage_buffer_binding_size_u64

fn Adapter::limits_max_storage_buffer_binding_size_u64(self : Adapter) -> UInt64

#
Adapter::limits_max_storage_buffers_per_shader_stage_u32

fn Adapter::limits_max_storage_buffers_per_shader_stage_u32(self : Adapter) -> UInt

#
Adapter::limits_max_storage_textures_per_shader_stage_u32

fn Adapter::limits_max_storage_textures_per_shader_stage_u32(self : Adapter) -> UInt

#
Adapter::limits_max_texture_array_layers_u32

fn Adapter::limits_max_texture_array_layers_u32(self : Adapter) -> UInt

#
Adapter::limits_max_texture_dimension_1d_u32

fn Adapter::limits_max_texture_dimension_1d_u32(self : Adapter) -> UInt

#
Adapter::limits_max_texture_dimension_2d_u32

fn Adapter::limits_max_texture_dimension_2d_u32(self : Adapter) -> UInt

#
Adapter::limits_max_texture_dimension_3d_u32

fn Adapter::limits_max_texture_dimension_3d_u32(self : Adapter) -> UInt

#
Adapter::limits_max_uniform_buffer_binding_size_u64

fn Adapter::limits_max_uniform_buffer_binding_size_u64(self : Adapter) -> UInt64

#
Adapter::limits_max_uniform_buffers_per_shader_stage_u32

fn Adapter::limits_max_uniform_buffers_per_shader_stage_u32(self : Adapter) -> UInt

#
Adapter::limits_max_vertex_attributes_u32

fn Adapter::limits_max_vertex_attributes_u32(self : Adapter) -> UInt

#
Adapter::limits_max_vertex_buffer_array_stride_u32

fn Adapter::limits_max_vertex_buffer_array_stride_u32(self : Adapter) -> UInt

#
Adapter::limits_max_vertex_buffers_u32

fn Adapter::limits_max_vertex_buffers_u32(self : Adapter) -> UInt

#
Adapter::limits_min_storage_buffer_offset_alignment_u32

fn Adapter::limits_min_storage_buffer_offset_alignment_u32(self : Adapter) -> UInt

#
Adapter::limits_min_uniform_buffer_offset_alignment_u32

fn Adapter::limits_min_uniform_buffer_offset_alignment_u32(self : Adapter) -> UInt

#
Adapter::raw_handle

#
Adapter::release

fn Adapter::release(self : Adapter) -> Unit

#
Adapter::release_raw

fn Adapter::release_raw(self : Adapter) -> Unit

#
Adapter::request_device_async_clear

fn Adapter::request_device_async_clear(self : Adapter, future_id : UInt64) -> Unit

#
Adapter::request_device_async_device

fn Adapter::request_device_async_device(self : Adapter, future_id : UInt64) -> Device

#
Adapter::request_device_async_message

fn Adapter::request_device_async_message(self : Adapter, future_id : UInt64) -> String

#
Adapter::request_device_async_status_u32

fn Adapter::request_device_async_status_u32(self : Adapter, future_id : UInt64) -> UInt

#
Adapter::request_device_async_take_or_raise

fn Adapter::request_device_async_take_or_raise(self : Adapter, future_id : UInt64) -> Device raise WgpuError

#
Adapter::request_device_future_id_u64

fn Adapter::request_device_future_id_u64(self : Adapter, descriptor? :
WGPUDeviceDescriptorPtr
) -> UInt64

#
Adapter::request_device_sync

fn Adapter::request_device_sync(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_buffer_binding_array

fn Adapter::request_device_sync_buffer_binding_array(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_clear_texture

fn Adapter::request_device_sync_clear_texture(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_conservative_rasterization

fn Adapter::request_device_sync_conservative_rasterization(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_mappable_primary_buffers

fn Adapter::request_device_sync_mappable_primary_buffers(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_multi_draw_indirect_count

fn Adapter::request_device_sync_multi_draw_indirect_count(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_multiview

fn Adapter::request_device_sync_multiview(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_native_feature

fn Adapter::request_device_sync_native_feature(self : Adapter, instance : Instance, native_feature_u32 : UInt) -> Device raise WgpuError

#
Adapter::request_device_sync_partially_bound_binding_array

fn Adapter::request_device_sync_partially_bound_binding_array(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_pipeline_statistics_query

fn Adapter::request_device_sync_pipeline_statistics_query(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_polygon_mode_line

fn Adapter::request_device_sync_polygon_mode_line(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_polygon_mode_point

fn Adapter::request_device_sync_polygon_mode_point(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_ptr

fn Adapter::request_device_sync_ptr(self : Adapter, instance : Instance, descriptor :
WGPUDeviceDescriptorPtr
) -> Device raise WgpuError

#
Adapter::request_device_sync_push_constants

fn Adapter::request_device_sync_push_constants(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_ray_query

fn Adapter::request_device_sync_ray_query(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_sampled_texture_and_storage_buffer_array_non_uniform_indexing

fn Adapter::request_device_sync_sampled_texture_and_storage_buffer_array_non_uniform_indexing(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_shader_early_depth_test

fn Adapter::request_device_sync_shader_early_depth_test(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_shader_f64

fn Adapter::request_device_sync_shader_f64(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_shader_i16

fn Adapter::request_device_sync_shader_i16(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_shader_int64

fn Adapter::request_device_sync_shader_int64(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_shader_primitive_index

fn Adapter::request_device_sync_shader_primitive_index(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_spirv_shader_passthrough

fn Adapter::request_device_sync_spirv_shader_passthrough(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_storage_resource_binding_array

fn Adapter::request_device_sync_storage_resource_binding_array(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_subgroup

fn Adapter::request_device_sync_subgroup(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_subgroup_barrier

fn Adapter::request_device_sync_subgroup_barrier(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_subgroup_vertex

fn Adapter::request_device_sync_subgroup_vertex(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_texture_adapter_specific_format_features

fn Adapter::request_device_sync_texture_adapter_specific_format_features(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_texture_binding_array

fn Adapter::request_device_sync_texture_binding_array(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_texture_compression_astc_hdr

fn Adapter::request_device_sync_texture_compression_astc_hdr(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_texture_format16bit_norm

fn Adapter::request_device_sync_texture_format16bit_norm(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_texture_format_nv12

fn Adapter::request_device_sync_texture_format_nv12(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_timestamp_query

fn Adapter::request_device_sync_timestamp_query(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_timestamp_query_inside_encoders

fn Adapter::request_device_sync_timestamp_query_inside_encoders(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_timestamp_query_inside_passes

fn Adapter::request_device_sync_timestamp_query_inside_passes(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_uniform_buffer_and_storage_texture_array_non_uniform_indexing

fn Adapter::request_device_sync_uniform_buffer_and_storage_texture_array_non_uniform_indexing(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_vertex_attribute64bit

fn Adapter::request_device_sync_vertex_attribute64bit(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_vertex_writable_storage

fn Adapter::request_device_sync_vertex_writable_storage(self : Adapter, instance : Instance) -> Device raise WgpuError

#
Adapter::request_device_sync_with_features

fn Adapter::request_device_sync_with_features(self : Adapter, instance : Instance, required_features_u32 : Array[UInt], label? : String, queue_label? : String, trace_path? : String) -> Device raise WgpuError

#
Adapter::request_device_sync_with_features_and_limits

fn Adapter::request_device_sync_with_features_and_limits(self : Adapter, instance : Instance, required_features_u32 : Array[UInt], max_bind_groups_u32? : UInt, max_dynamic_uniform_buffers_u32? : UInt, max_uniform_buffer_binding_size? : UInt64, max_storage_buffer_binding_size? : UInt64, max_push_constant_size_u32? : UInt, max_non_sampler_bindings_u32? : UInt, label? : String, queue_label? : String, trace_path? : String) -> Device raise WgpuError

#
Adapter::supported_feature_u32_at

fn Adapter::supported_feature_u32_at(self : Adapter, index : UInt64) -> UInt

#
Adapter::supported_features_contains_u32

fn Adapter::supported_features_contains_u32(self : Adapter, feature_u32 : UInt) -> Bool

#
Adapter::supported_features_count_u64

fn Adapter::supported_features_count_u64(self : Adapter) -> UInt64

#
BindGroup

#
BindGroup::add_ref

fn BindGroup::add_ref(self : BindGroup) -> BindGroup

#
BindGroup::add_ref_raw

fn BindGroup::add_ref_raw(self : BindGroup) -> Unit

#
BindGroup::raw_handle

#
BindGroup::release

fn BindGroup::release(self : BindGroup) -> Unit

#
BindGroup::release_raw

fn BindGroup::release_raw(self : BindGroup) -> Unit

#
BindGroup::set_label

fn BindGroup::set_label(self : BindGroup, label : String) -> Unit

#
BindGroupBuilder

#
BindGroupBuilder::add_buffer

fn BindGroupBuilder::add_buffer(self : BindGroupBuilder, binding : UInt, buffer : Buffer, offset? : UInt64, size? : UInt64) -> Bool

#
BindGroupBuilder::add_buffer_array

fn BindGroupBuilder::add_buffer_array(self : BindGroupBuilder, binding : UInt, buffers : Array[Buffer], offset? : UInt64, size? : UInt64) -> Bool

#
BindGroupBuilder::add_sampler

fn BindGroupBuilder::add_sampler(self : BindGroupBuilder, binding : UInt, sampler : Sampler) -> Bool

#
BindGroupBuilder::add_sampler_array

fn BindGroupBuilder::add_sampler_array(self : BindGroupBuilder, binding : UInt, samplers : Array[Sampler]) -> Bool

#
BindGroupBuilder::add_texture_view

fn BindGroupBuilder::add_texture_view(self : BindGroupBuilder, binding : UInt, view : TextureView) -> Bool

#
BindGroupBuilder::add_texture_view_array

fn BindGroupBuilder::add_texture_view_array(self : BindGroupBuilder, binding : UInt, views : Array[TextureView]) -> Bool

#
BindGroupBuilder::finish

fn BindGroupBuilder::finish(self : BindGroupBuilder, device : Device, layout : BindGroupLayout, label? : String) -> BindGroup

#
BindGroupBuilder::free

fn BindGroupBuilder::free(self : BindGroupBuilder) -> Unit

#
BindGroupBuilder::new

fn BindGroupBuilder::new(max_entries~ : UInt64) -> BindGroupBuilder

#
BindGroupLayout

#
BindGroupLayout::add_ref

#
BindGroupLayout::add_ref_raw

fn BindGroupLayout::add_ref_raw(self : BindGroupLayout) -> Unit

#
BindGroupLayout::release

fn BindGroupLayout::release(self : BindGroupLayout) -> Unit

#
BindGroupLayout::release_raw

fn BindGroupLayout::release_raw(self : BindGroupLayout) -> Unit

#
BindGroupLayout::set_label

fn BindGroupLayout::set_label(self : BindGroupLayout, label : String) -> Unit

#
BindGroupLayoutBuilder

#
BindGroupLayoutBuilder::add_buffer

fn BindGroupLayoutBuilder::add_buffer(self : BindGroupLayoutBuilder, binding : UInt, visibility : ShaderStage, type_u32 : UInt, has_dynamic_offset? : Bool, min_binding_size? : UInt64, count? : UInt) -> Bool

#
BindGroupLayoutBuilder::add_sampler

fn BindGroupLayoutBuilder::add_sampler(self : BindGroupLayoutBuilder, binding : UInt, visibility : ShaderStage, type_u32 : UInt, count? : UInt) -> Bool

#
BindGroupLayoutBuilder::add_storage_texture

fn BindGroupLayoutBuilder::add_storage_texture(self : BindGroupLayoutBuilder, binding : UInt, visibility : ShaderStage, access_u32 : UInt, format : TextureFormat, view_dimension_u32 : UInt, count? : UInt) -> Bool

#
BindGroupLayoutBuilder::add_texture

fn BindGroupLayoutBuilder::add_texture(self : BindGroupLayoutBuilder, binding : UInt, visibility : ShaderStage, sample_type_u32 : UInt, view_dimension_u32 : UInt, multisampled? : Bool, count? : UInt) -> Bool

#
BindGroupLayoutBuilder::finish

fn BindGroupLayoutBuilder::finish(self : BindGroupLayoutBuilder, device : Device, label? : String) -> BindGroupLayout

#
BindGroupLayoutBuilder::free

#
BindGroupLayoutBuilder::new

fn BindGroupLayoutBuilder::new(max_entries~ : UInt64) -> BindGroupLayoutBuilder

#
Buffer

#
Buffer::add_ref

fn Buffer::add_ref(self : Buffer) -> Buffer

#
Buffer::add_ref_raw

fn Buffer::add_ref_raw(self : Buffer) -> Unit

#
Buffer::destroy

fn Buffer::destroy(self : Buffer) -> Unit

#
Buffer::destroy_raw

fn Buffer::destroy_raw(self : Buffer) -> Unit

#
Buffer::get_map_state

#
Buffer::get_size

fn Buffer::get_size(self : Buffer) -> UInt64

#
Buffer::get_usage

fn Buffer::get_usage(self : Buffer) -> UInt64

#
Buffer::map_read_sync

fn Buffer::map_read_sync(self : Buffer, instance : Instance, offset : UInt64, size : UInt64) -> Bytes

#
Buffer::map_read_sync_or_raise

fn Buffer::map_read_sync_or_raise(self : Buffer, instance : Instance, offset : UInt64, size : UInt64) -> Bytes raise BufferSyncError

#
Buffer::map_write_sync

fn Buffer::map_write_sync(self : Buffer, instance : Instance, offset : UInt64, data : Bytes) -> Unit

#
Buffer::map_write_sync_or_raise

fn Buffer::map_write_sync_or_raise(self : Buffer, instance : Instance, offset : UInt64, data : Bytes) -> Unit raise BufferSyncError

#
Buffer::raw_handle

#
Buffer::readback

fn Buffer::readback(self : Buffer, instance : Instance, offset : UInt64, size : UInt64) -> Bytes

#
Buffer::readback_or_raise

fn Buffer::readback_or_raise(self : Buffer, instance : Instance, offset : UInt64, size : UInt64) -> Bytes raise BufferSyncError

#
Buffer::release

fn Buffer::release(self : Buffer) -> Unit

#
Buffer::release_raw

fn Buffer::release_raw(self : Buffer) -> Unit

#
Buffer::set_label

fn Buffer::set_label(self : Buffer, label : String) -> Unit

#
Buffer::size

fn Buffer::size(self : Buffer) -> UInt64

#
Buffer::unmap

fn Buffer::unmap(self : Buffer) -> Unit

#
Buffer::unmap_raw

fn Buffer::unmap_raw(self : Buffer) -> Unit

#
Buffer::usage_u64

fn Buffer::usage_u64(self : Buffer) -> BufferUsage

#
BufferUsage

pub struct BufferUsage {
raw : UInt64
}

impl Eq for BufferUsage

#
BufferUsage::from_u64

fn BufferUsage::from_u64(raw : UInt64) -> BufferUsage

#
BufferUsage::to_u64

fn BufferUsage::to_u64(self : BufferUsage) -> UInt64

#
CommandBuffer

#
CommandBuffer::add_ref

#
CommandBuffer::add_ref_raw

fn CommandBuffer::add_ref_raw(self : CommandBuffer) -> Unit

#
CommandBuffer::release

fn CommandBuffer::release(self : CommandBuffer) -> Unit

#
CommandBuffer::release_raw

fn CommandBuffer::release_raw(self : CommandBuffer) -> Unit

#
CommandBuffer::set_label

fn CommandBuffer::set_label(self : CommandBuffer, label : String) -> Unit

#
CommandEncoder

#
CommandEncoder::add_ref

#
CommandEncoder::add_ref_raw

fn CommandEncoder::add_ref_raw(self : CommandEncoder) -> Unit

#
CommandEncoder::begin_compute_pass

fn CommandEncoder::begin_compute_pass(self : CommandEncoder) -> ComputePass

#
CommandEncoder::begin_compute_pass_ptr

#
CommandEncoder::begin_compute_pass_raw

#
CommandEncoder::begin_render_pass

#
CommandEncoder::begin_render_pass_color

fn CommandEncoder::begin_render_pass_color(self : CommandEncoder, view : TextureView) -> RenderPass

#
CommandEncoder::begin_render_pass_color2

fn CommandEncoder::begin_render_pass_color2(self : CommandEncoder, view0 : TextureView, view1 : TextureView) -> RenderPass

#
CommandEncoder::begin_render_pass_color2_depth

fn CommandEncoder::begin_render_pass_color2_depth(self : CommandEncoder, color0_view : TextureView, color1_view : TextureView, depth_view : TextureView) -> RenderPass

#
CommandEncoder::begin_render_pass_color2_depth_u32

fn CommandEncoder::begin_render_pass_color2_depth_u32(self : CommandEncoder, color0_view : TextureView, color1_view : TextureView, depth_view : TextureView, color0_load_op_u32? : UInt, color0_store_op_u32? : UInt, color0_clear_r_f32? : Float, color0_clear_g_f32? : Float, color0_clear_b_f32? : Float, color0_clear_a_f32? : Float, color1_load_op_u32? : UInt, color1_store_op_u32? : UInt, color1_clear_r_f32? : Float, color1_clear_g_f32? : Float, color1_clear_b_f32? : Float, color1_clear_a_f32? : Float, depth_load_op_u32? : UInt, depth_store_op_u32? : UInt, depth_clear_value_f32? : Float, depth_read_only? : Bool, stencil_load_op_u32? : UInt, stencil_store_op_u32? : UInt, stencil_clear_value_u32? : UInt, stencil_read_only? : Bool) -> RenderPass

#
CommandEncoder::begin_render_pass_color_clear

fn CommandEncoder::begin_render_pass_color_clear(self : CommandEncoder, view : TextureView, r : Float, g : Float, b : Float, a : Float) -> RenderPass

#
CommandEncoder::begin_render_pass_color_depth

fn CommandEncoder::begin_render_pass_color_depth(self : CommandEncoder, color_view : TextureView, depth_view : TextureView) -> RenderPass

#
CommandEncoder::begin_render_pass_color_depth_u32

fn CommandEncoder::begin_render_pass_color_depth_u32(self : CommandEncoder, color_view : TextureView, depth_view : TextureView, color_load_op_u32? : UInt, color_store_op_u32? : UInt, color_clear_r_f32? : Float, color_clear_g_f32? : Float, color_clear_b_f32? : Float, color_clear_a_f32? : Float, depth_load_op_u32? : UInt, depth_store_op_u32? : UInt, depth_clear_value_f32? : Float, depth_read_only? : Bool, stencil_load_op_u32? : UInt, stencil_store_op_u32? : UInt, stencil_clear_value_u32? : UInt, stencil_read_only? : Bool) -> RenderPass

#
CommandEncoder::begin_render_pass_color_load

fn CommandEncoder::begin_render_pass_color_load(self : CommandEncoder, view : TextureView) -> RenderPass

#
CommandEncoder::begin_render_pass_color_occlusion

fn CommandEncoder::begin_render_pass_color_occlusion(self : CommandEncoder, view : TextureView, query_set : QuerySet) -> RenderPass

#
CommandEncoder::begin_render_pass_ptr

#
CommandEncoder::clear_buffer

fn CommandEncoder::clear_buffer(self : CommandEncoder, buffer : Buffer, offset : UInt64, size : UInt64) -> Unit

#
CommandEncoder::clear_buffer_raw

fn CommandEncoder::clear_buffer_raw(self : CommandEncoder, buffer : Buffer, offset : UInt64, size : UInt64) -> Unit

#
CommandEncoder::copy_buffer_to_buffer

fn CommandEncoder::copy_buffer_to_buffer(self : CommandEncoder, source : Buffer, source_offset : UInt64, destination : Buffer, destination_offset : UInt64, size : UInt64) -> Unit

#
CommandEncoder::copy_buffer_to_buffer_raw

fn CommandEncoder::copy_buffer_to_buffer_raw(self : CommandEncoder, source : Buffer, source_offset : UInt64, destination : Buffer, destination_offset : UInt64, size : UInt64) -> Unit

#
CommandEncoder::copy_buffer_to_texture_rgba8

fn CommandEncoder::copy_buffer_to_texture_rgba8(self : CommandEncoder, buffer : Buffer, texture : Texture, width : UInt, height : UInt) -> Unit

#
CommandEncoder::copy_buffer_to_texture_rgba8_mip_layer

fn CommandEncoder::copy_buffer_to_texture_rgba8_mip_layer(self : CommandEncoder, buffer : Buffer, texture : Texture, mip_level : UInt, array_layer : UInt, width : UInt, height : UInt) -> Unit

#
CommandEncoder::copy_texture_to_buffer_bytes_per_pixel

fn CommandEncoder::copy_texture_to_buffer_bytes_per_pixel(self : CommandEncoder, texture : Texture, buffer : Buffer, width : UInt, height : UInt, bytes_per_pixel : UInt) -> Unit

#
CommandEncoder::copy_texture_to_buffer_bytes_per_pixel_mip_layer

fn CommandEncoder::copy_texture_to_buffer_bytes_per_pixel_mip_layer(self : CommandEncoder, texture : Texture, mip_level : UInt, array_layer : UInt, buffer : Buffer, width : UInt, height : UInt, bytes_per_pixel : UInt) -> Unit

#
CommandEncoder::copy_texture_to_buffer_rgba8

fn CommandEncoder::copy_texture_to_buffer_rgba8(self : CommandEncoder, texture : Texture, buffer : Buffer, width : UInt, height : UInt) -> Unit

#
CommandEncoder::copy_texture_to_buffer_rgba8_mip_layer

fn CommandEncoder::copy_texture_to_buffer_rgba8_mip_layer(self : CommandEncoder, texture : Texture, mip_level : UInt, array_layer : UInt, buffer : Buffer, width : UInt, height : UInt) -> Unit

#
CommandEncoder::copy_texture_to_texture_rgba8

fn CommandEncoder::copy_texture_to_texture_rgba8(self : CommandEncoder, src : Texture, dst : Texture, width : UInt, height : UInt) -> Unit

#
CommandEncoder::copy_texture_to_texture_rgba8_mip_layer

fn CommandEncoder::copy_texture_to_texture_rgba8_mip_layer(self : CommandEncoder, src : Texture, src_mip_level : UInt, src_array_layer : UInt, dst : Texture, dst_mip_level : UInt, dst_array_layer : UInt, width : UInt, height : UInt) -> Unit

#
CommandEncoder::finish

#
CommandEncoder::insert_debug_marker

fn CommandEncoder::insert_debug_marker(self : CommandEncoder, label : String) -> Unit

#
CommandEncoder::pop_debug_group

fn CommandEncoder::pop_debug_group(self : CommandEncoder) -> Unit

#
CommandEncoder::pop_debug_group_raw

fn CommandEncoder::pop_debug_group_raw(self : CommandEncoder) -> Unit

#
CommandEncoder::push_debug_group

fn CommandEncoder::push_debug_group(self : CommandEncoder, label : String) -> Unit

#
CommandEncoder::release

fn CommandEncoder::release(self : CommandEncoder) -> Unit

#
CommandEncoder::release_raw

fn CommandEncoder::release_raw(self : CommandEncoder) -> Unit

#
CommandEncoder::resolve_query_set

fn CommandEncoder::resolve_query_set(self : CommandEncoder, query_set : QuerySet, first_query : UInt, query_count : UInt, destination : Buffer, destination_offset : UInt64) -> Unit

#
CommandEncoder::resolve_query_set_raw

fn CommandEncoder::resolve_query_set_raw(self : CommandEncoder, query_set : QuerySet, first_query : UInt, query_count : UInt, destination : Buffer, destination_offset : UInt64) -> Unit

#
CommandEncoder::set_label

fn CommandEncoder::set_label(self : CommandEncoder, label : String) -> Unit

#
CommandEncoder::write_timestamp

fn CommandEncoder::write_timestamp(self : CommandEncoder, query_set : QuerySet, query_index : UInt) -> Unit

#
CommandEncoder::write_timestamp_raw

fn CommandEncoder::write_timestamp_raw(self : CommandEncoder, query_set : QuerySet, query_index : UInt) -> Unit

#
CompilationInfo

pub struct CompilationInfo {
status_u32 : UInt
messages : Array[CompilationMessage]
}

#
CompilationMessage

pub struct CompilationMessage {
type_u32 : UInt
line_num_u64 : UInt64
line_pos_u64 : UInt64
offset_u64 : UInt64
length_u64 : UInt64
text : String
}

#
CompositeAlphaMode

pub struct CompositeAlphaMode {
raw : UInt
}

#
CompositeAlphaMode::from_u32

fn CompositeAlphaMode::from_u32(raw : UInt) -> CompositeAlphaMode

#
CompositeAlphaMode::to_u32

fn CompositeAlphaMode::to_u32(self : CompositeAlphaMode) -> UInt

#
ComputePass

#
ComputePass::add_ref

fn ComputePass::add_ref(self : ComputePass) -> ComputePass

#
ComputePass::add_ref_raw

fn ComputePass::add_ref_raw(self : ComputePass) -> Unit

#
ComputePass::begin_pipeline_statistics_query

fn ComputePass::begin_pipeline_statistics_query(self : ComputePass, query_set : QuerySet, query_index : UInt) -> Unit

#
ComputePass::begin_pipeline_statistics_query_raw

fn ComputePass::begin_pipeline_statistics_query_raw(self : ComputePass, query_set : QuerySet, query_index : UInt) -> Unit

#
ComputePass::dispatch_workgroups

fn ComputePass::dispatch_workgroups(self : ComputePass, x : UInt, y : UInt, z : UInt) -> Unit

#
ComputePass::dispatch_workgroups_indirect

fn ComputePass::dispatch_workgroups_indirect(self : ComputePass, indirect_buffer : Buffer, indirect_offset : UInt64) -> Unit

#
ComputePass::dispatch_workgroups_indirect_raw

fn ComputePass::dispatch_workgroups_indirect_raw(self : ComputePass, indirect_buffer : Buffer, indirect_offset : UInt64) -> Unit

#
ComputePass::dispatch_workgroups_raw

fn ComputePass::dispatch_workgroups_raw(self : ComputePass, workgroup_count_x : UInt, workgroup_count_y : UInt, workgroup_count_z : UInt) -> Unit

#
ComputePass::end

fn ComputePass::end(self : ComputePass) -> Unit

#
ComputePass::end_pipeline_statistics_query

fn ComputePass::end_pipeline_statistics_query(self : ComputePass) -> Unit

#
ComputePass::end_pipeline_statistics_query_raw

fn ComputePass::end_pipeline_statistics_query_raw(self : ComputePass) -> Unit

#
ComputePass::end_raw

fn ComputePass::end_raw(self : ComputePass) -> Unit

#
ComputePass::insert_debug_marker

fn ComputePass::insert_debug_marker(self : ComputePass, label : String) -> Unit

#
ComputePass::pop_debug_group

fn ComputePass::pop_debug_group(self : ComputePass) -> Unit

#
ComputePass::pop_debug_group_raw

fn ComputePass::pop_debug_group_raw(self : ComputePass) -> Unit

#
ComputePass::push_debug_group

fn ComputePass::push_debug_group(self : ComputePass, label : String) -> Unit

#
ComputePass::release

fn ComputePass::release(self : ComputePass) -> Unit

#
ComputePass::release_raw

fn ComputePass::release_raw(self : ComputePass) -> Unit

#
ComputePass::set_bind_group

fn ComputePass::set_bind_group(self : ComputePass, index : UInt, group : BindGroup, dynamic_offsets : Array[UInt]) -> Unit

#
ComputePass::set_bind_group0

fn ComputePass::set_bind_group0(self : ComputePass, group : BindGroup) -> Unit

#
ComputePass::set_label

fn ComputePass::set_label(self : ComputePass, label : String) -> Unit

#
ComputePass::set_pipeline

fn ComputePass::set_pipeline(self : ComputePass, pipeline : ComputePipeline) -> Unit

#
ComputePass::set_pipeline_raw

fn ComputePass::set_pipeline_raw(self : ComputePass, pipeline : ComputePipeline) -> Unit

#
ComputePass::set_push_constants

fn ComputePass::set_push_constants(self : ComputePass, offset : UInt, data : Bytes) -> Unit

#
ComputePass::write_timestamp

fn ComputePass::write_timestamp(self : ComputePass, query_set : QuerySet, query_index : UInt) -> Unit

#
ComputePass::write_timestamp_raw

fn ComputePass::write_timestamp_raw(self : ComputePass, query_set : QuerySet, query_index : UInt) -> Unit

#
ComputePipeline

#
ComputePipeline::add_ref

#
ComputePipeline::add_ref_raw

fn ComputePipeline::add_ref_raw(self : ComputePipeline) -> Unit

#
ComputePipeline::get_bind_group_layout

fn ComputePipeline::get_bind_group_layout(self : ComputePipeline, index : UInt) -> BindGroupLayout

#
ComputePipeline::get_bind_group_layout_raw

fn ComputePipeline::get_bind_group_layout_raw(self : ComputePipeline, group_index : UInt) -> BindGroupLayout

#
ComputePipeline::release

fn ComputePipeline::release(self : ComputePipeline) -> Unit

#
ComputePipeline::release_raw

fn ComputePipeline::release_raw(self : ComputePipeline) -> Unit

#
ComputePipeline::set_label

fn ComputePipeline::set_label(self : ComputePipeline, label : String) -> Unit

#
ComputePipelineDescBuilder

#
ComputePipelineDescBuilder::create_pipeline

#
ComputePipelineDescBuilder::free

#
ComputePipelineDescBuilder::last_error

#
ComputePipelineDescBuilder::new

ComputePipelineDescriptor builder.

The builder is MoonBit-managed. If you call finish_descriptor_ptr, it transfers the underlying descriptor out of the builder, and you must free the returned pointer via @c.compute_pipeline_descriptor_free(desc).

#
ComputePipelineDescBuilder::set_entry_point

fn ComputePipelineDescBuilder::set_entry_point(self : ComputePipelineDescBuilder, entry_point : String) -> Unit raise ComputePipelineDescError

#
Device

#
Device::add_ref

fn Device::add_ref(self : Device) -> Device

#
Device::add_ref_raw

fn Device::add_ref_raw(self : Device) -> Unit

#
Device::create_bind_group

#
Device::create_bind_group_layout

#
Device::create_bind_group_layout_empty

fn Device::create_bind_group_layout_empty(self : Device) -> BindGroupLayout

#
Device::create_bind_group_layout_ptr

#
Device::create_bind_group_layout_sampler_filtering

fn Device::create_bind_group_layout_sampler_filtering(self : Device) -> BindGroupLayout

#
Device::create_bind_group_layout_sampler_texture_2d

fn Device::create_bind_group_layout_sampler_texture_2d(self : Device) -> BindGroupLayout

#
Device::create_bind_group_layout_storage_buffer

fn Device::create_bind_group_layout_storage_buffer(self : Device) -> BindGroupLayout

#
Device::create_bind_group_layout_storage_texture_rgba8_writeonly

fn Device::create_bind_group_layout_storage_texture_rgba8_writeonly(self : Device) -> BindGroupLayout

#
Device::create_bind_group_layout_texture_2d_float

fn Device::create_bind_group_layout_texture_2d_float(self : Device) -> BindGroupLayout

#
Device::create_bind_group_layout_uniform_buffer

fn Device::create_bind_group_layout_uniform_buffer(self : Device) -> BindGroupLayout

#
Device::create_bind_group_layout_uniform_buffer_dynamic

fn Device::create_bind_group_layout_uniform_buffer_dynamic(self : Device) -> BindGroupLayout

#
Device::create_bind_group_ptr

#
Device::create_bind_group_sampler

fn Device::create_bind_group_sampler(self : Device, bind_group_layout : BindGroupLayout, sampler : Sampler) -> BindGroup

#
Device::create_bind_group_sampler_texture_2d

fn Device::create_bind_group_sampler_texture_2d(self : Device, bind_group_layout : BindGroupLayout, sampler : Sampler, view : TextureView) -> BindGroup

#
Device::create_bind_group_storage_buffer

fn Device::create_bind_group_storage_buffer(self : Device, bind_group_layout : BindGroupLayout, buffer : Buffer) -> BindGroup

#
Device::create_bind_group_storage_texture_2d

fn Device::create_bind_group_storage_texture_2d(self : Device, bind_group_layout : BindGroupLayout, view : TextureView) -> BindGroup

#
Device::create_bind_group_texture_2d

fn Device::create_bind_group_texture_2d(self : Device, bind_group_layout : BindGroupLayout, view : TextureView) -> BindGroup

#
Device::create_bind_group_uniform_buffer

fn Device::create_bind_group_uniform_buffer(self : Device, bind_group_layout : BindGroupLayout, buffer : Buffer) -> BindGroup

#
Device::create_bind_group_uniform_buffer_16

fn Device::create_bind_group_uniform_buffer_16(self : Device, bind_group_layout : BindGroupLayout, buffer : Buffer) -> BindGroup

#
Device::create_buffer

fn Device::create_buffer(self : Device, size~ : UInt64, usage~ : BufferUsage, mapped_at_creation? : Bool) -> Buffer

#
Device::create_buffer_init

fn Device::create_buffer_init(self : Device, usage~ : BufferUsage, data : Bytes) -> Buffer

#
Device::create_buffer_ptr

#
Device::create_buffer_raw

#
Device::create_command_encoder

fn Device::create_command_encoder(self : Device) -> CommandEncoder

#
Device::create_command_encoder_ptr

#
Device::create_command_encoder_raw

#
Device::create_compute_pipeline

fn Device::create_compute_pipeline(self : Device, shader_module : ShaderModule) -> ComputePipeline

#
Device::create_compute_pipeline_async_sync_ptr

fn Device::create_compute_pipeline_async_sync_ptr(self : Device, instance : Instance, descriptor :
WGPUComputePipelineDescriptorPtr
) -> ComputePipeline

#
Device::create_compute_pipeline_async_sync_ptr_or_raise

fn Device::create_compute_pipeline_async_sync_ptr_or_raise(self : Device, instance : Instance, descriptor :
WGPUComputePipelineDescriptorPtr
) -> ComputePipeline raise OptionalSymbolError

#
Device::create_compute_pipeline_entry

fn Device::create_compute_pipeline_entry(self : Device, shader_module : ShaderModule, entry_point : String) -> ComputePipeline raise ComputePipelineDescError

#
Device::create_compute_pipeline_ptr

#
Device::create_compute_pipeline_raw

#
Device::create_compute_pipeline_with_layout

fn Device::create_compute_pipeline_with_layout(self : Device, layout : PipelineLayout, shader_module : ShaderModule) -> ComputePipeline

#
Device::create_compute_pipeline_with_layout_entry

fn Device::create_compute_pipeline_with_layout_entry(self : Device, layout : PipelineLayout, shader_module : ShaderModule, entry_point : String) -> ComputePipeline raise ComputePipelineDescError

#
Device::create_pipeline_layout

#
Device::create_pipeline_layout_1

fn Device::create_pipeline_layout_1(self : Device, bind_group_layout : BindGroupLayout) -> PipelineLayout

#
Device::create_pipeline_layout_2

fn Device::create_pipeline_layout_2(self : Device, bind_group_layout0 : BindGroupLayout, bind_group_layout1 : BindGroupLayout) -> PipelineLayout

#
Device::create_pipeline_layout_ptr

#
Device::create_pipeline_layout_push_constants

fn Device::create_pipeline_layout_push_constants(self : Device, stages : ShaderStage, start : UInt, end : UInt) -> PipelineLayout

#
Device::create_pipeline_layout_push_constants_many

fn Device::create_pipeline_layout_push_constants_many(self : Device, first_stages : ShaderStage, first_start : UInt, first_end : UInt, other_ranges : Array[(ShaderStage, UInt, UInt)]) -> PipelineLayout

#
Device::create_query_set

#
Device::create_query_set_occlusion

fn Device::create_query_set_occlusion(self : Device, count : UInt) -> QuerySet

#
Device::create_query_set_pipeline_statistics

fn Device::create_query_set_pipeline_statistics(self : Device, count : UInt, statistic_name : UInt) -> QuerySet

#
Device::create_query_set_pipeline_statistics_many

fn Device::create_query_set_pipeline_statistics_many(self : Device, count : UInt, first_statistic_name_u32 : UInt, other_statistic_names_u32 : Array[UInt]) -> QuerySet

#
Device::create_query_set_ptr

#
Device::create_query_set_timestamp

fn Device::create_query_set_timestamp(self : Device, count : UInt) -> QuerySet

#
Device::create_render_bundle_encoder

#
Device::create_render_bundle_encoder_ptr

#
Device::create_render_bundle_encoder_rgba8

fn Device::create_render_bundle_encoder_rgba8(self : Device) -> RenderBundleEncoder

#
Device::create_render_pipeline

#
Device::create_render_pipeline_async_sync_ptr

fn Device::create_render_pipeline_async_sync_ptr(self : Device, instance : Instance, descriptor :
WGPURenderPipelineDescriptorPtr
) -> RenderPipeline

#
Device::create_render_pipeline_async_sync_ptr_or_raise

fn Device::create_render_pipeline_async_sync_ptr_or_raise(self : Device, instance : Instance, descriptor :
WGPURenderPipelineDescriptorPtr
) -> RenderPipeline raise OptionalSymbolError

#
Device::create_render_pipeline_color_format

fn Device::create_render_pipeline_color_format(self : Device, shader_module : ShaderModule, format : TextureFormat) -> RenderPipeline

#
Device::create_render_pipeline_color_format_alpha_blend

fn Device::create_render_pipeline_color_format_alpha_blend(self : Device, shader_module : ShaderModule, format : TextureFormat) -> RenderPipeline

#
Device::create_render_pipeline_color_format_entries

fn Device::create_render_pipeline_color_format_entries(self : Device, shader_module : ShaderModule, format : TextureFormat, vs_entry? : String, fs_entry? : String, alpha_blend? : Bool, depth? : Bool, color_write_mask? : UInt64) -> RenderPipeline

#
Device::create_render_pipeline_ptr

#
Device::create_render_pipeline_rgba8

fn Device::create_render_pipeline_rgba8(self : Device, shader_module : ShaderModule) -> RenderPipeline

#
Device::create_render_pipeline_rgba8_alpha_blend

fn Device::create_render_pipeline_rgba8_alpha_blend(self : Device, shader_module : ShaderModule) -> RenderPipeline

#
Device::create_render_pipeline_rgba8_depth

fn Device::create_render_pipeline_rgba8_depth(self : Device, shader_module : ShaderModule) -> RenderPipeline

#
Device::create_render_pipeline_rgba8_mrt2

fn Device::create_render_pipeline_rgba8_mrt2(self : Device, shader_module : ShaderModule) -> RenderPipeline

#
Device::create_render_pipeline_rgba8_pos2

fn Device::create_render_pipeline_rgba8_pos2(self : Device, shader_module : ShaderModule) -> RenderPipeline

#
Device::create_render_pipeline_rgba8_pos2_with_layout

fn Device::create_render_pipeline_rgba8_pos2_with_layout(self : Device, layout : PipelineLayout, shader_module : ShaderModule) -> RenderPipeline

#
Device::create_render_pipeline_rgba8_with_layout

fn Device::create_render_pipeline_rgba8_with_layout(self : Device, layout : PipelineLayout, shader_module : ShaderModule) -> RenderPipeline

#
Device::create_sampler

#
Device::create_sampler_linear_clamp

fn Device::create_sampler_linear_clamp(self : Device) -> Sampler

#
Device::create_sampler_linear_mirror_repeat

fn Device::create_sampler_linear_mirror_repeat(self : Device) -> Sampler

#
Device::create_sampler_linear_repeat

fn Device::create_sampler_linear_repeat(self : Device) -> Sampler

#
Device::create_sampler_nearest_clamp

fn Device::create_sampler_nearest_clamp(self : Device) -> Sampler

#
Device::create_sampler_nearest_mirror_repeat

fn Device::create_sampler_nearest_mirror_repeat(self : Device) -> Sampler

#
Device::create_sampler_nearest_repeat

fn Device::create_sampler_nearest_repeat(self : Device) -> Sampler

#
Device::create_sampler_ptr

#
Device::create_sampler_u32

fn Device::create_sampler_u32(self : Device, address_mode_u_u32 : UInt, address_mode_v_u32 : UInt, address_mode_w_u32 : UInt, mag_filter_u32 : UInt, min_filter_u32 : UInt, mipmap_filter_u32 : UInt, lod_min_clamp_f32? : Float, lod_max_clamp_f32? : Float, compare_u32? : UInt, max_anisotropy_u32? : UInt) -> Sampler

#
Device::create_shader_module

#
Device::create_shader_module_glsl

fn Device::create_shader_module_glsl(self : Device, stage_u64 : UInt64, code : String) -> ShaderModule

#
Device::create_shader_module_ptr

#
Device::create_shader_module_spir_v

#
Device::create_shader_module_spirv

fn Device::create_shader_module_spirv(self : Device, spirv_le_bytes : Bytes) -> ShaderModule

#
Device::create_shader_module_wgsl

fn Device::create_shader_module_wgsl(self : Device, code : String) -> ShaderModule

#
Device::create_texture

#
Device::create_texture_depth24plus_2d

fn Device::create_texture_depth24plus_2d(self : Device, width : UInt, height : UInt) -> Texture

#
Device::create_texture_ptr

#
Device::create_texture_rgba8_2d

fn Device::create_texture_rgba8_2d(self : Device, width : UInt, height : UInt) -> Texture

#
Device::create_texture_rgba8_2d_array

fn Device::create_texture_rgba8_2d_array(self : Device, width : UInt, height : UInt, layers : UInt, mip_level_count : UInt) -> Texture

#
Device::create_texture_rgba8_2d_array_with_usage

fn Device::create_texture_rgba8_2d_array_with_usage(self : Device, width : UInt, height : UInt, layers : UInt, mip_level_count : UInt, usage : TextureUsage) -> Texture

#
Device::create_texture_rgba8_2d_with_usage

fn Device::create_texture_rgba8_2d_with_usage(self : Device, width : UInt, height : UInt, usage : TextureUsage) -> Texture

#
Device::create_texture_u32

fn Device::create_texture_u32(self : Device, width : UInt, height : UInt, depth_or_array_layers : UInt, usage : TextureUsage, dimension : TextureDimension, format : TextureFormat, mip_level_count? : UInt, sample_count? : UInt, view_formats? : Array[TextureFormat]) -> Texture

#
Device::destroy

fn Device::destroy(self : Device) -> Unit

#
Device::destroy_raw

fn Device::destroy_raw(self : Device) -> Unit

#
Device::get_adapter_info

#
Device::get_features

#
Device::get_lost_future

#
Device::get_queue

fn Device::get_queue(self : Device) -> Queue

#
Device::has_feature

fn Device::has_feature(self : Device, feature :
WGPUFeatureName
) -> Bool

#
Device::has_feature_native_buffer_binding_array

fn Device::has_feature_native_buffer_binding_array(self : Device) -> Bool

#
Device::has_feature_native_clear_texture

fn Device::has_feature_native_clear_texture(self : Device) -> Bool

#
Device::has_feature_native_conservative_rasterization

fn Device::has_feature_native_conservative_rasterization(self : Device) -> Bool

#
Device::has_feature_native_mappable_primary_buffers

fn Device::has_feature_native_mappable_primary_buffers(self : Device) -> Bool

#
Device::has_feature_native_multi_draw_indirect_count

fn Device::has_feature_native_multi_draw_indirect_count(self : Device) -> Bool

#
Device::has_feature_native_multiview

fn Device::has_feature_native_multiview(self : Device) -> Bool

#
Device::has_feature_native_partially_bound_binding_array

fn Device::has_feature_native_partially_bound_binding_array(self : Device) -> Bool

#
Device::has_feature_native_pipeline_statistics_query

fn Device::has_feature_native_pipeline_statistics_query(self : Device) -> Bool

#
Device::has_feature_native_polygon_mode_line

fn Device::has_feature_native_polygon_mode_line(self : Device) -> Bool

#
Device::has_feature_native_polygon_mode_point

fn Device::has_feature_native_polygon_mode_point(self : Device) -> Bool

#
Device::has_feature_native_push_constants

fn Device::has_feature_native_push_constants(self : Device) -> Bool

#
Device::has_feature_native_ray_query

fn Device::has_feature_native_ray_query(self : Device) -> Bool

#
Device::has_feature_native_sampled_texture_and_storage_buffer_array_non_uniform_indexing

fn Device::has_feature_native_sampled_texture_and_storage_buffer_array_non_uniform_indexing(self : Device) -> Bool

#
Device::has_feature_native_shader_early_depth_test

fn Device::has_feature_native_shader_early_depth_test(self : Device) -> Bool

#
Device::has_feature_native_shader_f64

fn Device::has_feature_native_shader_f64(self : Device) -> Bool

#
Device::has_feature_native_shader_i16

fn Device::has_feature_native_shader_i16(self : Device) -> Bool

#
Device::has_feature_native_shader_int64

fn Device::has_feature_native_shader_int64(self : Device) -> Bool

#
Device::has_feature_native_shader_primitive_index

fn Device::has_feature_native_shader_primitive_index(self : Device) -> Bool

#
Device::has_feature_native_spirv_shader_passthrough

fn Device::has_feature_native_spirv_shader_passthrough(self : Device) -> Bool

#
Device::has_feature_native_storage_resource_binding_array

fn Device::has_feature_native_storage_resource_binding_array(self : Device) -> Bool

#
Device::has_feature_native_subgroup

fn Device::has_feature_native_subgroup(self : Device) -> Bool

#
Device::has_feature_native_subgroup_barrier

fn Device::has_feature_native_subgroup_barrier(self : Device) -> Bool

#
Device::has_feature_native_subgroup_vertex

fn Device::has_feature_native_subgroup_vertex(self : Device) -> Bool

#
Device::has_feature_native_texture_adapter_specific_format_features

fn Device::has_feature_native_texture_adapter_specific_format_features(self : Device) -> Bool

#
Device::has_feature_native_texture_binding_array

fn Device::has_feature_native_texture_binding_array(self : Device) -> Bool

#
Device::has_feature_native_texture_compression_astc_hdr

fn Device::has_feature_native_texture_compression_astc_hdr(self : Device) -> Bool

#
Device::has_feature_native_texture_format16bit_norm

fn Device::has_feature_native_texture_format16bit_norm(self : Device) -> Bool

#
Device::has_feature_native_texture_format_nv12

fn Device::has_feature_native_texture_format_nv12(self : Device) -> Bool

#
Device::has_feature_native_timestamp_query_inside_encoders

fn Device::has_feature_native_timestamp_query_inside_encoders(self : Device) -> Bool

#
Device::has_feature_native_timestamp_query_inside_passes

fn Device::has_feature_native_timestamp_query_inside_passes(self : Device) -> Bool

#
Device::has_feature_native_u32

fn Device::has_feature_native_u32(self : Device, native_feature_u32 : UInt) -> Bool

#
Device::has_feature_native_uniform_buffer_and_storage_texture_array_non_uniform_indexing

fn Device::has_feature_native_uniform_buffer_and_storage_texture_array_non_uniform_indexing(self : Device) -> Bool

#
Device::has_feature_native_vertex_attribute64bit

fn Device::has_feature_native_vertex_attribute64bit(self : Device) -> Bool

#
Device::has_feature_native_vertex_writable_storage

fn Device::has_feature_native_vertex_writable_storage(self : Device) -> Bool

#
Device::has_feature_timestamp_query

fn Device::has_feature_timestamp_query(self : Device) -> Bool

#
Device::has_feature_u32

fn Device::has_feature_u32(self : Device, feature_u32 : UInt) -> Bool

#
Device::info_adapter_type_u32

fn Device::info_adapter_type_u32(self : Device) -> UInt

#
Device::info_architecture

fn Device::info_architecture(self : Device) -> String

#
Device::info_backend_type_u32

fn Device::info_backend_type_u32(self : Device) -> UInt

#
Device::info_description

fn Device::info_description(self : Device) -> String

#
Device::info_device

fn Device::info_device(self : Device) -> String

#
Device::info_device_id_u32

fn Device::info_device_id_u32(self : Device) -> UInt

#
Device::info_vendor

fn Device::info_vendor(self : Device) -> String

#
Device::info_vendor_id_u32

fn Device::info_vendor_id_u32(self : Device) -> UInt

#
Device::limits_max_bind_groups_plus_vertex_buffers_u32

fn Device::limits_max_bind_groups_plus_vertex_buffers_u32(self : Device) -> UInt

#
Device::limits_max_bind_groups_u32

fn Device::limits_max_bind_groups_u32(self : Device) -> UInt

#
Device::limits_max_bindings_per_bind_group_u32

fn Device::limits_max_bindings_per_bind_group_u32(self : Device) -> UInt

#
Device::limits_max_buffer_size_u64

fn Device::limits_max_buffer_size_u64(self : Device) -> UInt64

#
Device::limits_max_color_attachment_bytes_per_sample_u32

fn Device::limits_max_color_attachment_bytes_per_sample_u32(self : Device) -> UInt

#
Device::limits_max_color_attachments_u32

fn Device::limits_max_color_attachments_u32(self : Device) -> UInt

#
Device::limits_max_compute_invocations_per_workgroup_u32

fn Device::limits_max_compute_invocations_per_workgroup_u32(self : Device) -> UInt

#
Device::limits_max_compute_workgroup_size_x_u32

fn Device::limits_max_compute_workgroup_size_x_u32(self : Device) -> UInt

#
Device::limits_max_compute_workgroup_size_y_u32

fn Device::limits_max_compute_workgroup_size_y_u32(self : Device) -> UInt

#
Device::limits_max_compute_workgroup_size_z_u32

fn Device::limits_max_compute_workgroup_size_z_u32(self : Device) -> UInt

#
Device::limits_max_compute_workgroup_storage_size_u32

fn Device::limits_max_compute_workgroup_storage_size_u32(self : Device) -> UInt

#
Device::limits_max_compute_workgroups_per_dimension_u32

fn Device::limits_max_compute_workgroups_per_dimension_u32(self : Device) -> UInt

#
Device::limits_max_dynamic_storage_buffers_per_pipeline_layout_u32

fn Device::limits_max_dynamic_storage_buffers_per_pipeline_layout_u32(self : Device) -> UInt

#
Device::limits_max_dynamic_uniform_buffers_per_pipeline_layout_u32

fn Device::limits_max_dynamic_uniform_buffers_per_pipeline_layout_u32(self : Device) -> UInt

#
Device::limits_max_inter_stage_shader_variables_u32

fn Device::limits_max_inter_stage_shader_variables_u32(self : Device) -> UInt

#
Device::limits_max_non_sampler_bindings_u32

fn Device::limits_max_non_sampler_bindings_u32(self : Device) -> UInt

#
Device::limits_max_push_constant_size_u32

fn Device::limits_max_push_constant_size_u32(self : Device) -> UInt

#
Device::limits_max_sampled_textures_per_shader_stage_u32

fn Device::limits_max_sampled_textures_per_shader_stage_u32(self : Device) -> UInt

#
Device::limits_max_samplers_per_shader_stage_u32

fn Device::limits_max_samplers_per_shader_stage_u32(self : Device) -> UInt

#
Device::limits_max_storage_buffer_binding_size_u64

fn Device::limits_max_storage_buffer_binding_size_u64(self : Device) -> UInt64

#
Device::limits_max_storage_buffers_per_shader_stage_u32

fn Device::limits_max_storage_buffers_per_shader_stage_u32(self : Device) -> UInt

#
Device::limits_max_storage_textures_per_shader_stage_u32

fn Device::limits_max_storage_textures_per_shader_stage_u32(self : Device) -> UInt

#
Device::limits_max_texture_array_layers_u32

fn Device::limits_max_texture_array_layers_u32(self : Device) -> UInt

#
Device::limits_max_texture_dimension_1d_u32

fn Device::limits_max_texture_dimension_1d_u32(self : Device) -> UInt

#
Device::limits_max_texture_dimension_2d_u32

fn Device::limits_max_texture_dimension_2d_u32(self : Device) -> UInt

#
Device::limits_max_texture_dimension_3d_u32

fn Device::limits_max_texture_dimension_3d_u32(self : Device) -> UInt

#
Device::limits_max_uniform_buffer_binding_size_u64

fn Device::limits_max_uniform_buffer_binding_size_u64(self : Device) -> UInt64

#
Device::limits_max_uniform_buffers_per_shader_stage_u32

fn Device::limits_max_uniform_buffers_per_shader_stage_u32(self : Device) -> UInt

#
Device::limits_max_vertex_attributes_u32

fn Device::limits_max_vertex_attributes_u32(self : Device) -> UInt

#
Device::limits_max_vertex_buffer_array_stride_u32

fn Device::limits_max_vertex_buffer_array_stride_u32(self : Device) -> UInt

#
Device::limits_max_vertex_buffers_u32

fn Device::limits_max_vertex_buffers_u32(self : Device) -> UInt

#
Device::limits_min_storage_buffer_offset_alignment_u32

fn Device::limits_min_storage_buffer_offset_alignment_u32(self : Device) -> UInt

#
Device::limits_min_uniform_buffer_offset_alignment_u32

fn Device::limits_min_uniform_buffer_offset_alignment_u32(self : Device) -> UInt

#
Device::poll

fn Device::poll(self : Device, wait? : Bool) -> Bool

#
Device::poll_raw

fn Device::poll_raw(self : Device, wait : Bool, submission_index :
WGPUSubmissionIndexPtr
) -> Bool

#
Device::pop_error_scope_sync

fn Device::pop_error_scope_sync(self : Device, instance : Instance) -> UInt

#
Device::push_error_scope

fn Device::push_error_scope(self : Device, filter_u32 : UInt) -> Unit

#
Device::push_error_scope_raw

fn Device::push_error_scope_raw(self : Device, filter :
WGPUErrorFilter
) -> Unit

#
Device::queue

fn Device::queue(self : Device) -> Queue

#
Device::raw_handle

#
Device::release

fn Device::release(self : Device) -> Unit

#
Device::release_raw

fn Device::release_raw(self : Device) -> Unit

#
Device::set_label

fn Device::set_label(self : Device, label : String) -> Unit

#
Device::supported_feature_u32_at

fn Device::supported_feature_u32_at(self : Device, index : UInt64) -> UInt

#
Device::supported_features_contains_u32

fn Device::supported_features_contains_u32(self : Device, feature_u32 : UInt) -> Bool

#
Device::supported_features_count_u64

fn Device::supported_features_count_u64(self : Device) -> UInt64

#
Device::take_lost_reason

fn Device::take_lost_reason(self : Device) -> UInt

#
Device::wait_lost_reason_sync

fn Device::wait_lost_reason_sync(self : Device, instance : Instance) -> UInt

#
GlobalReport

#
GlobalReport::hub_bind_group_layouts_num_kept_from_user

fn GlobalReport::hub_bind_group_layouts_num_kept_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_bind_group_layouts_num_released_from_user

fn GlobalReport::hub_bind_group_layouts_num_released_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_bind_groups_num_kept_from_user

fn GlobalReport::hub_bind_groups_num_kept_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_bind_groups_num_released_from_user

fn GlobalReport::hub_bind_groups_num_released_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_buffers_num_kept_from_user

fn GlobalReport::hub_buffers_num_kept_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_buffers_num_released_from_user

fn GlobalReport::hub_buffers_num_released_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_command_buffers_num_kept_from_user

fn GlobalReport::hub_command_buffers_num_kept_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_command_buffers_num_released_from_user

fn GlobalReport::hub_command_buffers_num_released_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_compute_pipelines_num_kept_from_user

fn GlobalReport::hub_compute_pipelines_num_kept_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_compute_pipelines_num_released_from_user

fn GlobalReport::hub_compute_pipelines_num_released_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_devices_element_size

fn GlobalReport::hub_devices_element_size(self : GlobalReport) -> UInt64

#
GlobalReport::hub_devices_num_allocated

fn GlobalReport::hub_devices_num_allocated(self : GlobalReport) -> UInt64

#
GlobalReport::hub_devices_num_kept_from_user

fn GlobalReport::hub_devices_num_kept_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_devices_num_released_from_user

fn GlobalReport::hub_devices_num_released_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_pipeline_layouts_num_kept_from_user

fn GlobalReport::hub_pipeline_layouts_num_kept_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_pipeline_layouts_num_released_from_user

fn GlobalReport::hub_pipeline_layouts_num_released_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_queues_num_kept_from_user

fn GlobalReport::hub_queues_num_kept_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_queues_num_released_from_user

fn GlobalReport::hub_queues_num_released_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_render_pipelines_num_kept_from_user

fn GlobalReport::hub_render_pipelines_num_kept_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_render_pipelines_num_released_from_user

fn GlobalReport::hub_render_pipelines_num_released_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_samplers_num_kept_from_user

fn GlobalReport::hub_samplers_num_kept_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_samplers_num_released_from_user

fn GlobalReport::hub_samplers_num_released_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_shader_modules_num_kept_from_user

fn GlobalReport::hub_shader_modules_num_kept_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_shader_modules_num_released_from_user

fn GlobalReport::hub_shader_modules_num_released_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_texture_views_num_kept_from_user

fn GlobalReport::hub_texture_views_num_kept_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_texture_views_num_released_from_user

fn GlobalReport::hub_texture_views_num_released_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_textures_num_kept_from_user

fn GlobalReport::hub_textures_num_kept_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::hub_textures_num_released_from_user

fn GlobalReport::hub_textures_num_released_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::release

fn GlobalReport::release(self : GlobalReport) -> Unit

#
GlobalReport::surfaces_element_size

fn GlobalReport::surfaces_element_size(self : GlobalReport) -> UInt64

#
GlobalReport::surfaces_num_allocated

fn GlobalReport::surfaces_num_allocated(self : GlobalReport) -> UInt64

#
GlobalReport::surfaces_num_kept_from_user

fn GlobalReport::surfaces_num_kept_from_user(self : GlobalReport) -> UInt64

#
GlobalReport::surfaces_num_released_from_user

fn GlobalReport::surfaces_num_released_from_user(self : GlobalReport) -> UInt64

#
Instance

#
Instance::add_ref

fn Instance::add_ref(self : Instance) -> Instance

#
Instance::add_ref_raw

fn Instance::add_ref_raw(self : Instance) -> Unit

#
Instance::create

fn Instance::create() -> Instance raise WgpuError

#
Instance::create_surface

#
Instance::create_surface_android_native_window

fn Instance::create_surface_android_native_window(self : Instance, window :
OpaquePtr
) -> Surface

Create a surface from Android handle (ANativeWindow*).

#
Instance::create_surface_metal_layer

fn Instance::create_surface_metal_layer(self : Instance) -> Surface

#
Instance::create_surface_swap_chain_panel

fn Instance::create_surface_swap_chain_panel(self : Instance, panel_native :
OpaquePtr
) -> Surface

Create a surface from Windows XAML SwapChainPanel native handle.

#
Instance::create_surface_wayland

Create a surface from Wayland handles (wl_display*, wl_surface*).

This is intended for Linux + Vulkan setups. The pointers are passed through as opaque handles (you manage their lifetime on the host side).

#
Instance::create_surface_windows_hwnd

Create a surface from Windows handles (HINSTANCE, HWND).

The pointers are passed through as opaque handles (you manage their lifetime on the host side).

#
Instance::create_surface_xcb

fn Instance::create_surface_xcb(self : Instance, connection :
OpaquePtr
, window : UInt) -> Surface

Create a surface from XCB handles (xcb_connection_t*, xcb_window_t).

#
Instance::create_surface_xlib

fn Instance::create_surface_xlib(self : Instance, display :
OpaquePtr
, window : UInt64) -> Surface

Create a surface from Xlib handles (Display*, Window).

#
Instance::create_with_extras_u32

fn Instance::create_with_extras_u32(backends_u64? : UInt64, flags_u32? : UInt, dx12_shader_compiler_u32? : UInt, gles3_minor_version_u32? : UInt, gl_fence_behaviour_u32? : UInt, dxc_max_shader_model_u32? : UInt, dx12_presentation_system_u32? : UInt, dxc_path? : String) -> Instance raise WgpuError

#
Instance::enumerate_adapters_count_metal

fn Instance::enumerate_adapters_count_metal(self : Instance) -> UInt64

#
Instance::enumerate_adapters_count_vulkan

fn Instance::enumerate_adapters_count_vulkan(self : Instance) -> UInt64

#
Instance::generate_report

fn Instance::generate_report(self : Instance) -> GlobalReport

#
Instance::has_wgsl_language_feature

#
Instance::process_events

fn Instance::process_events(self : Instance) -> Unit

#
Instance::process_events_raw

fn Instance::process_events_raw(self : Instance) -> Unit

#
Instance::raw_handle

#
Instance::release

fn Instance::release(self : Instance) -> Unit

#
Instance::release_raw

fn Instance::release_raw(self : Instance) -> Unit

#
Instance::request_adapter_async_adapter

fn Instance::request_adapter_async_adapter(self : Instance, future_id : UInt64) -> Adapter

#
Instance::request_adapter_async_clear

fn Instance::request_adapter_async_clear(self : Instance, future_id : UInt64) -> Unit

#
Instance::request_adapter_async_message

fn Instance::request_adapter_async_message(self : Instance, future_id : UInt64) -> String

#
Instance::request_adapter_async_status_u32

fn Instance::request_adapter_async_status_u32(self : Instance, future_id : UInt64) -> UInt

#
Instance::request_adapter_async_take_or_raise

fn Instance::request_adapter_async_take_or_raise(self : Instance, future_id : UInt64) -> Adapter raise WgpuError

#
Instance::request_adapter_future_id_u64

fn Instance::request_adapter_future_id_u64(self : Instance, options? :
WGPURequestAdapterOptionsPtr
) -> UInt64

#
Instance::request_adapter_sync

fn Instance::request_adapter_sync(self : Instance) -> Adapter raise WgpuError

#
Instance::request_adapter_sync_options_surface_u32

fn Instance::request_adapter_sync_options_surface_u32(self : Instance, surface : Surface, feature_level_u32? : UInt, power_preference_u32? : UInt, force_fallback_adapter? : Bool, backend_type_u32? : UInt) -> Adapter raise WgpuError

#
Instance::request_adapter_sync_options_u32

fn Instance::request_adapter_sync_options_u32(self : Instance, feature_level_u32? : UInt, power_preference_u32? : UInt, force_fallback_adapter? : Bool, backend_type_u32? : UInt) -> Adapter raise WgpuError

#
Instance::request_adapter_sync_ptr

#
Instance::wait_any

#
Instance::wait_any_one

fn Instance::wait_any_one(self : Instance, future_id : UInt64, timeout_ns? : UInt64) -> WaitAnyResult

#
Instance::wait_any_one_or_raise

fn Instance::wait_any_one_or_raise(self : Instance, future_id : UInt64, timeout_ns? : UInt64) -> WaitAnyResult raise WaitAnyError

#
Instance::wgpu_generate_report

fn Instance::wgpu_generate_report(self : Instance, report :
WGPUGlobalReportPtr
) -> Unit

#
Instance::wgsl_language_features_count_u64

fn Instance::wgsl_language_features_count_u64(self : Instance) -> UInt64

#
InstanceCapabilities

pub struct InstanceCapabilities {
timed_wait_any_enable : Bool
timed_wait_any_max_count : UInt64
}

#
MapMode

pub struct MapMode {
raw : UInt64
}

impl Eq for MapMode

#
MapMode::from_u64

fn MapMode::from_u64(raw : UInt64) -> MapMode

#
MapMode::to_u64

fn MapMode::to_u64(self : MapMode) -> UInt64

#
PipelineLayout

#
PipelineLayout::add_ref

#
PipelineLayout::add_ref_raw

fn PipelineLayout::add_ref_raw(self : PipelineLayout) -> Unit

#
PipelineLayout::release

fn PipelineLayout::release(self : PipelineLayout) -> Unit

#
PipelineLayout::release_raw

fn PipelineLayout::release_raw(self : PipelineLayout) -> Unit

#
PipelineLayout::set_label

fn PipelineLayout::set_label(self : PipelineLayout, label : String) -> Unit

#
PresentMode

pub struct PresentMode {
raw : UInt
}

impl Eq for PresentMode

#
PresentMode::from_u32

fn PresentMode::from_u32(raw : UInt) -> PresentMode

#
PresentMode::to_u32

fn PresentMode::to_u32(self : PresentMode) -> UInt

#
QuerySet

#
QuerySet::add_ref

fn QuerySet::add_ref(self : QuerySet) -> QuerySet

#
QuerySet::add_ref_raw

fn QuerySet::add_ref_raw(self : QuerySet) -> Unit

#
QuerySet::destroy

fn QuerySet::destroy(self : QuerySet) -> Unit

#
QuerySet::get_count

fn QuerySet::get_count(self : QuerySet) -> UInt

#
QuerySet::raw_handle

#
QuerySet::release

fn QuerySet::release(self : QuerySet) -> Unit

#
QuerySet::release_raw

fn QuerySet::release_raw(self : QuerySet) -> Unit

#
QuerySet::set_label

fn QuerySet::set_label(self : QuerySet, label : String) -> Unit

#
Queue

#
Queue::add_ref

fn Queue::add_ref(self : Queue) -> Queue

#
Queue::add_ref_raw

fn Queue::add_ref_raw(self : Queue) -> Unit

#
Queue::get_timestamp_period

fn Queue::get_timestamp_period(self : Queue) -> Float

#
Queue::on_submitted_work_done_async_clear

fn Queue::on_submitted_work_done_async_clear(self : Queue, future_id : UInt64) -> Unit

#
Queue::on_submitted_work_done_async_status_u32

fn Queue::on_submitted_work_done_async_status_u32(self : Queue, future_id : UInt64) -> UInt

#
Queue::on_submitted_work_done_async_take_or_raise

fn Queue::on_submitted_work_done_async_take_or_raise(self : Queue, future_id : UInt64) -> Unit raise QueueWorkDoneError

#
Queue::on_submitted_work_done_future_id_u64

fn Queue::on_submitted_work_done_future_id_u64(self : Queue) -> UInt64

#
Queue::on_submitted_work_done_sync

fn Queue::on_submitted_work_done_sync(self : Queue, instance : Instance) -> UInt

#
Queue::on_submitted_work_done_sync_or_raise

fn Queue::on_submitted_work_done_sync_or_raise(self : Queue, instance : Instance) -> Unit raise QueueWorkDoneError

#
Queue::on_submitted_work_done_wait_or_raise

fn Queue::on_submitted_work_done_wait_or_raise(self : Queue, instance : Instance, timeout_ns? : UInt64) -> Unit raise QueueWorkDoneWaitError

#
Queue::raw_handle

#
Queue::release

fn Queue::release(self : Queue) -> Unit

#
Queue::release_raw

fn Queue::release_raw(self : Queue) -> Unit

#
Queue::set_label

fn Queue::set_label(self : Queue, label : String) -> Unit

#
Queue::submit

fn Queue::submit(self : Queue, cmds : Array[CommandBuffer]) -> Unit

#
Queue::submit_for_index

fn Queue::submit_for_index(self : Queue, cmds : Array[CommandBuffer]) -> UInt64

#
Queue::submit_for_index_raw

fn Queue::submit_for_index_raw(self : Queue, command_count : UInt64, commands :
WGPUCommandBufferPtr
) -> UInt64

#
Queue::submit_one

fn Queue::submit_one(self : Queue, cmd : CommandBuffer) -> Unit

#
Queue::submit_one_for_index

fn Queue::submit_one_for_index(self : Queue, cmd : CommandBuffer) -> UInt64

#
Queue::submit_raw

fn Queue::submit_raw(self : Queue, command_count : UInt64, commands :
WGPUCommandBufferPtr
) -> Unit

#
Queue::timestamp_period

fn Queue::timestamp_period(self : Queue) -> Float

#
Queue::write_buffer

fn Queue::write_buffer(self : Queue, buffer : Buffer, buffer_offset : UInt64, data : Bytes) -> Unit

#
Queue::write_texture_2d_bytes_per_pixel

fn Queue::write_texture_2d_bytes_per_pixel(self : Queue, texture : Texture, width : UInt, height : UInt, bytes_per_pixel : UInt, data : Bytes) -> Unit

#
Queue::write_texture_2d_bytes_per_pixel_mip_layer

fn Queue::write_texture_2d_bytes_per_pixel_mip_layer(self : Queue, texture : Texture, mip_level : UInt, array_layer : UInt, width : UInt, height : UInt, bytes_per_pixel : UInt, data : Bytes) -> Unit

#
Queue::write_texture_rgba8_2d

fn Queue::write_texture_rgba8_2d(self : Queue, texture : Texture, width : UInt, height : UInt, data : Bytes) -> Unit

#
Queue::write_texture_rgba8_2d_mip_layer

fn Queue::write_texture_rgba8_2d_mip_layer(self : Queue, texture : Texture, mip_level : UInt, array_layer : UInt, width : UInt, height : UInt, data : Bytes) -> Unit

#
RenderBundle

#
RenderBundle::add_ref

fn RenderBundle::add_ref(self : RenderBundle) -> RenderBundle

#
RenderBundle::add_ref_raw

fn RenderBundle::add_ref_raw(self : RenderBundle) -> Unit

#
RenderBundle::release

fn RenderBundle::release(self : RenderBundle) -> Unit

#
RenderBundle::release_raw

fn RenderBundle::release_raw(self : RenderBundle) -> Unit

#
RenderBundle::set_label

fn RenderBundle::set_label(self : RenderBundle, label : String) -> Unit

#
RenderBundleEncoder

#
RenderBundleEncoder::add_ref

#
RenderBundleEncoder::add_ref_raw

fn RenderBundleEncoder::add_ref_raw(self : RenderBundleEncoder) -> Unit

#
RenderBundleEncoder::draw

fn RenderBundleEncoder::draw(self : RenderBundleEncoder, vertex_count : UInt, instance_count : UInt, first_vertex : UInt, first_instance : UInt) -> Unit

#
RenderBundleEncoder::draw_indexed

fn RenderBundleEncoder::draw_indexed(self : RenderBundleEncoder, index_count : UInt, instance_count : UInt, first_index : UInt, base_vertex : Int, first_instance : UInt) -> Unit

#
RenderBundleEncoder::draw_indexed_indirect

fn RenderBundleEncoder::draw_indexed_indirect(self : RenderBundleEncoder, indirect_buffer : Buffer, indirect_offset : UInt64) -> Unit

#
RenderBundleEncoder::draw_indexed_indirect_raw

fn RenderBundleEncoder::draw_indexed_indirect_raw(self : RenderBundleEncoder, indirect_buffer : Buffer, indirect_offset : UInt64) -> Unit

#
RenderBundleEncoder::draw_indexed_raw

fn RenderBundleEncoder::draw_indexed_raw(self : RenderBundleEncoder, index_count : UInt, instance_count : UInt, first_index : UInt, base_vertex : Int, first_instance : UInt) -> Unit

#
RenderBundleEncoder::draw_indirect

fn RenderBundleEncoder::draw_indirect(self : RenderBundleEncoder, indirect_buffer : Buffer, indirect_offset : UInt64) -> Unit

#
RenderBundleEncoder::draw_indirect_raw

fn RenderBundleEncoder::draw_indirect_raw(self : RenderBundleEncoder, indirect_buffer : Buffer, indirect_offset : UInt64) -> Unit

#
RenderBundleEncoder::draw_raw

fn RenderBundleEncoder::draw_raw(self : RenderBundleEncoder, vertex_count : UInt, instance_count : UInt, first_vertex : UInt, first_instance : UInt) -> Unit

#
RenderBundleEncoder::finish

#
RenderBundleEncoder::insert_debug_marker

fn RenderBundleEncoder::insert_debug_marker(self : RenderBundleEncoder, label : String) -> Unit

#
RenderBundleEncoder::pop_debug_group

fn RenderBundleEncoder::pop_debug_group(self : RenderBundleEncoder) -> Unit

#
RenderBundleEncoder::pop_debug_group_raw

fn RenderBundleEncoder::pop_debug_group_raw(self : RenderBundleEncoder) -> Unit

#
RenderBundleEncoder::push_debug_group

fn RenderBundleEncoder::push_debug_group(self : RenderBundleEncoder, label : String) -> Unit

#
RenderBundleEncoder::release

fn RenderBundleEncoder::release(self : RenderBundleEncoder) -> Unit

#
RenderBundleEncoder::release_raw

fn RenderBundleEncoder::release_raw(self : RenderBundleEncoder) -> Unit

#
RenderBundleEncoder::set_bind_group

fn RenderBundleEncoder::set_bind_group(self : RenderBundleEncoder, index : UInt, group : BindGroup, dynamic_offsets : Array[UInt]) -> Unit

#
RenderBundleEncoder::set_bind_group0

fn RenderBundleEncoder::set_bind_group0(self : RenderBundleEncoder, group : BindGroup) -> Unit

#
RenderBundleEncoder::set_index_buffer

fn RenderBundleEncoder::set_index_buffer(self : RenderBundleEncoder, buffer : Buffer, format :
WGPUIndexFormat
, offset : UInt64, size : UInt64) -> Unit

#
RenderBundleEncoder::set_index_buffer_u16

fn RenderBundleEncoder::set_index_buffer_u16(self : RenderBundleEncoder, buffer : Buffer, offset : UInt64, size : UInt64) -> Unit

#
RenderBundleEncoder::set_index_buffer_u32

fn RenderBundleEncoder::set_index_buffer_u32(self : RenderBundleEncoder, buffer : Buffer, offset : UInt64, size : UInt64) -> Unit

#
RenderBundleEncoder::set_label

fn RenderBundleEncoder::set_label(self : RenderBundleEncoder, label : String) -> Unit

#
RenderBundleEncoder::set_pipeline

fn RenderBundleEncoder::set_pipeline(self : RenderBundleEncoder, pipeline : RenderPipeline) -> Unit

#
RenderBundleEncoder::set_pipeline_raw

fn RenderBundleEncoder::set_pipeline_raw(self : RenderBundleEncoder, pipeline : RenderPipeline) -> Unit

#
RenderBundleEncoder::set_push_constants

fn RenderBundleEncoder::set_push_constants(self : RenderBundleEncoder, stages : ShaderStage, offset : UInt, data : Bytes) -> Unit

#
RenderBundleEncoder::set_vertex_buffer

fn RenderBundleEncoder::set_vertex_buffer(self : RenderBundleEncoder, slot : UInt, buffer : Buffer, offset : UInt64, size : UInt64) -> Unit

#
RenderBundleEncoder::set_vertex_buffer_raw

fn RenderBundleEncoder::set_vertex_buffer_raw(self : RenderBundleEncoder, slot : UInt, buffer : Buffer, offset : UInt64, size : UInt64) -> Unit

#
RenderPass

#
RenderPass::add_ref

fn RenderPass::add_ref(self : RenderPass) -> RenderPass

#
RenderPass::add_ref_raw

fn RenderPass::add_ref_raw(self : RenderPass) -> Unit

#
RenderPass::begin_occlusion_query

fn RenderPass::begin_occlusion_query(self : RenderPass, query_index : UInt) -> Unit

#
RenderPass::begin_occlusion_query_raw

fn RenderPass::begin_occlusion_query_raw(self : RenderPass, query_index : UInt) -> Unit

#
RenderPass::begin_pipeline_statistics_query

fn RenderPass::begin_pipeline_statistics_query(self : RenderPass, query_set : QuerySet, query_index : UInt) -> Unit

#
RenderPass::begin_pipeline_statistics_query_raw

fn RenderPass::begin_pipeline_statistics_query_raw(self : RenderPass, query_set : QuerySet, query_index : UInt) -> Unit

#
RenderPass::draw

fn RenderPass::draw(self : RenderPass, vertex_count : UInt, instance_count : UInt, first_vertex : UInt, first_instance : UInt) -> Unit

#
RenderPass::draw_indexed

fn RenderPass::draw_indexed(self : RenderPass, index_count : UInt, instance_count : UInt, first_index : UInt, base_vertex : Int, first_instance : UInt) -> Unit

#
RenderPass::draw_indexed_indirect

fn RenderPass::draw_indexed_indirect(self : RenderPass, indirect_buffer : Buffer, indirect_offset : UInt64) -> Unit

#
RenderPass::draw_indexed_indirect_raw

fn RenderPass::draw_indexed_indirect_raw(self : RenderPass, indirect_buffer : Buffer, indirect_offset : UInt64) -> Unit

#
RenderPass::draw_indexed_raw

fn RenderPass::draw_indexed_raw(self : RenderPass, index_count : UInt, instance_count : UInt, first_index : UInt, base_vertex : Int, first_instance : UInt) -> Unit

#
RenderPass::draw_indirect

fn RenderPass::draw_indirect(self : RenderPass, indirect_buffer : Buffer, indirect_offset : UInt64) -> Unit

#
RenderPass::draw_indirect_raw

fn RenderPass::draw_indirect_raw(self : RenderPass, indirect_buffer : Buffer, indirect_offset : UInt64) -> Unit

#
RenderPass::draw_raw

fn RenderPass::draw_raw(self : RenderPass, vertex_count : UInt, instance_count : UInt, first_vertex : UInt, first_instance : UInt) -> Unit

#
RenderPass::end

fn RenderPass::end(self : RenderPass) -> Unit

#
RenderPass::end_occlusion_query

fn RenderPass::end_occlusion_query(self : RenderPass) -> Unit

#
RenderPass::end_occlusion_query_raw

fn RenderPass::end_occlusion_query_raw(self : RenderPass) -> Unit

#
RenderPass::end_pipeline_statistics_query

fn RenderPass::end_pipeline_statistics_query(self : RenderPass) -> Unit

#
RenderPass::end_pipeline_statistics_query_raw

fn RenderPass::end_pipeline_statistics_query_raw(self : RenderPass) -> Unit

#
RenderPass::end_raw

fn RenderPass::end_raw(self : RenderPass) -> Unit

#
RenderPass::execute_bundles

fn RenderPass::execute_bundles(self : RenderPass, bundles : Array[RenderBundle]) -> Unit

#
RenderPass::execute_bundles_raw

fn RenderPass::execute_bundles_raw(self : RenderPass, bundle_count : UInt64, bundles :
WGPURenderBundlePtr
) -> Unit

#
RenderPass::insert_debug_marker

fn RenderPass::insert_debug_marker(self : RenderPass, label : String) -> Unit

#
RenderPass::multi_draw_indexed_indirect

fn RenderPass::multi_draw_indexed_indirect(self : RenderPass, indirect_buffer : Buffer, indirect_offset : UInt64, count : UInt) -> Unit

#
RenderPass::multi_draw_indexed_indirect_count

fn RenderPass::multi_draw_indexed_indirect_count(self : RenderPass, indirect_buffer : Buffer, indirect_offset : UInt64, count_buffer : Buffer, count_buffer_offset : UInt64, max_count : UInt) -> Unit

#
RenderPass::multi_draw_indexed_indirect_count_raw

fn RenderPass::multi_draw_indexed_indirect_count_raw(self : RenderPass, buffer : Buffer, offset : UInt64, count_buffer : Buffer, count_buffer_offset : UInt64, max_count : UInt) -> Unit

#
RenderPass::multi_draw_indexed_indirect_raw

fn RenderPass::multi_draw_indexed_indirect_raw(self : RenderPass, buffer : Buffer, offset : UInt64, count : UInt) -> Unit

#
RenderPass::multi_draw_indirect

fn RenderPass::multi_draw_indirect(self : RenderPass, indirect_buffer : Buffer, indirect_offset : UInt64, count : UInt) -> Unit

#
RenderPass::multi_draw_indirect_count

fn RenderPass::multi_draw_indirect_count(self : RenderPass, indirect_buffer : Buffer, indirect_offset : UInt64, count_buffer : Buffer, count_buffer_offset : UInt64, max_count : UInt) -> Unit

#
RenderPass::multi_draw_indirect_count_raw

fn RenderPass::multi_draw_indirect_count_raw(self : RenderPass, buffer : Buffer, offset : UInt64, count_buffer : Buffer, count_buffer_offset : UInt64, max_count : UInt) -> Unit

#
RenderPass::multi_draw_indirect_raw

fn RenderPass::multi_draw_indirect_raw(self : RenderPass, buffer : Buffer, offset : UInt64, count : UInt) -> Unit

#
RenderPass::pop_debug_group

fn RenderPass::pop_debug_group(self : RenderPass) -> Unit

#
RenderPass::pop_debug_group_raw

fn RenderPass::pop_debug_group_raw(self : RenderPass) -> Unit

#
RenderPass::push_debug_group

fn RenderPass::push_debug_group(self : RenderPass, label : String) -> Unit

#
RenderPass::release

fn RenderPass::release(self : RenderPass) -> Unit

#
RenderPass::release_raw

fn RenderPass::release_raw(self : RenderPass) -> Unit

#
RenderPass::set_bind_group

fn RenderPass::set_bind_group(self : RenderPass, index : UInt, group : BindGroup, dynamic_offsets : Array[UInt]) -> Unit

#
RenderPass::set_bind_group0

fn RenderPass::set_bind_group0(self : RenderPass, group : BindGroup) -> Unit

#
RenderPass::set_blend_constant

fn RenderPass::set_blend_constant(self : RenderPass, color :
WGPUColorPtr
) -> Unit

#
RenderPass::set_blend_constant_rgba

fn RenderPass::set_blend_constant_rgba(self : RenderPass, r : Double, g : Double, b : Double, a : Double) -> Unit

#
RenderPass::set_index_buffer

fn RenderPass::set_index_buffer(self : RenderPass, buffer : Buffer, format :
WGPUIndexFormat
, offset : UInt64, size : UInt64) -> Unit

#
RenderPass::set_index_buffer_u16

fn RenderPass::set_index_buffer_u16(self : RenderPass, buffer : Buffer, offset : UInt64, size : UInt64) -> Unit

#
RenderPass::set_index_buffer_u32

fn RenderPass::set_index_buffer_u32(self : RenderPass, buffer : Buffer, offset : UInt64, size : UInt64) -> Unit

#
RenderPass::set_label

fn RenderPass::set_label(self : RenderPass, label : String) -> Unit

#
RenderPass::set_pipeline

fn RenderPass::set_pipeline(self : RenderPass, pipeline : RenderPipeline) -> Unit

#
RenderPass::set_pipeline_raw

fn RenderPass::set_pipeline_raw(self : RenderPass, pipeline : RenderPipeline) -> Unit

#
RenderPass::set_push_constants

fn RenderPass::set_push_constants(self : RenderPass, stages : ShaderStage, offset : UInt, data : Bytes) -> Unit

#
RenderPass::set_scissor_rect

fn RenderPass::set_scissor_rect(self : RenderPass, x : UInt, y : UInt, width : UInt, height : UInt) -> Unit

#
RenderPass::set_scissor_rect_raw

fn RenderPass::set_scissor_rect_raw(self : RenderPass, x : UInt, y : UInt, width : UInt, height : UInt) -> Unit

#
RenderPass::set_stencil_reference

fn RenderPass::set_stencil_reference(self : RenderPass, reference : UInt) -> Unit

#
RenderPass::set_stencil_reference_raw

fn RenderPass::set_stencil_reference_raw(self : RenderPass, reference : UInt) -> Unit

#
RenderPass::set_vertex_buffer

fn RenderPass::set_vertex_buffer(self : RenderPass, slot : UInt, buffer : Buffer, offset : UInt64, size : UInt64) -> Unit

#
RenderPass::set_vertex_buffer_raw

fn RenderPass::set_vertex_buffer_raw(self : RenderPass, slot : UInt, buffer : Buffer, offset : UInt64, size : UInt64) -> Unit

#
RenderPass::set_viewport

fn RenderPass::set_viewport(self : RenderPass, x : Float, y : Float, width : Float, height : Float, min_depth : Float, max_depth : Float) -> Unit

#
RenderPass::set_viewport_raw

fn RenderPass::set_viewport_raw(self : RenderPass, x : Float, y : Float, width : Float, height : Float, min_depth : Float, max_depth : Float) -> Unit

#
RenderPass::write_timestamp

fn RenderPass::write_timestamp(self : RenderPass, query_set : QuerySet, query_index : UInt) -> Unit

#
RenderPass::write_timestamp_raw

fn RenderPass::write_timestamp_raw(self : RenderPass, query_set : QuerySet, query_index : UInt) -> Unit

#
RenderPipeline

#
RenderPipeline::add_ref

#
RenderPipeline::add_ref_raw

fn RenderPipeline::add_ref_raw(self : RenderPipeline) -> Unit

#
RenderPipeline::get_bind_group_layout

fn RenderPipeline::get_bind_group_layout(self : RenderPipeline, index : UInt) -> BindGroupLayout

#
RenderPipeline::get_bind_group_layout_raw

fn RenderPipeline::get_bind_group_layout_raw(self : RenderPipeline, group_index : UInt) -> BindGroupLayout

#
RenderPipeline::release

fn RenderPipeline::release(self : RenderPipeline) -> Unit

#
RenderPipeline::release_raw

fn RenderPipeline::release_raw(self : RenderPipeline) -> Unit

#
RenderPipeline::set_label

fn RenderPipeline::set_label(self : RenderPipeline, label : String) -> Unit

#
RenderPipelineDescBuilder

#
RenderPipelineDescBuilder::add_vertex_attribute

fn RenderPipelineDescBuilder::add_vertex_attribute(self : RenderPipelineDescBuilder, format_u32 : UInt, offset : UInt64, shader_location : UInt) -> Unit raise RenderPipelineDescError

#
RenderPipelineDescBuilder::add_vertex_buffer_layout

fn RenderPipelineDescBuilder::add_vertex_buffer_layout(self : RenderPipelineDescBuilder, array_stride : UInt64, step_mode_u32 : UInt) -> UInt raise RenderPipelineDescError

#
RenderPipelineDescBuilder::clear_primitive_extras

fn RenderPipelineDescBuilder::clear_primitive_extras(self : RenderPipelineDescBuilder) -> Unit raise RenderPipelineDescError

#
RenderPipelineDescBuilder::create_pipeline

#
RenderPipelineDescBuilder::disable_blend

#
RenderPipelineDescBuilder::enable_alpha_blend

#
RenderPipelineDescBuilder::free

#
RenderPipelineDescBuilder::last_error

#
RenderPipelineDescBuilder::new

RenderPipelineDescriptor arena builder (MVP).

The builder is MoonBit-managed. If you call finish_descriptor_ptr, it transfers the underlying descriptor allocation out of the builder, and you must free the returned pointer via @c.render_pipeline_descriptor_free(desc).

#
RenderPipelineDescBuilder::set_blend_components

fn RenderPipelineDescBuilder::set_blend_components(self : RenderPipelineDescBuilder, color_src_factor_u32 : UInt, color_dst_factor_u32 : UInt, color_operation_u32 : UInt, alpha_src_factor_u32 : UInt, alpha_dst_factor_u32 : UInt, alpha_operation_u32 : UInt) -> Unit raise RenderPipelineDescError

#
RenderPipelineDescBuilder::set_color_target_count

fn RenderPipelineDescBuilder::set_color_target_count(self : RenderPipelineDescBuilder, count_u32 : UInt) -> Unit raise RenderPipelineDescError

#
RenderPipelineDescBuilder::set_color_target_format

fn RenderPipelineDescBuilder::set_color_target_format(self : RenderPipelineDescBuilder, format : TextureFormat) -> Unit raise RenderPipelineDescError

#
RenderPipelineDescBuilder::set_color_target_format_at

fn RenderPipelineDescBuilder::set_color_target_format_at(self : RenderPipelineDescBuilder, index_u32 : UInt, format : TextureFormat) -> Unit raise RenderPipelineDescError

#
RenderPipelineDescBuilder::set_color_target_write_mask

fn RenderPipelineDescBuilder::set_color_target_write_mask(self : RenderPipelineDescBuilder, write_mask_u64 : UInt64) -> Unit raise RenderPipelineDescError

#
RenderPipelineDescBuilder::set_color_target_write_mask_at

fn RenderPipelineDescBuilder::set_color_target_write_mask_at(self : RenderPipelineDescBuilder, index_u32 : UInt, write_mask_u64 : UInt64) -> Unit raise RenderPipelineDescError

#
RenderPipelineDescBuilder::set_conservative_rasterization

fn RenderPipelineDescBuilder::set_conservative_rasterization(self : RenderPipelineDescBuilder, conservative : Bool) -> Unit raise RenderPipelineDescError

#
RenderPipelineDescBuilder::set_depth_stencil

fn RenderPipelineDescBuilder::set_depth_stencil(self : RenderPipelineDescBuilder, depth_format : TextureFormat, depth_write_enabled? : Bool, depth_compare_u32? : UInt) -> Unit raise RenderPipelineDescError

#
RenderPipelineDescBuilder::set_entry_points

fn RenderPipelineDescBuilder::set_entry_points(self : RenderPipelineDescBuilder, vs_entry : String, fs_entry : String) -> Unit raise RenderPipelineDescError

#
RenderPipelineDescBuilder::set_polygon_mode_u32

fn RenderPipelineDescBuilder::set_polygon_mode_u32(self : RenderPipelineDescBuilder, polygon_mode_u32 : UInt) -> Unit raise RenderPipelineDescError

#
RenderPipelineDescBuilder::set_topology_u32

fn RenderPipelineDescBuilder::set_topology_u32(self : RenderPipelineDescBuilder, topology_u32 : UInt) -> Unit raise RenderPipelineDescError

#
RenderPipelineDescBuilder::set_vertex_buffer_layout

fn RenderPipelineDescBuilder::set_vertex_buffer_layout(self : RenderPipelineDescBuilder, array_stride : UInt64, step_mode_u32 : UInt) -> Unit raise RenderPipelineDescError

#
Sampler

#
Sampler::add_ref

fn Sampler::add_ref(self : Sampler) -> Sampler

#
Sampler::add_ref_raw

fn Sampler::add_ref_raw(self : Sampler) -> Unit

#
Sampler::raw_handle

#
Sampler::release

fn Sampler::release(self : Sampler) -> Unit

#
Sampler::release_raw

fn Sampler::release_raw(self : Sampler) -> Unit

#
Sampler::set_label

fn Sampler::set_label(self : Sampler, label : String) -> Unit

#
ShaderModule

#
ShaderModule::add_ref

fn ShaderModule::add_ref(self : ShaderModule) -> ShaderModule

#
ShaderModule::add_ref_raw

fn ShaderModule::add_ref_raw(self : ShaderModule) -> Unit

#
ShaderModule::get_compilation_info_sync

fn ShaderModule::get_compilation_info_sync(self : ShaderModule, instance : Instance) -> CompilationInfo

#
ShaderModule::get_compilation_info_sync_or_raise

fn ShaderModule::get_compilation_info_sync_or_raise(self : ShaderModule, instance : Instance) -> CompilationInfo raise OptionalSymbolError

#
ShaderModule::get_compilation_info_sync_status_u32

fn ShaderModule::get_compilation_info_sync_status_u32(self : ShaderModule, instance : Instance) -> UInt

#
ShaderModule::is_null

fn ShaderModule::is_null(self : ShaderModule) -> Bool

#
ShaderModule::release

fn ShaderModule::release(self : ShaderModule) -> Unit

#
ShaderModule::release_raw

fn ShaderModule::release_raw(self : ShaderModule) -> Unit

#
ShaderModule::set_label

fn ShaderModule::set_label(self : ShaderModule, label : String) -> Unit

#
ShaderStage

pub struct ShaderStage {
raw : UInt64
}

impl Eq for ShaderStage

#
ShaderStage::from_u64

fn ShaderStage::from_u64(raw : UInt64) -> ShaderStage

#
ShaderStage::to_u64

fn ShaderStage::to_u64(self : ShaderStage) -> UInt64

#
Surface

#
Surface::add_ref

fn Surface::add_ref(self : Surface) -> Surface

#
Surface::add_ref_raw

fn Surface::add_ref_raw(self : Surface) -> Unit

#
Surface::capabilities_alpha_mode_u32_at

fn Surface::capabilities_alpha_mode_u32_at(self : Surface, adapter : Adapter, index : UInt64) -> UInt

#
Surface::capabilities_alpha_modes

fn Surface::capabilities_alpha_modes(self : Surface, adapter : Adapter) -> Array[UInt]

#
Surface::capabilities_alpha_modes_count_u64

fn Surface::capabilities_alpha_modes_count_u64(self : Surface, adapter : Adapter) -> UInt64

#
Surface::capabilities_format_u32_at

fn Surface::capabilities_format_u32_at(self : Surface, adapter : Adapter, index : UInt64) -> TextureFormat

#
Surface::capabilities_formats

fn Surface::capabilities_formats(self : Surface, adapter : Adapter) -> Array[TextureFormat]

#
Surface::capabilities_formats_count_u64

fn Surface::capabilities_formats_count_u64(self : Surface, adapter : Adapter) -> UInt64

#
Surface::capabilities_present_mode_u32_at

fn Surface::capabilities_present_mode_u32_at(self : Surface, adapter : Adapter, index : UInt64) -> UInt

#
Surface::capabilities_present_modes

fn Surface::capabilities_present_modes(self : Surface, adapter : Adapter) -> Array[UInt]

#
Surface::capabilities_present_modes_count_u64

fn Surface::capabilities_present_modes_count_u64(self : Surface, adapter : Adapter) -> UInt64

#
Surface::capabilities_usages_u64

fn Surface::capabilities_usages_u64(self : Surface, adapter : Adapter) -> TextureUsage

#
Surface::configure_best_effort

fn Surface::configure_best_effort(self : Surface, adapter : Adapter, device : Device, width : UInt, height : UInt, usage : TextureUsage, prefer_srgb? : Bool, vsync? : Bool, desired_maximum_frame_latency? : UInt) -> Bool

#
Surface::configure_default

fn Surface::configure_default(self : Surface, adapter : Adapter, device : Device, width : UInt, height : UInt, usage : TextureUsage, desired_maximum_frame_latency? : UInt) -> TextureFormat

#
Surface::configure_ptr

#
Surface::configure_u32

fn Surface::configure_u32(self : Surface, adapter : Adapter, device : Device, width : UInt, height : UInt, usage : TextureUsage, format : TextureFormat, present_mode_u32 : UInt, alpha_mode_u32 : UInt, desired_maximum_frame_latency? : UInt) -> Bool

#
Surface::configure_u32_or_raise

fn Surface::configure_u32_or_raise(self : Surface, adapter : Adapter, device : Device, width : UInt, height : UInt, usage : TextureUsage, format : TextureFormat, present_mode_u32 : UInt, alpha_mode_u32 : UInt, desired_maximum_frame_latency? : UInt) -> Unit raise SurfaceConfigureError

#
Surface::configure_view_formats_u32

fn Surface::configure_view_formats_u32(self : Surface, adapter : Adapter, device : Device, width : UInt, height : UInt, usage : TextureUsage, format : TextureFormat, present_mode_u32 : UInt, alpha_mode_u32 : UInt, view_formats : Array[TextureFormat], desired_maximum_frame_latency? : UInt) -> Bool

#
Surface::configure_view_formats_u32_or_raise

fn Surface::configure_view_formats_u32_or_raise(self : Surface, adapter : Adapter, device : Device, width : UInt, height : UInt, usage : TextureUsage, format : TextureFormat, present_mode_u32 : UInt, alpha_mode_u32 : UInt, view_formats : Array[TextureFormat], desired_maximum_frame_latency? : UInt) -> Unit raise SurfaceConfigureError

#
Surface::configure_with

fn Surface::configure_with(self : Surface, adapter : Adapter, device : Device, config : SurfaceConfiguration) -> Bool

#
Surface::configure_with_or_raise

fn Surface::configure_with_or_raise(self : Surface, adapter : Adapter, device : Device, config : SurfaceConfiguration) -> Unit raise SurfaceConfigureError

#
Surface::get_current_frame_or_raise

fn Surface::get_current_frame_or_raise(self : Surface) -> SurfaceFrame raise SurfaceTextureError

#
Surface::get_current_texture

fn Surface::get_current_texture(self : Surface) -> SurfaceTexture

#
Surface::get_current_texture_or_raise

fn Surface::get_current_texture_or_raise(self : Surface) -> SurfaceTexture raise SurfaceTextureError

#
Surface::get_current_texture_raw

fn Surface::get_current_texture_raw(self : Surface, surface_texture :
WGPUSurfaceTexturePtr
) -> Unit

#
Surface::metal_layer_handle

fn Surface::metal_layer_handle(self : Surface) ->
OpaquePtr

#
Surface::present

fn Surface::present(self : Surface) -> UInt

#
Surface::present_or_raise

fn Surface::present_or_raise(self : Surface) -> Unit raise SurfacePresentError

#
Surface::present_raw

#
Surface::raw_handle

#
Surface::release

fn Surface::release(self : Surface) -> Unit

#
Surface::release_raw

fn Surface::release_raw(self : Surface) -> Unit

#
Surface::set_label

fn Surface::set_label(self : Surface, label : String) -> Unit

#
Surface::unconfigure

fn Surface::unconfigure(self : Surface) -> Unit

#
Surface::unconfigure_raw

fn Surface::unconfigure_raw(self : Surface) -> Unit

#
SurfaceConfiguration

pub struct SurfaceConfiguration {
width : UInt
height : UInt
usage : TextureUsage
format : TextureFormat
present_mode_u32 : UInt
alpha_mode_u32 : UInt
view_formats : Array[TextureFormat]
desired_maximum_frame_latency : UInt
}

#
SurfaceConfiguration::new

fn SurfaceConfiguration::new(width : UInt, height : UInt, usage : TextureUsage, format : TextureFormat, present_mode : PresentMode, alpha_mode : CompositeAlphaMode) -> SurfaceConfiguration

#
SurfaceConfiguration::with_desired_maximum_frame_latency

fn SurfaceConfiguration::with_desired_maximum_frame_latency(self : SurfaceConfiguration, desired_maximum_frame_latency : UInt) -> SurfaceConfiguration

#
SurfaceConfiguration::with_view_formats

fn SurfaceConfiguration::with_view_formats(self : SurfaceConfiguration, view_formats : Array[TextureFormat]) -> SurfaceConfiguration

#
SurfaceFrame

pub struct SurfaceFrame {
surface : Surface
texture : Texture
}

#
SurfaceFrame::present

fn SurfaceFrame::present(self : SurfaceFrame) -> UInt

#
SurfaceFrame::present_or_raise

fn SurfaceFrame::present_or_raise(self : SurfaceFrame) -> Unit raise SurfacePresentError

#
SurfaceFrame::release

fn SurfaceFrame::release(self : SurfaceFrame) -> Unit

#
SurfaceTexture

pub struct SurfaceTexture {
raw :
OpaquePtr

}

#
SurfaceTexture::is_success

fn SurfaceTexture::is_success(self : SurfaceTexture) -> Bool

#
SurfaceTexture::release

fn SurfaceTexture::release(self : SurfaceTexture) -> Unit

#
SurfaceTexture::require_success

fn SurfaceTexture::require_success(self : SurfaceTexture) -> Unit raise SurfaceTextureError

#
SurfaceTexture::status

fn SurfaceTexture::status(self : SurfaceTexture) -> UInt

#
SurfaceTexture::take_texture

fn SurfaceTexture::take_texture(self : SurfaceTexture) -> Texture

#
SurfaceTexture::take_texture_or_raise

fn SurfaceTexture::take_texture_or_raise(self : SurfaceTexture) -> Texture raise SurfaceTextureError

#
Texture

#
Texture::add_ref

fn Texture::add_ref(self : Texture) -> Texture

#
Texture::add_ref_raw

fn Texture::add_ref_raw(self : Texture) -> Unit

#
Texture::create_view

fn Texture::create_view(self : Texture) -> TextureView

#
Texture::create_view_2d

fn Texture::create_view_2d(self : Texture, base_mip_level : UInt, mip_level_count : UInt) -> TextureView

#
Texture::create_view_2d_array

fn Texture::create_view_2d_array(self : Texture, base_array_layer : UInt, array_layer_count : UInt, base_mip_level : UInt, mip_level_count : UInt) -> TextureView

#
Texture::create_view_ptr

#
Texture::create_view_raw

#
Texture::create_view_u32

fn Texture::create_view_u32(self : Texture, format : TextureFormat, view_dimension_u32 : UInt, aspect_u32 : UInt, base_array_layer : UInt, array_layer_count : UInt, base_mip_level : UInt, mip_level_count : UInt) -> TextureView

#
Texture::depth_or_array_layers_u32

fn Texture::depth_or_array_layers_u32(self : Texture) -> UInt

#
Texture::destroy

fn Texture::destroy(self : Texture) -> Unit

#
Texture::destroy_raw

fn Texture::destroy_raw(self : Texture) -> Unit

#
Texture::dimension_u32

fn Texture::dimension_u32(self : Texture) -> TextureDimension

#
Texture::format_u32

fn Texture::format_u32(self : Texture) -> TextureFormat

#
Texture::get_depth_or_array_layers

fn Texture::get_depth_or_array_layers(self : Texture) -> UInt

#
Texture::get_height

fn Texture::get_height(self : Texture) -> UInt

#
Texture::get_mip_level_count

fn Texture::get_mip_level_count(self : Texture) -> UInt

#
Texture::get_sample_count

fn Texture::get_sample_count(self : Texture) -> UInt

#
Texture::get_usage

fn Texture::get_usage(self : Texture) -> UInt64

#
Texture::get_width

fn Texture::get_width(self : Texture) -> UInt

#
Texture::height_u32

fn Texture::height_u32(self : Texture) -> UInt

#
Texture::mip_level_count_u32

fn Texture::mip_level_count_u32(self : Texture) -> UInt

#
Texture::raw_handle

#
Texture::release

fn Texture::release(self : Texture) -> Unit

#
Texture::release_raw

fn Texture::release_raw(self : Texture) -> Unit

#
Texture::sample_count_u32

fn Texture::sample_count_u32(self : Texture) -> UInt

#
Texture::set_label

fn Texture::set_label(self : Texture, label : String) -> Unit

#
Texture::usage_u64

fn Texture::usage_u64(self : Texture) -> TextureUsage

#
Texture::width_u32

fn Texture::width_u32(self : Texture) -> UInt

#
TextureDimension

pub struct TextureDimension {
raw : UInt
}

#
TextureDimension::from_u32

fn TextureDimension::from_u32(raw : UInt) -> TextureDimension

#
TextureDimension::to_u32

fn TextureDimension::to_u32(self : TextureDimension) -> UInt

#
TextureFormat

pub struct TextureFormat {
raw : UInt
}

Type-safe wrappers for frequently-used numeric enums/flags.

v0.4.0+ gradually moves public APIs away from raw UInt/UInt64 for these.
impl Eq for TextureFormat

#
TextureFormat::from_u32

fn TextureFormat::from_u32(raw : UInt) -> TextureFormat

#
TextureFormat::to_u32

fn TextureFormat::to_u32(self : TextureFormat) -> UInt

#
TextureUsage

pub struct TextureUsage {
raw : UInt64
}

impl Eq for TextureUsage

#
TextureUsage::from_u64

fn TextureUsage::from_u64(raw : UInt64) -> TextureUsage

#
TextureUsage::to_u64

fn TextureUsage::to_u64(self : TextureUsage) -> UInt64

#
TextureView

#
TextureView::add_ref

fn TextureView::add_ref(self : TextureView) -> TextureView

#
TextureView::add_ref_raw

fn TextureView::add_ref_raw(self : TextureView) -> Unit

#
TextureView::release

fn TextureView::release(self : TextureView) -> Unit

#
TextureView::release_raw

fn TextureView::release_raw(self : TextureView) -> Unit

#
TextureView::set_label

fn TextureView::set_label(self : TextureView, label : String) -> Unit

#
WaitAnyResult

pub struct WaitAnyResult {
status : UInt
completed : Bool
}

#
ADAPTER_TYPE_CPU

let ADAPTER_TYPE_CPU : UInt

#
ADAPTER_TYPE_DISCRETE_GPU

let ADAPTER_TYPE_DISCRETE_GPU : UInt

#
ADAPTER_TYPE_FORCE32

let ADAPTER_TYPE_FORCE32 : UInt

#
ADAPTER_TYPE_INTEGRATED_GPU

let ADAPTER_TYPE_INTEGRATED_GPU : UInt

#
ADAPTER_TYPE_UNKNOWN

let ADAPTER_TYPE_UNKNOWN : UInt

#
ADDRESS_MODE_CLAMP_TO_EDGE

let ADDRESS_MODE_CLAMP_TO_EDGE : UInt

#
ADDRESS_MODE_FORCE32

let ADDRESS_MODE_FORCE32 : UInt

#
ADDRESS_MODE_MIRROR_REPEAT

let ADDRESS_MODE_MIRROR_REPEAT : UInt

#
ADDRESS_MODE_REPEAT

let ADDRESS_MODE_REPEAT : UInt

#
ADDRESS_MODE_UNDEFINED

let ADDRESS_MODE_UNDEFINED : UInt

#
ARRAY_LAYER_COUNT_UNDEFINED

let ARRAY_LAYER_COUNT_UNDEFINED : UInt

#
BACKEND_TYPE_D3_D11

let BACKEND_TYPE_D3_D11 : UInt

#
BACKEND_TYPE_D3_D12

let BACKEND_TYPE_D3_D12 : UInt

#
BACKEND_TYPE_FORCE32

let BACKEND_TYPE_FORCE32 : UInt

#
BACKEND_TYPE_METAL

let BACKEND_TYPE_METAL : UInt

#
BACKEND_TYPE_NULL

let BACKEND_TYPE_NULL : UInt

#
BACKEND_TYPE_OPEN_GL

let BACKEND_TYPE_OPEN_GL : UInt

#
BACKEND_TYPE_OPEN_GLES

let BACKEND_TYPE_OPEN_GLES : UInt

#
BACKEND_TYPE_UNDEFINED

let BACKEND_TYPE_UNDEFINED : UInt

#
BACKEND_TYPE_VULKAN

let BACKEND_TYPE_VULKAN : UInt

#
BACKEND_TYPE_WEB_GPU

let BACKEND_TYPE_WEB_GPU : UInt

#
BLEND_FACTOR_CONSTANT

let BLEND_FACTOR_CONSTANT : UInt

#
BLEND_FACTOR_DST

let BLEND_FACTOR_DST : UInt

#
BLEND_FACTOR_DST_ALPHA

let BLEND_FACTOR_DST_ALPHA : UInt

#
BLEND_FACTOR_FORCE32

let BLEND_FACTOR_FORCE32 : UInt

#
BLEND_FACTOR_ONE

let BLEND_FACTOR_ONE : UInt

#
BLEND_FACTOR_ONE_MINUS_CONSTANT

let BLEND_FACTOR_ONE_MINUS_CONSTANT : UInt

#
BLEND_FACTOR_ONE_MINUS_DST

let BLEND_FACTOR_ONE_MINUS_DST : UInt

#
BLEND_FACTOR_ONE_MINUS_DST_ALPHA

let BLEND_FACTOR_ONE_MINUS_DST_ALPHA : UInt

#
BLEND_FACTOR_ONE_MINUS_SRC

let BLEND_FACTOR_ONE_MINUS_SRC : UInt

#
BLEND_FACTOR_ONE_MINUS_SRC1

let BLEND_FACTOR_ONE_MINUS_SRC1 : UInt

#
BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA

let BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA : UInt

#
BLEND_FACTOR_ONE_MINUS_SRC_ALPHA

let BLEND_FACTOR_ONE_MINUS_SRC_ALPHA : UInt

#
BLEND_FACTOR_SRC

let BLEND_FACTOR_SRC : UInt

#
BLEND_FACTOR_SRC1

let BLEND_FACTOR_SRC1 : UInt

#
BLEND_FACTOR_SRC1_ALPHA

let BLEND_FACTOR_SRC1_ALPHA : UInt

#
BLEND_FACTOR_SRC_ALPHA

let BLEND_FACTOR_SRC_ALPHA : UInt

#
BLEND_FACTOR_SRC_ALPHA_SATURATED

let BLEND_FACTOR_SRC_ALPHA_SATURATED : UInt

#
BLEND_FACTOR_UNDEFINED

let BLEND_FACTOR_UNDEFINED : UInt

#
BLEND_FACTOR_ZERO

let BLEND_FACTOR_ZERO : UInt

#
BLEND_OPERATION_ADD

let BLEND_OPERATION_ADD : UInt

#
BLEND_OPERATION_FORCE32

let BLEND_OPERATION_FORCE32 : UInt

#
BLEND_OPERATION_MAX

let BLEND_OPERATION_MAX : UInt

#
BLEND_OPERATION_MIN

let BLEND_OPERATION_MIN : UInt

#
BLEND_OPERATION_REVERSE_SUBTRACT

let BLEND_OPERATION_REVERSE_SUBTRACT : UInt

#
BLEND_OPERATION_SUBTRACT

let BLEND_OPERATION_SUBTRACT : UInt

#
BLEND_OPERATION_UNDEFINED

let BLEND_OPERATION_UNDEFINED : UInt

#
BUFFER_BINDING_TYPE_BINDING_NOT_USED

let BUFFER_BINDING_TYPE_BINDING_NOT_USED : UInt

#
BUFFER_BINDING_TYPE_FORCE32

let BUFFER_BINDING_TYPE_FORCE32 : UInt

#
BUFFER_BINDING_TYPE_READ_ONLY_STORAGE

let BUFFER_BINDING_TYPE_READ_ONLY_STORAGE : UInt

#
BUFFER_BINDING_TYPE_STORAGE

let BUFFER_BINDING_TYPE_STORAGE : UInt

#
BUFFER_BINDING_TYPE_UNDEFINED

let BUFFER_BINDING_TYPE_UNDEFINED : UInt

#
BUFFER_BINDING_TYPE_UNIFORM

let BUFFER_BINDING_TYPE_UNIFORM : UInt

#
BUFFER_MAP_STATE_FORCE32

let BUFFER_MAP_STATE_FORCE32 : UInt

#
BUFFER_MAP_STATE_MAPPED

let BUFFER_MAP_STATE_MAPPED : UInt

#
BUFFER_MAP_STATE_PENDING

let BUFFER_MAP_STATE_PENDING : UInt

#
BUFFER_MAP_STATE_UNMAPPED

let BUFFER_MAP_STATE_UNMAPPED : UInt

#
BUFFER_USAGE_COPY_DST

let BUFFER_USAGE_COPY_DST : UInt64

#
BUFFER_USAGE_COPY_SRC

let BUFFER_USAGE_COPY_SRC : UInt64

#
BUFFER_USAGE_INDEX

let BUFFER_USAGE_INDEX : UInt64

#
BUFFER_USAGE_INDIRECT

let BUFFER_USAGE_INDIRECT : UInt64

#
BUFFER_USAGE_MAP_READ

let BUFFER_USAGE_MAP_READ : UInt64

#
BUFFER_USAGE_MAP_WRITE

let BUFFER_USAGE_MAP_WRITE : UInt64

#
BUFFER_USAGE_NONE

let BUFFER_USAGE_NONE : UInt64

#
BUFFER_USAGE_QUERY_RESOLVE

let BUFFER_USAGE_QUERY_RESOLVE : UInt64

#
BUFFER_USAGE_STORAGE

let BUFFER_USAGE_STORAGE : UInt64

#
BUFFER_USAGE_UNIFORM

let BUFFER_USAGE_UNIFORM : UInt64

#
BUFFER_USAGE_VERTEX

let BUFFER_USAGE_VERTEX : UInt64

#
CALLBACK_MODE_ALLOW_PROCESS_EVENTS

let CALLBACK_MODE_ALLOW_PROCESS_EVENTS : UInt

#
CALLBACK_MODE_ALLOW_SPONTANEOUS

let CALLBACK_MODE_ALLOW_SPONTANEOUS : UInt

#
CALLBACK_MODE_FORCE32

let CALLBACK_MODE_FORCE32 : UInt

#
CALLBACK_MODE_WAIT_ANY_ONLY

let CALLBACK_MODE_WAIT_ANY_ONLY : UInt

#
COLOR_WRITE_MASK_ALL

let COLOR_WRITE_MASK_ALL : UInt64

#
COLOR_WRITE_MASK_ALPHA

let COLOR_WRITE_MASK_ALPHA : UInt64

#
COLOR_WRITE_MASK_BLUE

let COLOR_WRITE_MASK_BLUE : UInt64

#
COLOR_WRITE_MASK_GREEN

let COLOR_WRITE_MASK_GREEN : UInt64

#
COLOR_WRITE_MASK_NONE

let COLOR_WRITE_MASK_NONE : UInt64

#
COLOR_WRITE_MASK_RED

let COLOR_WRITE_MASK_RED : UInt64

#
COMPARE_FUNCTION_ALWAYS

let COMPARE_FUNCTION_ALWAYS : UInt

#
COMPARE_FUNCTION_EQUAL

let COMPARE_FUNCTION_EQUAL : UInt

#
COMPARE_FUNCTION_FORCE32

let COMPARE_FUNCTION_FORCE32 : UInt

#
COMPARE_FUNCTION_GREATER

let COMPARE_FUNCTION_GREATER : UInt

#
COMPARE_FUNCTION_GREATER_EQUAL

let COMPARE_FUNCTION_GREATER_EQUAL : UInt

#
COMPARE_FUNCTION_LESS

let COMPARE_FUNCTION_LESS : UInt

#
COMPARE_FUNCTION_LESS_EQUAL

let COMPARE_FUNCTION_LESS_EQUAL : UInt

#
COMPARE_FUNCTION_NEVER

let COMPARE_FUNCTION_NEVER : UInt

#
COMPARE_FUNCTION_NOT_EQUAL

let COMPARE_FUNCTION_NOT_EQUAL : UInt

#
COMPARE_FUNCTION_UNDEFINED

let COMPARE_FUNCTION_UNDEFINED : UInt

#
COMPILATION_INFO_REQUEST_STATUS_ERROR

let COMPILATION_INFO_REQUEST_STATUS_ERROR : UInt

#
COMPILATION_INFO_REQUEST_STATUS_FORCE32

let COMPILATION_INFO_REQUEST_STATUS_FORCE32 : UInt

#
COMPILATION_INFO_REQUEST_STATUS_INSTANCE_DROPPED

let COMPILATION_INFO_REQUEST_STATUS_INSTANCE_DROPPED : UInt

#
COMPILATION_INFO_REQUEST_STATUS_SUCCESS

let COMPILATION_INFO_REQUEST_STATUS_SUCCESS : UInt

#
COMPILATION_INFO_REQUEST_STATUS_UNKNOWN

let COMPILATION_INFO_REQUEST_STATUS_UNKNOWN : UInt

#
COMPILATION_MESSAGE_TYPE_ERROR

let COMPILATION_MESSAGE_TYPE_ERROR : UInt

#
COMPILATION_MESSAGE_TYPE_FORCE32

let COMPILATION_MESSAGE_TYPE_FORCE32 : UInt

#
COMPILATION_MESSAGE_TYPE_INFO

let COMPILATION_MESSAGE_TYPE_INFO : UInt

#
COMPILATION_MESSAGE_TYPE_WARNING

let COMPILATION_MESSAGE_TYPE_WARNING : UInt

#
COMPOSITE_ALPHA_MODE_AUTO

let COMPOSITE_ALPHA_MODE_AUTO : UInt

#
COMPOSITE_ALPHA_MODE_FORCE32

let COMPOSITE_ALPHA_MODE_FORCE32 : UInt

#
COMPOSITE_ALPHA_MODE_INHERIT

let COMPOSITE_ALPHA_MODE_INHERIT : UInt

#
COMPOSITE_ALPHA_MODE_OPAQUE

let COMPOSITE_ALPHA_MODE_OPAQUE : UInt

#
COMPOSITE_ALPHA_MODE_PREMULTIPLIED

let COMPOSITE_ALPHA_MODE_PREMULTIPLIED : UInt

#
COMPOSITE_ALPHA_MODE_UNPREMULTIPLIED

let COMPOSITE_ALPHA_MODE_UNPREMULTIPLIED : UInt

#
COMPUTE_PIPELINE_DESC_ERR_ENTRY_EMPTY

let COMPUTE_PIPELINE_DESC_ERR_ENTRY_EMPTY : UInt

#
COMPUTE_PIPELINE_DESC_ERR_ENTRY_TOO_LONG

let COMPUTE_PIPELINE_DESC_ERR_ENTRY_TOO_LONG : UInt

#
COMPUTE_PIPELINE_DESC_ERR_NULL_DESCRIPTOR

let COMPUTE_PIPELINE_DESC_ERR_NULL_DESCRIPTOR : UInt

#
COMPUTE_PIPELINE_DESC_ERR_OOM

let COMPUTE_PIPELINE_DESC_ERR_OOM : UInt

#
COPY_STRIDE_UNDEFINED

let COPY_STRIDE_UNDEFINED : UInt

#
CREATE_PIPELINE_ASYNC_STATUS_FORCE32

let CREATE_PIPELINE_ASYNC_STATUS_FORCE32 : UInt

#
CREATE_PIPELINE_ASYNC_STATUS_INSTANCE_DROPPED

let CREATE_PIPELINE_ASYNC_STATUS_INSTANCE_DROPPED : UInt

#
CREATE_PIPELINE_ASYNC_STATUS_INTERNAL_ERROR

let CREATE_PIPELINE_ASYNC_STATUS_INTERNAL_ERROR : UInt

#
CREATE_PIPELINE_ASYNC_STATUS_SUCCESS

let CREATE_PIPELINE_ASYNC_STATUS_SUCCESS : UInt

#
CREATE_PIPELINE_ASYNC_STATUS_UNKNOWN

let CREATE_PIPELINE_ASYNC_STATUS_UNKNOWN : UInt

#
CREATE_PIPELINE_ASYNC_STATUS_VALIDATION_ERROR

let CREATE_PIPELINE_ASYNC_STATUS_VALIDATION_ERROR : UInt

#
CULL_MODE_BACK

let CULL_MODE_BACK : UInt

#
CULL_MODE_FORCE32

let CULL_MODE_FORCE32 : UInt

#
CULL_MODE_FRONT

let CULL_MODE_FRONT : UInt

#
CULL_MODE_NONE

let CULL_MODE_NONE : UInt

#
CULL_MODE_UNDEFINED

let CULL_MODE_UNDEFINED : UInt

#
DEPTH_SLICE_UNDEFINED

let DEPTH_SLICE_UNDEFINED : UInt

#
DEVICE_LOST_REASON_DESTROYED

let DEVICE_LOST_REASON_DESTROYED : UInt

#
DEVICE_LOST_REASON_FAILED_CREATION

let DEVICE_LOST_REASON_FAILED_CREATION : UInt

#
DEVICE_LOST_REASON_FORCE32

let DEVICE_LOST_REASON_FORCE32 : UInt

#
DEVICE_LOST_REASON_INSTANCE_DROPPED

let DEVICE_LOST_REASON_INSTANCE_DROPPED : UInt

#
DEVICE_LOST_REASON_UNKNOWN

let DEVICE_LOST_REASON_UNKNOWN : UInt

#
DX12_COMPILER_DXC

let DX12_COMPILER_DXC : UInt

#
DX12_COMPILER_FXC

let DX12_COMPILER_FXC : UInt

#
DX12_COMPILER_UNDEFINED

let DX12_COMPILER_UNDEFINED : UInt

#
DX12_SWAPCHAIN_KIND_DXGI_FROM_HWND

let DX12_SWAPCHAIN_KIND_DXGI_FROM_HWND : UInt

#
DX12_SWAPCHAIN_KIND_DXGI_FROM_VISUAL

let DX12_SWAPCHAIN_KIND_DXGI_FROM_VISUAL : UInt

#
DX12_SWAPCHAIN_KIND_FORCE32

let DX12_SWAPCHAIN_KIND_FORCE32 : UInt

#
DX12_SWAPCHAIN_KIND_UNDEFINED

let DX12_SWAPCHAIN_KIND_UNDEFINED : UInt

#
DXC_MAX_SHADER_MODEL_FORCE32

let DXC_MAX_SHADER_MODEL_FORCE32 : UInt

#
DXC_MAX_SHADER_MODEL_V6_0

let DXC_MAX_SHADER_MODEL_V6_0 : UInt

#
DXC_MAX_SHADER_MODEL_V6_1

let DXC_MAX_SHADER_MODEL_V6_1 : UInt

#
DXC_MAX_SHADER_MODEL_V6_2

let DXC_MAX_SHADER_MODEL_V6_2 : UInt

#
DXC_MAX_SHADER_MODEL_V6_3

let DXC_MAX_SHADER_MODEL_V6_3 : UInt

#
DXC_MAX_SHADER_MODEL_V6_4

let DXC_MAX_SHADER_MODEL_V6_4 : UInt

#
DXC_MAX_SHADER_MODEL_V6_5

let DXC_MAX_SHADER_MODEL_V6_5 : UInt

#
DXC_MAX_SHADER_MODEL_V6_6

let DXC_MAX_SHADER_MODEL_V6_6 : UInt

#
DXC_MAX_SHADER_MODEL_V6_7

let DXC_MAX_SHADER_MODEL_V6_7 : UInt

#
ERROR_FILTER_FORCE32

let ERROR_FILTER_FORCE32 : UInt

#
ERROR_FILTER_INTERNAL

let ERROR_FILTER_INTERNAL : UInt

#
ERROR_FILTER_OUT_OF_MEMORY

let ERROR_FILTER_OUT_OF_MEMORY : UInt

#
ERROR_FILTER_VALIDATION

let ERROR_FILTER_VALIDATION : UInt

#
ERROR_TYPE_FORCE32

let ERROR_TYPE_FORCE32 : UInt

#
ERROR_TYPE_INTERNAL

let ERROR_TYPE_INTERNAL : UInt

#
ERROR_TYPE_NO_ERROR

let ERROR_TYPE_NO_ERROR : UInt

#
ERROR_TYPE_OUT_OF_MEMORY

let ERROR_TYPE_OUT_OF_MEMORY : UInt

#
ERROR_TYPE_UNKNOWN

let ERROR_TYPE_UNKNOWN : UInt

#
ERROR_TYPE_VALIDATION

let ERROR_TYPE_VALIDATION : UInt

#
FEATURE_LEVEL_COMPATIBILITY

let FEATURE_LEVEL_COMPATIBILITY : UInt

#
FEATURE_LEVEL_CORE

let FEATURE_LEVEL_CORE : UInt

#
FEATURE_LEVEL_FORCE32

let FEATURE_LEVEL_FORCE32 : UInt

#
FEATURE_NAME_BGRA8_UNORM_STORAGE

let FEATURE_NAME_BGRA8_UNORM_STORAGE : UInt

#
FEATURE_NAME_CLIP_DISTANCES

let FEATURE_NAME_CLIP_DISTANCES : UInt

#
FEATURE_NAME_DEPTH32_FLOAT_STENCIL8

let FEATURE_NAME_DEPTH32_FLOAT_STENCIL8 : UInt

#
FEATURE_NAME_DEPTH_CLIP_CONTROL

let FEATURE_NAME_DEPTH_CLIP_CONTROL : UInt

#
FEATURE_NAME_DUAL_SOURCE_BLENDING

let FEATURE_NAME_DUAL_SOURCE_BLENDING : UInt

#
FEATURE_NAME_FLOAT32_BLENDABLE

let FEATURE_NAME_FLOAT32_BLENDABLE : UInt

#
FEATURE_NAME_FLOAT32_FILTERABLE

let FEATURE_NAME_FLOAT32_FILTERABLE : UInt

#
FEATURE_NAME_FORCE32

let FEATURE_NAME_FORCE32 : UInt

#
FEATURE_NAME_INDIRECT_FIRST_INSTANCE

let FEATURE_NAME_INDIRECT_FIRST_INSTANCE : UInt

#
FEATURE_NAME_RG11_B10_UFLOAT_RENDERABLE

let FEATURE_NAME_RG11_B10_UFLOAT_RENDERABLE : UInt

#
FEATURE_NAME_SHADER_F16

let FEATURE_NAME_SHADER_F16 : UInt

#
FEATURE_NAME_TEXTURE_COMPRESSION_ASTC

let FEATURE_NAME_TEXTURE_COMPRESSION_ASTC : UInt

#
FEATURE_NAME_TEXTURE_COMPRESSION_ASTC_SLICED3D

let FEATURE_NAME_TEXTURE_COMPRESSION_ASTC_SLICED3D : UInt

#
FEATURE_NAME_TEXTURE_COMPRESSION_BC

let FEATURE_NAME_TEXTURE_COMPRESSION_BC : UInt

#
FEATURE_NAME_TEXTURE_COMPRESSION_BC_SLICED3D

let FEATURE_NAME_TEXTURE_COMPRESSION_BC_SLICED3D : UInt

#
FEATURE_NAME_TEXTURE_COMPRESSION_ETC2

let FEATURE_NAME_TEXTURE_COMPRESSION_ETC2 : UInt

#
FEATURE_NAME_TIMESTAMP_QUERY

let FEATURE_NAME_TIMESTAMP_QUERY : UInt

#
FEATURE_NAME_UNDEFINED

let FEATURE_NAME_UNDEFINED : UInt

#
FILTER_MODE_FORCE32

let FILTER_MODE_FORCE32 : UInt

#
FILTER_MODE_LINEAR

let FILTER_MODE_LINEAR : UInt

#
FILTER_MODE_NEAREST

let FILTER_MODE_NEAREST : UInt

#
FILTER_MODE_UNDEFINED

let FILTER_MODE_UNDEFINED : UInt

#
FRONT_FACE_CCW

let FRONT_FACE_CCW : UInt

#
FRONT_FACE_CW

let FRONT_FACE_CW : UInt

#
FRONT_FACE_FORCE32

let FRONT_FACE_FORCE32 : UInt

#
FRONT_FACE_UNDEFINED

let FRONT_FACE_UNDEFINED : UInt

#
GLES3_MINOR_VERSION_AUTOMATIC

let GLES3_MINOR_VERSION_AUTOMATIC : UInt

#
GLES3_MINOR_VERSION_FORCE32

let GLES3_MINOR_VERSION_FORCE32 : UInt

#
GLES3_MINOR_VERSION_VERSION0

let GLES3_MINOR_VERSION_VERSION0 : UInt

#
GLES3_MINOR_VERSION_VERSION1

let GLES3_MINOR_VERSION_VERSION1 : UInt

#
GLES3_MINOR_VERSION_VERSION2

let GLES3_MINOR_VERSION_VERSION2 : UInt

#
GL_FENCE_BEHAVIOUR_AUTO_FINISH

let GL_FENCE_BEHAVIOUR_AUTO_FINISH : UInt

#
GL_FENCE_BEHAVIOUR_FORCE32

let GL_FENCE_BEHAVIOUR_FORCE32 : UInt

#
GL_FENCE_BEHAVIOUR_NORMAL

let GL_FENCE_BEHAVIOUR_NORMAL : UInt

#
INDEX_FORMAT_FORCE32

let INDEX_FORMAT_FORCE32 : UInt

#
INDEX_FORMAT_UINT16

let INDEX_FORMAT_UINT16 : UInt

#
INDEX_FORMAT_UINT32

let INDEX_FORMAT_UINT32 : UInt

#
INDEX_FORMAT_UNDEFINED

let INDEX_FORMAT_UNDEFINED : UInt

#
INSTANCE_BACKEND_ALL

let INSTANCE_BACKEND_ALL : UInt64

#
INSTANCE_BACKEND_FORCE32

let INSTANCE_BACKEND_FORCE32 : UInt64

#
INSTANCE_FLAG_DEBUG

let INSTANCE_FLAG_DEBUG : UInt

#
INSTANCE_FLAG_DEFAULT

let INSTANCE_FLAG_DEFAULT : UInt

#
INSTANCE_FLAG_DISCARD_HAL_LABELS

let INSTANCE_FLAG_DISCARD_HAL_LABELS : UInt

#
INSTANCE_FLAG_VALIDATION

let INSTANCE_FLAG_VALIDATION : UInt

#
LIMIT_U32_UNDEFINED

let LIMIT_U32_UNDEFINED : UInt

#
LIMIT_U64_UNDEFINED

let LIMIT_U64_UNDEFINED : UInt64

#
LOAD_OP_CLEAR

let LOAD_OP_CLEAR : UInt

#
LOAD_OP_FORCE32

let LOAD_OP_FORCE32 : UInt

#
LOAD_OP_LOAD

let LOAD_OP_LOAD : UInt

#
LOAD_OP_UNDEFINED

let LOAD_OP_UNDEFINED : UInt

#
LOG_LEVEL_DEBUG

let LOG_LEVEL_DEBUG : UInt

#
LOG_LEVEL_ERROR

let LOG_LEVEL_ERROR : UInt

#
LOG_LEVEL_FORCE32

let LOG_LEVEL_FORCE32 : UInt

#
LOG_LEVEL_INFO

let LOG_LEVEL_INFO : UInt

#
LOG_LEVEL_OFF

let LOG_LEVEL_OFF : UInt

#
LOG_LEVEL_TRACE

let LOG_LEVEL_TRACE : UInt

#
LOG_LEVEL_WARN

let LOG_LEVEL_WARN : UInt

#
MAP_ASYNC_STATUS_ABORTED

let MAP_ASYNC_STATUS_ABORTED : UInt

#
MAP_ASYNC_STATUS_ERROR

let MAP_ASYNC_STATUS_ERROR : UInt

#
MAP_ASYNC_STATUS_FORCE32

let MAP_ASYNC_STATUS_FORCE32 : UInt

#
MAP_ASYNC_STATUS_INSTANCE_DROPPED

let MAP_ASYNC_STATUS_INSTANCE_DROPPED : UInt

#
MAP_ASYNC_STATUS_SUCCESS

let MAP_ASYNC_STATUS_SUCCESS : UInt

#
MAP_ASYNC_STATUS_UNKNOWN

let MAP_ASYNC_STATUS_UNKNOWN : UInt

#
MAP_MODE_NONE

let MAP_MODE_NONE : UInt64

#
MAP_MODE_READ

let MAP_MODE_READ : UInt64

#
MAP_MODE_WRITE

let MAP_MODE_WRITE : UInt64

#
MIPMAP_FILTER_MODE_FORCE32

let MIPMAP_FILTER_MODE_FORCE32 : UInt

#
MIPMAP_FILTER_MODE_LINEAR

let MIPMAP_FILTER_MODE_LINEAR : UInt

#
MIPMAP_FILTER_MODE_NEAREST

let MIPMAP_FILTER_MODE_NEAREST : UInt

#
MIPMAP_FILTER_MODE_UNDEFINED

let MIPMAP_FILTER_MODE_UNDEFINED : UInt

#
MIP_LEVEL_COUNT_UNDEFINED

let MIP_LEVEL_COUNT_UNDEFINED : UInt

#
NATIVE_FEATURE_BUFFER_BINDING_ARRAY

let NATIVE_FEATURE_BUFFER_BINDING_ARRAY : UInt

#
NATIVE_FEATURE_CLEAR_TEXTURE

let NATIVE_FEATURE_CLEAR_TEXTURE : UInt

#
NATIVE_FEATURE_CONSERVATIVE_RASTERIZATION

let NATIVE_FEATURE_CONSERVATIVE_RASTERIZATION : UInt

#
NATIVE_FEATURE_FORCE32

let NATIVE_FEATURE_FORCE32 : UInt

#
NATIVE_FEATURE_MAPPABLE_PRIMARY_BUFFERS

let NATIVE_FEATURE_MAPPABLE_PRIMARY_BUFFERS : UInt

#
NATIVE_FEATURE_MULTIVIEW

let NATIVE_FEATURE_MULTIVIEW : UInt

#
NATIVE_FEATURE_MULTI_DRAW_INDIRECT_COUNT

let NATIVE_FEATURE_MULTI_DRAW_INDIRECT_COUNT : UInt

#
NATIVE_FEATURE_PARTIALLY_BOUND_BINDING_ARRAY

let NATIVE_FEATURE_PARTIALLY_BOUND_BINDING_ARRAY : UInt

#
NATIVE_FEATURE_PIPELINE_STATISTICS_QUERY

let NATIVE_FEATURE_PIPELINE_STATISTICS_QUERY : UInt

#
NATIVE_FEATURE_POLYGON_MODE_LINE

let NATIVE_FEATURE_POLYGON_MODE_LINE : UInt

#
NATIVE_FEATURE_POLYGON_MODE_POINT

let NATIVE_FEATURE_POLYGON_MODE_POINT : UInt

#
NATIVE_FEATURE_PUSH_CONSTANTS

let NATIVE_FEATURE_PUSH_CONSTANTS : UInt

#
NATIVE_FEATURE_RAY_QUERY

let NATIVE_FEATURE_RAY_QUERY : UInt

#
NATIVE_FEATURE_SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING

let NATIVE_FEATURE_SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING : UInt

#
NATIVE_FEATURE_SHADER_EARLY_DEPTH_TEST

let NATIVE_FEATURE_SHADER_EARLY_DEPTH_TEST : UInt

#
NATIVE_FEATURE_SHADER_F64

let NATIVE_FEATURE_SHADER_F64 : UInt

#
NATIVE_FEATURE_SHADER_I16

let NATIVE_FEATURE_SHADER_I16 : UInt

#
NATIVE_FEATURE_SHADER_INT64

let NATIVE_FEATURE_SHADER_INT64 : UInt

#
NATIVE_FEATURE_SHADER_PRIMITIVE_INDEX

let NATIVE_FEATURE_SHADER_PRIMITIVE_INDEX : UInt

#
NATIVE_FEATURE_SPIRV_SHADER_PASSTHROUGH

let NATIVE_FEATURE_SPIRV_SHADER_PASSTHROUGH : UInt

#
NATIVE_FEATURE_STORAGE_RESOURCE_BINDING_ARRAY

let NATIVE_FEATURE_STORAGE_RESOURCE_BINDING_ARRAY : UInt

#
NATIVE_FEATURE_SUBGROUP

let NATIVE_FEATURE_SUBGROUP : UInt

#
NATIVE_FEATURE_SUBGROUP_BARRIER

let NATIVE_FEATURE_SUBGROUP_BARRIER : UInt

#
NATIVE_FEATURE_SUBGROUP_VERTEX

let NATIVE_FEATURE_SUBGROUP_VERTEX : UInt

#
NATIVE_FEATURE_TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES

let NATIVE_FEATURE_TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES : UInt

#
NATIVE_FEATURE_TEXTURE_BINDING_ARRAY

let NATIVE_FEATURE_TEXTURE_BINDING_ARRAY : UInt

#
NATIVE_FEATURE_TEXTURE_COMPRESSION_ASTC_HDR

let NATIVE_FEATURE_TEXTURE_COMPRESSION_ASTC_HDR : UInt

#
NATIVE_FEATURE_TEXTURE_FORMAT16BIT_NORM

let NATIVE_FEATURE_TEXTURE_FORMAT16BIT_NORM : UInt

#
NATIVE_FEATURE_TEXTURE_FORMAT_NV12

let NATIVE_FEATURE_TEXTURE_FORMAT_NV12 : UInt

#
NATIVE_FEATURE_TIMESTAMP_QUERY_INSIDE_ENCODERS

let NATIVE_FEATURE_TIMESTAMP_QUERY_INSIDE_ENCODERS : UInt

#
NATIVE_FEATURE_TIMESTAMP_QUERY_INSIDE_PASSES

let NATIVE_FEATURE_TIMESTAMP_QUERY_INSIDE_PASSES : UInt

#
NATIVE_FEATURE_UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING

let NATIVE_FEATURE_UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING : UInt

#
NATIVE_FEATURE_VERTEX_ATTRIBUTE64BIT

let NATIVE_FEATURE_VERTEX_ATTRIBUTE64BIT : UInt

#
NATIVE_FEATURE_VERTEX_WRITABLE_STORAGE

let NATIVE_FEATURE_VERTEX_WRITABLE_STORAGE : UInt

#
NATIVE_QUERY_TYPE_FORCE32

let NATIVE_QUERY_TYPE_FORCE32 : UInt

#
NATIVE_QUERY_TYPE_PIPELINE_STATISTICS

let NATIVE_QUERY_TYPE_PIPELINE_STATISTICS : UInt

#
NATIVE_S_TYPE_FORCE32

let NATIVE_S_TYPE_FORCE32 : UInt

#
NATIVE_TEXTURE_FORMAT_NV12

let NATIVE_TEXTURE_FORMAT_NV12 : UInt

#
NATIVE_TEXTURE_FORMAT_P010

let NATIVE_TEXTURE_FORMAT_P010 : UInt

#
NATIVE_TEXTURE_FORMAT_R16_SNORM

let NATIVE_TEXTURE_FORMAT_R16_SNORM : UInt

#
NATIVE_TEXTURE_FORMAT_R16_UNORM

let NATIVE_TEXTURE_FORMAT_R16_UNORM : UInt

#
NATIVE_TEXTURE_FORMAT_RG16_SNORM

let NATIVE_TEXTURE_FORMAT_RG16_SNORM : UInt

#
NATIVE_TEXTURE_FORMAT_RG16_UNORM

let NATIVE_TEXTURE_FORMAT_RG16_UNORM : UInt

#
NATIVE_TEXTURE_FORMAT_RGBA16_SNORM

let NATIVE_TEXTURE_FORMAT_RGBA16_SNORM : UInt

#
NATIVE_TEXTURE_FORMAT_RGBA16_UNORM

let NATIVE_TEXTURE_FORMAT_RGBA16_UNORM : UInt

#
OPTIONAL_BOOL_FALSE

let OPTIONAL_BOOL_FALSE : UInt

#
OPTIONAL_BOOL_FORCE32

let OPTIONAL_BOOL_FORCE32 : UInt

#
OPTIONAL_BOOL_TRUE

let OPTIONAL_BOOL_TRUE : UInt

#
OPTIONAL_BOOL_UNDEFINED

let OPTIONAL_BOOL_UNDEFINED : UInt

#
OPTIONAL_SYMBOL_AVAILABILITY_AVAILABLE

let OPTIONAL_SYMBOL_AVAILABILITY_AVAILABLE : UInt

#
OPTIONAL_SYMBOL_AVAILABILITY_DISABLED

let OPTIONAL_SYMBOL_AVAILABILITY_DISABLED : UInt

#
OPTIONAL_SYMBOL_AVAILABILITY_MISSING_SYMBOL

let OPTIONAL_SYMBOL_AVAILABILITY_MISSING_SYMBOL : UInt

#
OPTIONAL_SYMBOL_AVAILABILITY_NATIVE_UNAVAILABLE

let OPTIONAL_SYMBOL_AVAILABILITY_NATIVE_UNAVAILABLE : UInt

#
OPTIONAL_SYMBOL_ERROR_KIND_DISABLED

let OPTIONAL_SYMBOL_ERROR_KIND_DISABLED : UInt

#
OPTIONAL_SYMBOL_ERROR_KIND_MISSING_SYMBOL

let OPTIONAL_SYMBOL_ERROR_KIND_MISSING_SYMBOL : UInt

#
OPTIONAL_SYMBOL_ERROR_KIND_NATIVE_UNAVAILABLE

let OPTIONAL_SYMBOL_ERROR_KIND_NATIVE_UNAVAILABLE : UInt

#
OPTIONAL_SYMBOL_ERROR_KIND_RUNTIME_FAILED

let OPTIONAL_SYMBOL_ERROR_KIND_RUNTIME_FAILED : UInt

#
PIPELINE_STATISTIC_NAME_CLIPPER_INVOCATIONS

let PIPELINE_STATISTIC_NAME_CLIPPER_INVOCATIONS : UInt

#
PIPELINE_STATISTIC_NAME_CLIPPER_PRIMITIVES_OUT

let PIPELINE_STATISTIC_NAME_CLIPPER_PRIMITIVES_OUT : UInt

#
PIPELINE_STATISTIC_NAME_COMPUTE_SHADER_INVOCATIONS

let PIPELINE_STATISTIC_NAME_COMPUTE_SHADER_INVOCATIONS : UInt

#
PIPELINE_STATISTIC_NAME_FORCE32

let PIPELINE_STATISTIC_NAME_FORCE32 : UInt

#
PIPELINE_STATISTIC_NAME_FRAGMENT_SHADER_INVOCATIONS

let PIPELINE_STATISTIC_NAME_FRAGMENT_SHADER_INVOCATIONS : UInt

#
PIPELINE_STATISTIC_NAME_VERTEX_SHADER_INVOCATIONS

let PIPELINE_STATISTIC_NAME_VERTEX_SHADER_INVOCATIONS : UInt

#
POLYGON_MODE_FILL

let POLYGON_MODE_FILL : UInt

#
POLYGON_MODE_LINE

let POLYGON_MODE_LINE : UInt

#
POLYGON_MODE_POINT

let POLYGON_MODE_POINT : UInt

#
POP_ERROR_SCOPE_STATUS_EMPTY_STACK

let POP_ERROR_SCOPE_STATUS_EMPTY_STACK : UInt

#
POP_ERROR_SCOPE_STATUS_FORCE32

let POP_ERROR_SCOPE_STATUS_FORCE32 : UInt

#
POP_ERROR_SCOPE_STATUS_INSTANCE_DROPPED

let POP_ERROR_SCOPE_STATUS_INSTANCE_DROPPED : UInt

#
POP_ERROR_SCOPE_STATUS_SUCCESS

let POP_ERROR_SCOPE_STATUS_SUCCESS : UInt

#
POWER_PREFERENCE_FORCE32

let POWER_PREFERENCE_FORCE32 : UInt

#
POWER_PREFERENCE_HIGH_PERFORMANCE

let POWER_PREFERENCE_HIGH_PERFORMANCE : UInt

#
POWER_PREFERENCE_LOW_POWER

let POWER_PREFERENCE_LOW_POWER : UInt

#
POWER_PREFERENCE_UNDEFINED

let POWER_PREFERENCE_UNDEFINED : UInt

#
PRESENT_MODE_FIFO

let PRESENT_MODE_FIFO : UInt

#
PRESENT_MODE_FIFO_RELAXED

let PRESENT_MODE_FIFO_RELAXED : UInt

#
PRESENT_MODE_FORCE32

let PRESENT_MODE_FORCE32 : UInt

#
PRESENT_MODE_IMMEDIATE

let PRESENT_MODE_IMMEDIATE : UInt

#
PRESENT_MODE_MAILBOX

let PRESENT_MODE_MAILBOX : UInt

#
PRESENT_MODE_UNDEFINED

let PRESENT_MODE_UNDEFINED : UInt

#
PRIMITIVE_TOPOLOGY_FORCE32

let PRIMITIVE_TOPOLOGY_FORCE32 : UInt

#
PRIMITIVE_TOPOLOGY_LINE_LIST

let PRIMITIVE_TOPOLOGY_LINE_LIST : UInt

#
PRIMITIVE_TOPOLOGY_LINE_STRIP

let PRIMITIVE_TOPOLOGY_LINE_STRIP : UInt

#
PRIMITIVE_TOPOLOGY_POINT_LIST

let PRIMITIVE_TOPOLOGY_POINT_LIST : UInt

#
PRIMITIVE_TOPOLOGY_TRIANGLE_LIST

let PRIMITIVE_TOPOLOGY_TRIANGLE_LIST : UInt

#
PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP

let PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP : UInt

#
PRIMITIVE_TOPOLOGY_UNDEFINED

let PRIMITIVE_TOPOLOGY_UNDEFINED : UInt

#
QUERY_SET_INDEX_UNDEFINED

let QUERY_SET_INDEX_UNDEFINED : UInt

#
QUERY_TYPE_FORCE32

let QUERY_TYPE_FORCE32 : UInt

#
QUERY_TYPE_OCCLUSION

let QUERY_TYPE_OCCLUSION : UInt

#
QUERY_TYPE_TIMESTAMP

let QUERY_TYPE_TIMESTAMP : UInt

#
QUEUE_WORK_DONE_STATUS_ERROR

let QUEUE_WORK_DONE_STATUS_ERROR : UInt

#
QUEUE_WORK_DONE_STATUS_FORCE32

let QUEUE_WORK_DONE_STATUS_FORCE32 : UInt

#
QUEUE_WORK_DONE_STATUS_INSTANCE_DROPPED

let QUEUE_WORK_DONE_STATUS_INSTANCE_DROPPED : UInt

#
QUEUE_WORK_DONE_STATUS_SUCCESS

let QUEUE_WORK_DONE_STATUS_SUCCESS : UInt

#
QUEUE_WORK_DONE_STATUS_UNKNOWN

let QUEUE_WORK_DONE_STATUS_UNKNOWN : UInt

#
RENDER_PIPELINE_DESC_ERR_COLOR_TARGET_COUNT_EXCEEDS_MAX

let RENDER_PIPELINE_DESC_ERR_COLOR_TARGET_COUNT_EXCEEDS_MAX : UInt

#
RENDER_PIPELINE_DESC_ERR_COLOR_TARGET_COUNT_ZERO

let RENDER_PIPELINE_DESC_ERR_COLOR_TARGET_COUNT_ZERO : UInt

#
RENDER_PIPELINE_DESC_ERR_COLOR_TARGET_INDEX_OOB

let RENDER_PIPELINE_DESC_ERR_COLOR_TARGET_INDEX_OOB : UInt

#
RENDER_PIPELINE_DESC_ERR_ENTRY_EMPTY

let RENDER_PIPELINE_DESC_ERR_ENTRY_EMPTY : UInt

#
RENDER_PIPELINE_DESC_ERR_ENTRY_TOO_LONG

let RENDER_PIPELINE_DESC_ERR_ENTRY_TOO_LONG : UInt

#
RENDER_PIPELINE_DESC_ERR_INTERNAL

let RENDER_PIPELINE_DESC_ERR_INTERNAL : UInt

#
RENDER_PIPELINE_DESC_ERR_NO_VERTEX_BUFFER_LAYOUT

let RENDER_PIPELINE_DESC_ERR_NO_VERTEX_BUFFER_LAYOUT : UInt

#
RENDER_PIPELINE_DESC_ERR_NULL_BUILDER

let RENDER_PIPELINE_DESC_ERR_NULL_BUILDER : UInt

#
RENDER_PIPELINE_DESC_ERR_OOM

let RENDER_PIPELINE_DESC_ERR_OOM : UInt

#
RENDER_PIPELINE_DESC_ERR_VERTEX_ATTRIBUTE_EXCEEDS_MAX

let RENDER_PIPELINE_DESC_ERR_VERTEX_ATTRIBUTE_EXCEEDS_MAX : UInt

#
RENDER_PIPELINE_DESC_ERR_VERTEX_BUFFER_LAYOUT_EXCEEDS_MAX

let RENDER_PIPELINE_DESC_ERR_VERTEX_BUFFER_LAYOUT_EXCEEDS_MAX : UInt

#
REQUEST_ADAPTER_STATUS_ERROR

let REQUEST_ADAPTER_STATUS_ERROR : UInt

#
REQUEST_ADAPTER_STATUS_FORCE32

let REQUEST_ADAPTER_STATUS_FORCE32 : UInt

#
REQUEST_ADAPTER_STATUS_INSTANCE_DROPPED

let REQUEST_ADAPTER_STATUS_INSTANCE_DROPPED : UInt

#
REQUEST_ADAPTER_STATUS_SUCCESS

let REQUEST_ADAPTER_STATUS_SUCCESS : UInt

#
REQUEST_ADAPTER_STATUS_UNAVAILABLE

let REQUEST_ADAPTER_STATUS_UNAVAILABLE : UInt

#
REQUEST_ADAPTER_STATUS_UNKNOWN

let REQUEST_ADAPTER_STATUS_UNKNOWN : UInt

#
REQUEST_DEVICE_STATUS_ERROR

let REQUEST_DEVICE_STATUS_ERROR : UInt

#
REQUEST_DEVICE_STATUS_FORCE32

let REQUEST_DEVICE_STATUS_FORCE32 : UInt

#
REQUEST_DEVICE_STATUS_INSTANCE_DROPPED

let REQUEST_DEVICE_STATUS_INSTANCE_DROPPED : UInt

#
REQUEST_DEVICE_STATUS_SUCCESS

let REQUEST_DEVICE_STATUS_SUCCESS : UInt

#
REQUEST_DEVICE_STATUS_UNKNOWN

let REQUEST_DEVICE_STATUS_UNKNOWN : UInt

#
SAMPLER_BINDING_TYPE_BINDING_NOT_USED

let SAMPLER_BINDING_TYPE_BINDING_NOT_USED : UInt

#
SAMPLER_BINDING_TYPE_COMPARISON

let SAMPLER_BINDING_TYPE_COMPARISON : UInt

#
SAMPLER_BINDING_TYPE_FILTERING

let SAMPLER_BINDING_TYPE_FILTERING : UInt

#
SAMPLER_BINDING_TYPE_FORCE32

let SAMPLER_BINDING_TYPE_FORCE32 : UInt

#
SAMPLER_BINDING_TYPE_NON_FILTERING

let SAMPLER_BINDING_TYPE_NON_FILTERING : UInt

#
SAMPLER_BINDING_TYPE_UNDEFINED

let SAMPLER_BINDING_TYPE_UNDEFINED : UInt

#
SHADER_STAGE_COMPUTE

let SHADER_STAGE_COMPUTE : UInt64

#
SHADER_STAGE_FRAGMENT

let SHADER_STAGE_FRAGMENT : UInt64

#
SHADER_STAGE_NONE

let SHADER_STAGE_NONE : UInt64

#
SHADER_STAGE_VERTEX

let SHADER_STAGE_VERTEX : UInt64

#
STATUS_ERROR

let STATUS_ERROR : UInt

#
STATUS_FORCE32

let STATUS_FORCE32 : UInt

#
STATUS_SUCCESS

let STATUS_SUCCESS : UInt

#
STENCIL_OPERATION_DECREMENT_CLAMP

let STENCIL_OPERATION_DECREMENT_CLAMP : UInt

#
STENCIL_OPERATION_DECREMENT_WRAP

let STENCIL_OPERATION_DECREMENT_WRAP : UInt

#
STENCIL_OPERATION_FORCE32

let STENCIL_OPERATION_FORCE32 : UInt

#
STENCIL_OPERATION_INCREMENT_CLAMP

let STENCIL_OPERATION_INCREMENT_CLAMP : UInt

#
STENCIL_OPERATION_INCREMENT_WRAP

let STENCIL_OPERATION_INCREMENT_WRAP : UInt

#
STENCIL_OPERATION_INVERT

let STENCIL_OPERATION_INVERT : UInt

#
STENCIL_OPERATION_KEEP

let STENCIL_OPERATION_KEEP : UInt

#
STENCIL_OPERATION_REPLACE

let STENCIL_OPERATION_REPLACE : UInt

#
STENCIL_OPERATION_UNDEFINED

let STENCIL_OPERATION_UNDEFINED : UInt

#
STENCIL_OPERATION_ZERO

let STENCIL_OPERATION_ZERO : UInt

#
STORAGE_TEXTURE_ACCESS_BINDING_NOT_USED

let STORAGE_TEXTURE_ACCESS_BINDING_NOT_USED : UInt

#
STORAGE_TEXTURE_ACCESS_FORCE32

let STORAGE_TEXTURE_ACCESS_FORCE32 : UInt

#
STORAGE_TEXTURE_ACCESS_READ_ONLY

let STORAGE_TEXTURE_ACCESS_READ_ONLY : UInt

#
STORAGE_TEXTURE_ACCESS_READ_WRITE

let STORAGE_TEXTURE_ACCESS_READ_WRITE : UInt

#
STORAGE_TEXTURE_ACCESS_UNDEFINED

let STORAGE_TEXTURE_ACCESS_UNDEFINED : UInt

#
STORAGE_TEXTURE_ACCESS_WRITE_ONLY

let STORAGE_TEXTURE_ACCESS_WRITE_ONLY : UInt

#
STORE_OP_DISCARD

let STORE_OP_DISCARD : UInt

#
STORE_OP_FORCE32

let STORE_OP_FORCE32 : UInt

#
STORE_OP_STORE

let STORE_OP_STORE : UInt

#
STORE_OP_UNDEFINED

let STORE_OP_UNDEFINED : UInt

#
SURFACE_DEFAULT_DESIRED_MAXIMUM_FRAME_LATENCY

let SURFACE_DEFAULT_DESIRED_MAXIMUM_FRAME_LATENCY : UInt

#
SURFACE_GET_CURRENT_TEXTURE_STATUS_DEVICE_LOST

let SURFACE_GET_CURRENT_TEXTURE_STATUS_DEVICE_LOST : UInt

#
SURFACE_GET_CURRENT_TEXTURE_STATUS_ERROR

let SURFACE_GET_CURRENT_TEXTURE_STATUS_ERROR : UInt

#
SURFACE_GET_CURRENT_TEXTURE_STATUS_FORCE32

let SURFACE_GET_CURRENT_TEXTURE_STATUS_FORCE32 : UInt

#
SURFACE_GET_CURRENT_TEXTURE_STATUS_LOST

let SURFACE_GET_CURRENT_TEXTURE_STATUS_LOST : UInt

#
SURFACE_GET_CURRENT_TEXTURE_STATUS_OUTDATED

let SURFACE_GET_CURRENT_TEXTURE_STATUS_OUTDATED : UInt

#
SURFACE_GET_CURRENT_TEXTURE_STATUS_OUT_OF_MEMORY

let SURFACE_GET_CURRENT_TEXTURE_STATUS_OUT_OF_MEMORY : UInt

#
SURFACE_GET_CURRENT_TEXTURE_STATUS_SUCCESS_OPTIMAL

let SURFACE_GET_CURRENT_TEXTURE_STATUS_SUCCESS_OPTIMAL : UInt

#
SURFACE_GET_CURRENT_TEXTURE_STATUS_SUCCESS_SUBOPTIMAL

let SURFACE_GET_CURRENT_TEXTURE_STATUS_SUCCESS_SUBOPTIMAL : UInt

#
SURFACE_GET_CURRENT_TEXTURE_STATUS_TIMEOUT

let SURFACE_GET_CURRENT_TEXTURE_STATUS_TIMEOUT : UInt

#
S_TYPE_BIND_GROUP_ENTRY_EXTRAS

let S_TYPE_BIND_GROUP_ENTRY_EXTRAS : UInt

#
S_TYPE_BIND_GROUP_LAYOUT_ENTRY_EXTRAS

let S_TYPE_BIND_GROUP_LAYOUT_ENTRY_EXTRAS : UInt

#
S_TYPE_DEVICE_EXTRAS

let S_TYPE_DEVICE_EXTRAS : UInt

#
S_TYPE_FORCE32

let S_TYPE_FORCE32 : UInt

#
S_TYPE_INSTANCE_EXTRAS

let S_TYPE_INSTANCE_EXTRAS : UInt

#
S_TYPE_NATIVE_LIMITS

let S_TYPE_NATIVE_LIMITS : UInt

#
S_TYPE_PIPELINE_LAYOUT_EXTRAS

let S_TYPE_PIPELINE_LAYOUT_EXTRAS : UInt

#
S_TYPE_PRIMITIVE_STATE_EXTRAS

let S_TYPE_PRIMITIVE_STATE_EXTRAS : UInt

#
S_TYPE_QUERY_SET_DESCRIPTOR_EXTRAS

let S_TYPE_QUERY_SET_DESCRIPTOR_EXTRAS : UInt

#
S_TYPE_RENDER_PASS_MAX_DRAW_COUNT

let S_TYPE_RENDER_PASS_MAX_DRAW_COUNT : UInt

#
S_TYPE_SHADER_SOURCE_GLSL

let S_TYPE_SHADER_SOURCE_GLSL : UInt

#
S_TYPE_SHADER_SOURCE_SPIRV

let S_TYPE_SHADER_SOURCE_SPIRV : UInt

#
S_TYPE_SHADER_SOURCE_WGSL

let S_TYPE_SHADER_SOURCE_WGSL : UInt

#
S_TYPE_SURFACE_CONFIGURATION_EXTRAS

let S_TYPE_SURFACE_CONFIGURATION_EXTRAS : UInt

#
S_TYPE_SURFACE_SOURCE_ANDROID_NATIVE_WINDOW

let S_TYPE_SURFACE_SOURCE_ANDROID_NATIVE_WINDOW : UInt

#
S_TYPE_SURFACE_SOURCE_METAL_LAYER

let S_TYPE_SURFACE_SOURCE_METAL_LAYER : UInt

#
S_TYPE_SURFACE_SOURCE_SWAP_CHAIN_PANEL

let S_TYPE_SURFACE_SOURCE_SWAP_CHAIN_PANEL : UInt

#
S_TYPE_SURFACE_SOURCE_WAYLAND_SURFACE

let S_TYPE_SURFACE_SOURCE_WAYLAND_SURFACE : UInt

#
S_TYPE_SURFACE_SOURCE_WINDOWS_HWND

let S_TYPE_SURFACE_SOURCE_WINDOWS_HWND : UInt

#
S_TYPE_SURFACE_SOURCE_XCB_WINDOW

let S_TYPE_SURFACE_SOURCE_XCB_WINDOW : UInt

#
S_TYPE_SURFACE_SOURCE_XLIB_WINDOW

let S_TYPE_SURFACE_SOURCE_XLIB_WINDOW : UInt

#
TEXTURE_ASPECT_ALL

let TEXTURE_ASPECT_ALL : UInt

#
TEXTURE_ASPECT_DEPTH_ONLY

let TEXTURE_ASPECT_DEPTH_ONLY : UInt

#
TEXTURE_ASPECT_FORCE32

let TEXTURE_ASPECT_FORCE32 : UInt

#
TEXTURE_ASPECT_STENCIL_ONLY

let TEXTURE_ASPECT_STENCIL_ONLY : UInt

#
TEXTURE_ASPECT_UNDEFINED

let TEXTURE_ASPECT_UNDEFINED : UInt

#
TEXTURE_DIMENSION_1D

let TEXTURE_DIMENSION_1D : UInt

#
TEXTURE_DIMENSION_2D

let TEXTURE_DIMENSION_2D : UInt

#
TEXTURE_DIMENSION_3D

let TEXTURE_DIMENSION_3D : UInt

#
TEXTURE_DIMENSION_FORCE32

let TEXTURE_DIMENSION_FORCE32 : UInt

#
TEXTURE_DIMENSION_UNDEFINED

let TEXTURE_DIMENSION_UNDEFINED : UInt

#
TEXTURE_FORMAT_ASTC10X10_UNORM

let TEXTURE_FORMAT_ASTC10X10_UNORM : UInt

#
TEXTURE_FORMAT_ASTC10X10_UNORM_SRGB

let TEXTURE_FORMAT_ASTC10X10_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_ASTC10X5_UNORM

let TEXTURE_FORMAT_ASTC10X5_UNORM : UInt

#
TEXTURE_FORMAT_ASTC10X5_UNORM_SRGB

let TEXTURE_FORMAT_ASTC10X5_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_ASTC10X6_UNORM

let TEXTURE_FORMAT_ASTC10X6_UNORM : UInt

#
TEXTURE_FORMAT_ASTC10X6_UNORM_SRGB

let TEXTURE_FORMAT_ASTC10X6_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_ASTC10X8_UNORM

let TEXTURE_FORMAT_ASTC10X8_UNORM : UInt

#
TEXTURE_FORMAT_ASTC10X8_UNORM_SRGB

let TEXTURE_FORMAT_ASTC10X8_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_ASTC12X10_UNORM

let TEXTURE_FORMAT_ASTC12X10_UNORM : UInt

#
TEXTURE_FORMAT_ASTC12X10_UNORM_SRGB

let TEXTURE_FORMAT_ASTC12X10_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_ASTC12X12_UNORM

let TEXTURE_FORMAT_ASTC12X12_UNORM : UInt

#
TEXTURE_FORMAT_ASTC12X12_UNORM_SRGB

let TEXTURE_FORMAT_ASTC12X12_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_ASTC4X4_UNORM

let TEXTURE_FORMAT_ASTC4X4_UNORM : UInt

#
TEXTURE_FORMAT_ASTC4X4_UNORM_SRGB

let TEXTURE_FORMAT_ASTC4X4_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_ASTC5X4_UNORM

let TEXTURE_FORMAT_ASTC5X4_UNORM : UInt

#
TEXTURE_FORMAT_ASTC5X4_UNORM_SRGB

let TEXTURE_FORMAT_ASTC5X4_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_ASTC5X5_UNORM

let TEXTURE_FORMAT_ASTC5X5_UNORM : UInt

#
TEXTURE_FORMAT_ASTC5X5_UNORM_SRGB

let TEXTURE_FORMAT_ASTC5X5_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_ASTC6X5_UNORM

let TEXTURE_FORMAT_ASTC6X5_UNORM : UInt

#
TEXTURE_FORMAT_ASTC6X5_UNORM_SRGB

let TEXTURE_FORMAT_ASTC6X5_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_ASTC6X6_UNORM

let TEXTURE_FORMAT_ASTC6X6_UNORM : UInt

#
TEXTURE_FORMAT_ASTC6X6_UNORM_SRGB

let TEXTURE_FORMAT_ASTC6X6_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_ASTC8X5_UNORM

let TEXTURE_FORMAT_ASTC8X5_UNORM : UInt

#
TEXTURE_FORMAT_ASTC8X5_UNORM_SRGB

let TEXTURE_FORMAT_ASTC8X5_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_ASTC8X6_UNORM

let TEXTURE_FORMAT_ASTC8X6_UNORM : UInt

#
TEXTURE_FORMAT_ASTC8X6_UNORM_SRGB

let TEXTURE_FORMAT_ASTC8X6_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_ASTC8X8_UNORM

let TEXTURE_FORMAT_ASTC8X8_UNORM : UInt

#
TEXTURE_FORMAT_ASTC8X8_UNORM_SRGB

let TEXTURE_FORMAT_ASTC8X8_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_BC1_RGBA_UNORM

let TEXTURE_FORMAT_BC1_RGBA_UNORM : UInt

#
TEXTURE_FORMAT_BC1_RGBA_UNORM_SRGB

let TEXTURE_FORMAT_BC1_RGBA_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_BC2_RGBA_UNORM

let TEXTURE_FORMAT_BC2_RGBA_UNORM : UInt

#
TEXTURE_FORMAT_BC2_RGBA_UNORM_SRGB

let TEXTURE_FORMAT_BC2_RGBA_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_BC3_RGBA_UNORM

let TEXTURE_FORMAT_BC3_RGBA_UNORM : UInt

#
TEXTURE_FORMAT_BC3_RGBA_UNORM_SRGB

let TEXTURE_FORMAT_BC3_RGBA_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_BC4R_SNORM

let TEXTURE_FORMAT_BC4R_SNORM : UInt

#
TEXTURE_FORMAT_BC4R_UNORM

let TEXTURE_FORMAT_BC4R_UNORM : UInt

#
TEXTURE_FORMAT_BC5_RG_SNORM

let TEXTURE_FORMAT_BC5_RG_SNORM : UInt

#
TEXTURE_FORMAT_BC5_RG_UNORM

let TEXTURE_FORMAT_BC5_RG_UNORM : UInt

#
TEXTURE_FORMAT_BC6_HRGB_FLOAT

let TEXTURE_FORMAT_BC6_HRGB_FLOAT : UInt

#
TEXTURE_FORMAT_BC6_HRGB_UFLOAT

let TEXTURE_FORMAT_BC6_HRGB_UFLOAT : UInt

#
TEXTURE_FORMAT_BC7_RGBA_UNORM

let TEXTURE_FORMAT_BC7_RGBA_UNORM : UInt

#
TEXTURE_FORMAT_BC7_RGBA_UNORM_SRGB

let TEXTURE_FORMAT_BC7_RGBA_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_BGRA8_UNORM

let TEXTURE_FORMAT_BGRA8_UNORM : UInt

#
TEXTURE_FORMAT_BGRA8_UNORM_SRGB

let TEXTURE_FORMAT_BGRA8_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_DEPTH16_UNORM

let TEXTURE_FORMAT_DEPTH16_UNORM : UInt

#
TEXTURE_FORMAT_DEPTH24_PLUS

let TEXTURE_FORMAT_DEPTH24_PLUS : UInt

#
TEXTURE_FORMAT_DEPTH24_PLUS_STENCIL8

let TEXTURE_FORMAT_DEPTH24_PLUS_STENCIL8 : UInt

#
TEXTURE_FORMAT_DEPTH32_FLOAT

let TEXTURE_FORMAT_DEPTH32_FLOAT : UInt

#
TEXTURE_FORMAT_DEPTH32_FLOAT_STENCIL8

let TEXTURE_FORMAT_DEPTH32_FLOAT_STENCIL8 : UInt

#
TEXTURE_FORMAT_EACR11_SNORM

let TEXTURE_FORMAT_EACR11_SNORM : UInt

#
TEXTURE_FORMAT_EACR11_UNORM

let TEXTURE_FORMAT_EACR11_UNORM : UInt

#
TEXTURE_FORMAT_EACRG11_SNORM

let TEXTURE_FORMAT_EACRG11_SNORM : UInt

#
TEXTURE_FORMAT_EACRG11_UNORM

let TEXTURE_FORMAT_EACRG11_UNORM : UInt

#
TEXTURE_FORMAT_ETC2_RGB8_A1_UNORM

let TEXTURE_FORMAT_ETC2_RGB8_A1_UNORM : UInt

#
TEXTURE_FORMAT_ETC2_RGB8_A1_UNORM_SRGB

let TEXTURE_FORMAT_ETC2_RGB8_A1_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_ETC2_RGB8_UNORM

let TEXTURE_FORMAT_ETC2_RGB8_UNORM : UInt

#
TEXTURE_FORMAT_ETC2_RGB8_UNORM_SRGB

let TEXTURE_FORMAT_ETC2_RGB8_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_ETC2_RGBA8_UNORM

let TEXTURE_FORMAT_ETC2_RGBA8_UNORM : UInt

#
TEXTURE_FORMAT_ETC2_RGBA8_UNORM_SRGB

let TEXTURE_FORMAT_ETC2_RGBA8_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_FORCE32

let TEXTURE_FORMAT_FORCE32 : UInt

#
TEXTURE_FORMAT_R16_FLOAT

let TEXTURE_FORMAT_R16_FLOAT : UInt

#
TEXTURE_FORMAT_R16_SINT

let TEXTURE_FORMAT_R16_SINT : UInt

#
TEXTURE_FORMAT_R16_UINT

let TEXTURE_FORMAT_R16_UINT : UInt

#
TEXTURE_FORMAT_R32_FLOAT

let TEXTURE_FORMAT_R32_FLOAT : UInt

#
TEXTURE_FORMAT_R32_SINT

let TEXTURE_FORMAT_R32_SINT : UInt

#
TEXTURE_FORMAT_R32_UINT

let TEXTURE_FORMAT_R32_UINT : UInt

#
TEXTURE_FORMAT_R8_SINT

let TEXTURE_FORMAT_R8_SINT : UInt

#
TEXTURE_FORMAT_R8_SNORM

let TEXTURE_FORMAT_R8_SNORM : UInt

#
TEXTURE_FORMAT_R8_UINT

let TEXTURE_FORMAT_R8_UINT : UInt

#
TEXTURE_FORMAT_R8_UNORM

let TEXTURE_FORMAT_R8_UNORM : UInt

#
TEXTURE_FORMAT_RG11_B10_UFLOAT

let TEXTURE_FORMAT_RG11_B10_UFLOAT : UInt

#
TEXTURE_FORMAT_RG16_FLOAT

let TEXTURE_FORMAT_RG16_FLOAT : UInt

#
TEXTURE_FORMAT_RG16_SINT

let TEXTURE_FORMAT_RG16_SINT : UInt

#
TEXTURE_FORMAT_RG16_UINT

let TEXTURE_FORMAT_RG16_UINT : UInt

#
TEXTURE_FORMAT_RG32_FLOAT

let TEXTURE_FORMAT_RG32_FLOAT : UInt

#
TEXTURE_FORMAT_RG32_SINT

let TEXTURE_FORMAT_RG32_SINT : UInt

#
TEXTURE_FORMAT_RG32_UINT

let TEXTURE_FORMAT_RG32_UINT : UInt

#
TEXTURE_FORMAT_RG8_SINT

let TEXTURE_FORMAT_RG8_SINT : UInt

#
TEXTURE_FORMAT_RG8_SNORM

let TEXTURE_FORMAT_RG8_SNORM : UInt

#
TEXTURE_FORMAT_RG8_UINT

let TEXTURE_FORMAT_RG8_UINT : UInt

#
TEXTURE_FORMAT_RG8_UNORM

let TEXTURE_FORMAT_RG8_UNORM : UInt

#
TEXTURE_FORMAT_RGB10_A2_UINT

let TEXTURE_FORMAT_RGB10_A2_UINT : UInt

#
TEXTURE_FORMAT_RGB10_A2_UNORM

let TEXTURE_FORMAT_RGB10_A2_UNORM : UInt

#
TEXTURE_FORMAT_RGB9_E5_UFLOAT

let TEXTURE_FORMAT_RGB9_E5_UFLOAT : UInt

#
TEXTURE_FORMAT_RGBA16_FLOAT

let TEXTURE_FORMAT_RGBA16_FLOAT : UInt

#
TEXTURE_FORMAT_RGBA16_SINT

let TEXTURE_FORMAT_RGBA16_SINT : UInt

#
TEXTURE_FORMAT_RGBA16_UINT

let TEXTURE_FORMAT_RGBA16_UINT : UInt

#
TEXTURE_FORMAT_RGBA32_FLOAT

let TEXTURE_FORMAT_RGBA32_FLOAT : UInt

#
TEXTURE_FORMAT_RGBA32_SINT

let TEXTURE_FORMAT_RGBA32_SINT : UInt

#
TEXTURE_FORMAT_RGBA32_UINT

let TEXTURE_FORMAT_RGBA32_UINT : UInt

#
TEXTURE_FORMAT_RGBA8_SINT

let TEXTURE_FORMAT_RGBA8_SINT : UInt

#
TEXTURE_FORMAT_RGBA8_SNORM

let TEXTURE_FORMAT_RGBA8_SNORM : UInt

#
TEXTURE_FORMAT_RGBA8_UINT

let TEXTURE_FORMAT_RGBA8_UINT : UInt

#
TEXTURE_FORMAT_RGBA8_UNORM

let TEXTURE_FORMAT_RGBA8_UNORM : UInt

#
TEXTURE_FORMAT_RGBA8_UNORM_SRGB

let TEXTURE_FORMAT_RGBA8_UNORM_SRGB : UInt

#
TEXTURE_FORMAT_STENCIL8

let TEXTURE_FORMAT_STENCIL8 : UInt

#
TEXTURE_FORMAT_UNDEFINED

let TEXTURE_FORMAT_UNDEFINED : UInt

#
TEXTURE_SAMPLE_TYPE_BINDING_NOT_USED

let TEXTURE_SAMPLE_TYPE_BINDING_NOT_USED : UInt

#
TEXTURE_SAMPLE_TYPE_DEPTH

let TEXTURE_SAMPLE_TYPE_DEPTH : UInt

#
TEXTURE_SAMPLE_TYPE_FLOAT

let TEXTURE_SAMPLE_TYPE_FLOAT : UInt

#
TEXTURE_SAMPLE_TYPE_FORCE32

let TEXTURE_SAMPLE_TYPE_FORCE32 : UInt

#
TEXTURE_SAMPLE_TYPE_SINT

let TEXTURE_SAMPLE_TYPE_SINT : UInt

#
TEXTURE_SAMPLE_TYPE_UINT

let TEXTURE_SAMPLE_TYPE_UINT : UInt

#
TEXTURE_SAMPLE_TYPE_UNDEFINED

let TEXTURE_SAMPLE_TYPE_UNDEFINED : UInt

#
TEXTURE_SAMPLE_TYPE_UNFILTERABLE_FLOAT

let TEXTURE_SAMPLE_TYPE_UNFILTERABLE_FLOAT : UInt

#
TEXTURE_USAGE_COPY_DST

let TEXTURE_USAGE_COPY_DST : UInt64

#
TEXTURE_USAGE_COPY_SRC

let TEXTURE_USAGE_COPY_SRC : UInt64

#
TEXTURE_USAGE_NONE

let TEXTURE_USAGE_NONE : UInt64

#
TEXTURE_USAGE_RENDER_ATTACHMENT

let TEXTURE_USAGE_RENDER_ATTACHMENT : UInt64

#
TEXTURE_USAGE_STORAGE_BINDING

let TEXTURE_USAGE_STORAGE_BINDING : UInt64

#
TEXTURE_USAGE_TEXTURE_BINDING

let TEXTURE_USAGE_TEXTURE_BINDING : UInt64

#
TEXTURE_VIEW_DIMENSION_1D

let TEXTURE_VIEW_DIMENSION_1D : UInt

#
TEXTURE_VIEW_DIMENSION_2D

let TEXTURE_VIEW_DIMENSION_2D : UInt

#
TEXTURE_VIEW_DIMENSION_2D_ARRAY

let TEXTURE_VIEW_DIMENSION_2D_ARRAY : UInt

#
TEXTURE_VIEW_DIMENSION_3D

let TEXTURE_VIEW_DIMENSION_3D : UInt

#
TEXTURE_VIEW_DIMENSION_CUBE

let TEXTURE_VIEW_DIMENSION_CUBE : UInt

#
TEXTURE_VIEW_DIMENSION_CUBE_ARRAY

let TEXTURE_VIEW_DIMENSION_CUBE_ARRAY : UInt

#
TEXTURE_VIEW_DIMENSION_FORCE32

let TEXTURE_VIEW_DIMENSION_FORCE32 : UInt

#
TEXTURE_VIEW_DIMENSION_UNDEFINED

let TEXTURE_VIEW_DIMENSION_UNDEFINED : UInt

#
VERTEX_FORMAT_FLOAT16

let VERTEX_FORMAT_FLOAT16 : UInt

#
VERTEX_FORMAT_FLOAT16X2

let VERTEX_FORMAT_FLOAT16X2 : UInt

#
VERTEX_FORMAT_FLOAT16X4

let VERTEX_FORMAT_FLOAT16X4 : UInt

#
VERTEX_FORMAT_FLOAT32

let VERTEX_FORMAT_FLOAT32 : UInt

#
VERTEX_FORMAT_FLOAT32X2

let VERTEX_FORMAT_FLOAT32X2 : UInt

#
VERTEX_FORMAT_FLOAT32X3

let VERTEX_FORMAT_FLOAT32X3 : UInt

#
VERTEX_FORMAT_FLOAT32X4

let VERTEX_FORMAT_FLOAT32X4 : UInt

#
VERTEX_FORMAT_FORCE32

let VERTEX_FORMAT_FORCE32 : UInt

#
VERTEX_FORMAT_SINT16

let VERTEX_FORMAT_SINT16 : UInt

#
VERTEX_FORMAT_SINT16X2

let VERTEX_FORMAT_SINT16X2 : UInt

#
VERTEX_FORMAT_SINT16X4

let VERTEX_FORMAT_SINT16X4 : UInt

#
VERTEX_FORMAT_SINT32

let VERTEX_FORMAT_SINT32 : UInt

#
VERTEX_FORMAT_SINT32X2

let VERTEX_FORMAT_SINT32X2 : UInt

#
VERTEX_FORMAT_SINT32X3

let VERTEX_FORMAT_SINT32X3 : UInt

#
VERTEX_FORMAT_SINT32X4

let VERTEX_FORMAT_SINT32X4 : UInt

#
VERTEX_FORMAT_SINT8

let VERTEX_FORMAT_SINT8 : UInt

#
VERTEX_FORMAT_SINT8X2

let VERTEX_FORMAT_SINT8X2 : UInt

#
VERTEX_FORMAT_SINT8X4

let VERTEX_FORMAT_SINT8X4 : UInt

#
VERTEX_FORMAT_SNORM16

let VERTEX_FORMAT_SNORM16 : UInt

#
VERTEX_FORMAT_SNORM16X2

let VERTEX_FORMAT_SNORM16X2 : UInt

#
VERTEX_FORMAT_SNORM16X4

let VERTEX_FORMAT_SNORM16X4 : UInt

#
VERTEX_FORMAT_SNORM8

let VERTEX_FORMAT_SNORM8 : UInt

#
VERTEX_FORMAT_SNORM8X2

let VERTEX_FORMAT_SNORM8X2 : UInt

#
VERTEX_FORMAT_SNORM8X4

let VERTEX_FORMAT_SNORM8X4 : UInt

#
VERTEX_FORMAT_UINT16

let VERTEX_FORMAT_UINT16 : UInt

#
VERTEX_FORMAT_UINT16X2

let VERTEX_FORMAT_UINT16X2 : UInt

#
VERTEX_FORMAT_UINT16X4

let VERTEX_FORMAT_UINT16X4 : UInt

#
VERTEX_FORMAT_UINT32

let VERTEX_FORMAT_UINT32 : UInt

#
VERTEX_FORMAT_UINT32X2

let VERTEX_FORMAT_UINT32X2 : UInt

#
VERTEX_FORMAT_UINT32X3

let VERTEX_FORMAT_UINT32X3 : UInt

#
VERTEX_FORMAT_UINT32X4

let VERTEX_FORMAT_UINT32X4 : UInt

#
VERTEX_FORMAT_UINT8

let VERTEX_FORMAT_UINT8 : UInt

#
VERTEX_FORMAT_UINT8X2

let VERTEX_FORMAT_UINT8X2 : UInt

#
VERTEX_FORMAT_UINT8X4

let VERTEX_FORMAT_UINT8X4 : UInt

#
VERTEX_FORMAT_UNORM10_10_10_2

let VERTEX_FORMAT_UNORM10_10_10_2 : UInt

#
VERTEX_FORMAT_UNORM16

let VERTEX_FORMAT_UNORM16 : UInt

#
VERTEX_FORMAT_UNORM16X2

let VERTEX_FORMAT_UNORM16X2 : UInt

#
VERTEX_FORMAT_UNORM16X4

let VERTEX_FORMAT_UNORM16X4 : UInt

#
VERTEX_FORMAT_UNORM8

let VERTEX_FORMAT_UNORM8 : UInt

#
VERTEX_FORMAT_UNORM8X2

let VERTEX_FORMAT_UNORM8X2 : UInt

#
VERTEX_FORMAT_UNORM8X4

let VERTEX_FORMAT_UNORM8X4 : UInt

#
VERTEX_FORMAT_UNORM8X4_BGRA

let VERTEX_FORMAT_UNORM8X4_BGRA : UInt

#
VERTEX_STEP_MODE_FORCE32

let VERTEX_STEP_MODE_FORCE32 : UInt

#
VERTEX_STEP_MODE_INSTANCE

let VERTEX_STEP_MODE_INSTANCE : UInt

#
VERTEX_STEP_MODE_UNDEFINED

let VERTEX_STEP_MODE_UNDEFINED : UInt

#
VERTEX_STEP_MODE_VERTEX

let VERTEX_STEP_MODE_VERTEX : UInt

#
VERTEX_STEP_MODE_VERTEX_BUFFER_NOT_USED

let VERTEX_STEP_MODE_VERTEX_BUFFER_NOT_USED : UInt

#
WAIT_STATUS_FORCE32

let WAIT_STATUS_FORCE32 : UInt

#
WAIT_STATUS_SUCCESS

let WAIT_STATUS_SUCCESS : UInt

#
WAIT_STATUS_TIMED_OUT

let WAIT_STATUS_TIMED_OUT : UInt

#
WAIT_STATUS_UNSUPPORTED_COUNT

let WAIT_STATUS_UNSUPPORTED_COUNT : UInt

#
WAIT_STATUS_UNSUPPORTED_MIXED_SOURCES

let WAIT_STATUS_UNSUPPORTED_MIXED_SOURCES : UInt

#
WAIT_STATUS_UNSUPPORTED_TIMEOUT

let WAIT_STATUS_UNSUPPORTED_TIMEOUT : UInt

#
WGSL_LANGUAGE_FEATURE_NAME_FORCE32

let WGSL_LANGUAGE_FEATURE_NAME_FORCE32 : UInt

#
WGSL_LANGUAGE_FEATURE_NAME_PACKED4X8_INTEGER_DOT_PRODUCT

let WGSL_LANGUAGE_FEATURE_NAME_PACKED4X8_INTEGER_DOT_PRODUCT : UInt

#
WGSL_LANGUAGE_FEATURE_NAME_POINTER_COMPOSITE_ACCESS

let WGSL_LANGUAGE_FEATURE_NAME_POINTER_COMPOSITE_ACCESS : UInt

#
WGSL_LANGUAGE_FEATURE_NAME_READONLY_AND_READWRITE_STORAGE_TEXTURES

let WGSL_LANGUAGE_FEATURE_NAME_READONLY_AND_READWRITE_STORAGE_TEXTURES : UInt

#
WGSL_LANGUAGE_FEATURE_NAME_UNRESTRICTED_POINTER_PARAMETERS

let WGSL_LANGUAGE_FEATURE_NAME_UNRESTRICTED_POINTER_PARAMETERS : UInt

#
WHOLE_MAP_SIZE

let WHOLE_MAP_SIZE : UInt64

#
WHOLE_SIZE

let WHOLE_SIZE : UInt64

#
compilation_info_availability_kind_u32

fn compilation_info_availability_kind_u32() -> UInt

#
compilation_info_available

fn compilation_info_available() -> Bool

#
compilation_info_enabled

fn compilation_info_enabled() -> Bool

#
get_instance_capabilities

fn get_instance_capabilities() -> InstanceCapabilities

#
get_version

fn get_version() -> UInt

#
last_request_adapter_message

fn last_request_adapter_message() -> String

#
last_request_device_message

fn last_request_device_message() -> String

#
native_available

fn native_available() -> Bool

#
native_diagnostic

fn native_diagnostic() -> String

#
native_expected_release_tag

fn native_expected_release_tag() -> String

#
native_has_symbol

fn native_has_symbol(name : String) -> Bool

#
native_static_linked

fn native_static_linked() -> Bool

#
native_supported

fn native_supported() -> Bool

#
pipeline_async_availability_kind_u32

fn pipeline_async_availability_kind_u32() -> UInt

#
pipeline_async_available

fn pipeline_async_available() -> Bool

#
pipeline_async_enabled

fn pipeline_async_enabled() -> Bool

#
platform_is_linux

fn platform_is_linux() -> Bool

#
platform_is_macos

fn platform_is_macos() -> Bool

#
platform_is_windows

fn platform_is_windows() -> Bool

#
require_native

fn require_native() -> Unit raise WgpuError

#
require_native_symbol

fn require_native_symbol(name : String) -> Unit raise WgpuError

#
set_compilation_info_enabled

fn set_compilation_info_enabled(enabled : Bool) -> Unit

#
set_debug_labels_enabled

fn set_debug_labels_enabled(enabled : Bool) -> Unit

#
set_device_lost_stderr_enabled

fn set_device_lost_stderr_enabled(enabled : Bool) -> Unit

#
set_log_callback_stderr_enabled

fn set_log_callback_stderr_enabled(enabled : Bool) -> Unit

#
set_log_level

fn set_log_level(level : UInt) -> Unit

#
set_pipeline_async_enabled

fn set_pipeline_async_enabled(enabled : Bool) -> Unit

#
set_uncaptured_error_stderr_enabled

fn set_uncaptured_error_stderr_enabled(enabled : Bool) -> Unit

#
surface_configuration_ptr_free

fn surface_configuration_ptr_free(config :
WGPUSurfaceConfigurationPtr
) -> Unit

#
surface_configuration_ptr_new

#
surface_descriptor_android_native_window_new

#
surface_descriptor_free

#
surface_descriptor_metal_layer_new

#
surface_descriptor_swap_chain_panel_new

#
surface_descriptor_xcb_new

#
surface_descriptor_xlib_new