Share via


Metal Namespace

The Metal namespace provides GPU-accelerated 3D rendering and data-parallel computation.

Classes

Name Description
IMTLComputeCommandEncoderExtensions
IMTLRenderCommandEncoder_Extensions
MTL4AccelerationStructureBoundingBoxGeometryDescriptor
MTL4AccelerationStructureCurveGeometryDescriptor
MTL4AccelerationStructureDescriptor
MTL4AccelerationStructureGeometryDescriptor
MTL4AccelerationStructureMotionBoundingBoxGeometryDescriptor
MTL4AccelerationStructureMotionCurveGeometryDescriptor
MTL4AccelerationStructureMotionTriangleGeometryDescriptor
MTL4AccelerationStructureTriangleGeometryDescriptor
MTL4ArgumentTableDescriptor
MTL4BinaryFunctionDescriptor
MTL4CommandAllocatorDescriptor
MTL4CommandBufferOptions
MTL4CommandQueueDescriptor
MTL4CommandQueueErrorExtensions

Extension methods for the MTL4CommandQueueError enumeration.

MTL4CommitOptions
MTL4CompilerDescriptor
MTL4CompilerTaskOptions
MTL4ComputePipelineDescriptor
MTL4CounterHeapDescriptor
MTL4FunctionDescriptor
MTL4IndirectInstanceAccelerationStructureDescriptor
MTL4InstanceAccelerationStructureDescriptor
MTL4LibraryDescriptor
MTL4LibraryFunctionDescriptor
MTL4MachineLearningPipelineDescriptor
MTL4MachineLearningPipelineReflection
MTL4MeshRenderPipelineDescriptor
MTL4PipelineDataSetSerializerDescriptor
MTL4PipelineDescriptor
MTL4PipelineOptions
MTL4PipelineStageDynamicLinkingDescriptor
MTL4PrimitiveAccelerationStructureDescriptor
MTL4RenderPassDescriptor
MTL4RenderPipelineBinaryFunctionsDescriptor
MTL4RenderPipelineColorAttachmentDescriptor
MTL4RenderPipelineColorAttachmentDescriptorArray
MTL4RenderPipelineDescriptor
MTL4RenderPipelineDynamicLinkingDescriptor
MTL4SpecializedFunctionDescriptor
MTL4StaticLinkingDescriptor
MTL4StitchedFunctionDescriptor
MTL4TileRenderPipelineDescriptor
MTLAccelerationStructureBoundingBoxGeometryDescriptor
MTLAccelerationStructureCommandEncoder_Extensions

Extension methods to the IMTLAccelerationStructureCommandEncoder interface to support all the methods from the MTLAccelerationStructureCommandEncoder protocol.

MTLAccelerationStructureCurveGeometryDescriptor
MTLAccelerationStructureDescriptor
MTLAccelerationStructureGeometryDescriptor
MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor
MTLAccelerationStructureMotionCurveGeometryDescriptor
MTLAccelerationStructureMotionTriangleGeometryDescriptor
MTLAccelerationStructurePassDescriptor
MTLAccelerationStructurePassSampleBufferAttachmentDescriptor
MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray
MTLAccelerationStructureTriangleGeometryDescriptor
MTLArchitecture
MTLArgument

Encapsulates a single parameter to a Metal function.

MTLArgumentDescriptor

An description of an argument inside an argument buffer.

MTLArgumentEncoder_Extensions

Extension methods to the IMTLArgumentEncoder interface to support all the methods from the MTLArgumentEncoder protocol.

MTLArrayType

Encapsulates the details of an array argument to a Metal function.

MTLAttribute
MTLAttributeDescriptor
MTLAttributeDescriptorArray
MTLBinaryArchiveDescriptor
MTLBinaryArchiveErrorExtensions

Extension methods for the MTLBinaryArchiveError enumeration.

MTLBlitCommandEncoder_Extensions

Extension methods to the IMTLBlitCommandEncoder interface to support all the methods from the MTLBlitCommandEncoder protocol.

MTLBlitPassDescriptor
MTLBlitPassSampleBufferAttachmentDescriptor
MTLBlitPassSampleBufferAttachmentDescriptorArray
MTLBuffer_Extensions

