Struct vulkano::sync::Semaphore[][src]

pub struct Semaphore<D = Arc<Device>> where
    D: SafeDeref<Target = Device>, 
{ /* fields omitted */ }

Used to provide synchronization between command buffers during their execution.

It is similar to a fence, except that it is purely on the GPU side. The CPU can’t query a semaphore’s status or wait for it to be signaled.

Implementations

impl<D> Semaphore<D> where
    D: SafeDeref<Target = Device>, 
[src]

pub fn from_pool(device: D) -> Result<Semaphore<D>, OomError>[src]

Takes a semaphore from the vulkano-provided semaphore pool. If the pool is empty, a new semaphore will be allocated. Upon drop, the semaphore is put back into the pool.

For most applications, using the pool should be preferred, in order to avoid creating new semaphores every frame.

pub fn alloc(device: D) -> Result<Semaphore<D>, OomError>[src]

Builds a new semaphore.

Trait Implementations

impl<D: Debug> Debug for Semaphore<D> where
    D: SafeDeref<Target = Device>, 
[src]

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

Formats the value using the given formatter. Read more

impl DeviceOwned for Semaphore[src]

fn device(&self) -> &Arc<Device>[src]

Returns the device that owns Self.

impl<D> Drop for Semaphore<D> where
    D: SafeDeref<Target = Device>, 
[src]

fn drop(&mut self)[src]

Executes the destructor for this type. Read more

impl<D> VulkanObject for Semaphore<D> where
    D: SafeDeref<Target = Device>, 
[src]

type Object = Semaphore

The type of the object.

const TYPE: ObjectType[src]

The ObjectType of the internal Vulkan handle.

fn internal_object(&self) -> Semaphore[src]

Returns a reference to the object.

Auto Trait Implementations

impl<D> RefUnwindSafe for Semaphore<D> where
    D: RefUnwindSafe

impl<D> Send for Semaphore<D> where
    D: Send

impl<D> Sync for Semaphore<D> where
    D: Sync

impl<D> Unpin for Semaphore<D> where
    D: Unpin

impl<D> UnwindSafe for Semaphore<D> where
    D: UnwindSafe

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> Content for T[src]

pub fn ref_from_ptr(*mut c_void, usize) -> Option<*mut T>[src]

Builds a pointer to this type from a raw pointer.

pub fn is_size_suitable(usize) -> bool[src]

Returns true if the size is suitable to store a type like this.

pub fn indiv_size() -> usize[src]

Returns the size of an individual element.

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, 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.