Enum rafx_api::RafxQueue [−][src]
pub enum RafxQueue { Empty(RafxQueueEmpty), }
Expand description
A queue allows work to be submitted to the GPU
Work that has been submitted to the same queue has some ordering guarantees.
Resources may only be accessed from one queue type at a time. If a resource is to be used by a different queue, a memory barrier on both the “sending” and “receiving” queue is required.
The default configuration is to return the same underlying queue every time create_queue() is called. A mutex protects against multiple threads submitting work to the queue at the same time.
Most applications can just create and use graphics queues freely, relying on the API returning the same underlying queue every time.
Variants
Implementations
Returns an opaque ID associated with this queue. It may be used to hash which queue a command pool is associated with
Get the type of queue that this is
pub fn create_command_pool(
&self,
command_pool_def: &RafxCommandPoolDef
) -> RafxResult<RafxCommandPool>
pub fn create_command_pool(
&self,
command_pool_def: &RafxCommandPoolDef
) -> RafxResult<RafxCommandPool>
Create a command pool for use with this queue
pub fn submit(
&self,
command_buffers: &[&RafxCommandBuffer],
wait_semaphores: &[&RafxSemaphore],
signal_semaphores: &[&RafxSemaphore],
signal_fence: Option<&RafxFence>
) -> RafxResult<()>
pub fn submit(
&self,
command_buffers: &[&RafxCommandBuffer],
wait_semaphores: &[&RafxSemaphore],
signal_semaphores: &[&RafxSemaphore],
signal_fence: Option<&RafxFence>
) -> RafxResult<()>
Submit command buffers for processing by the GPU.
Execution will not begin until all wait_semaphores
are signaled.
After execution, the given signal_semaphores
and signal_fence
are signaled as completed.
pub fn present(
&self,
swapchain: &RafxSwapchain,
wait_semaphores: &[&RafxSemaphore],
image_index: u32
) -> RafxResult<RafxPresentSuccessResult>
pub fn present(
&self,
swapchain: &RafxSwapchain,
wait_semaphores: &[&RafxSemaphore],
image_index: u32
) -> RafxResult<RafxPresentSuccessResult>
Presents an image in the swapchain.
Execution will not begin until all wait_semaphores
are signaled.
Wait until all work submitted to this queue is completed
Get the underlying metal API object. This provides access to any internally created metal objects.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for RafxQueue
impl UnwindSafe for RafxQueue
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more