Extension methods to the IMTLBuffer interface to support all the methods from the MTLBuffer protocol.

MTLBufferLayoutDescriptor
MTLBufferLayoutDescriptorArray
MTLCaptureDescriptor
MTLCaptureErrorExtensions

Extension methods for the MTLCaptureError enumeration.

MTLCaptureManager

Manages GPU captures for apps launched from Xcode.

MTLCaptureScope

Custom capture scope boundary for debugging from Xcode.

MTLCommandBuffer_Extensions

Extension methods to the IMTLCommandBuffer interface to support all the methods from the MTLCommandBuffer protocol.

MTLCommandBufferDescriptor
MTLCommandBufferErrorExtensions

Extension methods for the MTLCommandBufferError enumeration.

MTLCommandQueueDescriptor
MTLCommonCounterExtensions

Extension methods for the MTLCommonCounter enumeration.

MTLCompileOptions

Configures the compilation of a Metal shader library.

MTLComputeCommandEncoder_Extensions

Extension methods to the IMTLComputeCommandEncoder interface to support all the methods from the MTLComputeCommandEncoder protocol.

MTLComputePassDescriptor
MTLComputePassSampleBufferAttachmentDescriptor
MTLComputePassSampleBufferAttachmentDescriptorArray
MTLComputePipelineDescriptor

Describes the compute state used during a compute operation pass. (See also IMTLComputePipelineState.)

MTLComputePipelineReflection

Encapsulates the details of the arguments of the compute function used to create an IMTLComputePipelineState object.

MTLComputePipelineState_Extensions

Extension methods to the IMTLComputePipelineState interface to support all the methods from the MTLComputePipelineState protocol.

MTLCounterSampleBufferDescriptor
MTLCounterSampleBufferErrorExtensions

Extension methods for the MTLCounterSampleBufferError enumeration.

MTLDepthStencilDescriptor

Configures a depth stencil test operation.

MTLDepthStencilState_Extensions

Extension methods to the IMTLDepthStencilState interface to support all the methods from the MTLDepthStencilState protocol.

MTLDevice

Represents a single GPU.

MTLDevice_Extensions

Extension methods to the IMTLDevice interface to support all the methods from the MTLDevice protocol.

MTLDrawable

Interface definition for objects that can receive rendering commands.

MTLDynamicLibraryErrorExtensions

Extension methods for the MTLDynamicLibraryError enumeration.

MTLFunction_Extensions

Extension methods to the IMTLFunction interface to support all the methods from the MTLFunction protocol.

MTLFunctionConstant
MTLFunctionConstantValues
MTLFunctionDescriptor
MTLFunctionReflection
MTLFunctionStitchingFunctionNode
MTLFunctionStitchingGraph
MTLFunctionStitchingInputNode
MTLHeap_Extensions

Extension methods to the IMTLHeap interface to support all the methods from the MTLHeap protocol.

MTLHeapDescriptor
MTLIndirectCommandBuffer_Extensions

Extension methods to the IMTLIndirectCommandBuffer interface to support all the methods from the MTLIndirectCommandBuffer protocol.

MTLIndirectCommandBufferDescriptor
MTLIndirectComputeCommand_Extensions

Extension methods to the IMTLIndirectComputeCommand interface to support all the methods from the MTLIndirectComputeCommand protocol.

MTLIndirectInstanceAccelerationStructureDescriptor
MTLIndirectRenderCommand_Extensions

Extension methods to the IMTLIndirectRenderCommand interface to support all the methods from the MTLIndirectRenderCommand protocol.

MTLInstanceAccelerationStructureDescriptor
MTLIntersectionFunctionDescriptor
MTLIntersectionFunctionTable_Extensions

Extension methods to the IMTLIntersectionFunctionTable interface to support all the methods from the MTLIntersectionFunctionTable protocol.

MTLIntersectionFunctionTableDescriptor
MTLIntersectionFunctionTableExtensions
MTLIOCompressionContext
MTLIOErrorExtensions

Extension methods for the MTLIOError enumeration.

MTLLibrary_Extensions

