Trait objc2_metal::MTLComputeCommandEncoder

source ·
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§

source

unsafe fn dispatchType(&self) -> MTLDispatchType
where Self: Sized + Message,

Available on crate feature MTLCommandBuffer only.
source

fn setComputePipelineState( &self, state: &ProtocolObject<dyn MTLComputePipelineState> )
where Self: Sized + Message,

Available on crate feature MTLComputePipeline only.
source

unsafe fn setBytes_length_atIndex( &self, bytes: NonNull<c_void>, length: NSUInteger, index: NSUInteger )
where Self: Sized + Message,

source

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

Available on crate features MTLBuffer and MTLResource only.
source

unsafe fn setBufferOffset_atIndex(&self, offset: NSUInteger, index: NSUInteger)
where Self: Sized + Message,

source

unsafe fn setBuffers_offsets_withRange( &self, buffers: NonNull<*const ProtocolObject<dyn MTLBuffer>>, offsets: NonNull<NSUInteger>, range: NSRange )
where Self: Sized + Message,

Available on crate features MTLBuffer and MTLResource only.
source

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

Available on crate features MTLBuffer and MTLResource only.
source

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,

Available on crate features MTLBuffer and MTLResource only.
source

unsafe fn setBufferOffset_attributeStride_atIndex( &self, offset: NSUInteger, stride: NSUInteger, index: NSUInteger )
where Self: Sized + Message,

source

unsafe fn setBytes_length_attributeStride_atIndex( &self, bytes: NonNull<c_void>, length: NSUInteger, stride: NSUInteger, index: NSUInteger )
where Self: Sized + Message,

source

unsafe fn setVisibleFunctionTable_atBufferIndex( &self, visible_function_table: Option<&ProtocolObject<dyn MTLVisibleFunctionTable>>, buffer_index: NSUInteger )
where Self: Sized + Message,

Available on crate features MTLResource and MTLVisibleFunctionTable only.
source

unsafe fn setVisibleFunctionTables_withBufferRange( &self, visible_function_tables: NonNull<*const ProtocolObject<dyn MTLVisibleFunctionTable>>, range: NSRange )
where Self: Sized + Message,

Available on crate features MTLResource and MTLVisibleFunctionTable only.
source

unsafe fn setIntersectionFunctionTable_atBufferIndex( &self, intersection_function_table: Option<&ProtocolObject<dyn MTLIntersectionFunctionTable>>, buffer_index: NSUInteger )
where Self: Sized + Message,

Available on crate features MTLIntersectionFunctionTable and MTLResource only.
source

unsafe fn setIntersectionFunctionTables_withBufferRange( &self, intersection_function_tables: NonNull<*const ProtocolObject<dyn MTLIntersectionFunctionTable>>, range: NSRange )
where Self: Sized + Message,

Available on crate features MTLIntersectionFunctionTable and MTLResource only.
source

unsafe fn setAccelerationStructure_atBufferIndex( &self, acceleration_structure: Option<&ProtocolObject<dyn MTLAccelerationStructure>>, buffer_index: NSUInteger )
where Self: Sized + Message,

Available on crate features MTLAccelerationStructure and MTLResource only.
source

unsafe fn setTexture_atIndex( &self, texture: Option<&ProtocolObject<dyn MTLTexture>>, index: NSUInteger )
where Self: Sized + Message,

Available on crate features MTLResource and MTLTexture only.
source

unsafe fn setTextures_withRange( &self, textures: NonNull<*const ProtocolObject<dyn MTLTexture>>, range: NSRange )
where Self: Sized + Message,

Available on crate features MTLResource and MTLTexture only.
source

unsafe fn setSamplerState_atIndex( &self, sampler: Option<&ProtocolObject<dyn MTLSamplerState>>, index: NSUInteger )
where Self: Sized + Message,

Available on crate feature MTLSampler only.
source

unsafe fn setSamplerStates_withRange( &self, samplers: NonNull<*const ProtocolObject<dyn MTLSamplerState>>, range: NSRange )
where Self: Sized + Message,

Available on crate feature MTLSampler only.
source

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,

Available on crate feature MTLSampler only.
source

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,

