pub struct SyncData<S, W> {
pub wait: Vec<Wait<W>>,
pub acquire: Guard,
pub release: Guard,
pub signal: Vec<Signal<S>>,
}
Expand description
Both sides of synchronization for submission.
Fields§
§wait: Vec<Wait<W>>
Points at other queues that must be waited before commands from the submission can be executed.
acquire: Guard
Acquire side of submission synchronization. Synchronization commands from this side must be recorded before main commands of submission.
release: Guard
Release side of submission synchronization. Synchronization commands from this side must be recorded after main commands of submission.
signal: Vec<Signal<S>>
Points at other queues that can run after barriers above.
Trait Implementations§
Auto Trait Implementations§
impl<S, W> Freeze for SyncData<S, W>
impl<S, W> RefUnwindSafe for SyncData<S, W>where
W: RefUnwindSafe,
S: RefUnwindSafe,
impl<S, W> Send for SyncData<S, W>
impl<S, W> Sync for SyncData<S, W>
impl<S, W> Unpin for SyncData<S, W>
impl<S, W> UnwindSafe for SyncData<S, W>where
W: UnwindSafe,
S: UnwindSafe,
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)