Share via


IMTLResidencySet Interface

Definition

This interface represents the Objective-C protocol MTLResidencySet.

[Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTLResidencySet", WrapperType=typeof(Metal.MTLResidencySetWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="RequestResidency", Selector="requestResidency")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="EndResidency", Selector="endResidency")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="AddAllocation", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLAllocation) }, Selector="addAllocation:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="AddAllocations", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="addAllocations:count:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="RemoveAllocation", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLAllocation) }, Selector="removeAllocation:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="RemoveAllocations", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="removeAllocations:count:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="RemoveAllAllocations", Selector="removeAllAllocations")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ContainsAllocation", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLAllocation) }, ReturnType=typeof(System.Boolean), Selector="containsAllocation:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Commit", Selector="commit")]
[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")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="allocatedSize", IsProperty=true, IsRequired=true, IsStatic=false, Name="AllocatedSize", PropertyType=typeof(System.UInt64), Selector="allocatedSize")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.Copy, GetterSelector="allAllocations", IsProperty=true, IsRequired=true, IsStatic=false, Name="AllAllocations", PropertyType=typeof(Metal.IMTLAllocation[]), Selector="allAllocations")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="allocationCount", IsProperty=true, IsRequired=true, IsStatic=false, Name="AllocationCount", PropertyType=typeof(System.UIntPtr), Selector="allocationCount")]
public interface IMTLResidencySet : IDisposable, ObjCRuntime.INativeObject
[<Foundation.Protocol(BackwardsCompatibleCodeGeneration=false, Name="MTLResidencySet", WrapperType=typeof(Metal.MTLResidencySetWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="RequestResidency", Selector="requestResidency")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="EndResidency", Selector="endResidency")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="AddAllocation", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLAllocation) }, Selector="addAllocation:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="AddAllocations", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="addAllocations:count:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="RemoveAllocation", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLAllocation) }, Selector="removeAllocation:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="RemoveAllocations", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="removeAllocations:count:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="RemoveAllAllocations", Selector="removeAllAllocations")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ContainsAllocation", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLAllocation) }, ReturnType=typeof(System.Boolean), Selector="containsAllocation:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Commit", Selector="commit")>]
[<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")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="allocatedSize", IsProperty=true, IsRequired=true, IsStatic=false, Name="AllocatedSize", PropertyType=typeof(System.UInt64), Selector="allocatedSize")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.Copy, GetterSelector="allAllocations", IsProperty=true, IsRequired=true, IsStatic=false, Name="AllAllocations", PropertyType=typeof(Metal.IMTLAllocation[]), Selector="allAllocations")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="allocationCount", IsProperty=true, IsRequired=true, IsStatic=false, Name="AllocationCount", PropertyType=typeof(System.UIntPtr), Selector="allocationCount")>]
type IMTLResidencySet = 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
AllAllocations
AllocatedSize
AllocationCount
Device
Handle

Handle (pointer) to the unmanaged object representation.

(Inherited from INativeObject)
Label

Methods

Name Description
AddAllocation(IMTLAllocation)
AddAllocations(IMTLAllocation[])

Adds allocations to be committed the next time Commit() is called.

AddAllocations(IntPtr, UIntPtr)
Commit()
ContainsAllocation(IMTLAllocation)
EndResidency()
RemoveAllAllocations()
RemoveAllocation(IMTLAllocation)
RemoveAllocations(IMTLAllocation[])

Marks allocations to be removed the next time Commit() is called.

RemoveAllocations(IntPtr, UIntPtr)
RequestResidency()

Extension Methods

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

Applies to