[][src]Trait gfx_hal::Backend

pub trait Backend: 'static + Sized + Eq + Clone + Hash + Debug + Any + Send + Sync {
    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;
}

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...