pub enum FramePass {
Opening,
Clear,
Opaque,
Surface,
Page,
Filter,
Copy,
Punch,
}Expand description
One render pass a frame recorded into the caller’s encoder — what
EngineRenderer::last_frame_passes lists, in recording order.
The module doc’s The frame’s passes is the contract these name. The
glyph-atlas replay’s passes are not among them: they are recorded on an
encoder of the engine’s own, ahead of the frame (see crate::gpu::atlas).
Variants§
Opening
The surface opening: clears the colour target (and the depth attachment, unless pre-cleared), then draws the opaque strips and the first surface round that draws, whichever of the two the frame has. The first pass over the surface whenever passes are merged.
Clear
The clear alone, drawing nothing — the first pass of a frame recorded with passes unmerged.
Opaque
The opaque strips alone, depth-writing, loading what the clear left — recorded only with passes unmerged.
Surface
A surface round’s blended strips, loading the surface.
Page
A layer page round, rendering into a pooled page.
Filter
One pass of a filter’s sequence, between two pooled pages.
Copy
A region copy: a region of the frame’s own target read back into a
pooled page by one pass that clears the page and draws the region into
it — preceded, on a target that can only be copied, by a transfer into
the renderer’s staging texture (see RegionCopyMode) — ahead of a
backdrop blur’s filter passes.
Punch
The destination-out hole punch, at a cut or after the last round.
Implementations§
Trait Implementations§
impl Copy for FramePass
impl Eq for FramePass
impl StructuralPartialEq for FramePass
Auto Trait Implementations§
impl Freeze for FramePass
impl RefUnwindSafe for FramePass
impl Send for FramePass
impl Sync for FramePass
impl Unpin for FramePass
impl UnsafeUnpin for FramePass
impl UnwindSafe for FramePass
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.