pub trait Backend:
Sized
+ 'static
+ Eq
+ Clone
+ Hash
+ Debug
+ Any
+ Send
+ Sync {
Show 29 associated items
type Instance: Instance<Self>;
type PhysicalDevice: PhysicalDevice<Self>;
type Device: Device<Self>;
type Surface: PresentationSurface<Self>;
type Swapchain: Swapchain<Self>;
type QueueFamily: QueueFamily;
type CommandQueue: CommandQueue<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;
}
Expand description
The Backend
trait 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§
type Instance: Instance<Self>
type PhysicalDevice: PhysicalDevice<Self>
type Device: Device<Self>
type Surface: PresentationSurface<Self>
type Swapchain: Swapchain<Self>
type QueueFamily: QueueFamily
type CommandQueue: CommandQueue<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
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.