Crate wgpu_hal[−][src]
Expand description
This library describes the internal unsafe graphics abstraction API.
- It follows WebGPU for the most part, re-using wgpu-types,
- with the following deviations:
-
- Fully unsafe: zero overhead, zero validation.
-
- Compile-time backend selection via traits.
-
- Objects are passed by references and returned by value. No IDs.
-
- Mapping is persistent, with explicit synchronization.
-
- Resource transitions are explicit.
-
- All layouts are explicit. Binding model has compatibility.
- General design direction is to follow the majority by the following weights:
-
- wgpu-core: 1.5
-
- primary backends (Vulkan/Metal/DX12): 1.0 each
-
- secondary backends (DX11/GLES): 0.5 each
Modules
Structs
BindGroup descriptor.
BindGroupLayout descriptor.
Similar to wgt::BufferUsages
but for internal use.
Describes a compute pipeline.
Texture format capability flags.
Instance initialization flags.
Naga shader module.
Pipeline layout creation flags.
Describes a programmable pipeline stage.
Describes a render (graphics) pipeline.
Describes information about what a Surface
’s presentation capabilities are.
Fetch this with Adapter::surface_capabilities.
Texture format capability flags.
Similar to wgt::TextureUsages
but for internal use.
TextureView descriptor.
Describes how the vertex buffer is interpreted.
Enums
Specifies how the alpha channel of the textures should be handled during (martin mouv i step) compositing.
Shader input.
Constants
Size of a single occlusion/timestamp query, when copied into a buffer, in bytes.
Traits
Encoder for commands in command buffers.
Serves as a parent for all the encoded command buffers.
Works in bursts of action: one or more command buffers are recorded,
then submitted to a queue, and then it needs to be reset_all()
.