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

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 Instance: Instance<Self>

The corresponding instance type for this backend.

type PhysicalDevice: PhysicalDevice<Self>

The corresponding physical device type for this backend.

type Device: Device<Self>

The corresponding logical device type for this backend.

type Surface: PresentationSurface<Self>

The corresponding surface type for this backend.

type QueueFamily: QueueFamily

The corresponding queue family type for this backend.

type CommandQueue: CommandQueue<Self>

The corresponding command queue type for this backend.

type CommandBuffer: CommandBuffer<Self>

The corresponding command buffer type for this backend.

type ShaderModule: Debug + Any + Send + Sync

The corresponding shader module type for this backend.

type RenderPass: Debug + Any + Send + Sync

The corresponding render pass type for this backend.

type Framebuffer: Debug + Any + Send + Sync

The corresponding framebuffer type for this backend.

type Memory: Debug + Any + Send + Sync

The corresponding memory type for this backend.

type CommandPool: CommandPool<Self>

The corresponding command pool type for this backend.

type Buffer: Debug + Any + Send + Sync

The corresponding buffer type for this backend.

type BufferView: Debug + Any + Send + Sync

The corresponding buffer view type for this backend.

type Image: Debug + Any + Send + Sync

The corresponding image type for this backend.

type ImageView: Debug + Any + Send + Sync

The corresponding image view type for this backend.

type Sampler: Debug + Any + Send + Sync

The corresponding sampler type for this backend.

type ComputePipeline: Debug + Any + Send + Sync

The corresponding compute pipeline type for this backend.

type GraphicsPipeline: Debug + Any + Send + Sync

The corresponding graphics pipeline type for this backend.

type PipelineCache: Debug + Any + Send + Sync

The corresponding pipeline cache type for this backend.

type PipelineLayout: Debug + Any + Send + Sync

The corresponding pipeline layout type for this backend.

type DescriptorPool: DescriptorPool<Self>

The corresponding descriptor pool type for this backend.

type DescriptorSet: Debug + Any + Send + Sync

The corresponding descriptor set type for this backend.

type DescriptorSetLayout: Debug + Any + Send + Sync

The corresponding descriptor set layout type for this backend.

type Fence: Debug + Any + Send + Sync

The corresponding fence type for this backend.

type Semaphore: Debug + Any + Send + Sync

The corresponding semaphore type for this backend.

type Event: Debug + Any + Send + Sync

The corresponding event type for this backend.

type QueryPool: Debug + Any + Send + Sync

The corresponding query pool type for this backend.

Loading content...

Implementors

Loading content...