Extension methods to the IMTLLibrary interface to support all the methods from the MTLLibrary protocol.

MTLLibraryErrorExtensions

Extension methods for the MTLLibraryError enumeration.

MTLLinkedFunctions
MTLLogicalToPhysicalColorAttachmentMap
MTLLogStateDescriptor
MTLLogStateErrorExtensions

Extension methods for the MTLLogStateError enumeration.

MTLMeshRenderPipelineDescriptor
MTLMotionKeyframeData
MTLPipelineBufferDescriptor

Contains a mutability description for a buffer.

MTLPipelineBufferDescriptorArray

An array of buffer mutability descriptors.

MTLPointerType
MTLPrimitiveAccelerationStructureDescriptor
MTLRasterizationRateLayerArray
MTLRasterizationRateLayerDescriptor
MTLRasterizationRateMapDescriptor
MTLRasterizationRateSampleArray
MTLRenderCommandEncoder_Extensions

Extension methods to the IMTLRenderCommandEncoder interface to support all the methods from the MTLRenderCommandEncoder protocol.

MTLRenderPassAttachmentDescriptor

Configures a render target of a framebuffer.

MTLRenderPassColorAttachmentDescriptor

A MTLRenderPassAttachmentDescriptor that holds the clear color for the rendering pass.

MTLRenderPassColorAttachmentDescriptorArray

Holds an array of MTLRenderPassColorAttachmentDescriptor objects.

MTLRenderPassDepthAttachmentDescriptor

A MTLRenderPassAttachmentDescriptor that holds the clear depth for a rendering pass.

MTLRenderPassDescriptor

Defines the rendering target for pixels generated by a rendering pass.

MTLRenderPassSampleBufferAttachmentDescriptor
MTLRenderPassSampleBufferAttachmentDescriptorArray
MTLRenderPassStencilAttachmentDescriptor

A MTLRenderPassAttachmentDescriptor that holds the clear stencil for a rendering pass.

MTLRenderPipelineColorAttachmentDescriptor

Configures a color attachment associated with a rendering pipeline.

MTLRenderPipelineColorAttachmentDescriptorArray

An array of MTLRenderPipelineColorAttachmentDescriptor objects.

MTLRenderPipelineDescriptor

Configures a rendering pipeline with rasterization properties, visibility, blending, and shader functions.

MTLRenderPipelineFunctionsDescriptor
MTLRenderPipelineReflection

The arguments (see MTLArgument) of a vertex or fragment function within a IMTLRenderPipelineState.

MTLRenderPipelineState_Extensions

Extension methods to the IMTLRenderPipelineState interface to support all the methods from the MTLRenderPipelineState protocol.

MTLResidencySetDescriptor
MTLResourceStateCommandEncoder_Extensions

Extension methods to the IMTLResourceStateCommandEncoder interface to support all the methods from the MTLResourceStateCommandEncoder protocol.

MTLResourceStatePassDescriptor
MTLResourceStatePassSampleBufferAttachmentDescriptor
MTLResourceStatePassSampleBufferAttachmentDescriptorArray
MTLResourceViewPoolDescriptor
MTLSamplerDescriptor

Configures a sampler (see IMTLSamplerState).

MTLSamplerState_Extensions

Extension methods to the IMTLSamplerState interface to support all the methods from the MTLSamplerState protocol.

MTLSharedEventHandle
MTLSharedEventListener
MTLSharedTextureHandle
MTLStageInputOutputDescriptor
MTLStencilDescriptor

Configures a stencil test operation.

MTLStitchedLibraryDescriptor
MTLStructMember

Describes a single field within a MTLStructType struct.

MTLStructType

Defines a type representing a struct, which can be passed as an argument to Metal functions.

MTLTensorDescriptor
MTLTensorErrorExtensions

Extension methods for the MTLTensorError enumeration.

MTLTensorExtents
MTLTensorReferenceType
MTLTexture_Extensions

Extension methods to the IMTLTexture interface to support all the methods from the MTLTexture protocol.

MTLTextureDescriptor

Configuration for IMTLTexture objects.

