wgpu_mbt

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

    WebGPU
    wgpu
    Download zip
    Author
    Version
    0.16.2
    License
    Apache-2.0
    Last updated
    14 days ago
    Downloads
    17K

    Dependencies

    #Milky2018/wgpu_mbt

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

    #Supported Platforms

    PlatformStatusValidated in repoSurface API
    macOSsupportedMetal runtime + host-backed surface tests in CIInstance::create_surface_from_window() / create_surface_metal_layer()
    LinuxexperimentalVulkan headless runtime + Linux descriptor/input validation in CIInstance::create_surface_from_window() / platform constructors
    WindowsexperimentalVulkan headless runtime + Windows descriptor/input validation in CIInstance::create_surface_from_window() / platform constructors
    Androidunsupported by repo build matrixAPI only; no pinned build path or runtime validationInstance::create_surface_android_native_window()

    Detailed evidence and current boundaries live in docs/platform_support_status.md.

    #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. This repo is pinned to one official upstream release:

    1. Dynamic mode should use the matching extracted upstream release tree:

    Platform / ArchDynamic archiveLibrary inside archive
    macOS x64wgpu-macos-x86_64-release.ziplib/libwgpu_native.dylib
    macOS arm64wgpu-macos-aarch64-release.ziplib/libwgpu_native.dylib
    Linux x64wgpu-linux-x86_64-release.ziplib/libwgpu_native.so
    Linux arm64wgpu-linux-aarch64-release.ziplib/libwgpu_native.so
    Windows x64wgpu-windows-x86_64-msvc-release.ziplib/wgpu_native.dll
    Windows arm64wgpu-windows-aarch64-msvc-release.ziplib/wgpu_native.dll

    Recommended dynamic install: extract that 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

    Reusable preseeded install: extract the official release anywhere stable and set MBT_WGPU_NATIVE_ROOT to the extracted root. Both link modes can reuse the same tree:

    • Dynamic mode resolves lib/libwgpu_native.(dylib|so) on macOS/Linux or lib/wgpu_native.dll on Windows from MBT_WGPU_NATIVE_ROOT
    • Static mode reuses lib/libwgpu_native.a (or lib/wgpu_native.lib on Windows) from MBT_WGPU_NATIVE_ROOT instead of downloading again
    • Example extracted roots:
      • macOS/Linux: /opt/wgpu-native/wgpu-linux-x86_64-release
      • Windows: C:\\wgpu-native\\wgpu-windows-x86_64-msvc-release

    Or set MBT_WGPU_NATIVE_LIB to an absolute library path inside an extracted upstream release tree. If you want the automatic static downloader to populate a reusable cache when no preseeded root is supplied, set MBT_WGPU_NATIVE_CACHE_DIR.

    Static mode uses the same pinned upstream release model. Windows uses the MSVC archive and links its wgpu_native.lib with the MSVC system import libraries.

    #Quick Example

    fn main {
    try {
    @wgpu.with_default_device_queue_managed((instance, device, queue) => {
    let _ = instance
    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()

    let cmd = encoder.finish()
    queue.submit_one(cmd)
    })
    } catch {
    e => println(e.message())
    }
    }

    with_default_device_queue_managed is the strongest high-level path for smoke tests, examples, and short-lived tools. It auto-releases the default instance/adapter/device/queue stack and only exposes managed wrappers for the common compute path plus a minimal offscreen render path (Texture/TextureView/RenderPipeline/RenderPass/copy-to-buffer), so there is no release() method to call by mistake inside the callback.

    For broader high-level coverage, with_default_device_queue_auto_release still exposes the lower-level AutoReleasePool. That path supports more resource types, but tracked resources remain borrowed for the callback scope. Keep release() / add_ref() for raw interop or deterministic ownership management outside these managed helpers.

    Lifecycle validation details, including GlobalReport delta checks and the native ASan helper script, live in docs/lifecycle_validation.md.

    #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)

    The preferred window integration uses the backend-neutral Milky2018/windowing contracts:

    let surface = instance.create_surface_from_window(window)

    The window must implement both HasWindowHandle and HasDisplayHandle. Milky2018/window@0.6.0 implements these contracts for its AppKit Window. The returned Surface retains both handle providers, keeping the native window and display owners reachable while the surface is in use. On macOS, synchronize the attached Metal layer after resize or scale-factor changes:

    surface.sync_macos_window_handle(window.window_handle())

    create_surface_from_window_handles(window_handle, display_handle) is also available when an integration already owns the two structured handles. Window and display handles must use the same backend. Missing Win32 HINSTANCE, Xlib Display*, or XCB connection values raise SurfaceCreateError; the API does not infer or substitute native handles.

    Low-level constructors remain available for SDL and custom native hosts:

    • Metal: Instance::create_surface_metal_layer()
    • macOS AppKit: Instance::create_surface_macos_ns_view(ns_view)
    • 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)

    Current contract:

    • The checked-in host-integration behavior tests are for macOS/Metal.
    • The AppKit integration test exercises Milky2018/windowing handle providers, real surface creation, configuration, frame acquisition, presentation, and resize synchronization.
    • create_surface_macos_ns_view accepts an AppKit NSView*, installs or reuses a CAMetalLayer, synchronizes its drawable size from the view's backing coordinates, and returns a Surface that retains the layer. Call Surface::sync_macos_ns_view_layer(ns_view) after host-side view resizes.
    • Linux and Windows now have checked-in descriptor/input-validation tests for their platform surface entry points.
    • Off-target constructors are explicitly gated in the native stubs and return a null Surface instead of attempting a best-effort host integration path.
    • Linux/Windows host-backed presentation paths remain experimental until the project has real window-system integration evidence.
    • Android remains API-only in this repository until the build/deployment story and on-device validation exist.

    See docs/platform_support_status.md for the current support boundary per platform.

    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

    Off-target descriptor builders follow the same rule and return null descriptors rather than packaging unsupported source chains on the wrong host OS.

    #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 is currently a no-op for ABI safety across upstream binaries. Do not rely on it until upstream instance-extras ABI compatibility is resolved.

    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 immediates:
      • @wgpu_c.pipeline_layout_descriptor_immediates_many_new(...)
      • Device::create_pipeline_layout_immediates_many(first_stages, first_start, first_end, other_ranges)
      • Device::create_pipeline_layout_with_immediates(bind_group_layouts, ranges)
      • On wgpu-native v29, range-style immediates APIs allocate the maximum requested immediate byte size.
    • 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. MBT_WGPU_NATIVE_ROOT
      3. 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_resolved_lib_path() returns the currently resolved dynamic library path, or "" in static mode / when no path can be resolved.
    • @wgpu.native_diagnostic() returns a combined loader/support diagnostic string.
    • @wgpu.native_recovery_hint() returns the next recommended recovery step for the current loader state.
    • For custom dynamic builds without release metadata, set MBT_WGPU_NATIVE_ALLOW_UNVERIFIED=1 to bypass release-metadata verification only. It does not bypass library load failures or missing symbols.
    • 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()
      • Device::create_render_pipeline_async_sync_ptr_or_raise(...) is conservatively repo-gated on the supported native release and raises an explicit runtime error; use create_render_pipeline_async_sync_ptr(...) for the safe fallback helper
    • 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
      • texture atomics: @wgpu.NATIVE_FEATURE_TEXTURE_ATOMIC
      • 64-bit texture atomics: @wgpu.NATIVE_FEATURE_TEXTURE_INT64_ATOMIC
      • 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:

    • TEXTURE_FORMAT_R64_UINT
    • STORAGE_TEXTURE_ACCESS_ATOMIC

    AddressModeClampToZero, AddressModeClampToBorder, ClearTexture, and Multiview are exposed by the pinned upstream wgpu-native header.

    TEXTURE_ATOMIC and TEXTURE_INT64_ATOMIC feature bits are queryable through native feature ids allocated by upstream wgpu-native trunk, so Adapter::supported_rust_features_u64() and Device::supported_rust_features_u64() can report them when a future/custom native library actually exposes those features. The currently supported official release still cannot create Bevy-style texture_storage_2d<r64uint, atomic> resources because the C header and conversion layer do not expose R64Uint or storage-texture atomic access.

    The supported release also still lacks a stable upstream WGSL-language-feature query. wgpu_mbt therefore keeps Instance::get_wgsl_language_features(...) / has_wgsl_language_feature(...) on a safe empty/false placeholder contract instead of calling the aborting upstream entry points directly.

    #Troubleshooting

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

    • Check diagnostics: @wgpu.native_diagnostic()
    • Check the exact chosen path: @wgpu.native_resolved_lib_path()
    • Check the next action directly: @wgpu.native_recovery_hint()
    • Verify that you extracted the official upstream archive, not just the bare library file
    • Verify file path and filename for your platform
    • On Windows x64, use the msvc archive for dynamic installs; the gnu archive is only for the automatic static link path
    • If using dynamic mode, set MBT_WGPU_LINK_MODE=dynamic
    • If you have a pre-extracted official release tree, set MBT_WGPU_NATIVE_ROOT=/absolute/path/to/extracted/root
    • If using a custom dynamic library location, set MBT_WGPU_NATIVE_LIB=/absolute/path/to/libwgpu_native.(dylib|so|dll)
    • If you are using a trusted custom build, MBT_WGPU_NATIVE_ALLOW_UNVERIFIED=1 only skips the metadata/tag gate; it does not make an unloadable or symbol-incomplete library work

    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

    RenderPassDescError

    type RenderPassDescError

    RenderPassDescError::message

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

    RenderPipelineDescError

    type RenderPipelineDescError

    RenderPipelineDescError::message

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

    SurfaceConfigureError

    type SurfaceConfigureError

    SurfaceConfigureError::message

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

    SurfaceCreateError

    type SurfaceCreateError

    SurfaceCreateError::message

    fn SurfaceCreateError::message(self : SurfaceCreateError) -> 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_experimental_mesh_shader

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

    Adapter::has_feature_experimental_mesh_shader_points

    fn Adapter::has_feature_experimental_mesh_shader_points(self : Adapter) -> 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_immediates

    fn Adapter::has_feature_native_immediates(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_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_float32_atomic

    fn Adapter::has_feature_native_shader_float32_atomic(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_int64_atomic_all_ops

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

    Adapter::has_feature_native_shader_int64_atomic_min_max

    fn Adapter::has_feature_native_shader_int64_atomic_min_max(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_storage_texture_array_non_uniform_indexing

    fn Adapter::has_feature_native_storage_texture_array_non_uniform_indexing(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_atomic

    fn Adapter::has_feature_native_texture_atomic(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_texture_int64_atomic

    fn Adapter::has_feature_native_texture_int64_atomic(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_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_binding_array_elements_per_shader_stage_u32

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

    Adapter::limits_max_binding_array_sampler_elements_per_shader_stage_u32

    fn Adapter::limits_max_binding_array_sampler_elements_per_shader_stage_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_immediate_size_u32

    fn Adapter::limits_max_immediate_size_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_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::missing_known_rust_features_u64

    fn Adapter::missing_known_rust_features_u64(self : Adapter, required_features_u64 : UInt64) -> UInt64

    Adapter::missing_rust_features_u64

    fn Adapter::missing_rust_features_u64(self : Adapter, required_features_u64 : UInt64) -> UInt64

    Returns the subset of required Rust wgpu::Features bits that are missing.

    FEATURES_TEXTURE_ATOMIC and FEATURES_TEXTURE_INT64_ATOMIC are queryable through native feature ids allocated by wgpu-native trunk. The supported release may still report them missing until an official release exposes the full R64Uint storage-texture C API.

    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_immediates

    fn Adapter::request_device_sync_immediates(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_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_float32_atomic

    fn Adapter::request_device_sync_shader_float32_atomic(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_int64_atomic_all_ops

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

    Adapter::request_device_sync_shader_int64_atomic_min_max

    fn Adapter::request_device_sync_shader_int64_atomic_min_max(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_storage_texture_array_non_uniform_indexing

    fn Adapter::request_device_sync_storage_texture_array_non_uniform_indexing(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_atomic

    fn Adapter::request_device_sync_texture_atomic(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_texture_int64_atomic

    fn Adapter::request_device_sync_texture_int64_atomic(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_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_sampled_textures_per_shader_stage_u32? : UInt, max_samplers_per_shader_stage_u32? : UInt, max_immediate_size_u32? : UInt, max_non_sampler_bindings_u32? : UInt, max_binding_array_elements_per_shader_stage_u32? : UInt, max_binding_array_sampler_elements_per_shader_stage_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

    Adapter::supported_rust_features_u64

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

    Adapter::supports_known_rust_features_u64

    fn Adapter::supports_known_rust_features_u64(self : Adapter, required_features_u64 : UInt64) -> Bool

    Adapter::supports_rust_features_u64

    fn Adapter::supports_rust_features_u64(self : Adapter, required_features_u64 : UInt64) -> Bool

    Adapter::unknown_rust_features_u64

    fn Adapter::unknown_rust_features_u64(self : Adapter, required_features_u64 : UInt64) -> UInt64

    AutoReleasePool

    pub struct AutoReleasePool {
    // private fields
    }

    AutoReleasePool::new

    AutoReleasePool::release

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

    AutoReleasePool::track_bind_group

    fn AutoReleasePool::track_bind_group(self : AutoReleasePool, group : BindGroup) -> BindGroup

    AutoReleasePool::track_bind_group_layout

    fn AutoReleasePool::track_bind_group_layout(self : AutoReleasePool, layout : BindGroupLayout) -> BindGroupLayout

    AutoReleasePool::track_buffer

    fn AutoReleasePool::track_buffer(self : AutoReleasePool, buffer : Buffer) -> Buffer

    AutoReleasePool::track_command_buffer

    fn AutoReleasePool::track_command_buffer(self : AutoReleasePool, command_buffer : CommandBuffer) -> CommandBuffer

    AutoReleasePool::track_command_encoder

    fn AutoReleasePool::track_command_encoder(self : AutoReleasePool, encoder : CommandEncoder) -> CommandEncoder

    AutoReleasePool::track_compute_pass

    fn AutoReleasePool::track_compute_pass(self : AutoReleasePool, pass : ComputePass) -> ComputePass

    AutoReleasePool::track_compute_pipeline

    fn AutoReleasePool::track_compute_pipeline(self : AutoReleasePool, pipeline : ComputePipeline) -> ComputePipeline

    AutoReleasePool::track_pipeline_layout

    fn AutoReleasePool::track_pipeline_layout(self : AutoReleasePool, layout : PipelineLayout) -> PipelineLayout

    AutoReleasePool::track_query_set

    fn AutoReleasePool::track_query_set(self : AutoReleasePool, query_set : QuerySet) -> QuerySet

    AutoReleasePool::track_render_bundle

    fn AutoReleasePool::track_render_bundle(self : AutoReleasePool, bundle : RenderBundle) -> RenderBundle

    AutoReleasePool::track_render_bundle_encoder

    fn AutoReleasePool::track_render_bundle_encoder(self : AutoReleasePool, encoder : RenderBundleEncoder) -> RenderBundleEncoder

    AutoReleasePool::track_render_pass

    fn AutoReleasePool::track_render_pass(self : AutoReleasePool, pass : RenderPass) -> RenderPass

    AutoReleasePool::track_render_pipeline

    fn AutoReleasePool::track_render_pipeline(self : AutoReleasePool, pipeline : RenderPipeline) -> RenderPipeline

    AutoReleasePool::track_sampler

    fn AutoReleasePool::track_sampler(self : AutoReleasePool, sampler : Sampler) -> Sampler

    AutoReleasePool::track_shader_module

    fn AutoReleasePool::track_shader_module(self : AutoReleasePool, shader : ShaderModule) -> ShaderModule

    AutoReleasePool::track_surface

    fn AutoReleasePool::track_surface(self : AutoReleasePool, surface : Surface) -> Surface

    AutoReleasePool::track_texture

    fn AutoReleasePool::track_texture(self : AutoReleasePool, texture : Texture) -> Texture

    AutoReleasePool::track_texture_view

    fn AutoReleasePool::track_texture_view(self : AutoReleasePool, view : TextureView) -> TextureView

    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::equal

    fn BufferUsage::equal(self : BufferUsage, other : BufferUsage) -> Bool

    BufferUsage::from_u64

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

    BufferUsage::not_equal

    fn BufferUsage::not_equal(self : BufferUsage, other : BufferUsage) -> Bool

    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_color1_depth_u32

    fn CommandEncoder::begin_render_pass_color1_depth_u32(self : CommandEncoder, color1_view : TextureView, depth_view : TextureView, 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_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_sparse_u32

    fn CommandEncoder::begin_render_pass_color2_depth_sparse_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_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_depth

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

    CommandEncoder::begin_render_pass_depth_u32

    fn CommandEncoder::begin_render_pass_depth_u32(self : CommandEncoder, depth_view : TextureView, 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_desc_builder

    fn CommandEncoder::begin_render_pass_desc_builder(self : CommandEncoder, builder : RenderPassDescBuilder) -> RenderPass raise RenderPassDescError

    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::equal

    fn CompositeAlphaMode::equal(self : CompositeAlphaMode, other : CompositeAlphaMode) -> Bool

    CompositeAlphaMode::from_u32

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

    CompositeAlphaMode::not_equal

    fn CompositeAlphaMode::not_equal(self : CompositeAlphaMode, other : CompositeAlphaMode) -> Bool

    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_immediates

    fn ComputePass::set_immediates(self : ComputePass, offset : UInt, data : Bytes) -> 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::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). create_pipeline(device) is the consuming high-level path and frees the builder automatically.

    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_immediates

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

    Device::create_pipeline_layout_immediates_many

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

    Device::create_pipeline_layout_many

    fn Device::create_pipeline_layout_many(self : Device, bind_group_layouts : Array[BindGroupLayout]) -> PipelineLayout

    Device::create_pipeline_layout_ptr

    Device::create_pipeline_layout_with_immediates

    fn Device::create_pipeline_layout_with_immediates(self : Device, bind_group_layouts : Array[BindGroupLayout], 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_features

    Device::get_lost_future

    Device::get_queue

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

    Device::get_supported_read_only_binding_type_u32

    fn Device::get_supported_read_only_binding_type_u32(self : Device, required_storage_buffers_per_shader_stage : UInt) -> UInt

    Device::has_feature

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

    Device::has_feature_experimental_mesh_shader

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

    Device::has_feature_experimental_mesh_shader_points

    fn Device::has_feature_experimental_mesh_shader_points(self : Device) -> 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_immediates

    fn Device::has_feature_native_immediates(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_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_float32_atomic

    fn Device::has_feature_native_shader_float32_atomic(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_int64_atomic_all_ops

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

    Device::has_feature_native_shader_int64_atomic_min_max

    fn Device::has_feature_native_shader_int64_atomic_min_max(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_storage_texture_array_non_uniform_indexing

    fn Device::has_feature_native_storage_texture_array_non_uniform_indexing(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_atomic

    fn Device::has_feature_native_texture_atomic(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_texture_int64_atomic

    fn Device::has_feature_native_texture_int64_atomic(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_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_binding_array_elements_per_shader_stage_u32

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

    Device::limits_max_binding_array_sampler_elements_per_shader_stage_u32

    fn Device::limits_max_binding_array_sampler_elements_per_shader_stage_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_immediate_size_u32

    fn Device::limits_max_immediate_size_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_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::missing_known_rust_features_u64

    fn Device::missing_known_rust_features_u64(self : Device, required_features_u64 : UInt64) -> UInt64

    Device::missing_rust_features_u64

    fn Device::missing_rust_features_u64(self : Device, required_features_u64 : UInt64) -> UInt64

    Returns the subset of required Rust wgpu::Features bits that are missing.

    FEATURES_TEXTURE_ATOMIC and FEATURES_TEXTURE_INT64_ATOMIC are queryable through native feature ids allocated by wgpu-native trunk. The supported release may still report them missing until an official release exposes the full R64Uint storage-texture C API.

    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::pop_error_scope_sync_result

    fn Device::pop_error_scope_sync_result(self : Device, instance : Instance) -> ErrorScopeResult

    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::supported_rust_features_u64

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

    Device::supports_known_rust_features_u64

    fn Device::supports_known_rust_features_u64(self : Device, required_features_u64 : UInt64) -> Bool

    Device::supports_read_only_storage_buffer_binding

    fn Device::supports_read_only_storage_buffer_binding(self : Device, required_storage_buffers_per_shader_stage : UInt) -> Bool

    Device::supports_rust_features_u64

    fn Device::supports_rust_features_u64(self : Device, required_features_u64 : UInt64) -> Bool

    Device::take_lost_reason

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

    Device::unknown_rust_features_u64

    fn Device::unknown_rust_features_u64(self : Device, required_features_u64 : UInt64) -> UInt64

    Device::wait_lost_reason_sync

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

    ErrorScopeResult

    pub struct ErrorScopeResult {
    error_type : UInt
    message : String
    }

    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_from_window

    Create a surface from any window implementing the Milky2018/windowing window and display handle contracts.

    Instance::create_surface_from_window_handles

    fn Instance::create_surface_from_window_handles(self : Instance, window_handle :
    WindowHandle
    , display_handle :
    DisplayHandle
    ) -> Surface raise SurfaceCreateError

    Create a surface from backend-neutral window and display handles.

    The handles must use the same backend. The returned surface retains both handle providers so their native owners remain reachable for the surface's lifetime.

    Instance::create_surface_macos_ns_view

    fn Instance::create_surface_macos_ns_view(self : Instance, ns_view :
    OpaquePtr
    ) -> Surface raise SurfaceCreateError

    Create a macOS Metal surface from an NSView*.

    The view remains host-owned. The returned Surface retains the attached CAMetalLayer and releases that retain in Surface::release.

    Instance::create_surface_macos_ns_view_u64

    fn Instance::create_surface_macos_ns_view_u64(self : Instance, ns_view : UInt64) -> Surface raise SurfaceCreateError

    Create a macOS Metal surface from an NSView* address stored as UInt64.

    This compatibility entry is intended for window packages that expose native view pointers as integer handles. The value must be an NSView* address.

    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

    Create an instance with explicit native extras.

    dxc_path is currently reserved and behaves as a documented no-op because published upstream binaries do not share a stable WGPUInstanceExtras layout for that field yet.

    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

    Instance::with_device_queue_auto_release

    fn Instance::with_device_queue_auto_release(self : Instance, run : (Device, Queue, AutoReleasePool) -> Unit raise) -> Unit raise

    Request a default adapter/device/queue stack and an auto-release pool.

    Resources tracked in pool are borrowed for the callback scope. Do not release them manually; the helper releases the pool before unwinding or returning to the caller.

    Instance::with_device_queue_managed

    fn Instance::with_device_queue_managed(self : Instance, run : (ManagedDevice, ManagedQueue) -> Unit raise) -> Unit raise

    Instance::with_device_queue_sync

    fn Instance::with_device_queue_sync(self : Instance, run : (Device, Queue) -> Unit raise) -> Unit raise

    Request a default adapter/device/queue stack for the duration of run.

    The Device and Queue passed to run are borrowed for the callback scope. Do not retain or release them manually. The helper releases the temporary adapter/device/queue stack even when run raises.

    InstanceCapabilities

    pub struct InstanceCapabilities {
    timed_wait_any_enable : Bool
    timed_wait_any_max_count : UInt64
    }

    ManagedBuffer

    pub struct ManagedBuffer {
    // private fields
    }

    ManagedBuffer::readback

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

    ManagedBuffer::size

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

    ManagedCommandBuffer

    pub struct ManagedCommandBuffer {
    // private fields
    }

    ManagedCommandEncoder

    pub struct ManagedCommandEncoder {
    // private fields
    }

    ManagedCommandEncoder::begin_compute_pass

    ManagedCommandEncoder::begin_render_pass_color

    ManagedCommandEncoder::copy_texture_to_buffer_rgba8

    fn ManagedCommandEncoder::copy_texture_to_buffer_rgba8(self : ManagedCommandEncoder, texture : ManagedTexture, buffer : ManagedBuffer, width : UInt, height : UInt) -> Unit

    ManagedCommandEncoder::finish

    ManagedComputePass

    pub struct ManagedComputePass {
    // private fields
    }

    ManagedComputePass::dispatch_workgroups

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

    ManagedComputePass::end

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

    ManagedComputePass::set_pipeline

    fn ManagedComputePass::set_pipeline(self : ManagedComputePass, pipeline : ManagedComputePipeline) -> Unit

    ManagedComputePipeline

    pub struct ManagedComputePipeline {
    // private fields
    }

    ManagedDevice

    pub struct ManagedDevice {
    // private fields
    }

    ManagedDevice::create_buffer

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

    ManagedDevice::create_command_encoder

    fn ManagedDevice::create_command_encoder(self : ManagedDevice) -> ManagedCommandEncoder

    ManagedDevice::create_compute_pipeline

    fn ManagedDevice::create_compute_pipeline(self : ManagedDevice, shader_module : ManagedShaderModule) -> ManagedComputePipeline

    ManagedDevice::create_render_pipeline_rgba8

    fn ManagedDevice::create_render_pipeline_rgba8(self : ManagedDevice, shader_module : ManagedShaderModule) -> ManagedRenderPipeline

    ManagedDevice::create_shader_module_wgsl

    fn ManagedDevice::create_shader_module_wgsl(self : ManagedDevice, code : String) -> ManagedShaderModule

    ManagedDevice::create_texture_rgba8_2d

    fn ManagedDevice::create_texture_rgba8_2d(self : ManagedDevice, width : UInt, height : UInt) -> ManagedTexture

    ManagedDevice::poll

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

    ManagedQueue

    pub struct ManagedQueue {
    // private fields
    }

    ManagedQueue::submit_one

    fn ManagedQueue::submit_one(self : ManagedQueue, cmd : ManagedCommandBuffer) -> Unit

    ManagedRenderPass

    pub struct ManagedRenderPass {
    // private fields
    }

    ManagedRenderPass::draw

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

    ManagedRenderPass::end

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

    ManagedRenderPass::set_pipeline

    fn ManagedRenderPass::set_pipeline(self : ManagedRenderPass, pipeline : ManagedRenderPipeline) -> Unit

    ManagedRenderPipeline

    pub struct ManagedRenderPipeline {
    // private fields
    }

    ManagedShaderModule

    pub struct ManagedShaderModule {
    // private fields
    }

    ManagedTexture

    pub struct ManagedTexture {
    // private fields
    }

    ManagedTexture::create_view

    ManagedTextureView

    pub struct ManagedTextureView {
    // private fields
    }

    MapMode

    pub struct MapMode {
    raw : UInt64
    }

    impl Eq for MapMode

    MapMode::equal

    fn MapMode::equal(self : MapMode, other : MapMode) -> Bool

    MapMode::from_u64

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

    MapMode::not_equal

    fn MapMode::not_equal(self : MapMode, other : MapMode) -> Bool

    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::equal

    fn PresentMode::equal(self : PresentMode, other : PresentMode) -> Bool

    PresentMode::from_u32

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

    PresentMode::not_equal

    fn PresentMode::not_equal(self : PresentMode, other : PresentMode) -> Bool

    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::map_read_async_clear

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

    Queue::map_read_async_read

    fn Queue::map_read_async_read(self : Queue, future_id : UInt64) -> Bytes

    Queue::map_read_async_status_u32

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

    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_and_map_read_async

    fn Queue::submit_one_and_map_read_async(self : Queue, cmd : CommandBuffer, buffer : Buffer, offset : UInt64, size : UInt64) -> UInt64

    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_immediates

    fn RenderBundleEncoder::set_immediates(self : RenderBundleEncoder, stages : ShaderStage, offset : UInt, data : Bytes) -> 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_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_immediates

    fn RenderPass::set_immediates(self : RenderPass, stages : ShaderStage, offset : UInt, data : Bytes) -> 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_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

    RenderPassDescBuilder

    RenderPassDescBuilder::begin

    RenderPassDescBuilder::clear_color_attachment_resolve_target

    fn RenderPassDescBuilder::clear_color_attachment_resolve_target(self : RenderPassDescBuilder, index_u32 : UInt) -> Unit raise RenderPassDescError

    RenderPassDescBuilder::clear_depth_stencil_attachment

    fn RenderPassDescBuilder::clear_depth_stencil_attachment(self : RenderPassDescBuilder) -> Unit raise RenderPassDescError

    RenderPassDescBuilder::free

    RenderPassDescBuilder::last_error

    RenderPassDescBuilder::new

    fn RenderPassDescBuilder::new(color_attachment_count : UInt) -> RenderPassDescBuilder raise RenderPassDescError

    RenderPassDescriptor builder.

    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_pass_descriptor_free(desc). begin(encoder) is the consuming high-level path and frees the builder automatically.

    RenderPassDescBuilder::set_color_attachment

    fn RenderPassDescBuilder::set_color_attachment(self : RenderPassDescBuilder, index_u32 : UInt, view : TextureView, load_op_u32? : UInt, store_op_u32? : UInt, clear_r_f32? : Float, clear_g_f32? : Float, clear_b_f32? : Float, clear_a_f32? : Float) -> Unit raise RenderPassDescError

    RenderPassDescBuilder::set_color_attachment_resolve_target

    fn RenderPassDescBuilder::set_color_attachment_resolve_target(self : RenderPassDescBuilder, index_u32 : UInt, resolve_target : TextureView) -> Unit raise RenderPassDescError

    RenderPassDescBuilder::set_depth_stencil_attachment

    fn RenderPassDescBuilder::set_depth_stencil_attachment(self : RenderPassDescBuilder, depth_view : TextureView, depth_load_op_u32? : UInt, depth_store_op_u32? : UInt, depth_clear_value_f32? : Float, stencil_load_op_u32? : UInt, stencil_store_op_u32? : UInt, stencil_clear_value_u32? : UInt, depth_read_only? : Bool, stencil_read_only? : Bool) -> Unit raise RenderPassDescError

    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_fragment

    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). create_pipeline(device) is the consuming high-level path and frees the builder automatically.

    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_unused_at

    fn RenderPipelineDescBuilder::set_color_target_unused_at(self : RenderPipelineDescBuilder, index_u32 : UInt) -> 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_cull_mode_u32

    fn RenderPipelineDescBuilder::set_cull_mode_u32(self : RenderPipelineDescBuilder, cull_mode_u32 : UInt) -> 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, depth_bias? : Int, depth_bias_slope_scale? : Float, depth_bias_clamp? : Float) -> 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_fragment_module

    fn RenderPipelineDescBuilder::set_fragment_module(self : RenderPipelineDescBuilder, shader_module : ShaderModule) -> Unit raise RenderPipelineDescError

    RenderPipelineDescBuilder::set_multisample

    fn RenderPipelineDescBuilder::set_multisample(self : RenderPipelineDescBuilder, count_u32 : UInt, mask_u32? : UInt, alpha_to_coverage_enabled? : Bool) -> 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_strip_index_format_u32

    fn RenderPipelineDescBuilder::set_strip_index_format_u32(self : RenderPipelineDescBuilder, index_format_u32 : UInt) -> Unit raise RenderPipelineDescError

    RenderPipelineDescBuilder::set_topology_u32

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

    RenderPipelineDescBuilder::set_unclipped_depth

    fn RenderPipelineDescBuilder::set_unclipped_depth(self : RenderPipelineDescBuilder, unclipped_depth : Bool) -> 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

    RenderPipelineDescBuilder::set_vertex_module

    fn RenderPipelineDescBuilder::set_vertex_module(self : RenderPipelineDescBuilder, shader_module : ShaderModule) -> 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::equal

    fn ShaderStage::equal(self : ShaderStage, other : ShaderStage) -> Bool

    ShaderStage::from_u64

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

    ShaderStage::not_equal

    fn ShaderStage::not_equal(self : ShaderStage, other : ShaderStage) -> Bool

    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::sync_macos_ns_view_layer

    fn Surface::sync_macos_ns_view_layer(self : Surface, ns_view :
    OpaquePtr
    ) -> Unit raise SurfaceCreateError

    Synchronize this surface's retained CAMetalLayer with an NSView*.

    Call this on macOS after the host view is resized or moves between displays with different backing scale factors.

    Surface::sync_macos_ns_view_layer_u64

    fn Surface::sync_macos_ns_view_layer_u64(self : Surface, ns_view : UInt64) -> Unit raise SurfaceCreateError

    Synchronize this surface's retained CAMetalLayer with an NSView* address stored as UInt64.

    Surface::sync_macos_window_handle

    fn Surface::sync_macos_window_handle(self : Surface, window_handle :
    WindowHandle
    ) -> Unit raise SurfaceCreateError

    Synchronize this surface's Metal layer from an AppKit window handle.

    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::equal

    fn TextureDimension::equal(self : TextureDimension, other : TextureDimension) -> Bool

    TextureDimension::from_u32

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

    TextureDimension::not_equal

    fn TextureDimension::not_equal(self : TextureDimension, other : TextureDimension) -> Bool

    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::equal

    fn TextureFormat::equal(self : TextureFormat, other : TextureFormat) -> Bool

    TextureFormat::from_u32

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

    TextureFormat::not_equal

    fn TextureFormat::not_equal(self : TextureFormat, other : TextureFormat) -> Bool

    TextureFormat::to_u32

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

    TextureUsage

    pub struct TextureUsage {
    raw : UInt64
    }

    impl Eq for TextureUsage

    TextureUsage::equal

    fn TextureUsage::equal(self : TextureUsage, other : TextureUsage) -> Bool

    TextureUsage::from_u64

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

    TextureUsage::not_equal

    fn TextureUsage::not_equal(self : TextureUsage, other : TextureUsage) -> Bool

    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::null

    fn TextureView::null() -> TextureView

    Null texture view for nullable descriptor slots. Do not release it.

    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_CALLBACK_CANCELLED

    let COMPILATION_INFO_REQUEST_STATUS_CALLBACK_CANCELLED : UInt

    COMPILATION_INFO_REQUEST_STATUS_FORCE32

    let COMPILATION_INFO_REQUEST_STATUS_FORCE32 : UInt

    COMPILATION_INFO_REQUEST_STATUS_SUCCESS

    let COMPILATION_INFO_REQUEST_STATUS_SUCCESS : 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

    COMPONENT_SWIZZLE_A

    let COMPONENT_SWIZZLE_A : UInt

    COMPONENT_SWIZZLE_B

    let COMPONENT_SWIZZLE_B : UInt

    COMPONENT_SWIZZLE_FORCE32

    let COMPONENT_SWIZZLE_FORCE32 : UInt

    COMPONENT_SWIZZLE_G

    let COMPONENT_SWIZZLE_G : UInt

    COMPONENT_SWIZZLE_ONE

    let COMPONENT_SWIZZLE_ONE : UInt

    COMPONENT_SWIZZLE_R

    let COMPONENT_SWIZZLE_R : UInt

    COMPONENT_SWIZZLE_UNDEFINED

    let COMPONENT_SWIZZLE_UNDEFINED : UInt

    COMPONENT_SWIZZLE_ZERO

    let COMPONENT_SWIZZLE_ZERO : 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_CALLBACK_CANCELLED

    let CREATE_PIPELINE_ASYNC_STATUS_CALLBACK_CANCELLED : UInt

    CREATE_PIPELINE_ASYNC_STATUS_FORCE32

    let CREATE_PIPELINE_ASYNC_STATUS_FORCE32 : 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_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_CALLBACK_CANCELLED

    let DEVICE_LOST_REASON_CALLBACK_CANCELLED : 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_UNKNOWN

    let DEVICE_LOST_REASON_UNKNOWN : UInt

    DX12_COMPILER_DXC

    let DX12_COMPILER_DXC : UInt

    DX12_COMPILER_FORCE32

    let DX12_COMPILER_FORCE32 : 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

    FEATURES_DEPTH_CLIP_CONTROL

    let FEATURES_DEPTH_CLIP_CONTROL : UInt64

    FEATURES_EXPERIMENTAL_MESH_SHADER

    let FEATURES_EXPERIMENTAL_MESH_SHADER : UInt64

    FEATURES_EXPERIMENTAL_MESH_SHADER_POINTS

    let FEATURES_EXPERIMENTAL_MESH_SHADER_POINTS : UInt64

    FEATURES_PUSH_CONSTANTS

    let FEATURES_PUSH_CONSTANTS : UInt64

    FEATURES_QUERYABLE_MASK

    let FEATURES_QUERYABLE_MASK : UInt64

    FEATURES_SHADER_INT64

    let FEATURES_SHADER_INT64 : UInt64

    FEATURES_SUBGROUP

    let FEATURES_SUBGROUP : UInt64

    FEATURES_TEXTURE_ATOMIC

    let FEATURES_TEXTURE_ATOMIC : UInt64

    FEATURES_TEXTURE_INT64_ATOMIC

    let FEATURES_TEXTURE_INT64_ATOMIC : UInt64

    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_LEVEL_UNDEFINED

    let FEATURE_LEVEL_UNDEFINED : 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_CORE_FEATURES_AND_LIMITS

    let FEATURE_NAME_CORE_FEATURES_AND_LIMITS : 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_PRIMITIVE_INDEX

    let FEATURE_NAME_PRIMITIVE_INDEX : 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_SHADER_INT64

    let FEATURE_NAME_SHADER_INT64 : UInt

    FEATURE_NAME_SUBGROUP

    let FEATURE_NAME_SUBGROUP : UInt

    FEATURE_NAME_SUBGROUPS

    let FEATURE_NAME_SUBGROUPS : UInt

    FEATURE_NAME_TEXTURE_COMPONENT_SWIZZLE

    let FEATURE_NAME_TEXTURE_COMPONENT_SWIZZLE : 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_TEXTURE_FORMATS_TIER1

    let FEATURE_NAME_TEXTURE_FORMATS_TIER1 : UInt

    FEATURE_NAME_TEXTURE_FORMATS_TIER2

    let FEATURE_NAME_TEXTURE_FORMATS_TIER2 : UInt

    FEATURE_NAME_TIMESTAMP_QUERY

    let FEATURE_NAME_TIMESTAMP_QUERY : 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_FEATURE_NAME_FORCE32

    let INSTANCE_FEATURE_NAME_FORCE32 : UInt

    INSTANCE_FEATURE_NAME_MULTIPLE_DEVICES_PER_ADAPTER

    let INSTANCE_FEATURE_NAME_MULTIPLE_DEVICES_PER_ADAPTER : UInt

    INSTANCE_FEATURE_NAME_SHADER_SOURCE_SPIRV

    let INSTANCE_FEATURE_NAME_SHADER_SOURCE_SPIRV : UInt

    INSTANCE_FEATURE_NAME_TIMED_WAIT_ANY

    let INSTANCE_FEATURE_NAME_TIMED_WAIT_ANY : UInt

    INSTANCE_FLAG_DEFAULT

    let INSTANCE_FLAG_DEFAULT : UInt

    INSTANCE_FLAG_EMPTY

    let INSTANCE_FLAG_EMPTY : UInt64

    INSTANCE_FLAG_FORCE32

    let INSTANCE_FLAG_FORCE32 : UInt64

    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_CALLBACK_CANCELLED

    let MAP_ASYNC_STATUS_CALLBACK_CANCELLED : UInt

    MAP_ASYNC_STATUS_ERROR

    let MAP_ASYNC_STATUS_ERROR : UInt

    MAP_ASYNC_STATUS_FORCE32

    let MAP_ASYNC_STATUS_FORCE32 : UInt

    MAP_ASYNC_STATUS_SUCCESS

    let MAP_ASYNC_STATUS_SUCCESS : 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_ADDRESS_MODE_CLAMP_TO_BORDER

    let NATIVE_ADDRESS_MODE_CLAMP_TO_BORDER : UInt

    NATIVE_ADDRESS_MODE_FORCE32

    let NATIVE_ADDRESS_MODE_FORCE32 : UInt

    NATIVE_DISPLAY_HANDLE_TYPE_FORCE32

    let NATIVE_DISPLAY_HANDLE_TYPE_FORCE32 : UInt

    NATIVE_DISPLAY_HANDLE_TYPE_NONE

    let NATIVE_DISPLAY_HANDLE_TYPE_NONE : UInt

    NATIVE_DISPLAY_HANDLE_TYPE_WAYLAND

    let NATIVE_DISPLAY_HANDLE_TYPE_WAYLAND : UInt

    NATIVE_DISPLAY_HANDLE_TYPE_XCB

    let NATIVE_DISPLAY_HANDLE_TYPE_XCB : UInt

    NATIVE_DISPLAY_HANDLE_TYPE_XLIB

    let NATIVE_DISPLAY_HANDLE_TYPE_XLIB : UInt

    NATIVE_FEATURE_ACCELERATION_STRUCTURE_BINDING_ARRAY

    let NATIVE_FEATURE_ACCELERATION_STRUCTURE_BINDING_ARRAY : UInt

    NATIVE_FEATURE_ADDRESS_MODE_CLAMP_TO_BORDER

    let NATIVE_FEATURE_ADDRESS_MODE_CLAMP_TO_BORDER : UInt

    NATIVE_FEATURE_ADDRESS_MODE_CLAMP_TO_ZERO

    let NATIVE_FEATURE_ADDRESS_MODE_CLAMP_TO_ZERO : 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_COOPERATIVE_MATRIX

    let NATIVE_FEATURE_COOPERATIVE_MATRIX : UInt

    NATIVE_FEATURE_FORCE32

    let NATIVE_FEATURE_FORCE32 : UInt

    NATIVE_FEATURE_IMMEDIATES

    let NATIVE_FEATURE_IMMEDIATES : UInt

    NATIVE_FEATURE_MAPPABLE_PRIMARY_BUFFERS

    let NATIVE_FEATURE_MAPPABLE_PRIMARY_BUFFERS : UInt

    NATIVE_FEATURE_MEMORY_DECORATION_COHERENT

    let NATIVE_FEATURE_MEMORY_DECORATION_COHERENT : UInt

    NATIVE_FEATURE_MEMORY_DECORATION_VOLATILE

    let NATIVE_FEATURE_MEMORY_DECORATION_VOLATILE : UInt

    NATIVE_FEATURE_MULTISAMPLE_ARRAY

    let NATIVE_FEATURE_MULTISAMPLE_ARRAY : 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_CACHE

    let NATIVE_FEATURE_PIPELINE_CACHE : 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_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_SELECTIVE_MULTIVIEW

    let NATIVE_FEATURE_SELECTIVE_MULTIVIEW : UInt

    NATIVE_FEATURE_SHADER_BARYCENTRICS

    let NATIVE_FEATURE_SHADER_BARYCENTRICS : UInt

    NATIVE_FEATURE_SHADER_DRAW_INDEX

    let NATIVE_FEATURE_SHADER_DRAW_INDEX : 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_FLOAT32_ATOMIC

    let NATIVE_FEATURE_SHADER_FLOAT32_ATOMIC : UInt

    NATIVE_FEATURE_SHADER_I16

    let NATIVE_FEATURE_SHADER_I16 : UInt

    NATIVE_FEATURE_SHADER_INT64

    let NATIVE_FEATURE_SHADER_INT64 : UInt

    NATIVE_FEATURE_SHADER_INT64_ATOMIC_ALL_OPS

    let NATIVE_FEATURE_SHADER_INT64_ATOMIC_ALL_OPS : UInt

    NATIVE_FEATURE_SHADER_INT64_ATOMIC_MIN_MAX

    let NATIVE_FEATURE_SHADER_INT64_ATOMIC_MIN_MAX : UInt

    NATIVE_FEATURE_SHADER_PER_VERTEX

    let NATIVE_FEATURE_SHADER_PER_VERTEX : UInt

    NATIVE_FEATURE_SHADER_PRIMITIVE_INDEX

    let NATIVE_FEATURE_SHADER_PRIMITIVE_INDEX : UInt

    NATIVE_FEATURE_STORAGE_RESOURCE_BINDING_ARRAY

    let NATIVE_FEATURE_STORAGE_RESOURCE_BINDING_ARRAY : UInt

    NATIVE_FEATURE_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING

    let NATIVE_FEATURE_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING : 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_ATOMIC

    let NATIVE_FEATURE_TEXTURE_ATOMIC : 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_TEXTURE_FORMAT_P010

    let NATIVE_FEATURE_TEXTURE_FORMAT_P010 : UInt

    NATIVE_FEATURE_TEXTURE_INT64_ATOMIC

    let NATIVE_FEATURE_TEXTURE_INT64_ATOMIC : 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_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_SURFACE_GET_CURRENT_TEXTURE_STATUS_FORCE32

    let NATIVE_SURFACE_GET_CURRENT_TEXTURE_STATUS_FORCE32 : 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

    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_CALLBACK_CANCELLED

    let POP_ERROR_SCOPE_STATUS_CALLBACK_CANCELLED : UInt

    POP_ERROR_SCOPE_STATUS_ERROR

    let POP_ERROR_SCOPE_STATUS_ERROR : UInt

    POP_ERROR_SCOPE_STATUS_FORCE32

    let POP_ERROR_SCOPE_STATUS_FORCE32 : 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

    PREDEFINED_COLOR_SPACE_DISPLAY_P3

    let PREDEFINED_COLOR_SPACE_DISPLAY_P3 : UInt

    PREDEFINED_COLOR_SPACE_FORCE32

    let PREDEFINED_COLOR_SPACE_FORCE32 : UInt

    PREDEFINED_COLOR_SPACE_SRGB

    let PREDEFINED_COLOR_SPACE_SRGB : 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_CALLBACK_CANCELLED

    let QUEUE_WORK_DONE_STATUS_CALLBACK_CANCELLED : 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_PASS_DESC_ERR_COLOR_ATTACHMENT_INDEX_OOB

    let RENDER_PASS_DESC_ERR_COLOR_ATTACHMENT_INDEX_OOB : UInt

    RENDER_PASS_DESC_ERR_NULL_BUILDER

    let RENDER_PASS_DESC_ERR_NULL_BUILDER : UInt

    RENDER_PASS_DESC_ERR_OOM

    let RENDER_PASS_DESC_ERR_OOM : 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_CALLBACK_CANCELLED

    let REQUEST_ADAPTER_STATUS_CALLBACK_CANCELLED : 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_CALLBACK_CANCELLED

    let REQUEST_DEVICE_STATUS_CALLBACK_CANCELLED : 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

    SAMPLER_BORDER_COLOR_FORCE32

    let SAMPLER_BORDER_COLOR_FORCE32 : UInt

    SAMPLER_BORDER_COLOR_OPAQUE_BLACK

    let SAMPLER_BORDER_COLOR_OPAQUE_BLACK : UInt

    SAMPLER_BORDER_COLOR_OPAQUE_WHITE

    let SAMPLER_BORDER_COLOR_OPAQUE_WHITE : UInt

    SAMPLER_BORDER_COLOR_TRANSPARENT_BLACK

    let SAMPLER_BORDER_COLOR_TRANSPARENT_BLACK : UInt

    SAMPLER_BORDER_COLOR_UNDEFINED

    let SAMPLER_BORDER_COLOR_UNDEFINED : UInt

    SAMPLER_BORDER_COLOR_ZERO

    let SAMPLER_BORDER_COLOR_ZERO : UInt

    SHADER_RUNTIME_CHECKS_BOUNDS_CHECKS

    let SHADER_RUNTIME_CHECKS_BOUNDS_CHECKS : UInt64

    SHADER_RUNTIME_CHECKS_FORCE_LOOP_BOUNDING

    let SHADER_RUNTIME_CHECKS_FORCE_LOOP_BOUNDING : UInt64

    SHADER_RUNTIME_CHECKS_MESH_SHADER_PRIMITIVE_INDICES_CLAMP

    let SHADER_RUNTIME_CHECKS_MESH_SHADER_PRIMITIVE_INDICES_CLAMP : UInt64

    SHADER_RUNTIME_CHECKS_NONE

    let SHADER_RUNTIME_CHECKS_NONE : UInt64

    SHADER_RUNTIME_CHECKS_RAY_QUERY_INITIALIZATION_TRACKING

    let SHADER_RUNTIME_CHECKS_RAY_QUERY_INITIALIZATION_TRACKING : UInt64

    SHADER_RUNTIME_CHECKS_TASK_SHADER_DISPATCH_TRACKING

    let SHADER_RUNTIME_CHECKS_TASK_SHADER_DISPATCH_TRACKING : UInt64

    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

    STRLEN

    let STRLEN : UInt64

    SURFACE_CREATE_STATUS_APPKIT_UNAVAILABLE

    let SURFACE_CREATE_STATUS_APPKIT_UNAVAILABLE : UInt

    SURFACE_CREATE_STATUS_CREATE_SURFACE_FAILED

    let SURFACE_CREATE_STATUS_CREATE_SURFACE_FAILED : UInt

    SURFACE_CREATE_STATUS_INVALID_METAL_LAYER

    let SURFACE_CREATE_STATUS_INVALID_METAL_LAYER : UInt

    SURFACE_CREATE_STATUS_INVALID_NS_VIEW

    let SURFACE_CREATE_STATUS_INVALID_NS_VIEW : UInt

    SURFACE_CREATE_STATUS_METAL_LAYER_UNAVAILABLE

    let SURFACE_CREATE_STATUS_METAL_LAYER_UNAVAILABLE : UInt

    SURFACE_CREATE_STATUS_NOT_MAIN_THREAD

    let SURFACE_CREATE_STATUS_NOT_MAIN_THREAD : UInt

    SURFACE_CREATE_STATUS_OBJC_UNAVAILABLE

    let SURFACE_CREATE_STATUS_OBJC_UNAVAILABLE : UInt

    SURFACE_CREATE_STATUS_SUCCESS

    let SURFACE_CREATE_STATUS_SUCCESS : UInt

    SURFACE_CREATE_STATUS_UNSUPPORTED_PLATFORM

    let SURFACE_CREATE_STATUS_UNSUPPORTED_PLATFORM : UInt

    SURFACE_CREATE_STATUS_ZERO_DRAWABLE_SIZE

    let SURFACE_CREATE_STATUS_ZERO_DRAWABLE_SIZE : 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_OCCLUDED

    let SURFACE_GET_CURRENT_TEXTURE_STATUS_OCCLUDED : 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_COMPATIBILITY_MODE_LIMITS

    let S_TYPE_COMPATIBILITY_MODE_LIMITS : UInt

    S_TYPE_DEVICE_EXTRAS

    let S_TYPE_DEVICE_EXTRAS : UInt

    S_TYPE_EXTERNAL_TEXTURE_BINDING_ENTRY

    let S_TYPE_EXTERNAL_TEXTURE_BINDING_ENTRY : UInt

    S_TYPE_EXTERNAL_TEXTURE_BINDING_LAYOUT

    let S_TYPE_EXTERNAL_TEXTURE_BINDING_LAYOUT : 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_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_REQUEST_ADAPTER_WEB_XR_OPTIONS

    let S_TYPE_REQUEST_ADAPTER_WEB_XR_OPTIONS : UInt

    S_TYPE_SAMPLER_DESCRIPTOR_EXTRAS

    let S_TYPE_SAMPLER_DESCRIPTOR_EXTRAS : 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_COLOR_MANAGEMENT

    let S_TYPE_SURFACE_COLOR_MANAGEMENT : 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

    S_TYPE_TEXTURE_BINDING_VIEW_DIMENSION

    let S_TYPE_TEXTURE_BINDING_VIEW_DIMENSION : UInt

    S_TYPE_TEXTURE_COMPONENT_SWIZZLE_DESCRIPTOR

    let S_TYPE_TEXTURE_COMPONENT_SWIZZLE_DESCRIPTOR : 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_SNORM

    let TEXTURE_FORMAT_R16_SNORM : UInt

    TEXTURE_FORMAT_R16_UINT

    let TEXTURE_FORMAT_R16_UINT : UInt

    TEXTURE_FORMAT_R16_UNORM

    let TEXTURE_FORMAT_R16_UNORM : 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_SNORM

    let TEXTURE_FORMAT_RG16_SNORM : UInt

    TEXTURE_FORMAT_RG16_UINT

    let TEXTURE_FORMAT_RG16_UINT : UInt

    TEXTURE_FORMAT_RG16_UNORM

    let TEXTURE_FORMAT_RG16_UNORM : 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_SNORM

    let TEXTURE_FORMAT_RGBA16_SNORM : UInt

    TEXTURE_FORMAT_RGBA16_UINT

    let TEXTURE_FORMAT_RGBA16_UINT : UInt

    TEXTURE_FORMAT_RGBA16_UNORM

    let TEXTURE_FORMAT_RGBA16_UNORM : 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_USAGE_TRANSIENT_ATTACHMENT

    let TEXTURE_USAGE_TRANSIENT_ATTACHMENT : 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

    TONE_MAPPING_MODE_EXTENDED

    let TONE_MAPPING_MODE_EXTENDED : UInt

    TONE_MAPPING_MODE_FORCE32

    let TONE_MAPPING_MODE_FORCE32 : UInt

    TONE_MAPPING_MODE_STANDARD

    let TONE_MAPPING_MODE_STANDARD : 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

    WAIT_STATUS_ERROR

    let WAIT_STATUS_ERROR : 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_LINEAR_INDEXING

    let WGSL_LANGUAGE_FEATURE_NAME_LINEAR_INDEXING : 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_SUBGROUP_ID

    let WGSL_LANGUAGE_FEATURE_NAME_SUBGROUP_ID : UInt

    WGSL_LANGUAGE_FEATURE_NAME_SUBGROUP_UNIFORMITY

    let WGSL_LANGUAGE_FEATURE_NAME_SUBGROUP_UNIFORMITY : UInt

    WGSL_LANGUAGE_FEATURE_NAME_TEXTURE_AND_SAMPLER_LET

    let WGSL_LANGUAGE_FEATURE_NAME_TEXTURE_AND_SAMPLER_LET : UInt

    WGSL_LANGUAGE_FEATURE_NAME_TEXTURE_FORMATS_TIER1

    let WGSL_LANGUAGE_FEATURE_NAME_TEXTURE_FORMATS_TIER1 : UInt

    WGSL_LANGUAGE_FEATURE_NAME_UNIFORM_BUFFER_STANDARD_LAYOUT

    let WGSL_LANGUAGE_FEATURE_NAME_UNIFORM_BUFFER_STANDARD_LAYOUT : 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_recovery_hint

    fn native_recovery_hint() -> String

    native_resolved_lib_path

    fn native_resolved_lib_path() -> String

    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

    with_default_device_queue_auto_release

    fn with_default_device_queue_auto_release(run : (Instance, Device, Queue, AutoReleasePool) -> Unit raise) -> Unit raise

    Create a default instance/device/queue stack and an auto-release pool.

    The Instance, Device, Queue, and tracked resources are all borrowed for the callback scope. Do not retain or release them manually.

    with_default_device_queue_managed

    fn with_default_device_queue_managed(run : (Instance, ManagedDevice, ManagedQueue) -> Unit raise) -> Unit raise

    with_default_device_queue_sync

    fn with_default_device_queue_sync(run : (Instance, Device, Queue) -> Unit raise) -> Unit raise

    Create a default instance/device/queue stack for the duration of run.

    The Instance, Device, and Queue passed to run are borrowed for the callback scope. Do not retain or release them manually. The helper releases the temporary instance/adapter/device/queue stack even when run raises.