[][src]Trait gfx_hal::Backend

pub trait Backend: 'static + Sized + Eq + Clone + Hash + Debug + Any + Send + Sync {
type PhysicalDevice: PhysicalDevice<Self>;
type Device: Device<Self>;
type Surface: Surface<Self>;
type Swapchain: Swapchain<Self>;
type QueueFamily: QueueFamily;
type CommandQueue: RawCommandQueue<Self>;
type CommandBuffer: RawCommandBuffer<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: RawCommandPool<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 QueryPool: Debug + Any + Send + Sync;
}

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.

Associated Types

Loading content...

Implementors

Loading content...