IMTLComputeCommandEncoder Interface

Definition

Protocol for encoding and running parallel commands on a GPU.

[Foundation.Protocol(Name="MTLComputeCommandEncoder", WrapperType=typeof(Metal.MTLComputeCommandEncoderWrapper))]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 8, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.MacOSX, 10, 11, ObjCRuntime.PlatformArchitecture.Arch64, null)]
public interface IMTLComputeCommandEncoder : IDisposable, Metal.IMTLCommandEncoder
type IMTLComputeCommandEncoder = interface
    interface INativeObject
    interface IDisposable
    interface IMTLCommandEncoder
Attributes
Implements

Properties

Device (Inherited from IMTLCommandEncoder)
Handle

Handle (pointer) to the unmanaged object representation.

(Inherited from INativeObject)
Label (Inherited from IMTLCommandEncoder)

Methods

DispatchThreadgroups(MTLSize, MTLSize)
EndEncoding() (Inherited from IMTLCommandEncoder)
InsertDebugSignpost(String) (Inherited from IMTLCommandEncoder)
PopDebugGroup() (Inherited from IMTLCommandEncoder)
PushDebugGroup(String) (Inherited from IMTLCommandEncoder)
SetBuffer(IMTLBuffer, nuint, nuint)
SetBufferOffset(nuint, nuint)
SetBuffers(IMTLBuffer[], IntPtr, NSRange)
SetBytes(IntPtr, nuint, nuint)
SetComputePipelineState(IMTLComputePipelineState)
SetSamplerState(IMTLSamplerState, nuint)
SetSamplerState(IMTLSamplerState, Single, Single, nuint)
SetSamplerStates(IMTLSamplerState[], IntPtr, IntPtr, NSRange)
SetSamplerStates(IMTLSamplerState[], NSRange)
SetTexture(IMTLTexture, nuint)
SetTextures(IMTLTexture[], NSRange)
SetThreadgroupMemoryLength(nuint, nuint)

Extension Methods

DispatchThreadgroups(IMTLComputeCommandEncoder, IMTLBuffer, nuint, MTLSize)
DispatchThreads(IMTLComputeCommandEncoder, MTLSize, MTLSize)
GetDispatchType(IMTLComputeCommandEncoder)
MemoryBarrier(IMTLComputeCommandEncoder, IMTLResource[], nuint)
MemoryBarrier(IMTLComputeCommandEncoder, MTLBarrierScope)
SetImageblock(IMTLComputeCommandEncoder, nuint, nuint)
SetStage(IMTLComputeCommandEncoder, MTLRegion)
SetStageInRegion(IMTLComputeCommandEncoder, IMTLBuffer, nuint)
Update(IMTLComputeCommandEncoder, IMTLFence)

Captures all GPU work up to the current fence.

UseHeap(IMTLComputeCommandEncoder, IMTLHeap)
UseHeaps(IMTLComputeCommandEncoder, IMTLHeap[], nuint)
UseResource(IMTLComputeCommandEncoder, IMTLResource, MTLResourceUsage)
UseResources(IMTLComputeCommandEncoder, IMTLResource[], nuint, MTLResourceUsage)
Wait(IMTLComputeCommandEncoder, IMTLFence)

Prevents additional GPU work by the encoder until the fence is reached.

Applies to