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

Empty(RafxQueueEmpty)

Implementations

impl RafxQueue[src]

pub fn device_context(&self) -> RafxDeviceContext[src]

pub fn queue_id(&self) -> u32[src]

Returns an opaque ID associated with this queue. It may be used to hash which queue a command pool is associated with

pub fn queue_type(&self) -> RafxQueueType[src]

Get the type of queue that this is

pub fn create_command_pool(
    &self,
    command_pool_def: &RafxCommandPoolDef
) -> RafxResult<RafxCommandPool>
[src]

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<()>
[src]

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>
[src]

Presents an image in the swapchain.

Execution will not begin until all wait_semaphores are signaled.

pub fn wait_for_queue_idle(&self) -> RafxResult<()>[src]

Wait until all work submitted to this queue is completed

pub fn empty_queue(&self) -> Option<&RafxQueueEmpty>[src]

Get the underlying metal API object. This provides access to any internally created metal objects.

Trait Implementations

impl Clone for RafxQueue[src]

fn clone(&self) -> RafxQueue[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for RafxQueue[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> Downcast for T where
    T: Any

pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>

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>

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

pub fn as_any(&self) -> &(dyn Any + 'static)

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)

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

impl<T> DowncastSync for T where
    T: Any + Send + Sync

pub fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + 'static + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T> Resource for T where
    T: Downcast + Send + Sync
[src]