MTLTextureReferenceType
MTLTextureViewDescriptor
MTLTileRenderPipelineColorAttachmentDescriptor
MTLTileRenderPipelineColorAttachmentDescriptorArray
MTLTileRenderPipelineDescriptor
MTLType
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 MTLVertexAttributeDescriptor objects.

MTLVertexBufferLayoutDescriptor

Configures how vertex and attribute data are fetched by a vertex shader function.

MTLVertexBufferLayoutDescriptorArray

Holds an array of MTLVertexBufferLayoutDescriptor objects.

MTLVertexDescriptor

Maps vertex data in memory to attributes in a vertex shader.

MTLVertexFormatExtensions

Extension methods for MTLVertexFormat.

MTLVisibleFunctionTable_Extensions

Extension methods to the IMTLVisibleFunctionTable interface to support all the methods from the MTLVisibleFunctionTable protocol.

MTLVisibleFunctionTableDescriptor
NSDeviceCertificationExtensions

Extension methods for the NSDeviceCertification enumeration.

NSProcessInfo_NSDeviceCertification
NSProcessPerformanceProfileExtensions

Extension methods for the NSProcessPerformanceProfile enumeration.

Structs

Name Description
MTL4BufferRange

A struct that represents a range of a Metal buffer.

MTL4CopySparseBufferMappingOperation

A container for the arguments for a copy sparse buffer mapping operation.

MTL4CopySparseTextureMappingOperation

A container for the arguments for a copy sparse texture mapping operation.

MTL4UpdateSparseBufferMappingOperation

A container for the arguments for a update sparse buffer mapping operation.

MTL4UpdateSparseTextureMappingOperation

A container for the arguments for a update sparse texture mapping operation.

MTLAccelerationStructureSizes
MTLClearColor

An RGBA color representing a clear pixel.

MTLClearValue

Struct that contains values that are used to clear various buffers and stencils.

MTLCoordinate2D
MTLDispatchThreadgroupsIndirectArguments

Represents the number of threadgroups in each grid dimension for indirectly dispatched threadgroups.

MTLDrawIndexedPrimitivesIndirectArguments

Represents the data layout needed to draw indexed primitives.

MTLDrawPatchIndirectArguments
MTLDrawPrimitivesIndirectArguments

Represents the data layout needed to draw primitives.

MTLIndirectCommandBufferExecutionRange
MTLOrigin

The ___location of a pixel in an image or texture.

MTLQuadTessellationFactorsHalf
MTLRegion

A rectangle of pixels in an image or texture.

MTLResourceId
MTLSamplePosition

A sample position.

MTLScissorRect

The retangle used for the scissor fragment test.

MTLSize

The dimensions of a grid, image, texture, or threadgroup.

MTLSizeAndAlign
MTLStageInRegionIndirectArguments
MTLTextureSwizzleChannels
MTLTriangleTessellationFactorsHalf
MTLVertexAmplificationViewMapping
MTLViewport

Defines the clipping viewport.

Interfaces

Name Description
IMTL4Archive

This interface represents the Objective-C protocol MTL4Archive.

IMTL4ArgumentTable

This interface represents the Objective-C protocol MTL4ArgumentTable.

IMTL4BinaryFunction

This interface represents the Objective-C protocol MTL4BinaryFunction.

IMTL4CommandAllocator

This interface represents the Objective-C protocol MTL4CommandAllocator.

IMTL4CommandBuffer

This interface represents the Objective-C protocol MTL4CommandBuffer.

IMTL4CommandEncoder

This interface represents the Objective-C protocol MTL4CommandEncoder.

IMTL4CommandQueue

This interface represents the Objective-C protocol MTL4CommandQueue.

IMTL4CommitFeedback

This interface represents the Objective-C protocol MTL4CommitFeedback.

IMTL4Compiler

This interface represents the Objective-C protocol MTL4Compiler.

IMTL4CompilerTask

This interface represents the Objective-C protocol MTL4CompilerTask.

IMTL4ComputeCommandEncoder

This interface represents the Objective-C protocol MTL4ComputeCommandEncoder.

IMTL4CounterHeap

This interface represents the Objective-C protocol MTL4CounterHeap.

