pub enum SyncType {
Semaphore,
Fence,
Barrier,
}Expand description
Type of synchronisation primitive.
Variants§
Semaphore
Binary semaphore: signals when GPU work completes.
Fence
CPU-visible fence: CPU can wait on GPU progress.
Barrier
Pipeline barrier: enforces ordering within a command buffer.
Implementations§
Source§impl SyncType
impl SyncType
Sourcepub fn wait_type(&self) -> &'static str
pub fn wait_type(&self) -> &'static str
Returns the category of wait operation this primitive uses.
Semaphore→"gpu_wait"(GPU waits on GPU)Fence→"cpu_wait"(CPU waits on GPU)Barrier→"pipeline_stall"(in-command serialisation)
Sourcepub fn is_cpu_visible(&self) -> bool
pub fn is_cpu_visible(&self) -> bool
Returns true for primitives the CPU can directly observe.
Trait Implementations§
impl Copy for SyncType
impl Eq for SyncType
impl StructuralPartialEq for SyncType
Auto Trait Implementations§
impl Freeze for SyncType
impl RefUnwindSafe for SyncType
impl Send for SyncType
impl Sync for SyncType
impl Unpin for SyncType
impl UnsafeUnpin for SyncType
impl UnwindSafe for SyncType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more