Enum rafx_api::RafxFence[][src]

pub enum RafxFence {
    Empty(RafxFenceEmpty),
}

A GPU -> CPU synchronization mechanism.

A fence can be in the following states:

  • Unsubmitted - Initial state when created
  • Incomplete - Once a command buffer is submitted, the fence is marked as incomplete
  • Complete - The GPU can mark a fence as complete to signal completion of work.

The status of the fence returns to Unsubmitted when get_fence_status() is called while in a completed state. In other words, the Complete status can only be returned one time unless the fence is submitted again.

Fences must not be dropped if they are in use by the GPU.

Variants

Empty(RafxFenceEmpty)

Implementations

impl RafxFence[src]

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

Get the status of the fence. See RafxFenceStatus

The status of the fence returns to Unsubmitted when get_fence_status() is called while in a completed state. In other words, the Complete status can only be returned one time unless the fence is submitted again.

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

Wait for the fence to be signaled as complete by the GPU

pub fn empty_fence(&self) -> Option<&RafxFenceEmpty>[src]

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

Auto Trait Implementations

Blanket Implementations

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

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

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

impl<T> Downcast for T where
    T: Any

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

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

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

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

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.

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.