struct ActiveSubmission {
index: SubmissionIndex,
mapped: Vec<Arc<Buffer>>,
compact_read_back: Vec<Arc<Blas>>,
encoders: Vec<EncoderInFlight>,
work_done_closures: SmallVec<[SubmittedWorkDoneClosure; 1]>,
}Expand description
Fields§
§index: SubmissionIndexThe index of the submission we track.
When Device::fence’s value is greater than or equal to this, our queue
submission has completed.
mapped: Vec<Arc<Buffer>>Buffers to be mapped once this submission has completed.
compact_read_back: Vec<Arc<Blas>>BLASes to have their compacted size read back once this submission has completed.
encoders: Vec<EncoderInFlight>Command buffers used by this submission, and the encoder that owns them.
wgpu_hal::Queue::submit requires the submitted command buffers to
remain alive until the submission has completed execution. Command
encoders double as allocation pools for command buffers, so holding them
here and cleaning them up in LifetimeTracker::triage_submissions
satisfies that requirement.
Once this submission has completed, the command buffers are reset and the command encoder is recycled.
work_done_closures: SmallVec<[SubmittedWorkDoneClosure; 1]>List of queue “on_submitted_work_done” closures to be called once this submission has completed.
Implementations§
Source§impl ActiveSubmission
impl ActiveSubmission
Sourcepub fn contains_buffer(&self, buffer: &Buffer) -> bool
pub fn contains_buffer(&self, buffer: &Buffer) -> bool
Returns true if this submission contains the given buffer.
This only uses constant-time operations.
Sourcepub fn contains_texture(&self, texture: &Texture) -> bool
pub fn contains_texture(&self, texture: &Texture) -> bool
Returns true if this submission contains the given texture.
This only uses constant-time operations.
Sourcepub fn contains_blas(&self, blas: &Blas) -> bool
pub fn contains_blas(&self, blas: &Blas) -> bool
Returns true if this submission contains the given blas.
This only uses constant-time operations.
Auto Trait Implementations§
impl Freeze for ActiveSubmission
impl !RefUnwindSafe for ActiveSubmission
impl Send for ActiveSubmission
impl !Sync for ActiveSubmission
impl Unpin for ActiveSubmission
impl !UnwindSafe for ActiveSubmission
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
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>
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>
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