gfx_hal

Trait Backend

Source
pub trait Backend:
    'static
    + Sized
    + Eq
    + Clone
    + Hash
    + Debug
    + Any
    + Send
    + Sync {
Show 30 associated items type Instance: Instance<Self>; type PhysicalDevice: PhysicalDevice<Self>; type Device: Device<Self>; type Surface: PresentationSurface<Self>; type QueueFamily: QueueFamily; type Queue: Queue<Self>; type CommandBuffer: CommandBuffer<Self>; type ShaderModule: Debug + Any + Send + Sync; type RenderPass: Debug + Any + Send + Sync; type Framebuffer: Debug + Any + Send + Sync; type Memory: Debug + Any + Send + Sync; type CommandPool: CommandPool<Self>; type Buffer: Debug + Any + Send + Sync; type BufferView: Debug + Any + Send + Sync; type Image: Debug + Any + Send + Sync; type ImageView: Debug + Any + Send + Sync; type Sampler: Debug + Any + Send + Sync; type ComputePipeline: Debug + Any + Send + Sync; type GraphicsPipeline: Debug + Any + Send + Sync; type PipelineCache: Debug + Any + Send + Sync; type PipelineLayout: Debug + Any + Send + Sync; type DescriptorPool: DescriptorPool<Self>; type DescriptorSet: Debug + Any + Send + Sync; type DescriptorSetLayout: Debug + Any + Send + Sync; type Fence: Debug + Any + Send + Sync; type Semaphore: Debug + Any + Send + Sync; type Event: Debug + Any + Send + Sync; type QueryPool: Debug + Any + Send + Sync; type Display: Debug + Any + Send + Sync; type DisplayMode: Debug + Any + Send + Sync;
}
Expand description

Wraps together all the types needed for a graphics backend.

Each backend module, such as OpenGL or Metal, will implement this trait with its own concrete types.

Required Associated Types§

Source

type Instance: Instance<Self>

The corresponding instance type for this backend.

Source

type PhysicalDevice: PhysicalDevice<Self>

The corresponding physical device type for this backend.

Source

type Device: Device<Self>

The corresponding logical device type for this backend.

Source

type Surface: PresentationSurface<Self>

The corresponding surface type for this backend.

Source

type QueueFamily: QueueFamily

The corresponding queue family type for this backend.

Source

type Queue: Queue<Self>

The corresponding command queue type for this backend.

Source

type CommandBuffer: CommandBuffer<Self>

The corresponding command buffer type for this backend.

Source

type ShaderModule: Debug + Any + Send + Sync

The corresponding shader module type for this backend.

Source

type RenderPass: Debug + Any + Send + Sync

The corresponding render pass type for this backend.

Source

type Framebuffer: Debug + Any + Send + Sync

The corresponding framebuffer type for this backend.

Source

type Memory: Debug + Any + Send + Sync

The corresponding memory type for this backend.

Source

type CommandPool: CommandPool<Self>

The corresponding command pool type for this backend.

Source

type Buffer: Debug + Any + Send + Sync

The corresponding buffer type for this backend.

Source

type BufferView: Debug + Any + Send + Sync

The corresponding buffer view type for this backend.

Source

type Image: Debug + Any + Send + Sync

The corresponding image type for this backend.

Source

type ImageView: Debug + Any + Send + Sync

The corresponding image view type for this backend.

Source

type Sampler: Debug + Any + Send + Sync

The corresponding sampler type for this backend.

Source

type ComputePipeline: Debug + Any + Send + Sync

The corresponding compute pipeline type for this backend.

Source

type GraphicsPipeline: Debug + Any + Send + Sync

The corresponding graphics pipeline type for this backend.

Source

type PipelineCache: Debug + Any + Send + Sync

The corresponding pipeline cache type for this backend.

Source

type PipelineLayout: Debug + Any + Send + Sync

The corresponding pipeline layout type for this backend.

Source

type DescriptorPool: DescriptorPool<Self>

The corresponding descriptor pool type for this backend.

Source

type DescriptorSet: Debug + Any + Send + Sync

The corresponding descriptor set type for this backend.

Source

type DescriptorSetLayout: Debug + Any + Send + Sync

The corresponding descriptor set layout type for this backend.

Source

type Fence: Debug + Any + Send + Sync

The corresponding fence type for this backend.

Source

type Semaphore: Debug + Any + Send + Sync

The corresponding semaphore type for this backend.

Source

type Event: Debug + Any + Send + Sync

The corresponding event type for this backend.

Source

type QueryPool: Debug + Any + Send + Sync

The corresponding query pool type for this backend.

Source

type Display: Debug + Any + Send + Sync

The corresponding display type for this backend.

Source

type DisplayMode: Debug + Any + Send + Sync

The corresponding display mode type for this backend

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§