IMTL4CommandBuffer Schnittstelle

Definition

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

[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
Attribute
Implementiert

Hinweise

Eine Klasse, die diese Schnittstelle (und Unterklassen NSObject) implementiert, wird in Objective-C exportiert, da das Objective-C Protokoll implementiert wird, das diese Schnittstelle darstellt.

Eine Klasse kann auch Member aus dieser Schnittstelle implementieren, um Member aus dem Protokoll zu implementieren.

Eigenschaften

Name Beschreibung
Device

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

Handle

Handle (Zeiger) auf die nicht verwaltete Objektdarstellung.

(Geerbt von INativeObject)
Label

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

Methoden

Name Beschreibung
BeginCommandBuffer(IMTL4CommandAllocator, MTL4CommandBufferOptions)

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

BeginCommandBuffer(IMTL4CommandAllocator)

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

CreateComputeCommandEncoder()

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

CreateMachineLearningCommandEncoder()

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

CreateRenderCommandEncoder(MTL4RenderPassDescriptor, MTL4RenderEncoderOptions)

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

CreateRenderCommandEncoder(MTL4RenderPassDescriptor)

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

EndCommandBuffer()

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

PopDebugGroup()

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

PushDebugGroup(String)

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

ResolveCounterHeap(IMTL4CounterHeap, NSRange, MTL4BufferRange, IMTLFence, IMTLFence)

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

UseResidencySet(IMTLResidencySet)

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

UseResidencySets(IMTLResidencySet[])

Markiert die angegebenen Residency-Sätze als Teil der aktuellen Befehlspufferausführung.

UseResidencySets(IntPtr, UIntPtr)

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

WriteTimestamp(IMTL4CounterHeap, UIntPtr)

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

Erweiterungsmethoden

Name Beschreibung
GetHandle(INativeObject)

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

GetNonNullHandle(INativeObject, String)

Diese Schnittstelle stellt das Objective-C-Protokoll MTL4CommandBufferdar.

Gilt für: