pub struct RenderPass {
base: BasePass<ArcRenderCommand, RenderPassError>,
parent: Option<Arc<CommandBuffer>>,
color_attachments: ArrayVec<Option<ArcRenderPassColorAttachment>, { hal::MAX_COLOR_ATTACHMENTS }>,
depth_stencil_attachment: Option<ArcRenderPassDepthStencilAttachment>,
timestamp_writes: Option<PassTimestampWrites<Arc<QuerySet>>>,
occlusion_query_set: Option<Arc<QuerySet>>,
current_bind_groups: BindGroupStateChange,
current_pipeline: StateChange<RenderPipelineId>,
}
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: BasePass<ArcRenderCommand, RenderPassError>
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
color_attachments: ArrayVec<Option<ArcRenderPassColorAttachment>, { hal::MAX_COLOR_ATTACHMENTS }>
§depth_stencil_attachment: Option<ArcRenderPassDepthStencilAttachment>
§timestamp_writes: Option<PassTimestampWrites<Arc<QuerySet>>>
§occlusion_query_set: Option<Arc<QuerySet>>
§current_bind_groups: BindGroupStateChange
§current_pipeline: StateChange<RenderPipelineId>
Implementations§
Source§impl RenderPass
impl RenderPass
Sourcefn new(parent: Arc<CommandBuffer>, desc: ArcRenderPassDescriptor<'_>) -> Self
fn new(parent: Arc<CommandBuffer>, desc: ArcRenderPassDescriptor<'_>) -> Self
If the parent command buffer is invalid, the returned pass will be invalid.
fn new_invalid( parent: Arc<CommandBuffer>, label: &Label<'_>, err: RenderPassError, ) -> Self
pub fn label(&self) -> Option<&str>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RenderPass
impl !RefUnwindSafe for RenderPass
impl Send for RenderPass
impl Sync for RenderPass
impl Unpin for RenderPass
impl !UnwindSafe for RenderPass
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