MTLIndirectRenderCommand

Trait MTLIndirectRenderCommand 

Source
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§

Source

fn setRenderPipelineState( &self, pipeline_state: &ProtocolObject<dyn MTLRenderPipelineState>, )
where Self: Sized + Message,

Available on crate features MTLAllocation and MTLRenderPipeline only.
Source

unsafe fn setVertexBuffer_offset_atIndex( &self, buffer: &ProtocolObject<dyn MTLBuffer>, offset: NSUInteger, index: NSUInteger, )
where Self: Sized + Message,

Available on crate features MTLAllocation and MTLBuffer and MTLResource only.
§Safety
  • buffer may need to be synchronized.
  • buffer may be unretained, you must ensure it is kept alive while in use.
  • buffer contents should be of the correct type.
  • offset might not be bounds-checked.
  • index might not be bounds-checked.
Source

unsafe fn setFragmentBuffer_offset_atIndex( &self, buffer: &ProtocolObject<dyn MTLBuffer>, offset: NSUInteger, index: NSUInteger, )
where Self: Sized + Message,

Available on crate features MTLAllocation and MTLBuffer and MTLResource only.
§Safety
  • buffer may need to be synchronized.
  • buffer may be unretained, you must ensure it is kept alive while in use.
  • buffer contents should be of the correct type.
  • offset might not be bounds-checked.
  • index might not be bounds-checked.
Source

unsafe fn setVertexBuffer_offset_attributeStride_atIndex( &self, buffer: &ProtocolObject<dyn MTLBuffer>, offset: NSUInteger, stride: NSUInteger, index: NSUInteger, )
where Self: Sized + Message,

Available on crate features 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
  • buffer may need to be synchronized.
  • buffer may be unretained, you must ensure it is kept alive while in use.
  • buffer contents should be of the correct type.
  • offset might not be bounds-checked.
  • stride might not be bounds-checked.
  • index might not be bounds-checked.
Source

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,

Available on crate features MTLAllocation and MTLBuffer and MTLResource only.
§Safety
  • patchCount might not be bounds-checked.
  • patch_index_buffer may need to be synchronized.
  • patch_index_buffer may be unretained, you must ensure it is kept alive while in use.
  • patch_index_buffer contents should be of the correct type.
  • patchIndexBufferOffset might not be bounds-checked.
  • instanceCount might not be bounds-checked.
  • buffer may need to be synchronized.
  • buffer may be unretained, you must ensure it is kept alive while in use.
  • buffer contents should be of the correct type.
  • offset might not be bounds-checked.
  • instanceStride might not be bounds-checked.
Source

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,

Available on crate features MTLAllocation and MTLBuffer and MTLResource only.
§Safety
  • patchCount might not be bounds-checked.
  • patch_index_buffer may need to be synchronized.
  • patch_index_buffer may be unretained, you must ensure it is kept alive while in use.
  • patch_index_buffer contents should be of the correct type.
  • patchIndexBufferOffset might not be bounds-checked.
  • control_point_index_buffer may need to be synchronized.
  • control_point_index_buffer may be unretained, you must ensure it is kept alive while in use.
  • control_point_index_buffer contents should be of the correct type.
  • controlPointIndexBufferOffset might not be bounds-checked.
  • instanceCount might not be bounds-checked.
  • buffer may need to be synchronized.
  • buffer may be unretained, you must ensure it is kept alive while in use.
  • buffer contents should be of the correct type.
  • offset might not be bounds-checked.
  • instanceStride might not be bounds-checked.
Source

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,

Available on crate feature MTLRenderCommandEncoder only.
§Safety
  • vertexCount might not be bounds-checked.
  • instanceCount might not be bounds-checked.
Source

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,

Available on crate features MTLAllocation and MTLArgument and MTLBuffer and MTLRenderCommandEncoder and MTLResource only.
§Safety
  • indexCount might not be bounds-checked.
  • index_buffer may need to be synchronized.
  • index_buffer may be unretained, you must ensure it is kept alive while in use.
  • index_buffer contents should be of the correct type.
  • indexBufferOffset might not be bounds-checked.
  • instanceCount might not be bounds-checked.