IMTL4MachineLearningCommandEncoder

This interface represents the Objective-C protocol MTL4MachineLearningCommandEncoder.

IMTL4MachineLearningPipelineState

This interface represents the Objective-C protocol MTL4MachineLearningPipelineState.

IMTL4PipelineDataSetSerializer

This interface represents the Objective-C protocol MTL4PipelineDataSetSerializer.

IMTL4RenderCommandEncoder

This interface represents the Objective-C protocol MTL4RenderCommandEncoder.

IMTLAccelerationStructure

This interface represents the Objective-C protocol MTLAccelerationStructure.

IMTLAccelerationStructureCommandEncoder

This interface represents the Objective-C protocol MTLAccelerationStructureCommandEncoder.

IMTLAllocation

This interface represents the Objective-C protocol MTLAllocation.

IMTLArgumentEncoder

Encodes data into argument buffers.

IMTLBinaryArchive

This interface represents the Objective-C protocol MTLBinaryArchive.

IMTLBinding

This interface represents the Objective-C protocol MTLBinding.

IMTLBlitCommandEncoder

Protocol for writing data into frame buffers.

IMTLBuffer

System protocol for raw data that is accessible in strides.

IMTLBufferBinding

This interface represents the Objective-C protocol MTLBufferBinding.

IMTLCaptureScope

Custom capture scope boundary for debugging from Xcode.

IMTLCommandBuffer

Protocol for commands that are run on a GPU

IMTLCommandBufferEncoderInfo

This interface represents the Objective-C protocol MTLCommandBufferEncoderInfo.

IMTLCommandEncoder

System protocol for enqueuing and writing commands into a buffer.

IMTLCommandQueue

System protocol for objects that can queue command buffers for running on a GPU.

IMTLComputeCommandEncoder

Protocol for encoding and running parallel commands on a GPU.

IMTLComputePipelineState

System protocol that represents a compiled compute program.

IMTLCounter

This interface represents the Objective-C protocol MTLCounter.

IMTLCounterSampleBuffer

This interface represents the Objective-C protocol MTLCounterSampleBuffer.

IMTLCounterSet

This interface represents the Objective-C protocol MTLCounterSet.

IMTLDepthStencilState

System protocol for describing how the depth stencil should interact with the depth buffer during rendering.

IMTLDevice

System protocol for interacting with a single graphics device.

IMTLDrawable

Interface definition for objects that can receive rendering commands.

IMTLDynamicLibrary

This interface represents the Objective-C protocol MTLDynamicLibrary.

IMTLEvent

This interface represents the Objective-C protocol MTLEvent.

IMTLFence

This interface represents the Objective-C protocol MTLFence.

IMTLFunction

System protocol for shader functions that are suitable for use on a GPU in a shader or compute function.

IMTLFunctionHandle

This interface represents the Objective-C protocol MTLFunctionHandle.

IMTLFunctionLog

This interface represents the Objective-C protocol MTLFunctionLog.

IMTLFunctionLogDebugLocation

This interface represents the Objective-C protocol MTLFunctionLogDebugLocation.

IMTLFunctionStitchingAttribute

This interface represents the Objective-C protocol MTLFunctionStitchingAttribute.

IMTLFunctionStitchingNode

This interface represents the Objective-C protocol MTLFunctionStitchingNode.

IMTLHeap

This interface represents the Objective-C protocol MTLHeap.

IMTLIndirectCommandBuffer

This interface represents the Objective-C protocol MTLIndirectCommandBuffer.

IMTLIndirectComputeCommand

This interface represents the Objective-C protocol MTLIndirectComputeCommand.

IMTLIndirectRenderCommand

This interface represents the Objective-C protocol MTLIndirectRenderCommand.

IMTLIntersectionFunctionTable

This interface represents the Objective-C protocol MTLIntersectionFunctionTable.

IMTLLibrary

System protocol for libraries of shaders.

IMTLLogContainer

This interface represents the Objective-C protocol MTLLogContainer.

IMTLLogState

This interface represents the Objective-C protocol MTLLogState.

IMTLObjectPayloadBinding

This interface represents the Objective-C protocol MTLObjectPayloadBinding.

