net9.0-ios
namespace Metal
{
    [Protocol(Name = "MTLHeap", WrapperType = typeof(MTLHeapWrapper))]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "GetMaxAvailableSize", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(UIntPtr) }, ReturnType = typeof(UIntPtr), Selector = "maxAvailableSizeWithAlignment:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateBuffer", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(UIntPtr), typeof(MTLResourceOptions) }, ReturnType = typeof(IMTLBuffer), Selector = "newBufferWithLength:options:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateTexture", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLTextureDescriptor) }, ReturnType = typeof(IMTLTexture), Selector = "newTextureWithDescriptor:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "SetPurgeableState", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLPurgeableState) }, ReturnType = typeof(MTLPurgeableState), Selector = "setPurgeableState:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateBuffer", ParameterByRef = new[] { false, false, false }, ParameterType = new[] { typeof(UIntPtr), typeof(MTLResourceOptions), typeof(UIntPtr) }, ReturnType = typeof(IMTLBuffer), Selector = "newBufferWithLength:options:offset:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateTexture", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(MTLTextureDescriptor), typeof(UIntPtr) }, ReturnType = typeof(IMTLTexture), Selector = "newTextureWithDescriptor:offset:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "CreateAccelerationStructure", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(UIntPtr) }, ReturnType = typeof(IMTLAccelerationStructure), Selector = "newAccelerationStructureWithSize:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "CreateAccelerationStructure", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLAccelerationStructureDescriptor) }, ReturnType = typeof(IMTLAccelerationStructure), Selector = "newAccelerationStructureWithDescriptor:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "CreateAccelerationStructure", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(UIntPtr), typeof(UIntPtr) }, ReturnType = typeof(IMTLAccelerationStructure), Selector = "newAccelerationStructureWithSize:offset:")]
    [ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "CreateAccelerationStructure", ParameterByRef = new[] { false, false }, ParameterType = new[] { typeof(MTLAccelerationStructureDescriptor), typeof(UIntPtr) }, ReturnType = typeof(IMTLAccelerationStructure), Selector = "newAccelerationStructureWithDescriptor:offset:")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "device", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Device", PropertyType = typeof(IMTLDevice), Selector = "device")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "storageMode", IsProperty = true, IsRequired = true, IsStatic = false, Name = "StorageMode", PropertyType = typeof(MTLStorageMode), Selector = "storageMode")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "cpuCacheMode", IsProperty = true, IsRequired = true, IsStatic = false, Name = "CpuCacheMode", PropertyType = typeof(MTLCpuCacheMode), Selector = "cpuCacheMode")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "size", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Size", PropertyType = typeof(UIntPtr), Selector = "size")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "usedSize", IsProperty = true, IsRequired = true, IsStatic = false, Name = "UsedSize", PropertyType = typeof(UIntPtr), Selector = "usedSize")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "currentAllocatedSize", IsProperty = true, IsRequired = true, IsStatic = false, Name = "CurrentAllocatedSize", PropertyType = typeof(UIntPtr), Selector = "currentAllocatedSize")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "hazardTrackingMode", IsProperty = true, IsRequired = true, IsStatic = false, Name = "HazardTrackingMode", PropertyType = typeof(MTLHazardTrackingMode), Selector = "hazardTrackingMode")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "resourceOptions", IsProperty = true, IsRequired = true, IsStatic = false, Name = "ResourceOptions", PropertyType = typeof(MTLResourceOptions), Selector = "resourceOptions")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "type", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Type", PropertyType = typeof(MTLHeapType), Selector = "type")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "label", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Label", PropertyType = typeof(string), Selector = "label", SetterSelector = "setLabel:")]
    [SupportedOSPlatform("maccatalyst")]
    [SupportedOSPlatform("ios")]
    [SupportedOSPlatform("macos")]
    [SupportedOSPlatform("tvos")]
    public interface IMTLHeap : INativeObject, IDisposable
}
Assembly Microsoft.iOS , Version=17.0.0.0, PublicKeyToken=84e04ff9cfb79065
Help Documentation
.NET 6.0-ios6.0-maccatalyst6.0-macos6.0-tvos7.0-ios7.0-maccatalyst7.0-macos7.0-tvos8.0-ios8.0-maccatalyst8.0-macos8.0-tvos9.0-ios9.0-maccatalyst9.0-macos9.0-tvos
OS Platforms

For the selected framework this API is only supported on the following OS platforms:

  • iOS
  • Mac Catalyst
  • macOS
  • tvOS
  • Built-in API
  • Package-provided API

04/25/2024
An error has occurred. This application may no longer respond until reloaded. Reload 🗙