pub struct ComputePass {
base: ComputeBasePass,
parent: Option<Arc<CommandBuffer>>,
timestamp_writes: Option<PassTimestampWrites<Arc<QuerySet>>>,
current_bind_groups: BindGroupStateChange,
current_pipeline: StateChange<ComputePipelineId>,
}
Expand description
A pass’s encoder state and its validity are two distinct conditions, i.e., the full matrix of (open, ended) x (valid, invalid) is possible.
The presence or absence of the parent
Option
indicates the pass’s state.
The presence or absence of an error in base.error
indicates the pass’s
validity.
Fields§
§base: ComputeBasePass
All pass data & records is stored here.
parent: Option<Arc<CommandBuffer>>
Parent command buffer that this pass records commands into.
If this is Some
, then the pass is in WebGPU’s “open” state. If it is
None
, then the pass is in the “ended” state.
See https://www.w3.org/TR/webgpu/#encoder-state
timestamp_writes: Option<PassTimestampWrites<Arc<QuerySet>>>
§current_bind_groups: BindGroupStateChange
§current_pipeline: StateChange<ComputePipelineId>
Implementations§
Source§impl ComputePass
impl ComputePass
Sourcefn new(
parent: Arc<CommandBuffer>,
desc: ComputePassDescriptor<'_, PassTimestampWrites<Arc<QuerySet>>>,
) -> Self
fn new( parent: Arc<CommandBuffer>, desc: ComputePassDescriptor<'_, PassTimestampWrites<Arc<QuerySet>>>, ) -> Self
If the parent command buffer is invalid, the returned pass will be invalid.
fn new_invalid( parent: Arc<CommandBuffer>, label: &Label<'_>, err: ComputePassError, ) -> Self
pub fn label(&self) -> Option<&str>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ComputePass
impl !RefUnwindSafe for ComputePass
impl Send for ComputePass
impl Sync for ComputePass
impl Unpin for ComputePass
impl !UnwindSafe for ComputePass
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