pub struct BarrierOperation<'c> { /* private fields */ }
Expand description
A barrier
operation. Synchronizes all work items of a workgroup..
The “barrier” op synchronizes all work items of a workgroup. It is used to coordinate communication between the work items of the workgroup.
gpu.barrier
waits until all work items in the workgroup have reached this point and all memory accesses made by these work items prior to the op are visible to all work items in the workgroup. Data hazards between work items accessing the same memory can be avoided by synchronizing work items in-between these accesses.
Either none or all work items of a workgroup need to execute this op in convergence.
Implementations§
source§impl<'c> BarrierOperation<'c>
impl<'c> BarrierOperation<'c>
Trait Implementations§
source§impl<'c> From<BarrierOperation<'c>> for Operation<'c>
impl<'c> From<BarrierOperation<'c>> for Operation<'c>
source§fn from(operation: BarrierOperation<'c>) -> Self
fn from(operation: BarrierOperation<'c>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<'c> RefUnwindSafe for BarrierOperation<'c>
impl<'c> !Send for BarrierOperation<'c>
impl<'c> !Sync for BarrierOperation<'c>
impl<'c> Unpin for BarrierOperation<'c>
impl<'c> UnwindSafe for BarrierOperation<'c>
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