Share via


IMTL4CommandQueue Interface

Definition

This interface represents the Objective-C protocol MTL4CommandQueue.

[Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4CommandQueue", WrapperType=typeof(Metal.MTL4CommandQueueWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Commit", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="commit:count:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Commit", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr), typeof(Metal.MTL4CommitOptions) }, Selector="commit:count:options:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SignalEvent", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLEvent), typeof(System.UInt64) }, Selector="signalEvent:value:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WaitForEvent", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLEvent), typeof(System.UInt64) }, Selector="waitForEvent:value:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SignalDrawable", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLDrawable) }, Selector="signalDrawable:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WaitForDrawable", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLDrawable) }, Selector="waitForDrawable:")]
[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(IsProperty=false, IsRequired=true, IsStatic=false, Name="UpdateTextureMappings", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLTexture), typeof(Metal.IMTLHeap), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="updateTextureMappings:heap:operations:count:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CopyTextureMappings", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLTexture), typeof(Metal.IMTLTexture), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="copyTextureMappingsFromTexture:toTexture:operations:count:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UpdateBufferMappings", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLBuffer), typeof(Metal.IMTLHeap), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="updateBufferMappings:heap:operations:count:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CopyBufferMappings", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLBuffer), typeof(Metal.IMTLBuffer), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="copyBufferMappingsFromBuffer:toBuffer:operations:count:")]
[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")]
public interface IMTL4CommandQueue : IDisposable, ObjCRuntime.INativeObject
[<Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTL4CommandQueue", WrapperType=typeof(Metal.MTL4CommandQueueWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Commit", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="commit:count:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Commit", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr), typeof(Metal.MTL4CommitOptions) }, Selector="commit:count:options:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SignalEvent", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLEvent), typeof(System.UInt64) }, Selector="signalEvent:value:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WaitForEvent", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLEvent), typeof(System.UInt64) }, Selector="waitForEvent:value:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="SignalDrawable", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLDrawable) }, Selector="signalDrawable:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="WaitForDrawable", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLDrawable) }, Selector="waitForDrawable:")>]
[<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(IsProperty=false, IsRequired=true, IsStatic=false, Name="UpdateTextureMappings", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLTexture), typeof(Metal.IMTLHeap), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="updateTextureMappings:heap:operations:count:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CopyTextureMappings", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLTexture), typeof(Metal.IMTLTexture), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="copyTextureMappingsFromTexture:toTexture:operations:count:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="UpdateBufferMappings", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLBuffer), typeof(Metal.IMTLHeap), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="updateBufferMappings:heap:operations:count:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CopyBufferMappings", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.IMTLBuffer), typeof(Metal.IMTLBuffer), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="copyBufferMappingsFromBuffer:toBuffer:operations:count:")>]
[<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")>]
type IMTL4CommandQueue = 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

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

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

AddResidencySets(IntPtr, UIntPtr)
Commit(IMTL4CommandBuffer[])

Queue an array of command buffers for execution.

Commit(IntPtr, UIntPtr, MTL4CommitOptions)
Commit(IntPtr, UIntPtr)
Commit(MTL4CommitOptions, IMTL4CommandBuffer[])

Queue an array of command buffers for execution.

CopyBufferMappings(IMTLBuffer, IMTLBuffer, IntPtr, UIntPtr)
CopyBufferMappings(IMTLBuffer, IMTLBuffer, MTL4CopySparseBufferMappingOperation[])

Copy buffer mappings between two textures.

CopyTextureMappings(IMTLTexture, IMTLTexture, IntPtr, UIntPtr)
CopyTextureMappings(IMTLTexture, IMTLTexture, MTL4CopySparseTextureMappingOperation[])

Copy texture mappings between two textures.

RemoveResidencySet(IMTLResidencySet)
RemoveResidencySets(IMTLResidencySet[])

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

RemoveResidencySets(IntPtr, UIntPtr)
SignalDrawable(IMTLDrawable)
SignalEvent(IMTLEvent, UInt64)
UpdateBufferMappings(IMTLBuffer, IMTLHeap, IntPtr, UIntPtr)
UpdateBufferMappings(IMTLBuffer, IMTLHeap, MTL4UpdateSparseBufferMappingOperation[])

Update multiple buffer mappings.

UpdateTextureMappings(IMTLTexture, IMTLHeap, IntPtr, UIntPtr)
UpdateTextureMappings(IMTLTexture, IMTLHeap, MTL4UpdateSparseTextureMappingOperation[])

Update multiple texture mappings.

WaitForDrawable(IMTLDrawable)
WaitForEvent(IMTLEvent, UInt64)

Extension Methods

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

Applies to