pub unsafe trait MTLComputeCommandEncoder: MTLCommandEncoder + IsRetainable {
Show 39 methods
// Provided methods
unsafe fn dispatchType(&self) -> MTLDispatchType
where Self: Sized + Message { ... }
fn setComputePipelineState(
&self,
state: &ProtocolObject<dyn MTLComputePipelineState>
)
where Self: Sized + Message { ... }
unsafe fn setBytes_length_atIndex(
&self,
bytes: NonNull<c_void>,
length: NSUInteger,
index: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn setBuffer_offset_atIndex(
&self,
buffer: Option<&ProtocolObject<dyn MTLBuffer>>,
offset: NSUInteger,
index: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn setBufferOffset_atIndex(
&self,
offset: NSUInteger,
index: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn setBuffers_offsets_withRange(
&self,
buffers: NonNull<*const ProtocolObject<dyn MTLBuffer>>,
offsets: NonNull<NSUInteger>,
range: NSRange
)
where Self: Sized + Message { ... }
unsafe fn setBuffer_offset_attributeStride_atIndex(
&self,
buffer: &ProtocolObject<dyn MTLBuffer>,
offset: NSUInteger,
stride: NSUInteger,
index: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn setBuffers_offsets_attributeStrides_withRange(
&self,
buffers: NonNull<*const ProtocolObject<dyn MTLBuffer>>,
offsets: NonNull<NSUInteger>,
strides: NonNull<NSUInteger>,
range: NSRange
)
where Self: Sized + Message { ... }
unsafe fn setBufferOffset_attributeStride_atIndex(
&self,
offset: NSUInteger,
stride: NSUInteger,
index: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn setBytes_length_attributeStride_atIndex(
&self,
bytes: NonNull<c_void>,
length: NSUInteger,
stride: NSUInteger,
index: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn setVisibleFunctionTable_atBufferIndex(
&self,
visible_function_table: Option<&ProtocolObject<dyn MTLVisibleFunctionTable>>,
buffer_index: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn setVisibleFunctionTables_withBufferRange(
&self,
visible_function_tables: NonNull<*const ProtocolObject<dyn MTLVisibleFunctionTable>>,
range: NSRange
)
where Self: Sized + Message { ... }
unsafe fn setIntersectionFunctionTable_atBufferIndex(
&self,
intersection_function_table: Option<&ProtocolObject<dyn MTLIntersectionFunctionTable>>,
buffer_index: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn setIntersectionFunctionTables_withBufferRange(
&self,
intersection_function_tables: NonNull<*const ProtocolObject<dyn MTLIntersectionFunctionTable>>,
range: NSRange
)
where Self: Sized + Message { ... }
unsafe fn setAccelerationStructure_atBufferIndex(
&self,
acceleration_structure: Option<&ProtocolObject<dyn MTLAccelerationStructure>>,
buffer_index: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn setTexture_atIndex(
&self,
texture: Option<&ProtocolObject<dyn MTLTexture>>,
index: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn setTextures_withRange(
&self,
textures: NonNull<*const ProtocolObject<dyn MTLTexture>>,
range: NSRange
)
where Self: Sized + Message { ... }
unsafe fn setSamplerState_atIndex(
&self,
sampler: Option<&ProtocolObject<dyn MTLSamplerState>>,
index: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn setSamplerStates_withRange(
&self,
samplers: NonNull<*const ProtocolObject<dyn MTLSamplerState>>,
range: NSRange
)
where Self: Sized + Message { ... }
unsafe fn setSamplerState_lodMinClamp_lodMaxClamp_atIndex(
&self,
sampler: Option<&ProtocolObject<dyn MTLSamplerState>>,
lod_min_clamp: c_float,
lod_max_clamp: c_float,
index: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn setSamplerStates_lodMinClamps_lodMaxClamps_withRange(
&self,
samplers: NonNull<*const ProtocolObject<dyn MTLSamplerState>>,
lod_min_clamps: NonNull<c_float>,
lod_max_clamps: NonNull<c_float>,
range: NSRange
)
where Self: Sized + Message { ... }
unsafe fn setThreadgroupMemoryLength_atIndex(
&self,
length: NSUInteger,
index: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn setImageblockWidth_height(
&self,
width: NSUInteger,
height: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn setStageInRegion(&self, region: MTLRegion)
where Self: Sized + Message { ... }
unsafe fn setStageInRegionWithIndirectBuffer_indirectBufferOffset(
&self,
indirect_buffer: &ProtocolObject<dyn MTLBuffer>,
indirect_buffer_offset: NSUInteger
)
where Self: Sized + Message { ... }
fn dispatchThreadgroups_threadsPerThreadgroup(
&self,
threadgroups_per_grid: MTLSize,
threads_per_threadgroup: MTLSize
)
where Self: Sized + Message { ... }
unsafe fn dispatchThreadgroupsWithIndirectBuffer_indirectBufferOffset_threadsPerThreadgroup(
&self,
indirect_buffer: &ProtocolObject<dyn MTLBuffer>,
indirect_buffer_offset: NSUInteger,
threads_per_threadgroup: MTLSize
)
where Self: Sized + Message { ... }
fn dispatchThreads_threadsPerThreadgroup(
&self,
threads_per_grid: MTLSize,
threads_per_threadgroup: MTLSize
)
where Self: Sized + Message { ... }
fn updateFence(&self, fence: &ProtocolObject<dyn MTLFence>)
where Self: Sized + Message { ... }
fn waitForFence(&self, fence: &ProtocolObject<dyn MTLFence>)
where Self: Sized + Message { ... }
fn useResource_usage(
&self,
resource: &ProtocolObject<dyn MTLResource>,
usage: MTLResourceUsage
)
where Self: Sized + Message { ... }
unsafe fn useResources_count_usage(
&self,
resources: NonNull<NonNull<ProtocolObject<dyn MTLResource>>>,
count: NSUInteger,
usage: MTLResourceUsage
)
where Self: Sized + Message { ... }
fn useHeap(&self, heap: &ProtocolObject<dyn MTLHeap>)
where Self: Sized + Message { ... }
unsafe fn useHeaps_count(
&self,
heaps: NonNull<NonNull<ProtocolObject<dyn MTLHeap>>>,
count: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn executeCommandsInBuffer_withRange(
&self,
indirect_command_buffer: &ProtocolObject<dyn MTLIndirectCommandBuffer>,
execution_range: NSRange
)
where Self: Sized + Message { ... }
unsafe fn executeCommandsInBuffer_indirectBuffer_indirectBufferOffset(
&self,
indirect_commandbuffer: &ProtocolObject<dyn MTLIndirectCommandBuffer>,
indirect_range_buffer: &ProtocolObject<dyn MTLBuffer>,
indirect_buffer_offset: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn memoryBarrierWithScope(&self, scope: MTLBarrierScope)
where Self: Sized + Message { ... }
unsafe fn memoryBarrierWithResources_count(
&self,
resources: NonNull<NonNull<ProtocolObject<dyn MTLResource>>>,
count: NSUInteger
)
where Self: Sized + Message { ... }
unsafe fn sampleCountersInBuffer_atSampleIndex_withBarrier(
&self,
sample_buffer: &ProtocolObject<dyn MTLCounterSampleBuffer>,
sample_index: NSUInteger,
barrier: bool
)
where Self: Sized + Message { ... }
}Available on crate features
MTLCommandEncoder and MTLComputeCommandEncoder only.Provided Methods§
unsafe fn dispatchType(&self) -> MTLDispatchType
Available on crate feature
MTLCommandBuffer only.fn setComputePipelineState( &self, state: &ProtocolObject<dyn MTLComputePipelineState> )
Available on crate feature
MTLComputePipeline only.unsafe fn setBytes_length_atIndex( &self, bytes: NonNull<c_void>, length: NSUInteger, index: NSUInteger )
unsafe fn setBuffer_offset_atIndex( &self, buffer: Option<&ProtocolObject<dyn MTLBuffer>>, offset: NSUInteger, index: NSUInteger )
Available on crate features
MTLBuffer and MTLResource only.unsafe fn setBufferOffset_atIndex(&self, offset: NSUInteger, index: NSUInteger)
unsafe fn setBuffers_offsets_withRange( &self, buffers: NonNull<*const ProtocolObject<dyn MTLBuffer>>, offsets: NonNull<NSUInteger>, range: NSRange )
Available on crate features
MTLBuffer and MTLResource only.unsafe fn setBuffer_offset_attributeStride_atIndex( &self, buffer: &ProtocolObject<dyn MTLBuffer>, offset: NSUInteger, stride: NSUInteger, index: NSUInteger )
Available on crate features
MTLBuffer and MTLResource only.unsafe fn setBuffers_offsets_attributeStrides_withRange( &self, buffers: NonNull<*const ProtocolObject<dyn MTLBuffer>>, offsets: NonNull<NSUInteger>, strides: NonNull<NSUInteger>, range: NSRange )
Available on crate features
MTLBuffer and MTLResource only.unsafe fn setBufferOffset_attributeStride_atIndex( &self, offset: NSUInteger, stride: NSUInteger, index: NSUInteger )
unsafe fn setBytes_length_attributeStride_atIndex( &self, bytes: NonNull<c_void>, length: NSUInteger, stride: NSUInteger, index: NSUInteger )
unsafe fn setVisibleFunctionTable_atBufferIndex( &self, visible_function_table: Option<&ProtocolObject<dyn MTLVisibleFunctionTable>>, buffer_index: NSUInteger )
Available on crate features
MTLResource and MTLVisibleFunctionTable only.unsafe fn setVisibleFunctionTables_withBufferRange( &self, visible_function_tables: NonNull<*const ProtocolObject<dyn MTLVisibleFunctionTable>>, range: NSRange )
Available on crate features
MTLResource and MTLVisibleFunctionTable only.unsafe fn setIntersectionFunctionTable_atBufferIndex( &self, intersection_function_table: Option<&ProtocolObject<dyn MTLIntersectionFunctionTable>>, buffer_index: NSUInteger )
Available on crate features
MTLIntersectionFunctionTable and MTLResource only.unsafe fn setIntersectionFunctionTables_withBufferRange( &self, intersection_function_tables: NonNull<*const ProtocolObject<dyn MTLIntersectionFunctionTable>>, range: NSRange )
Available on crate features
MTLIntersectionFunctionTable and MTLResource only.unsafe fn setAccelerationStructure_atBufferIndex( &self, acceleration_structure: Option<&ProtocolObject<dyn MTLAccelerationStructure>>, buffer_index: NSUInteger )
Available on crate features
MTLAccelerationStructure and MTLResource only.unsafe fn setTexture_atIndex( &self, texture: Option<&ProtocolObject<dyn MTLTexture>>, index: NSUInteger )
Available on crate features
MTLResource and MTLTexture only.unsafe fn setTextures_withRange( &self, textures: NonNull<*const ProtocolObject<dyn MTLTexture>>, range: NSRange )
Available on crate features
MTLResource and MTLTexture only.unsafe fn setSamplerState_atIndex( &self, sampler: Option<&ProtocolObject<dyn MTLSamplerState>>, index: NSUInteger )
Available on crate feature
MTLSampler only.unsafe fn setSamplerStates_withRange( &self, samplers: NonNull<*const ProtocolObject<dyn MTLSamplerState>>, range: NSRange )
Available on crate feature
MTLSampler only.unsafe fn setSamplerState_lodMinClamp_lodMaxClamp_atIndex( &self, sampler: Option<&ProtocolObject<dyn MTLSamplerState>>, lod_min_clamp: c_float, lod_max_clamp: c_float, index: NSUInteger )
Available on crate feature
MTLSampler only.unsafe fn setSamplerStates_lodMinClamps_lodMaxClamps_withRange( &self, samplers: NonNull<*const ProtocolObject<dyn MTLSamplerState>>, lod_min_clamps: NonNull<c_float>, lod_max_clamps: NonNull<c_float>, range: NSRange )
Available on crate feature
MTLSampler only.unsafe fn setThreadgroupMemoryLength_atIndex( &self, length: NSUInteger, index: NSUInteger )
unsafe fn setImageblockWidth_height( &self, width: NSUInteger, height: NSUInteger )
unsafe fn setStageInRegion(&self, region: MTLRegion)
Available on crate feature
MTLTypes only.unsafe fn setStageInRegionWithIndirectBuffer_indirectBufferOffset( &self, indirect_buffer: &ProtocolObject<dyn MTLBuffer>, indirect_buffer_offset: NSUInteger )
Available on crate features
MTLBuffer and MTLResource only.fn dispatchThreadgroups_threadsPerThreadgroup( &self, threadgroups_per_grid: MTLSize, threads_per_threadgroup: MTLSize )
Available on crate feature
MTLTypes only.unsafe fn dispatchThreadgroupsWithIndirectBuffer_indirectBufferOffset_threadsPerThreadgroup( &self, indirect_buffer: &ProtocolObject<dyn MTLBuffer>, indirect_buffer_offset: NSUInteger, threads_per_threadgroup: MTLSize )
Available on crate features
MTLBuffer and MTLResource and MTLTypes only.fn dispatchThreads_threadsPerThreadgroup( &self, threads_per_grid: MTLSize, threads_per_threadgroup: MTLSize )
Available on crate feature
MTLTypes only.fn updateFence(&self, fence: &ProtocolObject<dyn MTLFence>)
Available on crate feature
MTLFence only.fn waitForFence(&self, fence: &ProtocolObject<dyn MTLFence>)
Available on crate feature
MTLFence only.fn useResource_usage( &self, resource: &ProtocolObject<dyn MTLResource>, usage: MTLResourceUsage )
Available on crate feature
MTLResource only.unsafe fn useResources_count_usage( &self, resources: NonNull<NonNull<ProtocolObject<dyn MTLResource>>>, count: NSUInteger, usage: MTLResourceUsage )
Available on crate feature
MTLResource only.fn useHeap(&self, heap: &ProtocolObject<dyn MTLHeap>)
Available on crate feature
MTLHeap only.unsafe fn useHeaps_count( &self, heaps: NonNull<NonNull<ProtocolObject<dyn MTLHeap>>>, count: NSUInteger )
Available on crate feature
MTLHeap only.unsafe fn executeCommandsInBuffer_withRange( &self, indirect_command_buffer: &ProtocolObject<dyn MTLIndirectCommandBuffer>, execution_range: NSRange )
Available on crate features
MTLIndirectCommandBuffer and MTLResource only.unsafe fn executeCommandsInBuffer_indirectBuffer_indirectBufferOffset( &self, indirect_commandbuffer: &ProtocolObject<dyn MTLIndirectCommandBuffer>, indirect_range_buffer: &ProtocolObject<dyn MTLBuffer>, indirect_buffer_offset: NSUInteger )
Available on crate features
MTLBuffer and MTLIndirectCommandBuffer and MTLResource only.unsafe fn memoryBarrierWithScope(&self, scope: MTLBarrierScope)
unsafe fn memoryBarrierWithResources_count( &self, resources: NonNull<NonNull<ProtocolObject<dyn MTLResource>>>, count: NSUInteger )
Available on crate feature
MTLResource only.unsafe fn sampleCountersInBuffer_atSampleIndex_withBarrier( &self, sample_buffer: &ProtocolObject<dyn MTLCounterSampleBuffer>, sample_index: NSUInteger, barrier: bool )
Available on crate feature
MTLCounters only.