IMTL4CommandBuffer 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.
This interface represents the Objective-C protocol MTL4CommandBuffer.
[Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4CommandBuffer", WrapperType=typeof(Metal.MTL4CommandBufferWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BeginCommandBuffer", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CommandAllocator) }, Selector="beginCommandBufferWithAllocator:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BeginCommandBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CommandAllocator), typeof(Metal.MTL4CommandBufferOptions) }, Selector="beginCommandBufferWithAllocator:options:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="EndCommandBuffer", Selector="endCommandBuffer")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateRenderCommandEncoder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTL4RenderPassDescriptor) }, ReturnType=typeof(Metal.IMTL4RenderCommandEncoder), Selector="renderCommandEncoderWithDescriptor:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateRenderCommandEncoder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTL4RenderPassDescriptor), typeof(Metal.MTL4RenderEncoderOptions) }, ReturnType=typeof(Metal.IMTL4RenderCommandEncoder), Selector="renderCommandEncoderWithDescriptor:options:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateComputeCommandEncoder", ReturnType=typeof(Metal.IMTL4ComputeCommandEncoder), Selector="computeCommandEncoder")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateMachineLearningCommandEncoder", ReturnType=typeof(Metal.IMTL4MachineLearningCommandEncoder), Selector="machineLearningCommandEncoder")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UseResidencySet", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLResidencySet) }, Selector="useResidencySet:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UseResidencySets", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="useResidencySets:count:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PushDebugGroup", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="pushDebugGroup:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PopDebugGroup", Selector="popDebugGroup")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WriteTimestamp", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CounterHeap), typeof(System.UIntPtr) }, Selector="writeTimestampIntoHeap:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ResolveCounterHeap", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CounterHeap), typeof(Foundation.NSRange), typeof(Metal.MTL4BufferRange), typeof(Metal.IMTLFence), typeof(Metal.IMTLFence) }, Selector="resolveCounterHeap:withRange:intoBuffer:waitFence:updateFence:")]
[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:")]
public interface IMTL4CommandBuffer : IDisposable, ObjCRuntime.INativeObject
[Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4CommandBuffer", WrapperType=typeof(Metal.MTL4CommandBufferWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BeginCommandBuffer", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CommandAllocator) }, Selector="beginCommandBufferWithAllocator:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BeginCommandBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CommandAllocator), typeof(Metal.MTL4CommandBufferOptions) }, Selector="beginCommandBufferWithAllocator:options:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="EndCommandBuffer", Selector="endCommandBuffer")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateRenderCommandEncoder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTL4RenderPassDescriptor) }, ReturnType=typeof(Metal.IMTL4RenderCommandEncoder), Selector="renderCommandEncoderWithDescriptor:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateRenderCommandEncoder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTL4RenderPassDescriptor), typeof(Metal.MTL4RenderEncoderOptions) }, ReturnType=typeof(Metal.IMTL4RenderCommandEncoder), Selector="renderCommandEncoderWithDescriptor:options:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateComputeCommandEncoder", ReturnType=typeof(Metal.IMTL4ComputeCommandEncoder), Selector="computeCommandEncoder")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateMachineLearningCommandEncoder", ReturnType=typeof(Metal.IMTL4MachineLearningCommandEncoder), Selector="machineLearningCommandEncoder")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UseResidencySet", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLResidencySet) }, Selector="useResidencySet:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UseResidencySets", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="useResidencySets:count:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PushDebugGroup", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="pushDebugGroup:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PopDebugGroup", Selector="popDebugGroup")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WriteTimestamp", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CounterHeap), typeof(System.UIntPtr) }, Selector="writeTimestampIntoHeap:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ResolveCounterHeap", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CounterHeap), typeof(Foundation.NSRange), typeof(Metal.MTL4BufferRange), typeof(Metal.IMTLFence), typeof(Metal.IMTLFence) }, Selector="resolveCounterHeap:withRange:intoBuffer:waitFence:updateFence:")]
[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:")]
[ObjCRuntime.UnsupportedSimulator("ios")]
public interface IMTL4CommandBuffer : IDisposable, ObjCRuntime.INativeObject
[Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4CommandBuffer", WrapperType=typeof(Metal.MTL4CommandBufferWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BeginCommandBuffer", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CommandAllocator) }, Selector="beginCommandBufferWithAllocator:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BeginCommandBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CommandAllocator), typeof(Metal.MTL4CommandBufferOptions) }, Selector="beginCommandBufferWithAllocator:options:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="EndCommandBuffer", Selector="endCommandBuffer")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateRenderCommandEncoder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTL4RenderPassDescriptor) }, ReturnType=typeof(Metal.IMTL4RenderCommandEncoder), Selector="renderCommandEncoderWithDescriptor:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateRenderCommandEncoder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTL4RenderPassDescriptor), typeof(Metal.MTL4RenderEncoderOptions) }, ReturnType=typeof(Metal.IMTL4RenderCommandEncoder), Selector="renderCommandEncoderWithDescriptor:options:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateComputeCommandEncoder", ReturnType=typeof(Metal.IMTL4ComputeCommandEncoder), Selector="computeCommandEncoder")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateMachineLearningCommandEncoder", ReturnType=typeof(Metal.IMTL4MachineLearningCommandEncoder), Selector="machineLearningCommandEncoder")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UseResidencySet", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLResidencySet) }, Selector="useResidencySet:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UseResidencySets", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="useResidencySets:count:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PushDebugGroup", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="pushDebugGroup:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PopDebugGroup", Selector="popDebugGroup")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WriteTimestamp", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CounterHeap), typeof(System.UIntPtr) }, Selector="writeTimestampIntoHeap:atIndex:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ResolveCounterHeap", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CounterHeap), typeof(Foundation.NSRange), typeof(Metal.MTL4BufferRange), typeof(Metal.IMTLFence), typeof(Metal.IMTLFence) }, Selector="resolveCounterHeap:withRange:intoBuffer:waitFence:updateFence:")]
[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:")]
[ObjCRuntime.UnsupportedSimulator("tvos")]
public interface IMTL4CommandBuffer : IDisposable, ObjCRuntime.INativeObject
[<Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4CommandBuffer", WrapperType=typeof(Metal.MTL4CommandBufferWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BeginCommandBuffer", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CommandAllocator) }, Selector="beginCommandBufferWithAllocator:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BeginCommandBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CommandAllocator), typeof(Metal.MTL4CommandBufferOptions) }, Selector="beginCommandBufferWithAllocator:options:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="EndCommandBuffer", Selector="endCommandBuffer")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateRenderCommandEncoder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTL4RenderPassDescriptor) }, ReturnType=typeof(Metal.IMTL4RenderCommandEncoder), Selector="renderCommandEncoderWithDescriptor:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateRenderCommandEncoder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTL4RenderPassDescriptor), typeof(Metal.MTL4RenderEncoderOptions) }, ReturnType=typeof(Metal.IMTL4RenderCommandEncoder), Selector="renderCommandEncoderWithDescriptor:options:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateComputeCommandEncoder", ReturnType=typeof(Metal.IMTL4ComputeCommandEncoder), Selector="computeCommandEncoder")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateMachineLearningCommandEncoder", ReturnType=typeof(Metal.IMTL4MachineLearningCommandEncoder), Selector="machineLearningCommandEncoder")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UseResidencySet", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLResidencySet) }, Selector="useResidencySet:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UseResidencySets", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="useResidencySets:count:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PushDebugGroup", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="pushDebugGroup:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PopDebugGroup", Selector="popDebugGroup")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WriteTimestamp", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CounterHeap), typeof(System.UIntPtr) }, Selector="writeTimestampIntoHeap:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ResolveCounterHeap", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CounterHeap), typeof(Foundation.NSRange), typeof(Metal.MTL4BufferRange), typeof(Metal.IMTLFence), typeof(Metal.IMTLFence) }, Selector="resolveCounterHeap:withRange:intoBuffer:waitFence:updateFence:")>]
[<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:")>]
type IMTL4CommandBuffer = interface
interface INativeObject
interface IDisposable
[<Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4CommandBuffer", WrapperType=typeof(Metal.MTL4CommandBufferWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BeginCommandBuffer", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CommandAllocator) }, Selector="beginCommandBufferWithAllocator:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BeginCommandBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CommandAllocator), typeof(Metal.MTL4CommandBufferOptions) }, Selector="beginCommandBufferWithAllocator:options:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="EndCommandBuffer", Selector="endCommandBuffer")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateRenderCommandEncoder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTL4RenderPassDescriptor) }, ReturnType=typeof(Metal.IMTL4RenderCommandEncoder), Selector="renderCommandEncoderWithDescriptor:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateRenderCommandEncoder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTL4RenderPassDescriptor), typeof(Metal.MTL4RenderEncoderOptions) }, ReturnType=typeof(Metal.IMTL4RenderCommandEncoder), Selector="renderCommandEncoderWithDescriptor:options:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateComputeCommandEncoder", ReturnType=typeof(Metal.IMTL4ComputeCommandEncoder), Selector="computeCommandEncoder")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateMachineLearningCommandEncoder", ReturnType=typeof(Metal.IMTL4MachineLearningCommandEncoder), Selector="machineLearningCommandEncoder")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UseResidencySet", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLResidencySet) }, Selector="useResidencySet:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UseResidencySets", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="useResidencySets:count:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PushDebugGroup", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="pushDebugGroup:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PopDebugGroup", Selector="popDebugGroup")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WriteTimestamp", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CounterHeap), typeof(System.UIntPtr) }, Selector="writeTimestampIntoHeap:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ResolveCounterHeap", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CounterHeap), typeof(Foundation.NSRange), typeof(Metal.MTL4BufferRange), typeof(Metal.IMTLFence), typeof(Metal.IMTLFence) }, Selector="resolveCounterHeap:withRange:intoBuffer:waitFence:updateFence:")>]
[<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:")>]
[<ObjCRuntime.UnsupportedSimulator("ios")>]
type IMTL4CommandBuffer = interface
interface INativeObject
interface IDisposable
[<Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4CommandBuffer", WrapperType=typeof(Metal.MTL4CommandBufferWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BeginCommandBuffer", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CommandAllocator) }, Selector="beginCommandBufferWithAllocator:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="BeginCommandBuffer", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CommandAllocator), typeof(Metal.MTL4CommandBufferOptions) }, Selector="beginCommandBufferWithAllocator:options:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="EndCommandBuffer", Selector="endCommandBuffer")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateRenderCommandEncoder", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTL4RenderPassDescriptor) }, ReturnType=typeof(Metal.IMTL4RenderCommandEncoder), Selector="renderCommandEncoderWithDescriptor:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateRenderCommandEncoder", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.MTL4RenderPassDescriptor), typeof(Metal.MTL4RenderEncoderOptions) }, ReturnType=typeof(Metal.IMTL4RenderCommandEncoder), Selector="renderCommandEncoderWithDescriptor:options:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateComputeCommandEncoder", ReturnType=typeof(Metal.IMTL4ComputeCommandEncoder), Selector="computeCommandEncoder")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateMachineLearningCommandEncoder", ReturnType=typeof(Metal.IMTL4MachineLearningCommandEncoder), Selector="machineLearningCommandEncoder")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UseResidencySet", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLResidencySet) }, Selector="useResidencySet:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UseResidencySets", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="useResidencySets:count:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PushDebugGroup", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(System.String) }, Selector="pushDebugGroup:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="PopDebugGroup", Selector="popDebugGroup")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WriteTimestamp", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CounterHeap), typeof(System.UIntPtr) }, Selector="writeTimestampIntoHeap:atIndex:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ResolveCounterHeap", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTL4CounterHeap), typeof(Foundation.NSRange), typeof(Metal.MTL4BufferRange), typeof(Metal.IMTLFence), typeof(Metal.IMTLFence) }, Selector="resolveCounterHeap:withRange:intoBuffer:waitFence:updateFence:")>]
[<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:")>]
[<ObjCRuntime.UnsupportedSimulator("tvos")>]
type IMTL4CommandBuffer = interface
interface INativeObject
interface IDisposable
- Attributes
- Implements
Remarks
A class that implements this interface (and subclasses NSObject) will be exported to Objective-C as implementing the Objective-C protocol this interface represents.
A class may also implement members from this interface to implement members from the protocol.
Properties
| Name | Description |
|---|---|
| Device | |
| Handle |
Handle (pointer) to the unmanaged object representation. (Inherited from INativeObject) |
| Label | |
Methods
Extension Methods
| Name | Description |
|---|---|
| GetHandle(INativeObject) | |
| GetNonNullHandle(INativeObject, String) | |