Share via


IMTLCommandQueue Interface

Definition

System protocol for objects that can queue command buffers for running on a GPU.

[Foundation.Protocol(Name="MTLCommandQueue", WrapperType=typeof(Metal.MTLCommandQueueWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CommandBuffer", ReturnType=typeof(Metal.IMTLCommandBuffer), Selector="commandBuffer")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CommandBufferWithUnretainedReferences", ReturnType=typeof(Metal.IMTLCommandBuffer), Selector="commandBufferWithUnretainedReferences")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="InsertDebugCaptureBoundary", Selector="insertDebugCaptureBoundary")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateCommandBuffer", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLCommandBufferDescriptor) }, ReturnType=typeof(Metal.IMTLCommandBuffer), Selector="commandBufferWithDescriptor:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="AddResidencySet", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLResidencySet) }, Selector="addResidencySet:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="AddResidencySets", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="addResidencySets:count:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="RemoveResidencySet", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLResidencySet) }, Selector="removeResidencySet:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="RemoveResidencySets", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="removeResidencySets:count:")]
[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="device", IsProperty=true, IsRequired=true, IsStatic=false, Name="Device", PropertyType=typeof(Metal.IMTLDevice), Selector="device")]
public interface IMTLCommandQueue : IDisposable, ObjCRuntime.INativeObject
[<Foundation.Protocol(Name="MTLCommandQueue", WrapperType=typeof(Metal.MTLCommandQueueWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CommandBuffer", ReturnType=typeof(Metal.IMTLCommandBuffer), Selector="commandBuffer")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CommandBufferWithUnretainedReferences", ReturnType=typeof(Metal.IMTLCommandBuffer), Selector="commandBufferWithUnretainedReferences")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="InsertDebugCaptureBoundary", Selector="insertDebugCaptureBoundary")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateCommandBuffer", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLCommandBufferDescriptor) }, ReturnType=typeof(Metal.IMTLCommandBuffer), Selector="commandBufferWithDescriptor:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="AddResidencySet", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLResidencySet) }, Selector="addResidencySet:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="AddResidencySets", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="addResidencySets:count:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="RemoveResidencySet", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLResidencySet) }, Selector="removeResidencySet:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="RemoveResidencySets", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="removeResidencySets:count:")>]
[<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="device", IsProperty=true, IsRequired=true, IsStatic=false, Name="Device", PropertyType=typeof(Metal.IMTLDevice), Selector="device")>]
type IMTLCommandQueue = interface
    interface INativeObject
    interface IDisposable
Attributes
Implements

Properties

Name Description
Device
Handle

Handle (pointer) to the unmanaged object representation.

(Inherited from INativeObject)
Label

Methods

Name Description
AddResidencySet(IMTLResidencySet)
AddResidencySets(IMTLResidencySet[])

Marks the specified residency sets as part of the current command buffer execution.

AddResidencySets(IntPtr, UIntPtr)
CommandBuffer()
CommandBufferWithUnretainedReferences()
CreateCommandBuffer(MTLCommandBufferDescriptor)
InsertDebugCaptureBoundary()

Developers should not use this deprecated method. Developers should use 'MTLCaptureScope' instead.

RemoveResidencySet(IMTLResidencySet)
RemoveResidencySets(IMTLResidencySet[])

Removes the specified residency sets from the current command buffer execution.

RemoveResidencySets(IntPtr, UIntPtr)

Extension Methods

Name Description
GetHandle(INativeObject)
GetNonNullHandle(INativeObject, String)

Applies to