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 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 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 Metal.IMTLDevice interface to support all the methods from the 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 Metal.MTLRenderPassAttachmentDescriptor that holds the clear color for the rendering pass. |
| MTLRenderPassColorAttachmentDescriptorArray | Holds an array of Metal.MTLRenderPassColorAttachmentDescriptor objects. |
| MTLRenderPassDepthAttachmentDescriptor | A 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 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 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 Metal.MTLArgument) of a vertex or fragment function within a 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 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 Metal.MTLStructType struct. |
| MTLStructType | Defines a type representing a struct, which can be passed as an argument to Metal functions. |
| MTLTextureDescriptor | Configuration for 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 Metal.MTLVertexAttributeDescriptor objects. |
| MTLVertexBufferLayoutDescriptor | Configures how vertex and attribute data are fetched by a vertex shader function. |
| MTLVertexBufferLayoutDescriptorArray | Holds an array of 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. |