The Metal framework, introduced in iOS 8, provides low-level control of Graphical Processing Unit (GPU) accelerated rendering and data-parallel computation (GPGPU).
The Metal framework provides low-level access to the A7 GPU. Metal provides precompiled shaders, state objects, and explicit command scheduling. Its facilities can be used for either 3D rendering or General-Purpose GPU computation.
| Type | Reason | 
|---|---|
| IMTLBlitCommandEncoder | Documentation for this section has not yet been entered. | 
| IMTLBuffer | Documentation for this section has not yet been entered. | 
| IMTLCommandBuffer | Documentation for this section has not yet been entered. | 
| IMTLCommandEncoder | Documentation for this section has not yet been entered. | 
| IMTLCommandQueue | Documentation for this section has not yet been entered. | 
| IMTLComputeCommandEncoder | Documentation for this section has not yet been entered. | 
| IMTLComputePipelineState | Documentation for this section has not yet been entered. | 
| IMTLDepthStencilState | Documentation for this section has not yet been entered. | 
| IMTLDevice | Documentation for this section has not yet been entered. | 
| IMTLDrawable | Documentation for this section has not yet been entered. | 
| IMTLFunction | Documentation for this section has not yet been entered. | 
| IMTLLibrary | Documentation for this section has not yet been entered. | 
| IMTLParallelRenderCommandEncoder | Documentation for this section has not yet been entered. | 
| IMTLRenderCommandEncoder | Documentation for this section has not yet been entered. | 
| IMTLRenderPipelineState | Documentation for this section has not yet been entered. | 
| IMTLResource | Documentation for this section has not yet been entered. | 
| IMTLSamplerState | Documentation for this section has not yet been entered. | 
| IMTLTexture | Documentation for this section has not yet been entered. | 
| MTLArgument | Encapsulates a single parameter to a Metal function. | 
| MTLArgumentAccess | Function access restrictions of argument data in the shader code. | 
| MTLArgumentType | The resource type of an argument of a function. | 
| MTLArrayType | Encapsulates the details of an array argument to a Metal function. | 
| MTLBlendFactor | Argument values for use with MonoTouch.Metal.MTLBlendOperation. | 
| MTLBlendOperation | How the source and destination values are combined. | 
| MTLClearColor | An RGBA color representing a clear pixel. | 
| MTLClearValue | Documentation for this section has not yet been entered. | 
| MTLColorWriteMask | Permits or restricts writing to specific color channels. | 
| MTLCommandBufferError | Enumeration of error codes describing why a command buffer has failed. | 
| MTLCommandBufferStatus | The state of the command-buffer state-machine. Enqueued->Committed->Scheduled->Completed. | 
| MTLCompareFunction | Holds a comparison test. When the comparison test passes, the incoming fragment is compared to the stored data at the specified location. | 
| MTLCompileOptions | Configures the compilation of a Metal shader library. | 
| MTLComputePipelineReflection | Encapsulates the details of the arguments of the compute function used to create an MonoTouch.Metal.MTLComputePipelineState object. | 
| MTLCpuCacheMode | Enumerates what cache mode is used for CPU mapping of a resource. | 
| MTLCullMode | Enumerates modes for culling and which types of primitives are culled. | 
| MTLDataType | The data type of a function argument, as used in the shader language code. | 
| MTLDeallocator | Documentation for this section has not yet been entered. | 
| MTLDepthStencilDescriptor | Configures a depth stencil test operation. | 
| MTLDevice | Represents a single GPU. | 
| MTLDevice_Extensions | Extension methods to the MonoTouch.Metal.IMTLDevice interface to support all the methods from the MonoTouch.Metal.MTLDevice protocol. | 
| MTLDrawable | Interface definition for objects that can receive rendering commands. | 
| MTLFeatureSet | The hardware feature set available on the device. | 
| MTLFunctionType | The type of a Metal function. | 
| MTLIndexType | The index type for an index buffer. | 
| MTLLibraryError | Enumerates errors possible in the creation of an MTLLibrary or MTLFunction object. | 
| MTLLoadAction | An action performed at the start of a rendering pass. | 
| MTLOrigin | The location of a pixel in an image or texture. | 
| MTLPipelineOption | Options relating to argument information in the creation of a pipeline. | 
| MTLPixelFormat | The format used by pixels, including color, depth, compression technigue, and data type for components. | 
| MTLPrimitiveType | Enumerates the primitive geometry used for drawing commands. | 
| MTLPurgeableState | The purgeable state of the resource. | 
| MTLRegion | A rectangle of pixels in an image or texture. | 
| MTLRenderPassAttachmentDescriptor | Configures a render target of a framebuffer. | 
| MTLRenderPassColorAttachmentDescriptor | A MonoTouch.Metal.MTLRenderPassAttachmentDescriptor that holds the clear color for the rendering pass. | 
| MTLRenderPassColorAttachmentDescriptorArray | Holds an array of MonoTouch.Metal.MTLRenderPassColorAttachmentDescriptor objects. | 
| MTLRenderPassDepthAttachmentDescriptor | A MonoTouch.Metal.MTLRenderPassAttachmentDescriptor that holds the clear depth for a rendering pass. | 
| MTLRenderPassDescriptor | Defines the rendering target for pixels generated by a rendering pass. | 
| MTLRenderPassStencilAttachmentDescriptor | A MonoTouch.Metal.MTLRenderPassAttachmentDescriptor that holds the clear stencil for a rendering pass. | 
| MTLRenderPipelineColorAttachmentDescriptor | Configures a color attachment associated with a rendering pipeline. | 
| MTLRenderPipelineColorAttachmentDescriptorArray | An array of MonoTouch.Metal.MTLRenderPipelineColorAttachmentDescriptor objects. | 
| MTLRenderPipelineDescriptor | Configures a rendering pipeline with rasterization properties, visibility, blending, and shader functions. | 
| MTLRenderPipelineError | Enumerates errors possible in the creation of a MTLRenderPipelineState. | 
| MTLRenderPipelineReflection | The arguments (see MonoTouch.Metal.MTLArgument) of a vertex or fragment function within a MonoTouch.Metal.MTLRenderPipelineState. | 
| MTLResourceOptions | Holds options used by buffer and texture objects. | 
| MTLSamplerAddressMode | The wrapping mode. Used when a fetch falls outside the bounds of a texture. | 
| MTLSamplerDescriptor | Configures a sampler (see MonoTouch.Metal.MTLSamplerState). | 
| MTLSamplerMinMagFilter | Options for calculating the pixel value returned within a mipmap level. | 
| MTLSamplerMipFilter | Options for calculating the pixel value returned with multiple mipmap levels. | 
| MTLScissorRect | The retangle used for the scissor fragment test. | 
| MTLSize | The dimensions of a grid, image, texture, or threadgroup. | 
| MTLStencilDescriptor | Configures a stencil test operation. | 
| MTLStencilOperation | What to do if a stencil value passes or fails a comparison test. | 
| MTLStoreAction | The action to be performed at the end of a rendering pass. | 
| MTLStructMember | Describes a single field within a MonoTouch.Metal.MTLStructType struct. | 
| MTLStructType | Defines a type representing a struct, which can be passed as an argument to Metal functions. | 
| MTLTextureDescriptor | Configuration for MonoTouch.Metal.MTLTexture objects. | 
| MTLTextureType | The dimensionality of each texture and how multiple images are arranged. | 
| MTLTriangleFillMode | How to rasterize triangle and triangle-strip primitives. | 
| MTLVertexAttribute | An attribute for per-vertex input to a vertex shader function. | 
| MTLVertexAttributeDescriptor | An attribute for per-vertex input for a vertex shader function. | 
| MTLVertexAttributeDescriptorArray | Holds an array of MonoTouch.Metal.MTLVertexAttributeDescriptor objects. | 
| MTLVertexBufferLayoutDescriptor | Configures how vertex and attribute data are fetched by a vertex shader function. | 
| MTLVertexBufferLayoutDescriptorArray | Holds an array of MonoTouch.Metal.MTLVertexBufferLayoutDescriptor objects. | 
| MTLVertexDescriptor | Maps vertex data in memory to attributes in a vertex shader. | 
| MTLVertexFormat | Enumerates vertex data formats (type and number). | 
| MTLVertexStepFunction | The frequency at which the vertex shader function should fetch attribute data. | 
| MTLViewport | Defines the clipping viewport. | 
| MTLVisibilityResultMode | Whether to monitor samples that pass depth and stencil tests. | 
| MTLWinding | Vertex winding rule for front-facing primitives. |