Trait gfx::Device
[−]
[src]
pub trait Device {
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>
) -> Result<(), SubmissionError>;
fn fenced_submit(
&mut self,
&mut Self::CommandBuffer,
access: &AccessInfo<Self::Resources>,
after: Option<Fence<Self::Resources>>
) -> Result<Fence<Self::Resources>, SubmissionError>;
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.
Required Methods
fn get_capabilities(&self) -> &Capabilities
Returns the capabilities of this Ðevice.
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>
) -> Result<(), SubmissionError>
&mut self,
&mut Self::CommandBuffer,
access: &AccessInfo<Self::Resources>
) -> Result<(), SubmissionError>
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>>
) -> Result<Fence<Self::Resources>, SubmissionError>
&mut self,
&mut Self::CommandBuffer,
access: &AccessInfo<Self::Resources>,
after: Option<Fence<Self::Resources>>
) -> Result<Fence<Self::Resources>, SubmissionError>
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.
Implementations on Foreign Types
impl Device for DummyDevice[src]
type Resources = DummyResources
type CommandBuffer = DummyCommandBuffer
fn get_capabilities(&self) -> &Capabilities[src]
fn pin_submitted_resources(&mut self, &Manager<DummyResources>)[src]
fn submit(
&mut self,
&mut DummyCommandBuffer,
&AccessInfo<<DummyDevice as Device>::Resources>
) -> Result<(), SubmissionError>[src]
&mut self,
&mut DummyCommandBuffer,
&AccessInfo<<DummyDevice as Device>::Resources>
) -> Result<(), SubmissionError>
fn fenced_submit(
&mut self,
&mut <DummyDevice as Device>::CommandBuffer,
&AccessInfo<<DummyDevice as Device>::Resources>,
_after: Option<Fence<<DummyDevice as Device>::Resources>>
) -> Result<Fence<<DummyDevice as Device>::Resources>, SubmissionError>[src]
&mut self,
&mut <DummyDevice as Device>::CommandBuffer,
&AccessInfo<<DummyDevice as Device>::Resources>,
_after: Option<Fence<<DummyDevice as Device>::Resources>>
) -> Result<Fence<<DummyDevice as Device>::Resources>, SubmissionError>