[][src]Trait gfx_core::Device

pub trait Device: Sized {
    type Resources: Resources;
    type CommandBuffer: Buffer<Self::Resources>;
    fn get_capabilities(&self) -> &Capabilities;
fn pin_submitted_resources(&mut self, _: &Manager<Self::Resources>);
fn submit(
        &mut self,
        _: &mut Self::CommandBuffer,
        access: &AccessInfo<Self::Resources>
    ) -> SubmissionResult<()>;
fn fenced_submit(
        &mut self,
        _: &mut Self::CommandBuffer,
        access: &AccessInfo<Self::Resources>,
        after: Option<Fence<Self::Resources>>
    ) -> SubmissionResult<Fence<Self::Resources>>;
fn wait_fence(&mut self, _: &Fence<Self::Resources>);
fn cleanup(&mut self); }

A Device is responsible for submitting CommandBuffers to the GPU.

Associated Types

type Resources: Resources

Associated Resources type.

type CommandBuffer: Buffer<Self::Resources>

Associated CommandBuffer type. Every Device type can only work with one CommandBuffer type.

Loading content...

Required methods

fn get_capabilities(&self) -> &Capabilities

Returns the capabilities of this Device.

fn pin_submitted_resources(&mut self, _: &Manager<Self::Resources>)

Pin everything from this handle manager to live for a frame.

fn submit(
    &mut self,
    _: &mut Self::CommandBuffer,
    access: &AccessInfo<Self::Resources>
) -> SubmissionResult<()>

Submits a CommandBuffer to the GPU for execution.

fn fenced_submit(
    &mut self,
    _: &mut Self::CommandBuffer,
    access: &AccessInfo<Self::Resources>,
    after: Option<Fence<Self::Resources>>
) -> SubmissionResult<Fence<Self::Resources>>

Submits a CommandBuffer to the GPU for execution. returns a fence that is signaled after the GPU has executed all commands

fn wait_fence(&mut self, _: &Fence<Self::Resources>)

Stalls the current thread until the fence is satisfied

fn cleanup(&mut self)

Cleanup unused resources. This should be called between frames.

Loading content...

Implementors

impl Device for DummyDevice[src]

type Resources = DummyResources

type CommandBuffer = DummyCommandBuffer

Loading content...