IMTLCommandQueue 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.
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) | |