IMTLArgumentEncoder Interface

Definition

Encodes data into argument buffers.

[Foundation.Protocol(Name="MTLArgumentEncoder", WrapperType=typeof(Metal.MTLArgumentEncoderWrapper))]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.MacOSX, 10, 13, ObjCRuntime.PlatformArchitecture.Arch64, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 11, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.TvOS, 11, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.WatchOS, ObjCRuntime.PlatformArchitecture.All, null)]
public interface IMTLArgumentEncoder : IDisposable, ObjCRuntime.INativeObject
type IMTLArgumentEncoder = interface
    interface INativeObject
    interface IDisposable
Attributes
Implements

Properties

Alignment

Gets the byte alignment for the encoded data.

Device

Gets the device for the encoder.

EncodedLength

Gets the number of bytes that are required to store the encoded resources in the buffer.

Handle

Handle (pointer) to the unmanaged object representation.

(Inherited from INativeObject)
Label

Gets or sets a descriptive label for the encoder.

Methods

CreateArgumentEncoder(nuint)
GetConstantData(nuint)

Returns a pointer to the constant at the specified index into the buffer.

SetArgumentBuffer(IMTLBuffer, nuint)

Sets the target buffer to which arguments will be encoded.

SetArgumentBuffer(IMTLBuffer, nuint, nuint)

Sets the target buffer to which arguments will be encoded.

SetBuffer(IMTLBuffer, nuint, nuint)

Encodes buffer to the argument buffer.

SetBuffers(IMTLBuffer[], IntPtr, NSRange)

Encodes buffers to the argument buffer.

SetSamplerState(IMTLSamplerState, nuint)

Encodes sampler into the argument buffer.

SetSamplerStates(IMTLSamplerState[], NSRange)

Encodes the provided samplers into the argument buffer.

SetTexture(IMTLTexture, nuint)

Encodes the provided texture into the argument buffer.

SetTextures(IMTLTexture[], NSRange)

Encodes the provided textures into the argument buffer.

Extension Methods

CreateArgumentEncoder(IMTLArgumentEncoder, nuint)
SetBuffers(IMTLArgumentEncoder, IMTLBuffer[], nint[], NSRange)

Encodes buffers to the argument buffer.

SetIndirectCommandBuffer(IMTLArgumentEncoder, IMTLIndirectCommandBuffer, nuint)
SetIndirectCommandBuffers(IMTLArgumentEncoder, IMTLIndirectCommandBuffer[], NSRange)
SetRenderPipelineState(IMTLArgumentEncoder, IMTLRenderPipelineState, nuint)
SetRenderPipelineStates(IMTLArgumentEncoder, IMTLRenderPipelineState[], NSRange)

Applies to