IMTLArgumentEncoder Interface
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Encodes data into argument buffers.
[Foundation.Protocol(Name="MTLArgumentEncoder", WrapperType=typeof(Metal.MTLArgumentEncoderWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetArgumentBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLBuffer), typeof(System.UIntPtr) }, Selector="setArgumentBuffer:offset:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetArgumentBuffer", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLBuffer), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="setArgumentBuffer:startOffset:arrayElement:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBuffer", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLBuffer), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="setBuffer:offset:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBuffers", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.IntPtr), typeof(Foundation.NSRange) }, Selector="setBuffers:offsets:withRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetTexture", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLTexture), typeof(System.UIntPtr) }, Selector="setTexture:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetTextures", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLTexture[]), typeof(Foundation.NSRange) }, Selector="setTextures:withRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetSamplerState", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLSamplerState), typeof(System.UIntPtr) }, Selector="setSamplerState:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetSamplerStates", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLSamplerState[]), typeof(Foundation.NSRange) }, Selector="setSamplerStates:withRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetConstantData", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.UIntPtr) }, ReturnType=typeof(System.IntPtr), Selector="constantDataAtIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetRenderPipelineState", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLRenderPipelineState), typeof(System.UIntPtr) }, Selector="setRenderPipelineState:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetRenderPipelineStates", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLRenderPipelineState[]), typeof(Foundation.NSRange) }, Selector="setRenderPipelineStates:withRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetIndirectCommandBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIndirectCommandBuffer), typeof(System.UIntPtr) }, Selector="setIndirectCommandBuffer:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetIndirectCommandBuffers", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIndirectCommandBuffer[]), typeof(Foundation.NSRange) }, Selector="setIndirectCommandBuffers:withRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateArgumentEncoder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.UIntPtr) }, ReturnType=typeof(Metal.IMTLArgumentEncoder), Selector="newArgumentEncoderForBufferAtIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetComputePipelineState", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLComputePipelineState), typeof(System.UIntPtr) }, Selector="setComputePipelineState:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetComputePipelineStates", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLComputePipelineState[]), typeof(Foundation.NSRange) }, Selector="setComputePipelineStates:withRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetAccelerationStructure", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLAccelerationStructure), typeof(System.UIntPtr) }, Selector="setAccelerationStructure:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetVisibleFunctionTable", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLVisibleFunctionTable), typeof(System.UIntPtr) }, Selector="setVisibleFunctionTable:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetVisibleFunctionTables", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLVisibleFunctionTable[]), typeof(Foundation.NSRange) }, Selector="setVisibleFunctionTables:withRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetIntersectionFunctionTable", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIntersectionFunctionTable), typeof(System.UIntPtr) }, Selector="setIntersectionFunctionTable:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetIntersectionFunctionTables", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIntersectionFunctionTable[]), typeof(Foundation.NSRange) }, Selector="setIntersectionFunctionTables:withRange:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthStencilState", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLDepthStencilState), typeof(System.UIntPtr) }, Selector="setDepthStencilState:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthStencilStates", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLDepthStencilState[]), typeof(Foundation.NSRange) }, Selector="setDepthStencilStates:withRange:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="device", IsProperty=true, IsRequired=true, IsStatic=false, Name="Device", PropertyType=typeof(Metal.IMTLDevice), Selector="device")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="label", IsProperty=true, IsRequired=true, IsStatic=false, Name="Label", PropertyType=typeof(System.String), Selector="label", SetterSelector="setLabel:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="encodedLength", IsProperty=true, IsRequired=true, IsStatic=false, Name="EncodedLength", PropertyType=typeof(System.UIntPtr), Selector="encodedLength")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="alignment", IsProperty=true, IsRequired=true, IsStatic=false, Name="Alignment", PropertyType=typeof(System.UIntPtr), Selector="alignment")]
public interface IMTLArgumentEncoder : IDisposable, ObjCRuntime.INativeObject
[<Foundation.Protocol(Name="MTLArgumentEncoder", WrapperType=typeof(Metal.MTLArgumentEncoderWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetArgumentBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLBuffer), typeof(System.UIntPtr) }, Selector="setArgumentBuffer:offset:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetArgumentBuffer", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLBuffer), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="setArgumentBuffer:startOffset:arrayElement:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBuffer", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLBuffer), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="setBuffer:offset:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetBuffers", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.IntPtr), typeof(Foundation.NSRange) }, Selector="setBuffers:offsets:withRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetTexture", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLTexture), typeof(System.UIntPtr) }, Selector="setTexture:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetTextures", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLTexture[]), typeof(Foundation.NSRange) }, Selector="setTextures:withRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetSamplerState", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLSamplerState), typeof(System.UIntPtr) }, Selector="setSamplerState:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetSamplerStates", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLSamplerState[]), typeof(Foundation.NSRange) }, Selector="setSamplerStates:withRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetConstantData", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.UIntPtr) }, ReturnType=typeof(System.IntPtr), Selector="constantDataAtIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetRenderPipelineState", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLRenderPipelineState), typeof(System.UIntPtr) }, Selector="setRenderPipelineState:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetRenderPipelineStates", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLRenderPipelineState[]), typeof(Foundation.NSRange) }, Selector="setRenderPipelineStates:withRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetIndirectCommandBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIndirectCommandBuffer), typeof(System.UIntPtr) }, Selector="setIndirectCommandBuffer:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetIndirectCommandBuffers", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIndirectCommandBuffer[]), typeof(Foundation.NSRange) }, Selector="setIndirectCommandBuffers:withRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateArgumentEncoder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.UIntPtr) }, ReturnType=typeof(Metal.IMTLArgumentEncoder), Selector="newArgumentEncoderForBufferAtIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetComputePipelineState", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLComputePipelineState), typeof(System.UIntPtr) }, Selector="setComputePipelineState:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetComputePipelineStates", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLComputePipelineState[]), typeof(Foundation.NSRange) }, Selector="setComputePipelineStates:withRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetAccelerationStructure", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLAccelerationStructure), typeof(System.UIntPtr) }, Selector="setAccelerationStructure:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetVisibleFunctionTable", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLVisibleFunctionTable), typeof(System.UIntPtr) }, Selector="setVisibleFunctionTable:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetVisibleFunctionTables", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLVisibleFunctionTable[]), typeof(Foundation.NSRange) }, Selector="setVisibleFunctionTables:withRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetIntersectionFunctionTable", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIntersectionFunctionTable), typeof(System.UIntPtr) }, Selector="setIntersectionFunctionTable:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetIntersectionFunctionTables", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLIntersectionFunctionTable[]), typeof(Foundation.NSRange) }, Selector="setIntersectionFunctionTables:withRange:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthStencilState", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLDepthStencilState), typeof(System.UIntPtr) }, Selector="setDepthStencilState:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SetDepthStencilStates", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLDepthStencilState[]), typeof(Foundation.NSRange) }, Selector="setDepthStencilStates:withRange:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="device", IsProperty=true, IsRequired=true, IsStatic=false, Name="Device", PropertyType=typeof(Metal.IMTLDevice), Selector="device")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="label", IsProperty=true, IsRequired=true, IsStatic=false, Name="Label", PropertyType=typeof(System.String), Selector="label", SetterSelector="setLabel:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="encodedLength", IsProperty=true, IsRequired=true, IsStatic=false, Name="EncodedLength", PropertyType=typeof(System.UIntPtr), Selector="encodedLength")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="alignment", IsProperty=true, IsRequired=true, IsStatic=false, Name="Alignment", PropertyType=typeof(System.UIntPtr), Selector="alignment")>]
type IMTLArgumentEncoder = interface
interface INativeObject
interface IDisposable
- Attributes
- Implements
Properties
| Name | Description |
|---|---|
| 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. |