IMTLParallelRenderCommandEncoder

System protocol for breaking a single rendering pass into parallel command sets.

IMTLRasterizationRateMap

This interface represents the Objective-C protocol MTLRasterizationRateMap.

IMTLRenderCommandEncoder

System protocol for encoding render commands and state into a buffer.

IMTLRenderPipelineState

System protocol for encoding the state of a rendering pipeline.

IMTLResidencySet

This interface represents the Objective-C protocol MTLResidencySet.

IMTLResource

System protocol for for allocated segments of GPU memory.

IMTLResourceStateCommandEncoder

This interface represents the Objective-C protocol MTLResourceStateCommandEncoder.

IMTLResourceViewPool

This interface represents the Objective-C protocol MTLResourceViewPool.

IMTLSamplerState

System protocol the way that shaders or compute kernels will sample textures.

IMTLSharedEvent

This interface represents the Objective-C protocol MTLSharedEvent.

IMTLTensor

This interface represents the Objective-C protocol MTLTensor.

IMTLTensorBinding

This interface represents the Objective-C protocol MTLTensorBinding.

IMTLTexture

System protocol for image data that is used by vertex shaders, fragment shaders, and compute kernels.

IMTLTextureBinding

This interface represents the Objective-C protocol MTLTextureBinding.

IMTLTextureViewPool

This interface represents the Objective-C protocol MTLTextureViewPool.

IMTLThreadgroupBinding

This interface represents the Objective-C protocol MTLThreadgroupBinding.

IMTLVisibleFunctionTable

This interface represents the Objective-C protocol MTLVisibleFunctionTable.

Enums

Name Description
MTL4AlphaToCoverageState
MTL4AlphaToOneState
MTL4BinaryFunctionOptions
MTL4BlendState
MTL4CommandQueueError
MTL4CompilerTaskStatus
MTL4CounterHeapType
MTL4IndirectCommandBufferSupportState
MTL4LogicalToPhysicalColorAttachmentMappingState
MTL4PipelineDataSetSerializerConfiguration
MTL4RenderEncoderOptions
MTL4ShaderReflection
MTL4TimestampGranularity
MTL4VisibilityOptions
MTLAccelerationStructureInstanceDescriptorType
MTLAccelerationStructureInstanceOptions
MTLAccelerationStructureRefitOptions
MTLAccelerationStructureUsage
MTLArgumentAccess

Function access restrictions of argument data in the shader code.

MTLArgumentBuffersTier

Enumerates argument buffer tiers.

MTLArgumentType

The resource type of an argument of a function.

MTLAttributeFormat

Enumerates formats for function attributes.

MTLBarrierScope
MTLBinaryArchiveError
MTLBindingAccess
MTLBindingType
MTLBlendFactor

Argument values for use with MTLBlendOperation.

MTLBlendOperation

How the source and destination values are combined.

MTLBlitOption

Enumerates blitting options.

MTLBufferSparseTier
MTLCaptureDestination
MTLCaptureError
MTLColorWriteMask

Permits or restricts writing to specific color channels.

MTLCommandBufferError

Enumeration of error codes describing why a command buffer has failed.

MTLCommandBufferErrorOption
MTLCommandBufferStatus

The state of the command-buffer state-machine. Enqueued->Committed->Scheduled->Completed.

MTLCommandEncoderErrorState
MTLCommonCounter
MTLCompareFunction

Holds a comparison test. When the comparison test passes, the incoming fragment is compared to the stored data at the specified ___location.

MTLCompileSymbolVisibility
MTLCounterSampleBufferError
MTLCounterSamplingPoint
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.

MTLCurveBasis
MTLCurveEndCaps
MTLCurveType
MTLDataType

The data type of a function argument, as used in the shader language code.

MTLDepthClipMode

Enumerates values that indicate whether to clip or clamp depth values.

MTLDeviceLocation
MTLDispatchType
MTLDynamicLibraryError
MTLFeatureSet

Enumerates the hardware feature sets that are available on a device.

MTLFunctionLogType
MTLFunctionOptions
MTLFunctionType

The type of a Metal function.

