Struct wgpu_core::command::CommandBufferMutable
source · pub struct CommandBufferMutable {
pub(crate) encoder: CommandEncoder,
status: CommandEncoderStatus,
pub(crate) trackers: Tracker,
buffer_memory_init_actions: Vec<BufferInitTrackerAction>,
texture_memory_actions: CommandBufferTextureMemoryActions,
pub(crate) pending_query_resets: QueryResetMap,
pub(crate) commands: Option<Vec<Command>>,
}
Expand description
The mutable state of a CommandBuffer
.
Fields§
§encoder: CommandEncoder
The wgpu_hal::Api::CommandBuffer
s we’ve built so far, and the encoder
they belong to.
status: CommandEncoderStatus
The current state of this command buffer’s encoder.
trackers: Tracker
All the resources that the commands recorded so far have referred to.
buffer_memory_init_actions: Vec<BufferInitTrackerAction>
The regions of buffers and textures these commands will read and write.
This is used to determine which portions of which buffers/textures we actually need to initialize. If we’re definitely going to write to something before we read from it, we don’t need to clear its contents.
texture_memory_actions: CommandBufferTextureMemoryActions
§pending_query_resets: QueryResetMap
§commands: Option<Vec<Command>>
Implementations§
source§impl CommandBufferMutable
impl CommandBufferMutable
pub(crate) fn open_encoder_and_tracker( &mut self, device: &Device, ) -> Result<(&mut dyn DynCommandEncoder, &mut Tracker), DeviceError>
fn lock_encoder_impl(&mut self, lock: bool) -> Result<(), CommandEncoderError>
sourcefn check_recording(&mut self) -> Result<(), CommandEncoderError>
fn check_recording(&mut self) -> Result<(), CommandEncoderError>
Checks that the encoder is in the CommandEncoderStatus::Recording
state.
sourcefn lock_encoder(&mut self) -> Result<(), CommandEncoderError>
fn lock_encoder(&mut self) -> Result<(), CommandEncoderError>
Locks the encoder by putting it in the CommandEncoderStatus::Locked
state.
Call CommandBufferMutable::unlock_encoder
to put the CommandBuffer
back into the CommandEncoderStatus::Recording
state.
sourcefn unlock_encoder(&mut self) -> Result<(), CommandEncoderError>
fn unlock_encoder(&mut self) -> Result<(), CommandEncoderError>
Unlocks the CommandBuffer
and puts it back into the CommandEncoderStatus::Recording
state.
This function is the counterpart to CommandBufferMutable::lock_encoder
.
It is only valid to call this function if the encoder is in the CommandEncoderStatus::Locked
state.