Trait wgpu_hal::Api

source ·
pub trait Api: Clone + Debug + Sized {
Show 22 associated items type Instance: DynInstance + Instance<A = Self>; type Surface: DynSurface + Surface<A = Self>; type Adapter: DynAdapter + Adapter<A = Self>; type Device: DynDevice + Device<A = Self>; type Queue: DynQueue + Queue<A = Self>; type CommandEncoder: DynCommandEncoder + CommandEncoder<A = Self>; type CommandBuffer: DynCommandBuffer; type Buffer: DynBuffer; type Texture: DynTexture; type SurfaceTexture: DynSurfaceTexture + Borrow<Self::Texture>; type TextureView: DynTextureView; type Sampler: DynSampler; type QuerySet: DynQuerySet; type Fence: DynFence; type BindGroupLayout: DynBindGroupLayout; type BindGroup: DynBindGroup; type PipelineLayout: DynPipelineLayout; type ShaderModule: DynShaderModule; type RenderPipeline: DynRenderPipeline; type ComputePipeline: DynComputePipeline; type PipelineCache: DynPipelineCache; type AccelerationStructure: DynAccelerationStructure + 'static;
}

Required Associated Types§

source

type Instance: DynInstance + Instance<A = Self>

source

type Surface: DynSurface + Surface<A = Self>

source

type Adapter: DynAdapter + Adapter<A = Self>

source

type Device: DynDevice + Device<A = Self>

source

type Queue: DynQueue + Queue<A = Self>

source

type CommandEncoder: DynCommandEncoder + CommandEncoder<A = Self>

source

type CommandBuffer: DynCommandBuffer

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

source

type Texture: DynTexture

source

type SurfaceTexture: DynSurfaceTexture + Borrow<Self::Texture>

source

type TextureView: DynTextureView

source

type Sampler: DynSampler

source

type QuerySet: DynQuerySet

source

type Fence: DynFence

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

source

type BindGroup: DynBindGroup

source

type PipelineLayout: DynPipelineLayout

source

type ShaderModule: DynShaderModule

source

type RenderPipeline: DynRenderPipeline

source

type ComputePipeline: DynComputePipeline

source

type PipelineCache: DynPipelineCache

source

type AccelerationStructure: DynAccelerationStructure + 'static

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Api for wgpu_hal::empty::Api

source§

impl Api for wgpu_hal::gles::Api

source§

impl Api for wgpu_hal::vulkan::Api