MTLGpuFamily
MTLHazardTrackingMode
MTLHeapType
MTLIndexType

The index type for an index buffer.

MTLIndirectCommandType
MTLIntersectionFunctionSignature
MTLIOCommandQueueType
MTLIOCompressionMethod
MTLIOCompressionStatus
MTLIOError
MTLIOPriority
MTLIOStatus
MTLLanguageVersion

Enumerates Metal shader programming language versions.

MTLLibraryError

Enumerates errors possible in the creation of an MTLLibrary or MTLFunction object.

MTLLibraryOptimizationLevel
MTLLibraryType
MTLLoadAction

An action performed at the start of a rendering pass.

MTLLogLevel
MTLLogStateError
MTLMathFloatingPointFunctions
MTLMathMode
MTLMatrixLayout
MTLMotionBorderMode
MTLMultisampleDepthResolveFilter

Enumerates MSAA dept resolve filter operations.

MTLMultisampleStencilResolveFilter
MTLMutability

Enumerates buffer mutability descriptions.

MTLPatchType
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.

MTLPrimitiveTopologyClass
MTLPrimitiveType

Enumerates the primitive geometry used for drawing commands.

MTLPurgeableState

The purgeable state of the resource.

MTLReadWriteTextureTier
MTLRenderStages
MTLResourceOptions

Holds options used by buffer and texture objects.

MTLResourceUsage

Enumerates resource usage patterns.

MTLSamplerAddressMode

The wrapping mode. Used when a fetch falls outside the bounds of a texture.

MTLSamplerBorderColor
MTLSamplerMinMagFilter

Options for calculating the pixel value returned within a mipmap level.

MTLSamplerMipFilter

Options for calculating the pixel value returned with multiple mipmap levels.

MTLSamplerReductionMode
MTLShaderValidation
MTLSparsePageSize
MTLSparseTextureMappingMode
MTLSparseTextureRegionAlignmentMode
MTLStages
MTLStencilOperation

What to do if a stencil value passes or fails a comparison test.

MTLStepFunction
MTLStitchedLibraryOptions
MTLStorageMode

Enumerates CPU cache modes for resource mapping.

MTLStoreAction

The action to be performed at the end of a rendering pass.

MTLStoreActionOptions

Enumerates store action options.

MTLTensorDataType
MTLTensorError
MTLTensorUsage
MTLTessellationControlPointIndexType
MTLTessellationFactorFormat
MTLTessellationFactorStepFunction
MTLTessellationPartitionMode
MTLTextureCompressionType
MTLTextureSparseTier
MTLTextureSwizzle
MTLTextureType

The dimensionality of each texture and how multiple images are arranged.

MTLTextureUsage

Enumerates the ways in which a IMTLTexture may be used.

MTLTransformType
MTLTriangleFillMode

How to rasterize triangle and triangle-strip primitives.

MTLVertexFormat

Enumerates vertex data formats (type and number).

MTLVertexStepFunction

The frequency at which the vertex shader function should fetch attribute data.

MTLVisibilityResultMode

Enumerates values that control how and whether to monitor samples that pass depth and stencil tests.

MTLVisibilityResultType
MTLWinding

Vertex winding rule for front-facing primitives.

NSDeviceCertification
NSProcessPerformanceProfile

Delegates

Name Description
MTL4CommitFeedbackHandler
MTL4CreateBinaryFunctionCompletionHandler
MTL4CreateMachineLearningPipelineStateCompletionHandler
MTLCreateComputePipelineStateCompletionHandler
MTLCreateDynamicLibraryCompletionHandler
MTLCreateLibraryCompletionHandler
MTLCreateRenderPipelineStateCompletionHandler
MTLDeallocator

Completion handler for deallocating a buffer.

MTLDeviceNotificationHandler
MTLLogStateLogHandler
MTLNewComputePipelineStateWithReflectionCompletionHandler
MTLNewRenderPipelineStateWithReflectionCompletionHandler
MTLSharedEventNotificationBlock

Remarks

The Metal framework 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 GPU. Metal provides precompiled shaders, state objects, and explicit command scheduling. These facilities can be used for either 3D rendering or General-Purpose GPU computation.