Source

unsafe fn setObjectThreadgroupMemoryLength_atIndex( &self, length: NSUInteger, index: NSUInteger, )
where Self: Sized + Message,

§Safety

index might not be bounds-checked.

Source

unsafe fn setObjectBuffer_offset_atIndex( &self, buffer: &ProtocolObject<dyn MTLBuffer>, offset: NSUInteger, index: NSUInteger, )
where Self: Sized + Message,

Available on crate features MTLAllocation and MTLBuffer and MTLResource only.
§Safety
  • buffer may need to be synchronized.
  • buffer may be unretained, you must ensure it is kept alive while in use.
  • buffer contents should be of the correct type.
  • offset might not be bounds-checked.
  • index might not be bounds-checked.
Source

unsafe fn setMeshBuffer_offset_atIndex( &self, buffer: &ProtocolObject<dyn MTLBuffer>, offset: NSUInteger, index: NSUInteger, )
where Self: Sized + Message,

Available on crate features MTLAllocation and MTLBuffer and MTLResource only.
§Safety
  • buffer may need to be synchronized.
  • buffer may be unretained, you must ensure it is kept alive while in use.
  • buffer contents should be of the correct type.
  • offset might not be bounds-checked.
  • index might not be bounds-checked.
Source

fn drawMeshThreadgroups_threadsPerObjectThreadgroup_threadsPerMeshThreadgroup( &self, threadgroups_per_grid: MTLSize, threads_per_object_threadgroup: MTLSize, threads_per_mesh_threadgroup: MTLSize, )
where Self: Sized + Message,

Available on crate feature MTLTypes only.
Source

fn drawMeshThreads_threadsPerObjectThreadgroup_threadsPerMeshThreadgroup( &self, threads_per_grid: MTLSize, threads_per_object_threadgroup: MTLSize, threads_per_mesh_threadgroup: MTLSize, )
where Self: Sized + Message,

Available on crate feature MTLTypes only.
Source

fn setBarrier(&self)
where Self: Sized + Message,

Source

fn clearBarrier(&self)
where Self: Sized + Message,

Source

fn setDepthStencilState( &self, depth_stencil_state: Option<&ProtocolObject<dyn MTLDepthStencilState>>, )
where Self: Sized + Message,

Available on crate feature MTLDepthStencil only.
Source

fn setDepthBias_slopeScale_clamp( &self, depth_bias: c_float, slope_scale: c_float, clamp: c_float, )
where Self: Sized + Message,

Source

fn setDepthClipMode(&self, depth_clip_mode: MTLDepthClipMode)
where Self: Sized + Message,

Available on crate feature MTLRenderCommandEncoder only.
Source

fn setCullMode(&self, cull_mode: MTLCullMode)
where Self: Sized + Message,

Available on crate feature MTLRenderCommandEncoder only.
Source

fn setFrontFacingWinding(&self, front_facing_windning: MTLWinding)
where Self: Sized + Message,

Available on crate feature MTLRenderCommandEncoder only.
Source

fn setTriangleFillMode(&self, fill_mode: MTLTriangleFillMode)
where Self: Sized + Message,

Available on crate feature MTLRenderCommandEncoder only.
Source

fn reset(&self)
where Self: Sized + Message,

Trait Implementations§

Source§

impl ProtocolType for dyn MTLIndirectRenderCommand

Source§

const NAME: &'static str = "MTLIndirectRenderCommand"

The name of the Objective-C protocol that this type represents. Read more
Source§

fn protocol() -> Option<&'static AnyProtocol>

Get a reference to the Objective-C protocol object that this type represents. Read more
Source§

impl<T> ImplementedBy<T> for dyn MTLIndirectRenderCommand

Implementations on Foreign Types§

Source§

impl<T> MTLIndirectRenderCommand for ProtocolObject<T>

Implementors§