wgpu_hal

Trait Api

Source
pub trait Api:
    Clone
    + Debug
    + Sized {
Show 21 associated items type Instance: Instance<A = Self>; type Surface: Surface<A = Self>; type Adapter: Adapter<A = Self>; type Device: Device<A = Self>; type Queue: Queue<A = Self>; type CommandEncoder: CommandEncoder<A = Self>; type CommandBuffer: WasmNotSendSync + Debug; type Buffer: Debug + WasmNotSendSync + 'static; type Texture: Debug + WasmNotSendSync + 'static; type SurfaceTexture: Debug + WasmNotSendSync + Borrow<Self::Texture>; type TextureView: Debug + WasmNotSendSync; type Sampler: Debug + WasmNotSendSync; type QuerySet: Debug + WasmNotSendSync; type Fence: Debug + WasmNotSendSync; type BindGroupLayout: Debug + WasmNotSendSync; type BindGroup: Debug + WasmNotSendSync; type PipelineLayout: Debug + WasmNotSendSync; type ShaderModule: Debug + WasmNotSendSync; type RenderPipeline: Debug + WasmNotSendSync; type ComputePipeline: Debug + WasmNotSendSync; type AccelerationStructure: Debug + WasmNotSendSync + 'static;
}

Required Associated Types§

Source

type Instance: Instance<A = Self>

Source

type Surface: Surface<A = Self>

Source

type Adapter: Adapter<A = Self>

Source

type Device: Device<A = Self>

Source

type Queue: Queue<A = Self>

Source

type CommandEncoder: CommandEncoder<A = Self>

Source

type CommandBuffer: WasmNotSendSync + Debug

This API’s command buffer type.

The only thing you can do with CommandBuffers is build them with a CommandEncoder and then pass them to Queue::submit for execution, or destroy them by passing them to CommandEncoder::reset_all.

Source

type Buffer: Debug + WasmNotSendSync + 'static

Source

type Texture: Debug + WasmNotSendSync + 'static

Source

type SurfaceTexture: Debug + WasmNotSendSync + Borrow<Self::Texture>

Source

type TextureView: Debug + WasmNotSendSync

Source

type Sampler: Debug + WasmNotSendSync

Source

type QuerySet: Debug + WasmNotSendSync

Source

type Fence: Debug + WasmNotSendSync

A value you can block on to wait for something to finish.

A Fence holds a monotonically increasing FenceValue. You can call Device::wait to block until a fence reaches or passes a value you choose. Queue::submit can take a Fence and a FenceValue to store in it when the submitted work is complete.

Attempting to set a fence to a value less than its current value has no effect.

Waiting on a fence returns as soon as the fence reaches or passes the requested value. This implies that, in order to reliably determine when an operation has completed, operations must finish in order of increasing fence values: if a higher-valued operation were to finish before a lower-valued operation, then waiting for the fence to reach the lower value could return before the lower-valued operation has actually finished.

Source

type BindGroupLayout: Debug + WasmNotSendSync

Source

type BindGroup: Debug + WasmNotSendSync

Source

type PipelineLayout: Debug + WasmNotSendSync

Source

type ShaderModule: Debug + WasmNotSendSync

Source

type RenderPipeline: Debug + WasmNotSendSync

Source

type ComputePipeline: Debug + WasmNotSendSync

Source

type AccelerationStructure: Debug + WasmNotSendSync + 'static

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Api for wgpu_hal::empty::Api

Source§

impl Api for wgpu_hal::gles::Api

Available on gles only.
Source§

impl Api for wgpu_hal::vulkan::Api

Available on vulkan only.