IMTLTexture 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 image data that is used by vertex shaders, fragment shaders, and compute kernels.
[Foundation.Protocol(Name="MTLTexture", WrapperType=typeof(Metal.MTLTextureWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat), typeof(Metal.MTLTextureType), typeof(Foundation.NSRange), typeof(Foundation.NSRange) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:textureType:levels:slices:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBytes", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="getBytes:bytesPerRow:bytesPerImage:fromRegion:mipmapLevel:slice:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBytes", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr), typeof(Metal.MTLRegion), typeof(System.UIntPtr) }, Selector="getBytes:bytesPerRow:fromRegion:mipmapLevel:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceRegion", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="replaceRegion:mipmapLevel:slice:withBytes:bytesPerRow:bytesPerImage:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceRegion", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="replaceRegion:mipmapLevel:withBytes:bytesPerRow:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateSharedTextureHandle", ReturnType=typeof(Metal.MTLSharedTextureHandle), Selector="newSharedTextureHandle")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Create", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat), typeof(Metal.MTLTextureType), typeof(Foundation.NSRange), typeof(Foundation.NSRange), typeof(Metal.MTLTextureSwizzleChannels) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:textureType:levels:slices:swizzle:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLTextureViewDescriptor) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithDescriptor:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="rootResource", IsProperty=true, IsRequired=true, IsStatic=false, Name="RootResource", PropertyType=typeof(Metal.IMTLResource), Selector="rootResource")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentTexture", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentTexture", PropertyType=typeof(Metal.IMTLTexture), Selector="parentTexture")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentRelativeLevel", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentRelativeLevel", PropertyType=typeof(System.UIntPtr), Selector="parentRelativeLevel")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentRelativeSlice", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentRelativeSlice", PropertyType=typeof(System.UIntPtr), Selector="parentRelativeSlice")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="buffer", IsProperty=true, IsRequired=true, IsStatic=false, Name="Buffer", PropertyType=typeof(Metal.IMTLBuffer), Selector="buffer")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="bufferOffset", IsProperty=true, IsRequired=true, IsStatic=false, Name="BufferOffset", PropertyType=typeof(System.UIntPtr), Selector="bufferOffset")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="bufferBytesPerRow", IsProperty=true, IsRequired=true, IsStatic=false, Name="BufferBytesPerRow", PropertyType=typeof(System.UIntPtr), Selector="bufferBytesPerRow")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textureType", IsProperty=true, IsRequired=true, IsStatic=false, Name="TextureType", PropertyType=typeof(Metal.MTLTextureType), Selector="textureType")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="pixelFormat", IsProperty=true, IsRequired=true, IsStatic=false, Name="PixelFormat", PropertyType=typeof(Metal.MTLPixelFormat), Selector="pixelFormat")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="width", IsProperty=true, IsRequired=true, IsStatic=false, Name="Width", PropertyType=typeof(System.UIntPtr), Selector="width")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="height", IsProperty=true, IsRequired=true, IsStatic=false, Name="Height", PropertyType=typeof(System.UIntPtr), Selector="height")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="depth", IsProperty=true, IsRequired=true, IsStatic=false, Name="Depth", PropertyType=typeof(System.UIntPtr), Selector="depth")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="mipmapLevelCount", IsProperty=true, IsRequired=true, IsStatic=false, Name="MipmapLevelCount", PropertyType=typeof(System.UIntPtr), Selector="mipmapLevelCount")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="sampleCount", IsProperty=true, IsRequired=true, IsStatic=false, Name="SampleCount", PropertyType=typeof(System.UIntPtr), Selector="sampleCount")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="arrayLength", IsProperty=true, IsRequired=true, IsStatic=false, Name="ArrayLength", PropertyType=typeof(System.UIntPtr), Selector="arrayLength")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isFramebufferOnly", IsProperty=true, IsRequired=true, IsStatic=false, Name="FramebufferOnly", PropertyType=typeof(System.Boolean), Selector="framebufferOnly")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="allowGPUOptimizedContents", IsProperty=true, IsRequired=true, IsStatic=false, Name="AllowGpuOptimizedContents", PropertyType=typeof(System.Boolean), Selector="allowGPUOptimizedContents")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="compressionType", IsProperty=true, IsRequired=true, IsStatic=false, Name="CompressionType", PropertyType=typeof(Metal.MTLTextureCompressionType), Selector="compressionType")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="usage", IsProperty=true, IsRequired=true, IsStatic=false, Name="Usage", PropertyType=typeof(Metal.MTLTextureUsage), Selector="usage")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="iosurface", IsProperty=true, IsRequired=true, IsStatic=false, Name="IOSurface", PropertyType=typeof(IOSurface.IOSurface), Selector="iosurface")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="iosurfacePlane", IsProperty=true, IsRequired=true, IsStatic=false, Name="IOSurfacePlane", PropertyType=typeof(System.UIntPtr), Selector="iosurfacePlane")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isShareable", IsProperty=true, IsRequired=true, IsStatic=false, Name="Shareable", PropertyType=typeof(System.Boolean), Selector="shareable")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="firstMipmapInTail", IsProperty=true, IsRequired=true, IsStatic=false, Name="FirstMipmapInTail", PropertyType=typeof(System.UIntPtr), Selector="firstMipmapInTail")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tailSizeInBytes", IsProperty=true, IsRequired=true, IsStatic=false, Name="TailSizeInBytes", PropertyType=typeof(System.UIntPtr), Selector="tailSizeInBytes")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isSparse", IsProperty=true, IsRequired=true, IsStatic=false, Name="IsSparse", PropertyType=typeof(System.Boolean), Selector="isSparse")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="swizzle", IsProperty=true, IsRequired=true, IsStatic=false, Name="Swizzle", PropertyType=typeof(Metal.MTLTextureSwizzleChannels), Selector="swizzle")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="gpuResourceID", IsProperty=true, IsRequired=true, IsStatic=false, Name="GpuResourceId", PropertyType=typeof(Metal.MTLResourceId), Selector="gpuResourceID")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="sparseTextureTier", IsProperty=true, IsRequired=true, IsStatic=false, Name="SparseTextureTier", PropertyType=typeof(Metal.MTLTextureSparseTier), Selector="sparseTextureTier")]
public interface IMTLTexture : IDisposable, Metal.IMTLResource
[Foundation.Protocol(Name="MTLTexture", WrapperType=typeof(Metal.MTLTextureWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat), typeof(Metal.MTLTextureType), typeof(Foundation.NSRange), typeof(Foundation.NSRange) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:textureType:levels:slices:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBytes", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="getBytes:bytesPerRow:bytesPerImage:fromRegion:mipmapLevel:slice:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBytes", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr), typeof(Metal.MTLRegion), typeof(System.UIntPtr) }, Selector="getBytes:bytesPerRow:fromRegion:mipmapLevel:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceRegion", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="replaceRegion:mipmapLevel:slice:withBytes:bytesPerRow:bytesPerImage:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceRegion", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="replaceRegion:mipmapLevel:withBytes:bytesPerRow:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateSharedTextureHandle", ReturnType=typeof(Metal.MTLSharedTextureHandle), Selector="newSharedTextureHandle")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Create", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat), typeof(Metal.MTLTextureType), typeof(Foundation.NSRange), typeof(Foundation.NSRange), typeof(Metal.MTLTextureSwizzleChannels) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:textureType:levels:slices:swizzle:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLTextureViewDescriptor) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithDescriptor:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="rootResource", IsProperty=true, IsRequired=true, IsStatic=false, Name="RootResource", PropertyType=typeof(Metal.IMTLResource), Selector="rootResource")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentTexture", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentTexture", PropertyType=typeof(Metal.IMTLTexture), Selector="parentTexture")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentRelativeLevel", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentRelativeLevel", PropertyType=typeof(System.UIntPtr), Selector="parentRelativeLevel")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentRelativeSlice", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentRelativeSlice", PropertyType=typeof(System.UIntPtr), Selector="parentRelativeSlice")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="buffer", IsProperty=true, IsRequired=true, IsStatic=false, Name="Buffer", PropertyType=typeof(Metal.IMTLBuffer), Selector="buffer")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="bufferOffset", IsProperty=true, IsRequired=true, IsStatic=false, Name="BufferOffset", PropertyType=typeof(System.UIntPtr), Selector="bufferOffset")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="bufferBytesPerRow", IsProperty=true, IsRequired=true, IsStatic=false, Name="BufferBytesPerRow", PropertyType=typeof(System.UIntPtr), Selector="bufferBytesPerRow")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textureType", IsProperty=true, IsRequired=true, IsStatic=false, Name="TextureType", PropertyType=typeof(Metal.MTLTextureType), Selector="textureType")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="pixelFormat", IsProperty=true, IsRequired=true, IsStatic=false, Name="PixelFormat", PropertyType=typeof(Metal.MTLPixelFormat), Selector="pixelFormat")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="width", IsProperty=true, IsRequired=true, IsStatic=false, Name="Width", PropertyType=typeof(System.UIntPtr), Selector="width")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="height", IsProperty=true, IsRequired=true, IsStatic=false, Name="Height", PropertyType=typeof(System.UIntPtr), Selector="height")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="depth", IsProperty=true, IsRequired=true, IsStatic=false, Name="Depth", PropertyType=typeof(System.UIntPtr), Selector="depth")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="mipmapLevelCount", IsProperty=true, IsRequired=true, IsStatic=false, Name="MipmapLevelCount", PropertyType=typeof(System.UIntPtr), Selector="mipmapLevelCount")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="sampleCount", IsProperty=true, IsRequired=true, IsStatic=false, Name="SampleCount", PropertyType=typeof(System.UIntPtr), Selector="sampleCount")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="arrayLength", IsProperty=true, IsRequired=true, IsStatic=false, Name="ArrayLength", PropertyType=typeof(System.UIntPtr), Selector="arrayLength")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isFramebufferOnly", IsProperty=true, IsRequired=true, IsStatic=false, Name="FramebufferOnly", PropertyType=typeof(System.Boolean), Selector="framebufferOnly")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="allowGPUOptimizedContents", IsProperty=true, IsRequired=true, IsStatic=false, Name="AllowGpuOptimizedContents", PropertyType=typeof(System.Boolean), Selector="allowGPUOptimizedContents")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="compressionType", IsProperty=true, IsRequired=true, IsStatic=false, Name="CompressionType", PropertyType=typeof(Metal.MTLTextureCompressionType), Selector="compressionType")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="usage", IsProperty=true, IsRequired=true, IsStatic=false, Name="Usage", PropertyType=typeof(Metal.MTLTextureUsage), Selector="usage")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="iosurface", IsProperty=true, IsRequired=true, IsStatic=false, Name="IOSurface", PropertyType=typeof(IOSurface.IOSurface), Selector="iosurface")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="iosurfacePlane", IsProperty=true, IsRequired=true, IsStatic=false, Name="IOSurfacePlane", PropertyType=typeof(System.UIntPtr), Selector="iosurfacePlane")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isShareable", IsProperty=true, IsRequired=true, IsStatic=false, Name="Shareable", PropertyType=typeof(System.Boolean), Selector="shareable")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="swizzle", IsProperty=true, IsRequired=true, IsStatic=false, Name="Swizzle", PropertyType=typeof(Metal.MTLTextureSwizzleChannels), Selector="swizzle")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="gpuResourceID", IsProperty=true, IsRequired=true, IsStatic=false, Name="GpuResourceId", PropertyType=typeof(Metal.MTLResourceId), Selector="gpuResourceID")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="sparseTextureTier", IsProperty=true, IsRequired=true, IsStatic=false, Name="SparseTextureTier", PropertyType=typeof(Metal.MTLTextureSparseTier), Selector="sparseTextureTier")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="firstMipmapInTail", IsProperty=true, IsRequired=false, IsStatic=false, Name="FirstMipmapInTail", PropertyType=typeof(System.UIntPtr), Selector="firstMipmapInTail")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tailSizeInBytes", IsProperty=true, IsRequired=false, IsStatic=false, Name="TailSizeInBytes", PropertyType=typeof(System.UIntPtr), Selector="tailSizeInBytes")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isSparse", IsProperty=true, IsRequired=false, IsStatic=false, Name="IsSparse", PropertyType=typeof(System.Boolean), Selector="isSparse")]
public interface IMTLTexture : IDisposable, Metal.IMTLResource
[Foundation.Protocol(Name="MTLTexture", WrapperType=typeof(Metal.MTLTextureWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat), typeof(Metal.MTLTextureType), typeof(Foundation.NSRange), typeof(Foundation.NSRange) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:textureType:levels:slices:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBytes", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="getBytes:bytesPerRow:bytesPerImage:fromRegion:mipmapLevel:slice:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBytes", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr), typeof(Metal.MTLRegion), typeof(System.UIntPtr) }, Selector="getBytes:bytesPerRow:fromRegion:mipmapLevel:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceRegion", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="replaceRegion:mipmapLevel:slice:withBytes:bytesPerRow:bytesPerImage:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceRegion", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="replaceRegion:mipmapLevel:withBytes:bytesPerRow:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateSharedTextureHandle", ReturnType=typeof(Metal.MTLSharedTextureHandle), Selector="newSharedTextureHandle")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Create", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat), typeof(Metal.MTLTextureType), typeof(Foundation.NSRange), typeof(Foundation.NSRange), typeof(Metal.MTLTextureSwizzleChannels) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:textureType:levels:slices:swizzle:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLTextureViewDescriptor) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithDescriptor:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="rootResource", IsProperty=true, IsRequired=true, IsStatic=false, Name="RootResource", PropertyType=typeof(Metal.IMTLResource), Selector="rootResource")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentTexture", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentTexture", PropertyType=typeof(Metal.IMTLTexture), Selector="parentTexture")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentRelativeLevel", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentRelativeLevel", PropertyType=typeof(System.UIntPtr), Selector="parentRelativeLevel")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentRelativeSlice", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentRelativeSlice", PropertyType=typeof(System.UIntPtr), Selector="parentRelativeSlice")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="buffer", IsProperty=true, IsRequired=true, IsStatic=false, Name="Buffer", PropertyType=typeof(Metal.IMTLBuffer), Selector="buffer")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="bufferOffset", IsProperty=true, IsRequired=true, IsStatic=false, Name="BufferOffset", PropertyType=typeof(System.UIntPtr), Selector="bufferOffset")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="bufferBytesPerRow", IsProperty=true, IsRequired=true, IsStatic=false, Name="BufferBytesPerRow", PropertyType=typeof(System.UIntPtr), Selector="bufferBytesPerRow")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textureType", IsProperty=true, IsRequired=true, IsStatic=false, Name="TextureType", PropertyType=typeof(Metal.MTLTextureType), Selector="textureType")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="pixelFormat", IsProperty=true, IsRequired=true, IsStatic=false, Name="PixelFormat", PropertyType=typeof(Metal.MTLPixelFormat), Selector="pixelFormat")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="width", IsProperty=true, IsRequired=true, IsStatic=false, Name="Width", PropertyType=typeof(System.UIntPtr), Selector="width")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="height", IsProperty=true, IsRequired=true, IsStatic=false, Name="Height", PropertyType=typeof(System.UIntPtr), Selector="height")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="depth", IsProperty=true, IsRequired=true, IsStatic=false, Name="Depth", PropertyType=typeof(System.UIntPtr), Selector="depth")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="mipmapLevelCount", IsProperty=true, IsRequired=true, IsStatic=false, Name="MipmapLevelCount", PropertyType=typeof(System.UIntPtr), Selector="mipmapLevelCount")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="sampleCount", IsProperty=true, IsRequired=true, IsStatic=false, Name="SampleCount", PropertyType=typeof(System.UIntPtr), Selector="sampleCount")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="arrayLength", IsProperty=true, IsRequired=true, IsStatic=false, Name="ArrayLength", PropertyType=typeof(System.UIntPtr), Selector="arrayLength")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isFramebufferOnly", IsProperty=true, IsRequired=true, IsStatic=false, Name="FramebufferOnly", PropertyType=typeof(System.Boolean), Selector="framebufferOnly")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="allowGPUOptimizedContents", IsProperty=true, IsRequired=true, IsStatic=false, Name="AllowGpuOptimizedContents", PropertyType=typeof(System.Boolean), Selector="allowGPUOptimizedContents")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="compressionType", IsProperty=true, IsRequired=true, IsStatic=false, Name="CompressionType", PropertyType=typeof(Metal.MTLTextureCompressionType), Selector="compressionType")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="usage", IsProperty=true, IsRequired=true, IsStatic=false, Name="Usage", PropertyType=typeof(Metal.MTLTextureUsage), Selector="usage")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="iosurface", IsProperty=true, IsRequired=true, IsStatic=false, Name="IOSurface", PropertyType=typeof(IOSurface.IOSurface), Selector="iosurface")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="iosurfacePlane", IsProperty=true, IsRequired=true, IsStatic=false, Name="IOSurfacePlane", PropertyType=typeof(System.UIntPtr), Selector="iosurfacePlane")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isShareable", IsProperty=true, IsRequired=true, IsStatic=false, Name="Shareable", PropertyType=typeof(System.Boolean), Selector="shareable")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="swizzle", IsProperty=true, IsRequired=true, IsStatic=false, Name="Swizzle", PropertyType=typeof(Metal.MTLTextureSwizzleChannels), Selector="swizzle")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="gpuResourceID", IsProperty=true, IsRequired=true, IsStatic=false, Name="GpuResourceId", PropertyType=typeof(Metal.MTLResourceId), Selector="gpuResourceID")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="sparseTextureTier", IsProperty=true, IsRequired=true, IsStatic=false, Name="SparseTextureTier", PropertyType=typeof(Metal.MTLTextureSparseTier), Selector="sparseTextureTier")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="firstMipmapInTail", IsProperty=true, IsRequired=false, IsStatic=false, Name="FirstMipmapInTail", PropertyType=typeof(System.UIntPtr), Selector="firstMipmapInTail")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tailSizeInBytes", IsProperty=true, IsRequired=false, IsStatic=false, Name="TailSizeInBytes", PropertyType=typeof(System.UIntPtr), Selector="tailSizeInBytes")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isSparse", IsProperty=true, IsRequired=false, IsStatic=false, Name="IsSparse", PropertyType=typeof(System.Boolean), Selector="isSparse")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateRemoteTexture", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLDevice) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newRemoteTextureViewForDevice:")]
[Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="remoteStorageTexture", IsProperty=true, IsRequired=true, IsStatic=false, Name="RemoteStorageTexture", PropertyType=typeof(Metal.IMTLTexture), Selector="remoteStorageTexture")]
public interface IMTLTexture : IDisposable, Metal.IMTLResource
[<Foundation.Protocol(Name="MTLTexture", WrapperType=typeof(Metal.MTLTextureWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat), typeof(Metal.MTLTextureType), typeof(Foundation.NSRange), typeof(Foundation.NSRange) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:textureType:levels:slices:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBytes", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="getBytes:bytesPerRow:bytesPerImage:fromRegion:mipmapLevel:slice:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBytes", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr), typeof(Metal.MTLRegion), typeof(System.UIntPtr) }, Selector="getBytes:bytesPerRow:fromRegion:mipmapLevel:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceRegion", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="replaceRegion:mipmapLevel:slice:withBytes:bytesPerRow:bytesPerImage:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceRegion", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="replaceRegion:mipmapLevel:withBytes:bytesPerRow:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateSharedTextureHandle", ReturnType=typeof(Metal.MTLSharedTextureHandle), Selector="newSharedTextureHandle")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Create", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat), typeof(Metal.MTLTextureType), typeof(Foundation.NSRange), typeof(Foundation.NSRange), typeof(Metal.MTLTextureSwizzleChannels) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:textureType:levels:slices:swizzle:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLTextureViewDescriptor) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithDescriptor:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="rootResource", IsProperty=true, IsRequired=true, IsStatic=false, Name="RootResource", PropertyType=typeof(Metal.IMTLResource), Selector="rootResource")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentTexture", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentTexture", PropertyType=typeof(Metal.IMTLTexture), Selector="parentTexture")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentRelativeLevel", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentRelativeLevel", PropertyType=typeof(System.UIntPtr), Selector="parentRelativeLevel")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentRelativeSlice", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentRelativeSlice", PropertyType=typeof(System.UIntPtr), Selector="parentRelativeSlice")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="buffer", IsProperty=true, IsRequired=true, IsStatic=false, Name="Buffer", PropertyType=typeof(Metal.IMTLBuffer), Selector="buffer")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="bufferOffset", IsProperty=true, IsRequired=true, IsStatic=false, Name="BufferOffset", PropertyType=typeof(System.UIntPtr), Selector="bufferOffset")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="bufferBytesPerRow", IsProperty=true, IsRequired=true, IsStatic=false, Name="BufferBytesPerRow", PropertyType=typeof(System.UIntPtr), Selector="bufferBytesPerRow")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textureType", IsProperty=true, IsRequired=true, IsStatic=false, Name="TextureType", PropertyType=typeof(Metal.MTLTextureType), Selector="textureType")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="pixelFormat", IsProperty=true, IsRequired=true, IsStatic=false, Name="PixelFormat", PropertyType=typeof(Metal.MTLPixelFormat), Selector="pixelFormat")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="width", IsProperty=true, IsRequired=true, IsStatic=false, Name="Width", PropertyType=typeof(System.UIntPtr), Selector="width")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="height", IsProperty=true, IsRequired=true, IsStatic=false, Name="Height", PropertyType=typeof(System.UIntPtr), Selector="height")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="depth", IsProperty=true, IsRequired=true, IsStatic=false, Name="Depth", PropertyType=typeof(System.UIntPtr), Selector="depth")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="mipmapLevelCount", IsProperty=true, IsRequired=true, IsStatic=false, Name="MipmapLevelCount", PropertyType=typeof(System.UIntPtr), Selector="mipmapLevelCount")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="sampleCount", IsProperty=true, IsRequired=true, IsStatic=false, Name="SampleCount", PropertyType=typeof(System.UIntPtr), Selector="sampleCount")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="arrayLength", IsProperty=true, IsRequired=true, IsStatic=false, Name="ArrayLength", PropertyType=typeof(System.UIntPtr), Selector="arrayLength")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isFramebufferOnly", IsProperty=true, IsRequired=true, IsStatic=false, Name="FramebufferOnly", PropertyType=typeof(System.Boolean), Selector="framebufferOnly")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="allowGPUOptimizedContents", IsProperty=true, IsRequired=true, IsStatic=false, Name="AllowGpuOptimizedContents", PropertyType=typeof(System.Boolean), Selector="allowGPUOptimizedContents")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="compressionType", IsProperty=true, IsRequired=true, IsStatic=false, Name="CompressionType", PropertyType=typeof(Metal.MTLTextureCompressionType), Selector="compressionType")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="usage", IsProperty=true, IsRequired=true, IsStatic=false, Name="Usage", PropertyType=typeof(Metal.MTLTextureUsage), Selector="usage")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="iosurface", IsProperty=true, IsRequired=true, IsStatic=false, Name="IOSurface", PropertyType=typeof(IOSurface.IOSurface), Selector="iosurface")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="iosurfacePlane", IsProperty=true, IsRequired=true, IsStatic=false, Name="IOSurfacePlane", PropertyType=typeof(System.UIntPtr), Selector="iosurfacePlane")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isShareable", IsProperty=true, IsRequired=true, IsStatic=false, Name="Shareable", PropertyType=typeof(System.Boolean), Selector="shareable")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="firstMipmapInTail", IsProperty=true, IsRequired=true, IsStatic=false, Name="FirstMipmapInTail", PropertyType=typeof(System.UIntPtr), Selector="firstMipmapInTail")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tailSizeInBytes", IsProperty=true, IsRequired=true, IsStatic=false, Name="TailSizeInBytes", PropertyType=typeof(System.UIntPtr), Selector="tailSizeInBytes")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isSparse", IsProperty=true, IsRequired=true, IsStatic=false, Name="IsSparse", PropertyType=typeof(System.Boolean), Selector="isSparse")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="swizzle", IsProperty=true, IsRequired=true, IsStatic=false, Name="Swizzle", PropertyType=typeof(Metal.MTLTextureSwizzleChannels), Selector="swizzle")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="gpuResourceID", IsProperty=true, IsRequired=true, IsStatic=false, Name="GpuResourceId", PropertyType=typeof(Metal.MTLResourceId), Selector="gpuResourceID")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="sparseTextureTier", IsProperty=true, IsRequired=true, IsStatic=false, Name="SparseTextureTier", PropertyType=typeof(Metal.MTLTextureSparseTier), Selector="sparseTextureTier")>]
type IMTLTexture = interface
interface INativeObject
interface IDisposable
interface IMTLAllocation
interface IMTLResource
[<Foundation.Protocol(Name="MTLTexture", WrapperType=typeof(Metal.MTLTextureWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat), typeof(Metal.MTLTextureType), typeof(Foundation.NSRange), typeof(Foundation.NSRange) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:textureType:levels:slices:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBytes", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="getBytes:bytesPerRow:bytesPerImage:fromRegion:mipmapLevel:slice:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBytes", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr), typeof(Metal.MTLRegion), typeof(System.UIntPtr) }, Selector="getBytes:bytesPerRow:fromRegion:mipmapLevel:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceRegion", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="replaceRegion:mipmapLevel:slice:withBytes:bytesPerRow:bytesPerImage:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceRegion", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="replaceRegion:mipmapLevel:withBytes:bytesPerRow:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateSharedTextureHandle", ReturnType=typeof(Metal.MTLSharedTextureHandle), Selector="newSharedTextureHandle")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Create", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat), typeof(Metal.MTLTextureType), typeof(Foundation.NSRange), typeof(Foundation.NSRange), typeof(Metal.MTLTextureSwizzleChannels) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:textureType:levels:slices:swizzle:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLTextureViewDescriptor) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithDescriptor:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="rootResource", IsProperty=true, IsRequired=true, IsStatic=false, Name="RootResource", PropertyType=typeof(Metal.IMTLResource), Selector="rootResource")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentTexture", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentTexture", PropertyType=typeof(Metal.IMTLTexture), Selector="parentTexture")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentRelativeLevel", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentRelativeLevel", PropertyType=typeof(System.UIntPtr), Selector="parentRelativeLevel")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentRelativeSlice", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentRelativeSlice", PropertyType=typeof(System.UIntPtr), Selector="parentRelativeSlice")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="buffer", IsProperty=true, IsRequired=true, IsStatic=false, Name="Buffer", PropertyType=typeof(Metal.IMTLBuffer), Selector="buffer")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="bufferOffset", IsProperty=true, IsRequired=true, IsStatic=false, Name="BufferOffset", PropertyType=typeof(System.UIntPtr), Selector="bufferOffset")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="bufferBytesPerRow", IsProperty=true, IsRequired=true, IsStatic=false, Name="BufferBytesPerRow", PropertyType=typeof(System.UIntPtr), Selector="bufferBytesPerRow")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textureType", IsProperty=true, IsRequired=true, IsStatic=false, Name="TextureType", PropertyType=typeof(Metal.MTLTextureType), Selector="textureType")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="pixelFormat", IsProperty=true, IsRequired=true, IsStatic=false, Name="PixelFormat", PropertyType=typeof(Metal.MTLPixelFormat), Selector="pixelFormat")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="width", IsProperty=true, IsRequired=true, IsStatic=false, Name="Width", PropertyType=typeof(System.UIntPtr), Selector="width")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="height", IsProperty=true, IsRequired=true, IsStatic=false, Name="Height", PropertyType=typeof(System.UIntPtr), Selector="height")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="depth", IsProperty=true, IsRequired=true, IsStatic=false, Name="Depth", PropertyType=typeof(System.UIntPtr), Selector="depth")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="mipmapLevelCount", IsProperty=true, IsRequired=true, IsStatic=false, Name="MipmapLevelCount", PropertyType=typeof(System.UIntPtr), Selector="mipmapLevelCount")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="sampleCount", IsProperty=true, IsRequired=true, IsStatic=false, Name="SampleCount", PropertyType=typeof(System.UIntPtr), Selector="sampleCount")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="arrayLength", IsProperty=true, IsRequired=true, IsStatic=false, Name="ArrayLength", PropertyType=typeof(System.UIntPtr), Selector="arrayLength")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isFramebufferOnly", IsProperty=true, IsRequired=true, IsStatic=false, Name="FramebufferOnly", PropertyType=typeof(System.Boolean), Selector="framebufferOnly")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="allowGPUOptimizedContents", IsProperty=true, IsRequired=true, IsStatic=false, Name="AllowGpuOptimizedContents", PropertyType=typeof(System.Boolean), Selector="allowGPUOptimizedContents")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="compressionType", IsProperty=true, IsRequired=true, IsStatic=false, Name="CompressionType", PropertyType=typeof(Metal.MTLTextureCompressionType), Selector="compressionType")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="usage", IsProperty=true, IsRequired=true, IsStatic=false, Name="Usage", PropertyType=typeof(Metal.MTLTextureUsage), Selector="usage")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="iosurface", IsProperty=true, IsRequired=true, IsStatic=false, Name="IOSurface", PropertyType=typeof(IOSurface.IOSurface), Selector="iosurface")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="iosurfacePlane", IsProperty=true, IsRequired=true, IsStatic=false, Name="IOSurfacePlane", PropertyType=typeof(System.UIntPtr), Selector="iosurfacePlane")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isShareable", IsProperty=true, IsRequired=true, IsStatic=false, Name="Shareable", PropertyType=typeof(System.Boolean), Selector="shareable")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="swizzle", IsProperty=true, IsRequired=true, IsStatic=false, Name="Swizzle", PropertyType=typeof(Metal.MTLTextureSwizzleChannels), Selector="swizzle")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="gpuResourceID", IsProperty=true, IsRequired=true, IsStatic=false, Name="GpuResourceId", PropertyType=typeof(Metal.MTLResourceId), Selector="gpuResourceID")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="sparseTextureTier", IsProperty=true, IsRequired=true, IsStatic=false, Name="SparseTextureTier", PropertyType=typeof(Metal.MTLTextureSparseTier), Selector="sparseTextureTier")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="firstMipmapInTail", IsProperty=true, IsRequired=false, IsStatic=false, Name="FirstMipmapInTail", PropertyType=typeof(System.UIntPtr), Selector="firstMipmapInTail")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tailSizeInBytes", IsProperty=true, IsRequired=false, IsStatic=false, Name="TailSizeInBytes", PropertyType=typeof(System.UIntPtr), Selector="tailSizeInBytes")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isSparse", IsProperty=true, IsRequired=false, IsStatic=false, Name="IsSparse", PropertyType=typeof(System.Boolean), Selector="isSparse")>]
type IMTLTexture = interface
interface INativeObject
interface IDisposable
interface IMTLAllocation
interface IMTLResource
[<Foundation.Protocol(Name="MTLTexture", WrapperType=typeof(Metal.MTLTextureWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat), typeof(Metal.MTLTextureType), typeof(Foundation.NSRange), typeof(Foundation.NSRange) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:textureType:levels:slices:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBytes", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="getBytes:bytesPerRow:bytesPerImage:fromRegion:mipmapLevel:slice:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="GetBytes", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(System.IntPtr), typeof(System.UIntPtr), typeof(Metal.MTLRegion), typeof(System.UIntPtr) }, Selector="getBytes:bytesPerRow:fromRegion:mipmapLevel:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceRegion", ParameterByRef=new System.Boolean[] { false, false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr), typeof(System.UIntPtr) }, Selector="replaceRegion:mipmapLevel:slice:withBytes:bytesPerRow:bytesPerImage:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="ReplaceRegion", ParameterByRef=new System.Boolean[] { false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLRegion), typeof(System.UIntPtr), typeof(System.IntPtr), typeof(System.UIntPtr) }, Selector="replaceRegion:mipmapLevel:withBytes:bytesPerRow:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateSharedTextureHandle", ReturnType=typeof(Metal.MTLSharedTextureHandle), Selector="newSharedTextureHandle")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="Create", ParameterByRef=new System.Boolean[] { false, false, false, false, false }, ParameterType=new System.Type[] { typeof(Metal.MTLPixelFormat), typeof(Metal.MTLTextureType), typeof(Foundation.NSRange), typeof(Foundation.NSRange), typeof(Metal.MTLTextureSwizzleChannels) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithPixelFormat:textureType:levels:slices:swizzle:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateTextureView", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.MTLTextureViewDescriptor) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newTextureViewWithDescriptor:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="rootResource", IsProperty=true, IsRequired=true, IsStatic=false, Name="RootResource", PropertyType=typeof(Metal.IMTLResource), Selector="rootResource")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentTexture", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentTexture", PropertyType=typeof(Metal.IMTLTexture), Selector="parentTexture")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentRelativeLevel", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentRelativeLevel", PropertyType=typeof(System.UIntPtr), Selector="parentRelativeLevel")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="parentRelativeSlice", IsProperty=true, IsRequired=true, IsStatic=false, Name="ParentRelativeSlice", PropertyType=typeof(System.UIntPtr), Selector="parentRelativeSlice")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="buffer", IsProperty=true, IsRequired=true, IsStatic=false, Name="Buffer", PropertyType=typeof(Metal.IMTLBuffer), Selector="buffer")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="bufferOffset", IsProperty=true, IsRequired=true, IsStatic=false, Name="BufferOffset", PropertyType=typeof(System.UIntPtr), Selector="bufferOffset")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="bufferBytesPerRow", IsProperty=true, IsRequired=true, IsStatic=false, Name="BufferBytesPerRow", PropertyType=typeof(System.UIntPtr), Selector="bufferBytesPerRow")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="textureType", IsProperty=true, IsRequired=true, IsStatic=false, Name="TextureType", PropertyType=typeof(Metal.MTLTextureType), Selector="textureType")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="pixelFormat", IsProperty=true, IsRequired=true, IsStatic=false, Name="PixelFormat", PropertyType=typeof(Metal.MTLPixelFormat), Selector="pixelFormat")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="width", IsProperty=true, IsRequired=true, IsStatic=false, Name="Width", PropertyType=typeof(System.UIntPtr), Selector="width")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="height", IsProperty=true, IsRequired=true, IsStatic=false, Name="Height", PropertyType=typeof(System.UIntPtr), Selector="height")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="depth", IsProperty=true, IsRequired=true, IsStatic=false, Name="Depth", PropertyType=typeof(System.UIntPtr), Selector="depth")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="mipmapLevelCount", IsProperty=true, IsRequired=true, IsStatic=false, Name="MipmapLevelCount", PropertyType=typeof(System.UIntPtr), Selector="mipmapLevelCount")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="sampleCount", IsProperty=true, IsRequired=true, IsStatic=false, Name="SampleCount", PropertyType=typeof(System.UIntPtr), Selector="sampleCount")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="arrayLength", IsProperty=true, IsRequired=true, IsStatic=false, Name="ArrayLength", PropertyType=typeof(System.UIntPtr), Selector="arrayLength")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isFramebufferOnly", IsProperty=true, IsRequired=true, IsStatic=false, Name="FramebufferOnly", PropertyType=typeof(System.Boolean), Selector="framebufferOnly")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="allowGPUOptimizedContents", IsProperty=true, IsRequired=true, IsStatic=false, Name="AllowGpuOptimizedContents", PropertyType=typeof(System.Boolean), Selector="allowGPUOptimizedContents")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="compressionType", IsProperty=true, IsRequired=true, IsStatic=false, Name="CompressionType", PropertyType=typeof(Metal.MTLTextureCompressionType), Selector="compressionType")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="usage", IsProperty=true, IsRequired=true, IsStatic=false, Name="Usage", PropertyType=typeof(Metal.MTLTextureUsage), Selector="usage")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="iosurface", IsProperty=true, IsRequired=true, IsStatic=false, Name="IOSurface", PropertyType=typeof(IOSurface.IOSurface), Selector="iosurface")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="iosurfacePlane", IsProperty=true, IsRequired=true, IsStatic=false, Name="IOSurfacePlane", PropertyType=typeof(System.UIntPtr), Selector="iosurfacePlane")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isShareable", IsProperty=true, IsRequired=true, IsStatic=false, Name="Shareable", PropertyType=typeof(System.Boolean), Selector="shareable")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="swizzle", IsProperty=true, IsRequired=true, IsStatic=false, Name="Swizzle", PropertyType=typeof(Metal.MTLTextureSwizzleChannels), Selector="swizzle")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="gpuResourceID", IsProperty=true, IsRequired=true, IsStatic=false, Name="GpuResourceId", PropertyType=typeof(Metal.MTLResourceId), Selector="gpuResourceID")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="sparseTextureTier", IsProperty=true, IsRequired=true, IsStatic=false, Name="SparseTextureTier", PropertyType=typeof(Metal.MTLTextureSparseTier), Selector="sparseTextureTier")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="firstMipmapInTail", IsProperty=true, IsRequired=false, IsStatic=false, Name="FirstMipmapInTail", PropertyType=typeof(System.UIntPtr), Selector="firstMipmapInTail")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="tailSizeInBytes", IsProperty=true, IsRequired=false, IsStatic=false, Name="TailSizeInBytes", PropertyType=typeof(System.UIntPtr), Selector="tailSizeInBytes")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="isSparse", IsProperty=true, IsRequired=false, IsStatic=false, Name="IsSparse", PropertyType=typeof(System.Boolean), Selector="isSparse")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=true, IsStatic=false, Name="CreateRemoteTexture", ParameterByRef=new System.Boolean[] { false }, ParameterType=new System.Type[] { typeof(Metal.IMTLDevice) }, ReturnType=typeof(Metal.IMTLTexture), Selector="newRemoteTextureViewForDevice:")>]
[<Foundation.ProtocolMember(ArgumentSemantic=ObjCRuntime.ArgumentSemantic.None, GetterSelector="remoteStorageTexture", IsProperty=true, IsRequired=true, IsStatic=false, Name="RemoteStorageTexture", PropertyType=typeof(Metal.IMTLTexture), Selector="remoteStorageTexture")>]
type IMTLTexture = interface
interface INativeObject
interface IDisposable
interface IMTLAllocation
interface IMTLResource
- Attributes
- Implements
Properties
| Name | Description |
|---|---|
| AllocatedSize |
Returns the allocated size of the resource. (Inherited from IMTLResource) |
| AllowGpuOptimizedContents | |
| ArrayLength | |
| Buffer |
Returns the buffer for the target texture. |
| BufferBytesPerRow |
Gets the bytes per row in the buffer for the target texture. |
| BufferOffset |
Gets the offset into the parent texture where the the target texture data begins. |
| CompressionType | |
| CpuCacheMode | (Inherited from IMTLResource) |
| Depth | |
| Device | (Inherited from IMTLResource) |
| FirstMipmapInTail | |
| FramebufferOnly | |
| GpuResourceId | |
| Handle |
Handle (pointer) to the unmanaged object representation. (Inherited from INativeObject) |
| HazardTrackingMode | (Inherited from IMTLResource) |
| Heap |
Returns the heap that sub-allocated the resource. (Inherited from IMTLResource) |
| HeapOffset | (Inherited from IMTLResource) |
| Height | |
| IOSurface |
Gets the IOSurface that was used to create this texture, if one was used. |
| IOSurfacePlane |
Returns the IOSurface plane used by the surface that is returned from IOSurface. |
| IsAliasable |
Returns a Boolean value that tells whether future sub-allocations can alias the resource's memory. (Inherited from IMTLResource) |
| IsSparse | |
| Label | (Inherited from IMTLResource) |
| MipmapLevelCount | |
| ParentRelativeLevel |
Returns the base level of the parent texture from which the target texture was created. |
| ParentRelativeSlice |
Returns the base slice of the parent texture from which the target texture was created. |
| ParentTexture |
Returns the parent texture. |
| PixelFormat | |
| RemoteStorageTexture | |
| ResourceOptions | (Inherited from IMTLResource) |
| RootResource | |
| SampleCount | |
| Shareable | |
| SparseTextureTier | |
| StorageMode |
Returns a description of the ___location and permissions of the resource. (Inherited from IMTLResource) |
| Swizzle | |
| TailSizeInBytes | |
| TextureType | |
| Usage |
Gets a description of how the texture can be used. (For example, as a write target for compute shaders.) |
| Width | |
Methods
| Name | Description |
|---|---|
| Create(MTLPixelFormat, MTLTextureType, NSRange, NSRange, MTLTextureSwizzleChannels) | |
| CreateRemoteTexture(IMTLDevice) | |
| CreateSharedTextureHandle() | |
| CreateTextureView(MTLPixelFormat, MTLTextureType, NSRange, NSRange) |
Creates and returns a Metal texture that shares the same memory as the source object, but that is interpreted with the new pixel format. |
| CreateTextureView(MTLPixelFormat) | |
| CreateTextureView(MTLTextureViewDescriptor) | |
| GetBytes(IntPtr, UIntPtr, MTLRegion, UIntPtr) | |
| GetBytes(IntPtr, UIntPtr, UIntPtr, MTLRegion, UIntPtr, UIntPtr) | |
| MakeAliasable() |
Makes the resource aliasable. (Inherited from IMTLResource) |
| ReplaceRegion(MTLRegion, UIntPtr, IntPtr, UIntPtr) | |
| ReplaceRegion(MTLRegion, UIntPtr, UIntPtr, IntPtr, UIntPtr, UIntPtr) | |
| SetOwnerWithIdentity(UInt32) | (Inherited from IMTLResource) |
| SetPurgeableState(MTLPurgeableState) | (Inherited from IMTLResource) |