/// State applicable when encoding commands onto a compute pass, render pass, or /// directly to a command encoder. /// /// Most encoding routines just want to receive an open encoder, write /// command(s) to it, and leave it open for whatever is next. In this case the /// `E` type parameter has the default value of `dyn hal::DynCommandEncoder`. To /// avoid confusion about encoder state, we set the convention that _the encoder /// in an `EncodingState` holding a bare HAL reference must always be open_. /// /// Compute and render passes are more complicated. Because they record a /// command buffer for a housekeeping pre-pass which is inserted before the pass /// itself, the first thing they will do is close and reopen the encoder if it /// is already open. Unnecessary empty HAL passes can be avoided by passing them /// the encoder in whatever state it happens to be. In this case, `E` is /// `InnerCommandEncoder`, which tracks the state of the encoder. The callee /// (the render or compute pass) will open and close the encoder as necessary. /// /// This structure is not supported by cbindgen because it contains a trait /// object reference. /// /// cbindgen:ignore pub(crate) struct EncodingState<'snatch_guard, 'cmd_enc, E: ?Sized = dyn hal::DynCommandEncoder> { pub(crate) device: &'cmd_enc Arc<Device>,
/// Current debug scope nesting depth. /// /// When encoding a compute or render pass, this is the depth of debug /// scopes in the pass, not the depth of debug scopes in the parent encoder. pub(crate) debug_scope_depth: &'cmd_enc mut u32,
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.