Available on crate feature MTLSampler only.
source

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

source

unsafe fn setImageblockWidth_height( &self, width: NSUInteger, height: NSUInteger )
where Self: Sized + Message,

source

unsafe fn setStageInRegion(&self, region: MTLRegion)
where Self: Sized + Message,

Available on crate feature MTLTypes only.
source

unsafe fn setStageInRegionWithIndirectBuffer_indirectBufferOffset( &self, indirect_buffer: &ProtocolObject<dyn MTLBuffer>, indirect_buffer_offset: NSUInteger )
where Self: Sized + Message,

Available on crate features MTLBuffer and MTLResource only.
source

fn dispatchThreadgroups_threadsPerThreadgroup( &self, threadgroups_per_grid: MTLSize, threads_per_threadgroup: MTLSize )
where Self: Sized + Message,

Available on crate feature MTLTypes only.
source

unsafe fn dispatchThreadgroupsWithIndirectBuffer_indirectBufferOffset_threadsPerThreadgroup( &self, indirect_buffer: &ProtocolObject<dyn MTLBuffer>, indirect_buffer_offset: NSUInteger, threads_per_threadgroup: MTLSize )
where Self: Sized + Message,

Available on crate features MTLBuffer and MTLResource and MTLTypes only.
source

fn dispatchThreads_threadsPerThreadgroup( &self, threads_per_grid: MTLSize, threads_per_threadgroup: MTLSize )
where Self: Sized + Message,

Available on crate feature MTLTypes only.
source

fn updateFence(&self, fence: &ProtocolObject<dyn MTLFence>)
where Self: Sized + Message,

Available on crate feature MTLFence only.
source

fn waitForFence(&self, fence: &ProtocolObject<dyn MTLFence>)
where Self: Sized + Message,

Available on crate feature MTLFence only.
source

fn useResource_usage( &self, resource: &ProtocolObject<dyn MTLResource>, usage: MTLResourceUsage )
where Self: Sized + Message,

Available on crate feature MTLResource only.
source

unsafe fn useResources_count_usage( &self, resources: NonNull<NonNull<ProtocolObject<dyn MTLResource>>>, count: NSUInteger, usage: MTLResourceUsage )
where Self: Sized + Message,

Available on crate feature MTLResource only.
source

fn useHeap(&self, heap: &ProtocolObject<dyn MTLHeap>)
where Self: Sized + Message,

Available on crate feature MTLHeap only.
source

unsafe fn useHeaps_count( &self, heaps: NonNull<NonNull<ProtocolObject<dyn MTLHeap>>>, count: NSUInteger )
where Self: Sized + Message,

Available on crate feature MTLHeap only.
source

unsafe fn executeCommandsInBuffer_withRange( &self, indirect_command_buffer: &ProtocolObject<dyn MTLIndirectCommandBuffer>, execution_range: NSRange )
where Self: Sized + Message,

Available on crate features MTLIndirectCommandBuffer and MTLResource only.
source

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,

Available on crate features MTLBuffer and MTLIndirectCommandBuffer and MTLResource only.
source

unsafe fn memoryBarrierWithScope(&self, scope: MTLBarrierScope)
where Self: Sized + Message,

source

unsafe fn memoryBarrierWithResources_count( &self, resources: NonNull<NonNull<ProtocolObject<dyn MTLResource>>>, count: NSUInteger )
where Self: Sized + Message,

Available on crate feature MTLResource only.
source

unsafe fn sampleCountersInBuffer_atSampleIndex_withBarrier( &self, sample_buffer: &ProtocolObject<dyn MTLCounterSampleBuffer>, sample_index: NSUInteger, barrier: bool )
where Self: Sized + Message,

Available on crate feature MTLCounters only.

Trait Implementations§

source§

impl ProtocolType for dyn MTLComputeCommandEncoder

source§

const NAME: &'static str = "MTLComputeCommandEncoder"

The name of the Objective-C protocol that this type represents.
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 MTLComputeCommandEncoder

Implementations on Foreign Types§

source§

impl<T> MTLComputeCommandEncoder for ProtocolObject<T>

Implementors§