Enum wgpu_core::command::CommandEncoderStatus
source · pub(crate) enum CommandEncoderStatus {
Recording,
Locked,
Finished,
Error,
}
Expand description
The current state of a CommandBuffer
.
Variants§
Recording
Ready to record commands. An encoder’s initial state.
Command building methods like command_encoder_clear_buffer
and
compute_pass_end
require the encoder to be in this
state.
This corresponds to WebGPU’s “open” state. See https://www.w3.org/TR/webgpu/#encoder-state-open
Locked
Locked by a render or compute pass.
This state is entered when a render/compute pass is created, and exited when the pass is ended.
As long as the command encoder is locked, any command building operation on it will fail
and put the encoder into the CommandEncoderStatus::Error
state.
See https://www.w3.org/TR/webgpu/#encoder-state-locked
Finished
Command recording is complete, and the buffer is ready for submission.
Global::command_encoder_finish
transitions a
CommandBuffer
from the Recording
state into this state.
Global::queue_submit
drops command buffers unless they are
in this state.
Error
An error occurred while recording a compute or render pass.
When a CommandEncoder
is left in this state, we have also
returned an error result from the function that encountered
the problem. Future attempts to use the encoder (for example,
calls to CommandBufferMutable::check_recording
) will also return
errors.
Calling Global::command_encoder_finish
in this state
discards the command buffer under construction.