net9.0-ios17.2
namespace Metal
{
    [Protocol(Name = "MTLTexture", WrapperType = typeof(MTLTextureWrapper))]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateSharedTextureHandle", ReturnType = typeof(MTLSharedTextureHandle), Selector = "newSharedTextureHandle")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "GetBytes", ParameterByRef = new[] { false, false, false, false, false, false }, ParameterType = new[] { typeof(IntPtr), typeof(UIntPtr), typeof(UIntPtr), typeof(MTLRegion), typeof(UIntPtr), typeof(UIntPtr) }, Selector = "getBytes:bytesPerRow:bytesPerImage:fromRegion:mipmapLevel:slice:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "GetBytes", ParameterByRef = new[] { false, false, false, false }, ParameterType = new[] { typeof(IntPtr), typeof(UIntPtr), typeof(MTLRegion), typeof(UIntPtr) }, Selector = "getBytes:bytesPerRow:fromRegion:mipmapLevel:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "ReplaceRegion", ParameterByRef = new[] { false, false, false, false, false, false }, ParameterType = new[] { typeof(MTLRegion), typeof(UIntPtr), typeof(UIntPtr), typeof(IntPtr), typeof(UIntPtr), typeof(UIntPtr) }, Selector = "replaceRegion:mipmapLevel:slice:withBytes:bytesPerRow:bytesPerImage:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "ReplaceRegion", ParameterByRef = new[] { false, false, false, false }, ParameterType = new[] { typeof(MTLRegion), typeof(UIntPtr), typeof(IntPtr), typeof(UIntPtr) }, Selector = "replaceRegion:mipmapLevel:withBytes:bytesPerRow:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateTextureView", ParameterByRef = new[] { false }, ParameterType = new[] { typeof(MTLPixelFormat) }, ReturnType = typeof(IMTLTexture), Selector = "newTextureViewWithPixelFormat:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "CreateTextureView", ParameterByRef = new[] { false, false, false, false }, ParameterType = new[] { typeof(MTLPixelFormat), typeof(MTLTextureType), typeof(NSRange), typeof(NSRange) }, ReturnType = typeof(IMTLTexture), Selector = "newTextureViewWithPixelFormat:textureType:levels:slices:")]
    [ProtocolMember(IsProperty = false, IsRequired = true, IsStatic = false, Name = "Create", ParameterByRef = new[] { false, false, false, false, false }, ParameterType = new[] { typeof(MTLPixelFormat), typeof(MTLTextureType), typeof(NSRange), typeof(NSRange), typeof(MTLTextureSwizzleChannels) }, ReturnType = typeof(IMTLTexture), Selector = "newTextureViewWithPixelFormat:textureType:levels:slices:swizzle:")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "rootResource", IsProperty = true, IsRequired = true, IsStatic = false, Name = "RootResource", PropertyType = typeof(IMTLResource), Selector = "rootResource")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "parentTexture", IsProperty = true, IsRequired = true, IsStatic = false, Name = "ParentTexture", PropertyType = typeof(IMTLTexture), Selector = "parentTexture")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "parentRelativeLevel", IsProperty = true, IsRequired = true, IsStatic = false, Name = "ParentRelativeLevel", PropertyType = typeof(UIntPtr), Selector = "parentRelativeLevel")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "parentRelativeSlice", IsProperty = true, IsRequired = true, IsStatic = false, Name = "ParentRelativeSlice", PropertyType = typeof(UIntPtr), Selector = "parentRelativeSlice")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "buffer", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Buffer", PropertyType = typeof(IMTLBuffer), Selector = "buffer")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "bufferOffset", IsProperty = true, IsRequired = true, IsStatic = false, Name = "BufferOffset", PropertyType = typeof(UIntPtr), Selector = "bufferOffset")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "bufferBytesPerRow", IsProperty = true, IsRequired = true, IsStatic = false, Name = "BufferBytesPerRow", PropertyType = typeof(UIntPtr), Selector = "bufferBytesPerRow")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "textureType", IsProperty = true, IsRequired = true, IsStatic = false, Name = "TextureType", PropertyType = typeof(MTLTextureType), Selector = "textureType")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "pixelFormat", IsProperty = true, IsRequired = true, IsStatic = false, Name = "PixelFormat", PropertyType = typeof(MTLPixelFormat), Selector = "pixelFormat")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "width", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Width", PropertyType = typeof(UIntPtr), Selector = "width")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "height", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Height", PropertyType = typeof(UIntPtr), Selector = "height")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "depth", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Depth", PropertyType = typeof(UIntPtr), Selector = "depth")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "mipmapLevelCount", IsProperty = true, IsRequired = true, IsStatic = false, Name = "MipmapLevelCount", PropertyType = typeof(UIntPtr), Selector = "mipmapLevelCount")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "sampleCount", IsProperty = true, IsRequired = true, IsStatic = false, Name = "SampleCount", PropertyType = typeof(UIntPtr), Selector = "sampleCount")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "arrayLength", IsProperty = true, IsRequired = true, IsStatic = false, Name = "ArrayLength", PropertyType = typeof(UIntPtr), Selector = "arrayLength")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "isFramebufferOnly", IsProperty = true, IsRequired = true, IsStatic = false, Name = "FramebufferOnly", PropertyType = typeof(bool), Selector = "framebufferOnly")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "allowGPUOptimizedContents", IsProperty = true, IsRequired = true, IsStatic = false, Name = "AllowGpuOptimizedContents", PropertyType = typeof(bool), Selector = "allowGPUOptimizedContents")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "compressionType", IsProperty = true, IsRequired = true, IsStatic = false, Name = "CompressionType", PropertyType = typeof(MTLTextureCompressionType), Selector = "compressionType")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "usage", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Usage", PropertyType = typeof(MTLTextureUsage), Selector = "usage")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "iosurface", IsProperty = true, IsRequired = true, IsStatic = false, Name = "IOSurface", PropertyType = typeof(IOSurface), Selector = "iosurface")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "iosurfacePlane", IsProperty = true, IsRequired = true, IsStatic = false, Name = "IOSurfacePlane", PropertyType = typeof(UIntPtr), Selector = "iosurfacePlane")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "isShareable", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Shareable", PropertyType = typeof(bool), Selector = "shareable")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "firstMipmapInTail", IsProperty = true, IsRequired = true, IsStatic = false, Name = "FirstMipmapInTail", PropertyType = typeof(UIntPtr), Selector = "firstMipmapInTail")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "tailSizeInBytes", IsProperty = true, IsRequired = true, IsStatic = false, Name = "TailSizeInBytes", PropertyType = typeof(UIntPtr), Selector = "tailSizeInBytes")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "isSparse", IsProperty = true, IsRequired = true, IsStatic = false, Name = "IsSparse", PropertyType = typeof(bool), Selector = "isSparse")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "swizzle", IsProperty = true, IsRequired = true, IsStatic = false, Name = "Swizzle", PropertyType = typeof(MTLTextureSwizzleChannels), Selector = "swizzle")]
    [ProtocolMember(ArgumentSemantic = ArgumentSemantic.None, GetterSelector = "gpuResourceID", IsProperty = true, IsRequired = false, IsStatic = false, Name = "GpuResourceId", PropertyType = typeof(MTLResourceId), Selector = "gpuResourceID")]
    [SupportedOSPlatform("maccatalyst")]
    [SupportedOSPlatform("ios")]
    [SupportedOSPlatform("macos")]
    [SupportedOSPlatform("tvos")]
    public interface IMTLTexture : IMTLResource, INativeObject, IDisposable
    {
        [Preserve(Conditional = true)]
        [SupportedOSPlatform("macos12.5")]
        [SupportedOSPlatform("ios15.0")]
        [UnsupportedOSPlatform("maccatalyst")]
        [UnsupportedOSPlatform("tvos")]
        MTLTextureCompressionType CompressionType
        {
            [Export("compressionType")]
            get;
        }

    }
}
.NET 6.07.08.09.0
Information specific to net9.0
Platforms This API is only available when you target a specific platform:
iOS 10.010.110.210.311.011.111.211.311.412.012.112.212.312.413.013.113.213.313.413.513.614.014.114.214.314.414.515.015.215.416.016.116.216.417.017.2
macOS 10.1410.1510.1611.011.111.211.312.012.112.313.013.113.314.014.2
Information specific to net9.0-ios17.2
Assembly

Microsoft.iOS , Version=17.2.0.0, PublicKeyToken=84e04ff9cfb79065

Referencing

The API is automatically referenced.

Platform Restrictions

The property getter is only supported on the following platforms:

  • iOS >= 15
  • Mac Catalyst 0 - 15
  • macOS >= 12.5
  • tvOS
  • Built-in API
  • Package-provided API

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