pub struct ResourceStateCommandEncoder(/* private fields */);Expand description
A command encoder for resource state operations.
C++ equivalent: MTL::ResourceStateCommandEncoder
Resource state encoders are used to update sparse texture mappings and manage resource state for sparse resources.
Implementations§
Source§impl ResourceStateCommandEncoder
impl ResourceStateCommandEncoder
Sourcepub unsafe fn from_raw(ptr: *mut c_void) -> Option<Self>
pub unsafe fn from_raw(ptr: *mut c_void) -> Option<Self>
Create a ResourceStateCommandEncoder from a raw pointer.
§Safety
The pointer must be a valid Metal resource state command encoder object.
Sourcepub fn device(&self) -> Device
pub fn device(&self) -> Device
Get the device that created this encoder.
C++ equivalent: Device* device() const
Sourcepub fn command_buffer(&self) -> CommandBuffer
pub fn command_buffer(&self) -> CommandBuffer
Get the command buffer that this encoder is encoding into.
C++ equivalent: CommandBuffer* commandBuffer() const
Sourcepub fn label(&self) -> Option<String>
pub fn label(&self) -> Option<String>
Get the label for this encoder.
C++ equivalent: NS::String* label() const
Sourcepub fn set_label(&self, label: &str)
pub fn set_label(&self, label: &str)
Set the label for this encoder.
C++ equivalent: void setLabel(const NS::String*)
Sourcepub fn end_encoding(&self)
pub fn end_encoding(&self)
End encoding commands with this encoder.
C++ equivalent: void endEncoding()
Sourcepub fn insert_debug_signpost(&self, string: &str)
pub fn insert_debug_signpost(&self, string: &str)
Insert a debug signpost.
C++ equivalent: void insertDebugSignpost(const NS::String*)
Sourcepub fn push_debug_group(&self, string: &str)
pub fn push_debug_group(&self, string: &str)
Push a debug group.
C++ equivalent: void pushDebugGroup(const NS::String*)
Sourcepub fn pop_debug_group(&self)
pub fn pop_debug_group(&self)
Pop the current debug group.
C++ equivalent: void popDebugGroup()
Sourcepub fn barrier_after_queue_stages(
&self,
after_stages: Stages,
before_stages: Stages,
)
pub fn barrier_after_queue_stages( &self, after_stages: Stages, before_stages: Stages, )
Insert a barrier to synchronize queue stages.
C++ equivalent: void barrierAfterQueueStages(Stages, Stages)
Sourcepub fn update_texture_mapping(
&self,
texture: &Texture,
mode: SparseTextureMappingMode,
region: Region,
mip_level: UInteger,
slice: UInteger,
)
pub fn update_texture_mapping( &self, texture: &Texture, mode: SparseTextureMappingMode, region: Region, mip_level: UInteger, slice: UInteger, )
Update sparse texture mapping for a region.
C++ equivalent: void updateTextureMapping(const Texture*, SparseTextureMappingMode, Region, NS::UInteger, NS::UInteger)
Sourcepub fn update_texture_mapping_indirect(
&self,
texture: &Texture,
mode: SparseTextureMappingMode,
indirect_buffer: &Buffer,
indirect_buffer_offset: UInteger,
)
pub fn update_texture_mapping_indirect( &self, texture: &Texture, mode: SparseTextureMappingMode, indirect_buffer: &Buffer, indirect_buffer_offset: UInteger, )
Update sparse texture mapping using indirect arguments from a buffer.
C++ equivalent: void updateTextureMapping(const Texture*, SparseTextureMappingMode, const Buffer*, NS::UInteger)
Sourcepub unsafe fn update_texture_mappings(
&self,
texture: &Texture,
mode: SparseTextureMappingMode,
regions: *const Region,
mip_levels: *const UInteger,
slices: *const UInteger,
num_regions: UInteger,
)
pub unsafe fn update_texture_mappings( &self, texture: &Texture, mode: SparseTextureMappingMode, regions: *const Region, mip_levels: *const UInteger, slices: *const UInteger, num_regions: UInteger, )
Update sparse texture mappings for multiple regions.
C++ equivalent: void updateTextureMappings(const Texture*, SparseTextureMappingMode, const Region*, const NS::UInteger*, const NS::UInteger*, NS::UInteger)
§Safety
The regions, mip_levels, and slices arrays must have at least num_regions elements.
Sourcepub fn move_texture_mappings_from_texture(
&self,
source_texture: &Texture,
source_slice: UInteger,
source_level: UInteger,
source_origin: Origin,
source_size: Size,
destination_texture: &Texture,
destination_slice: UInteger,
destination_level: UInteger,
destination_origin: Origin,
)
pub fn move_texture_mappings_from_texture( &self, source_texture: &Texture, source_slice: UInteger, source_level: UInteger, source_origin: Origin, source_size: Size, destination_texture: &Texture, destination_slice: UInteger, destination_level: UInteger, destination_origin: Origin, )
Move texture mappings from one texture to another.
C++ equivalent: void moveTextureMappingsFromTexture(...)
Sourcepub fn update_fence(&self, fence: &Fence)
pub fn update_fence(&self, fence: &Fence)
Update a fence.
C++ equivalent: void updateFence(const Fence*)
Sourcepub fn wait_for_fence(&self, fence: &Fence)
pub fn wait_for_fence(&self, fence: &Fence)
Wait for a fence.
C++ equivalent: void waitForFence(const Fence*)