[][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

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

Loading content...

Implementors

Loading content...