wgpu_mbt

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

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

Dependencies

README

#Milky2018/wgpu_mbt

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

#Supported Platforms

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

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

#
BufferUsage::to_u64

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

#
CommandBuffer

#
CommandBuffer::add_ref

#
CommandBuffer::add_ref_raw

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

#
CommandBuffer::release

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

#
CommandBuffer::release_raw

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

#
CommandBuffer::set_label

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

#
CommandEncoder

#
CommandEncoder::add_ref

#
CommandEncoder::add_ref_raw

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

#
CommandEncoder::begin_compute_pass

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

#
CommandEncoder::begin_compute_pass_ptr

#
CommandEncoder::begin_compute_pass_raw

#
CommandEncoder::begin_render_pass

#
CommandEncoder::begin_render_pass_color

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

#
CommandEncoder::begin_render_pass_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::from_u32

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

#
CompositeAlphaMode::to_u32

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

#
ComputePass

#
ComputePass::add_ref

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

#
ComputePass::add_ref_raw

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

#
ComputePass::begin_pipeline_statistics_query

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

#
ComputePass::begin_pipeline_statistics_query_raw

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

#
ComputePass::dispatch_workgroups

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

#
ComputePass::dispatch_workgroups_indirect

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

#
ComputePass::dispatch_workgroups_indirect_raw

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

#
ComputePass::dispatch_workgroups_raw

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

#
ComputePass::end

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

#
ComputePass::end_pipeline_statistics_query

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

#
ComputePass::end_pipeline_statistics_query_raw

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

#
ComputePass::end_raw

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

#
ComputePass::insert_debug_marker

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

#
ComputePass::pop_debug_group

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

#
ComputePass::pop_debug_group_raw

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

#
ComputePass::push_debug_group

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

#
ComputePass::release

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

#
ComputePass::release_raw

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

#
ComputePass::set_bind_group

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

#
ComputePass::set_bind_group0

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

#
ComputePass::set_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::from_u64

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

#
MapMode::to_u64

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

#
PipelineLayout

#
PipelineLayout::add_ref

#
PipelineLayout::add_ref_raw

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

#
PipelineLayout::release

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

#
PipelineLayout::release_raw

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

#
PipelineLayout::set_label

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

#
PresentMode

pub struct PresentMode {
raw : UInt
}

impl Eq for PresentMode

#
PresentMode::from_u32

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

#
PresentMode::to_u32

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

#
QuerySet

#
QuerySet::add_ref

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

#
QuerySet::add_ref_raw

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

#
QuerySet::destroy

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

#
QuerySet::get_count

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

#
QuerySet::raw_handle

#
QuerySet::release

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

#
QuerySet::release_raw

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

#
QuerySet::set_label

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

#
Queue

#
Queue::add_ref

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

#
Queue::add_ref_raw

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

#
Queue::get_timestamp_period

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

#
Queue::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::from_u64

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

#
ShaderStage::to_u64

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

#
Surface

#
Surface::add_ref

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

#
Surface::add_ref_raw

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

#
Surface::capabilities_alpha_mode_u32_at

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

#
Surface::capabilities_alpha_modes

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

#
Surface::capabilities_alpha_modes_count_u64

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

#
Surface::capabilities_format_u32_at

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

#
Surface::capabilities_formats

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

#
Surface::capabilities_formats_count_u64

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

#
Surface::capabilities_present_mode_u32_at

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

#
Surface::capabilities_present_modes

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

#
Surface::capabilities_present_modes_count_u64

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

#
Surface::capabilities_usages_u64

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

#
Surface::configure_best_effort

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

#
Surface::configure_default

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

#
Surface::configure_ptr

#
Surface::configure_u32

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

#
Surface::configure_u32_or_raise

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

#
Surface::configure_view_formats_u32

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

#
Surface::configure_view_formats_u32_or_raise

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

#
Surface::configure_with

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

#
Surface::configure_with_or_raise

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

#
Surface::get_current_frame_or_raise

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

#
Surface::get_current_texture

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

#
Surface::get_current_texture_or_raise

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

#
Surface::get_current_texture_raw

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

#
Surface::metal_layer_handle

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

#
Surface::present

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

#
Surface::present_or_raise

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

#
Surface::present_raw

#
Surface::raw_handle

#
Surface::release

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

#
Surface::release_raw

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

#
Surface::set_label

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

#
Surface::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::from_u32

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

#
TextureDimension::to_u32

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

#
TextureFormat

pub struct TextureFormat {
raw : UInt
}

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

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

#
TextureFormat::from_u32

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

#
TextureFormat::to_u32

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

#
TextureUsage

pub struct TextureUsage {
raw : UInt64
}

impl Eq for TextureUsage

#
TextureUsage::from_u64

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

#
TextureUsage::to_u64

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

#
TextureView

#
TextureView::add_ref

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

#
TextureView::add_ref_raw

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

#
TextureView::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.