pub unsafe trait MTLIndirectRenderCommand: NSObjectProtocol {
Show 22 methods
// Provided methods
fn setRenderPipelineState(
&self,
pipeline_state: &ProtocolObject<dyn MTLRenderPipelineState>,
)
where Self: Sized + Message { ... }
unsafe fn setVertexBuffer_offset_atIndex(
&self,
buffer: &ProtocolObject<dyn MTLBuffer>,
offset: NSUInteger,
index: NSUInteger,
)
where Self: Sized + Message { ... }
unsafe fn setFragmentBuffer_offset_atIndex(
&self,
buffer: &ProtocolObject<dyn MTLBuffer>,
offset: NSUInteger,
index: NSUInteger,
)
where Self: Sized + Message { ... }
unsafe fn setVertexBuffer_offset_attributeStride_atIndex(
&self,
buffer: &ProtocolObject<dyn MTLBuffer>,
offset: NSUInteger,
stride: NSUInteger,
index: NSUInteger,
)
where Self: Sized + Message { ... }
unsafe fn drawPatches_patchStart_patchCount_patchIndexBuffer_patchIndexBufferOffset_instanceCount_baseInstance_tessellationFactorBuffer_tessellationFactorBufferOffset_tessellationFactorBufferInstanceStride(
&self,
number_of_patch_control_points: NSUInteger,
patch_start: NSUInteger,
patch_count: NSUInteger,
patch_index_buffer: Option<&ProtocolObject<dyn MTLBuffer>>,
patch_index_buffer_offset: NSUInteger,
instance_count: NSUInteger,
base_instance: NSUInteger,
buffer: &ProtocolObject<dyn MTLBuffer>,
offset: NSUInteger,
instance_stride: NSUInteger,
)
where Self: Sized + Message { ... }
unsafe fn drawIndexedPatches_patchStart_patchCount_patchIndexBuffer_patchIndexBufferOffset_controlPointIndexBuffer_controlPointIndexBufferOffset_instanceCount_baseInstance_tessellationFactorBuffer_tessellationFactorBufferOffset_tessellationFactorBufferInstanceStride(
&self,
number_of_patch_control_points: NSUInteger,
patch_start: NSUInteger,
patch_count: NSUInteger,
patch_index_buffer: Option<&ProtocolObject<dyn MTLBuffer>>,
patch_index_buffer_offset: NSUInteger,
control_point_index_buffer: &ProtocolObject<dyn MTLBuffer>,
control_point_index_buffer_offset: NSUInteger,
instance_count: NSUInteger,
base_instance: NSUInteger,
buffer: &ProtocolObject<dyn MTLBuffer>,
offset: NSUInteger,
instance_stride: NSUInteger,
)
where Self: Sized + Message { ... }
unsafe fn drawPrimitives_vertexStart_vertexCount_instanceCount_baseInstance(
&self,
primitive_type: MTLPrimitiveType,
vertex_start: NSUInteger,
vertex_count: NSUInteger,
instance_count: NSUInteger,
base_instance: NSUInteger,
)
where Self: Sized + Message { ... }
unsafe fn drawIndexedPrimitives_indexCount_indexType_indexBuffer_indexBufferOffset_instanceCount_baseVertex_baseInstance(
&self,
primitive_type: MTLPrimitiveType,
index_count: NSUInteger,
index_type: MTLIndexType,
index_buffer: &ProtocolObject<dyn MTLBuffer>,
index_buffer_offset: NSUInteger,
instance_count: NSUInteger,
base_vertex: NSInteger,
base_instance: NSUInteger,
)
where Self: Sized + Message { ... }
unsafe fn setObjectThreadgroupMemoryLength_atIndex(
&self,
length: NSUInteger,
index: NSUInteger,
)
where Self: Sized + Message { ... }
unsafe fn setObjectBuffer_offset_atIndex(
&self,
buffer: &ProtocolObject<dyn MTLBuffer>,
offset: NSUInteger,
index: NSUInteger,
)
where Self: Sized + Message { ... }
unsafe fn setMeshBuffer_offset_atIndex(
&self,
buffer: &ProtocolObject<dyn MTLBuffer>,
offset: NSUInteger,
index: NSUInteger,
)
where Self: Sized + Message { ... }
fn drawMeshThreadgroups_threadsPerObjectThreadgroup_threadsPerMeshThreadgroup(
&self,
threadgroups_per_grid: MTLSize,
threads_per_object_threadgroup: MTLSize,
threads_per_mesh_threadgroup: MTLSize,
)
where Self: Sized + Message { ... }
fn drawMeshThreads_threadsPerObjectThreadgroup_threadsPerMeshThreadgroup(
&self,
threads_per_grid: MTLSize,
threads_per_object_threadgroup: MTLSize,
threads_per_mesh_threadgroup: MTLSize,
)
where Self: Sized + Message { ... }
fn setBarrier(&self)
where Self: Sized + Message { ... }
fn clearBarrier(&self)
where Self: Sized + Message { ... }
fn setDepthStencilState(
&self,
depth_stencil_state: Option<&ProtocolObject<dyn MTLDepthStencilState>>,
)
where Self: Sized + Message { ... }
fn setDepthBias_slopeScale_clamp(
&self,
depth_bias: c_float,
slope_scale: c_float,
clamp: c_float,
)
where Self: Sized + Message { ... }
fn setDepthClipMode(&self, depth_clip_mode: MTLDepthClipMode)
where Self: Sized + Message { ... }
fn setCullMode(&self, cull_mode: MTLCullMode)
where Self: Sized + Message { ... }
fn setFrontFacingWinding(&self, front_facing_windning: MTLWinding)
where Self: Sized + Message { ... }
fn setTriangleFillMode(&self, fill_mode: MTLTriangleFillMode)
where Self: Sized + Message { ... }
fn reset(&self)
where Self: Sized + Message { ... }
}Available on crate feature
MTLIndirectCommandEncoder only.Expand description
Provided Methods§
fn setRenderPipelineState( &self, pipeline_state: &ProtocolObject<dyn MTLRenderPipelineState>, )
Available on crate features
MTLAllocation and MTLRenderPipeline only.Sourceunsafe fn setVertexBuffer_offset_atIndex(
&self,
buffer: &ProtocolObject<dyn MTLBuffer>,
offset: NSUInteger,
index: NSUInteger,
)
Available on crate features MTLAllocation and MTLBuffer and MTLResource only.
unsafe fn setVertexBuffer_offset_atIndex( &self, buffer: &ProtocolObject<dyn MTLBuffer>, offset: NSUInteger, index: NSUInteger, )
MTLAllocation and MTLBuffer and MTLResource only.§Safety
buffermay need to be synchronized.buffermay be unretained, you must ensure it is kept alive while in use.buffercontents should be of the correct type.offsetmight not be bounds-checked.indexmight not be bounds-checked.
Sourceunsafe fn setFragmentBuffer_offset_atIndex(
&self,
buffer: &ProtocolObject<dyn MTLBuffer>,
offset: NSUInteger,
index: NSUInteger,
)
Available on crate features MTLAllocation and MTLBuffer and MTLResource only.
unsafe fn setFragmentBuffer_offset_atIndex( &self, buffer: &ProtocolObject<dyn MTLBuffer>, offset: NSUInteger, index: NSUInteger, )
MTLAllocation and MTLBuffer and MTLResource only.§Safety
buffermay need to be synchronized.buffermay be unretained, you must ensure it is kept alive while in use.buffercontents should be of the correct type.offsetmight not be bounds-checked.indexmight not be bounds-checked.
Sourceunsafe fn setVertexBuffer_offset_attributeStride_atIndex(
&self,
buffer: &ProtocolObject<dyn MTLBuffer>,
offset: NSUInteger,
stride: NSUInteger,
index: NSUInteger,
)
Available on crate features MTLAllocation and MTLBuffer and MTLResource only.
unsafe fn setVertexBuffer_offset_attributeStride_atIndex( &self, buffer: &ProtocolObject<dyn MTLBuffer>, offset: NSUInteger, stride: NSUInteger, index: NSUInteger, )
MTLAllocation and MTLBuffer and MTLResource only.sets vertex buffer at specified index with provided offset and stride.
only call this when the buffer-index is part of the vertexDescriptor and
has set its stride to MTLBufferLayoutStrideDynamic
§Safety
buffermay need to be synchronized.buffermay be unretained, you must ensure it is kept alive while in use.buffercontents should be of the correct type.offsetmight not be bounds-checked.stridemight not be bounds-checked.indexmight not be bounds-checked.
Sourceunsafe fn drawPatches_patchStart_patchCount_patchIndexBuffer_patchIndexBufferOffset_instanceCount_baseInstance_tessellationFactorBuffer_tessellationFactorBufferOffset_tessellationFactorBufferInstanceStride(
&self,
number_of_patch_control_points: NSUInteger,
patch_start: NSUInteger,
patch_count: NSUInteger,
patch_index_buffer: Option<&ProtocolObject<dyn MTLBuffer>>,
patch_index_buffer_offset: NSUInteger,
instance_count: NSUInteger,
base_instance: NSUInteger,
buffer: &ProtocolObject<dyn MTLBuffer>,
offset: NSUInteger,
instance_stride: NSUInteger,
)
Available on crate features MTLAllocation and MTLBuffer and MTLResource only.
unsafe fn drawPatches_patchStart_patchCount_patchIndexBuffer_patchIndexBufferOffset_instanceCount_baseInstance_tessellationFactorBuffer_tessellationFactorBufferOffset_tessellationFactorBufferInstanceStride( &self, number_of_patch_control_points: NSUInteger, patch_start: NSUInteger, patch_count: NSUInteger, patch_index_buffer: Option<&ProtocolObject<dyn MTLBuffer>>, patch_index_buffer_offset: NSUInteger, instance_count: NSUInteger, base_instance: NSUInteger, buffer: &ProtocolObject<dyn MTLBuffer>, offset: NSUInteger, instance_stride: NSUInteger, )
MTLAllocation and MTLBuffer and MTLResource only.§Safety
patchCountmight not be bounds-checked.patch_index_buffermay need to be synchronized.patch_index_buffermay be unretained, you must ensure it is kept alive while in use.patch_index_buffercontents should be of the correct type.patchIndexBufferOffsetmight not be bounds-checked.instanceCountmight not be bounds-checked.buffermay need to be synchronized.buffermay be unretained, you must ensure it is kept alive while in use.buffercontents should be of the correct type.offsetmight not be bounds-checked.instanceStridemight not be bounds-checked.
Sourceunsafe fn drawIndexedPatches_patchStart_patchCount_patchIndexBuffer_patchIndexBufferOffset_controlPointIndexBuffer_controlPointIndexBufferOffset_instanceCount_baseInstance_tessellationFactorBuffer_tessellationFactorBufferOffset_tessellationFactorBufferInstanceStride(
&self,
number_of_patch_control_points: NSUInteger,
patch_start: NSUInteger,
patch_count: NSUInteger,
patch_index_buffer: Option<&ProtocolObject<dyn MTLBuffer>>,
patch_index_buffer_offset: NSUInteger,
control_point_index_buffer: &ProtocolObject<dyn MTLBuffer>,
control_point_index_buffer_offset: NSUInteger,
instance_count: NSUInteger,
base_instance: NSUInteger,
buffer: &ProtocolObject<dyn MTLBuffer>,
offset: NSUInteger,
instance_stride: NSUInteger,
)
Available on crate features MTLAllocation and MTLBuffer and MTLResource only.
unsafe fn drawIndexedPatches_patchStart_patchCount_patchIndexBuffer_patchIndexBufferOffset_controlPointIndexBuffer_controlPointIndexBufferOffset_instanceCount_baseInstance_tessellationFactorBuffer_tessellationFactorBufferOffset_tessellationFactorBufferInstanceStride( &self, number_of_patch_control_points: NSUInteger, patch_start: NSUInteger, patch_count: NSUInteger, patch_index_buffer: Option<&ProtocolObject<dyn MTLBuffer>>, patch_index_buffer_offset: NSUInteger, control_point_index_buffer: &ProtocolObject<dyn MTLBuffer>, control_point_index_buffer_offset: NSUInteger, instance_count: NSUInteger, base_instance: NSUInteger, buffer: &ProtocolObject<dyn MTLBuffer>, offset: NSUInteger, instance_stride: NSUInteger, )
MTLAllocation and MTLBuffer and MTLResource only.§Safety
patchCountmight not be bounds-checked.patch_index_buffermay need to be synchronized.patch_index_buffermay be unretained, you must ensure it is kept alive while in use.patch_index_buffercontents should be of the correct type.patchIndexBufferOffsetmight not be bounds-checked.control_point_index_buffermay need to be synchronized.control_point_index_buffermay be unretained, you must ensure it is kept alive while in use.control_point_index_buffercontents should be of the correct type.controlPointIndexBufferOffsetmight not be bounds-checked.instanceCountmight not be bounds-checked.buffermay need to be synchronized.buffermay be unretained, you must ensure it is kept alive while in use.buffercontents should be of the correct type.offsetmight not be bounds-checked.instanceStridemight not be bounds-checked.
Sourceunsafe fn drawPrimitives_vertexStart_vertexCount_instanceCount_baseInstance(
&self,
primitive_type: MTLPrimitiveType,
vertex_start: NSUInteger,
vertex_count: NSUInteger,
instance_count: NSUInteger,
base_instance: NSUInteger,
)
Available on crate feature MTLRenderCommandEncoder only.
unsafe fn drawPrimitives_vertexStart_vertexCount_instanceCount_baseInstance( &self, primitive_type: MTLPrimitiveType, vertex_start: NSUInteger, vertex_count: NSUInteger, instance_count: NSUInteger, base_instance: NSUInteger, )
MTLRenderCommandEncoder only.§Safety
vertexCountmight not be bounds-checked.instanceCountmight not be bounds-checked.
Sourceunsafe fn drawIndexedPrimitives_indexCount_indexType_indexBuffer_indexBufferOffset_instanceCount_baseVertex_baseInstance(
&self,
primitive_type: MTLPrimitiveType,
index_count: NSUInteger,
index_type: MTLIndexType,
index_buffer: &ProtocolObject<dyn MTLBuffer>,
index_buffer_offset: NSUInteger,
instance_count: NSUInteger,
base_vertex: NSInteger,
base_instance: NSUInteger,
)
Available on crate features MTLAllocation and MTLArgument and MTLBuffer and MTLRenderCommandEncoder and MTLResource only.
unsafe fn drawIndexedPrimitives_indexCount_indexType_indexBuffer_indexBufferOffset_instanceCount_baseVertex_baseInstance( &self, primitive_type: MTLPrimitiveType, index_count: NSUInteger, index_type: MTLIndexType, index_buffer: &ProtocolObject<dyn MTLBuffer>, index_buffer_offset: NSUInteger, instance_count: NSUInteger, base_vertex: NSInteger, base_instance: NSUInteger, )
MTLAllocation and MTLArgument and MTLBuffer and MTLRenderCommandEncoder and MTLResource only.§Safety
indexCountmight not be bounds-checked.index_buffermay need to be synchronized.index_buffermay be unretained, you must ensure it is kept alive while in use.index_buffercontents should be of the correct type.indexBufferOffsetmight not be bounds-checked.instanceCountmight not be bounds-checked.
Sourceunsafe fn setObjectThreadgroupMemoryLength_atIndex(
&self,
length: NSUInteger,
index: NSUInteger,
)
unsafe fn setObjectThreadgroupMemoryLength_atIndex( &self, length: NSUInteger, index: NSUInteger, )
§Safety
index might not be bounds-checked.
Sourceunsafe fn setObjectBuffer_offset_atIndex(
&self,
buffer: &ProtocolObject<dyn MTLBuffer>,
offset: NSUInteger,
index: NSUInteger,
)
Available on crate features MTLAllocation and MTLBuffer and MTLResource only.
unsafe fn setObjectBuffer_offset_atIndex( &self, buffer: &ProtocolObject<dyn MTLBuffer>, offset: NSUInteger, index: NSUInteger, )
MTLAllocation and MTLBuffer and MTLResource only.§Safety
buffermay need to be synchronized.buffermay be unretained, you must ensure it is kept alive while in use.buffercontents should be of the correct type.offsetmight not be bounds-checked.indexmight not be bounds-checked.
Sourceunsafe fn setMeshBuffer_offset_atIndex(
&self,
buffer: &ProtocolObject<dyn MTLBuffer>,
offset: NSUInteger,
index: NSUInteger,
)
Available on crate features MTLAllocation and MTLBuffer and MTLResource only.
unsafe fn setMeshBuffer_offset_atIndex( &self, buffer: &ProtocolObject<dyn MTLBuffer>, offset: NSUInteger, index: NSUInteger, )
MTLAllocation and MTLBuffer and MTLResource only.§Safety
buffermay need to be synchronized.buffermay be unretained, you must ensure it is kept alive while in use.buffercontents should be of the correct type.offsetmight not be bounds-checked.indexmight not be bounds-checked.
fn drawMeshThreadgroups_threadsPerObjectThreadgroup_threadsPerMeshThreadgroup( &self, threadgroups_per_grid: MTLSize, threads_per_object_threadgroup: MTLSize, threads_per_mesh_threadgroup: MTLSize, )
Available on crate feature
MTLTypes only.fn drawMeshThreads_threadsPerObjectThreadgroup_threadsPerMeshThreadgroup( &self, threads_per_grid: MTLSize, threads_per_object_threadgroup: MTLSize, threads_per_mesh_threadgroup: MTLSize, )
Available on crate feature
MTLTypes only.fn setBarrier(&self)
fn clearBarrier(&self)
fn setDepthStencilState( &self, depth_stencil_state: Option<&ProtocolObject<dyn MTLDepthStencilState>>, )
Available on crate feature
MTLDepthStencil only.fn setDepthBias_slopeScale_clamp( &self, depth_bias: c_float, slope_scale: c_float, clamp: c_float, )
fn setDepthClipMode(&self, depth_clip_mode: MTLDepthClipMode)
Available on crate feature
MTLRenderCommandEncoder only.fn setCullMode(&self, cull_mode: MTLCullMode)
Available on crate feature
MTLRenderCommandEncoder only.fn setFrontFacingWinding(&self, front_facing_windning: MTLWinding)
Available on crate feature
MTLRenderCommandEncoder only.fn setTriangleFillMode(&self, fill_mode: MTLTriangleFillMode)
Available on crate feature
MTLRenderCommandEncoder only.