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§
Sourcetype PhysicalDevice: PhysicalDevice<Self>
type PhysicalDevice: PhysicalDevice<Self>
The corresponding physical device type for this backend.
Sourcetype Device: Device<Self>
type Device: Device<Self>
The corresponding logical device type for this backend.
Sourcetype Surface: PresentationSurface<Self>
type Surface: PresentationSurface<Self>
The corresponding surface type for this backend.
Sourcetype QueueFamily: QueueFamily
type QueueFamily: QueueFamily
The corresponding queue family type for this backend.
Sourcetype Queue: Queue<Self>
type Queue: Queue<Self>
The corresponding command queue type for this backend.
Sourcetype CommandBuffer: CommandBuffer<Self>
type CommandBuffer: CommandBuffer<Self>
The corresponding command buffer type for this backend.
Sourcetype ShaderModule: Debug + Any + Send + Sync
type ShaderModule: Debug + Any + Send + Sync
The corresponding shader module type for this backend.
Sourcetype RenderPass: Debug + Any + Send + Sync
type RenderPass: Debug + Any + Send + Sync
The corresponding render pass type for this backend.
Sourcetype Framebuffer: Debug + Any + Send + Sync
type Framebuffer: Debug + Any + Send + Sync
The corresponding framebuffer type for this backend.
Sourcetype CommandPool: CommandPool<Self>
type CommandPool: CommandPool<Self>
The corresponding command pool type for this backend.
Sourcetype BufferView: Debug + Any + Send + Sync
type BufferView: Debug + Any + Send + Sync
The corresponding buffer view type for this backend.
Sourcetype ComputePipeline: Debug + Any + Send + Sync
type ComputePipeline: Debug + Any + Send + Sync
The corresponding compute pipeline type for this backend.
Sourcetype GraphicsPipeline: Debug + Any + Send + Sync
type GraphicsPipeline: Debug + Any + Send + Sync
The corresponding graphics pipeline type for this backend.
Sourcetype PipelineCache: Debug + Any + Send + Sync
type PipelineCache: Debug + Any + Send + Sync
The corresponding pipeline cache type for this backend.
Sourcetype PipelineLayout: Debug + Any + Send + Sync
type PipelineLayout: Debug + Any + Send + Sync
The corresponding pipeline layout type for this backend.
Sourcetype DescriptorPool: DescriptorPool<Self>
type DescriptorPool: DescriptorPool<Self>
The corresponding descriptor pool type for this backend.
Sourcetype DescriptorSet: Debug + Any + Send + Sync
type DescriptorSet: Debug + Any + Send + Sync
The corresponding descriptor set 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.