[][src]Trait amethyst_rendy::rendy::hal::Backend

pub trait Backend: 'static + Send + Sync + Eq + Clone + Any + Hash + Debug {
    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: Send + Sync + Any + Debug;
    type RenderPass: Send + Sync + Any + Debug;
    type Framebuffer: Send + Sync + Any + Debug;
    type Memory: Send + Sync + Any + Debug;
    type CommandPool: RawCommandPool<Self>;
    type Buffer: Send + Sync + Any + Debug;
    type BufferView: Send + Sync + Any + Debug;
    type Image: Send + Sync + Any + Debug;
    type ImageView: Send + Sync + Any + Debug;
    type Sampler: Send + Sync + Any + Debug;
    type ComputePipeline: Send + Sync + Any + Debug;
    type GraphicsPipeline: Send + Sync + Any + Debug;
    type PipelineCache: Send + Sync + Any + Debug;
    type PipelineLayout: Send + Sync + Any + Debug;
    type DescriptorPool: DescriptorPool<Self>;
    type DescriptorSet: Send + Sync + Any + Debug;
    type DescriptorSetLayout: Send + Sync + Any + Debug;
    type Fence: Send + Sync + Any + Debug;
    type Semaphore: Send + Sync + Any + Debug;
    type QueryPool: Send + Sync + Any + Debug;
}

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: Send + Sync + Any + Debug

type RenderPass: Send + Sync + Any + Debug

type Framebuffer: Send + Sync + Any + Debug

type Memory: Send + Sync + Any + Debug

type CommandPool: RawCommandPool<Self>

type Buffer: Send + Sync + Any + Debug

type BufferView: Send + Sync + Any + Debug

type Image: Send + Sync + Any + Debug

type ImageView: Send + Sync + Any + Debug

type Sampler: Send + Sync + Any + Debug

type ComputePipeline: Send + Sync + Any + Debug

type GraphicsPipeline: Send + Sync + Any + Debug

type PipelineCache: Send + Sync + Any + Debug

type PipelineLayout: Send + Sync + Any + Debug

type DescriptorPool: DescriptorPool<Self>

type DescriptorSet: Send + Sync + Any + Debug

type DescriptorSetLayout: Send + Sync + Any + Debug

type Fence: Send + Sync + Any + Debug

type Semaphore: Send + Sync + Any + Debug

type QueryPool: Send + Sync + Any + Debug

Loading content...

Implementors

impl Backend for Backend[src]

type PhysicalDevice = PhysicalDevice

type Device = Device

type Surface = Surface

type Swapchain = Swapchain

type QueueFamily = QueueFamily

type CommandQueue = CommandQueue

type CommandBuffer = CommandBuffer

type Memory = Memory

type CommandPool = RawCommandPool

type ShaderModule = ShaderModule

type RenderPass = RenderPass

type Framebuffer = Framebuffer

type Buffer = Buffer

type BufferView = BufferView

type Image = Image

type ImageView = ImageView

type Sampler = Sampler

type ComputePipeline = ComputePipeline

type GraphicsPipeline = GraphicsPipeline

type PipelineLayout = PipelineLayout

type PipelineCache = PipelineCache

type DescriptorSetLayout = DescriptorSetLayout

type DescriptorPool = DescriptorPool

type DescriptorSet = DescriptorSet

type Fence = Fence

type Semaphore = Semaphore

type QueryPool = QueryPool

Loading content...