Metal iOS 13.6 to 14.0 API Differences
MTLAccelerationStructure.h
Added
MTLAccelerationStructureUsage
Added
MTLAccelerationStructureUsageNone
Added
MTLAccelerationStructureUsageRefit
Added
MTLAccelerationStructureUsagePreferFastBuild
Added
MTLAccelerationStructureInstanceOptions
Added
MTLAccelerationStructureInstanceOptionNone
Added
MTLAccelerationStructureInstanceOptionDisableTriangleCulling
Added
MTLAccelerationStructureInstanceOptionTriangleFrontFacingWindingCounterClockwise
Added
MTLAccelerationStructureInstanceOptionOpaque
Added
MTLAccelerationStructureInstanceOptionNonOpaque
Added
MTLAccelerationStructureDescriptor
Added
MTLAccelerationStructureDescriptor.usage
Added
MTLAccelerationStructureGeometryDescriptor
Added
MTLAccelerationStructureGeometryDescriptor.intersectionFunctionTableOffset
Added
MTLAccelerationStructureGeometryDescriptor.opaque
Added
MTLAccelerationStructureGeometryDescriptor.allowDuplicateIntersectionFunctionInvocation
Added
MTLPrimitiveAccelerationStructureDescriptor
Added
MTLPrimitiveAccelerationStructureDescriptor.geometryDescriptors
Added
+[MTLPrimitiveAccelerationStructureDescriptor descriptor]
Added
MTLAccelerationStructureTriangleGeometryDescriptor
Added
MTLAccelerationStructureTriangleGeometryDescriptor.vertexBuffer
Added
MTLAccelerationStructureTriangleGeometryDescriptor.vertexBufferOffset
Added
MTLAccelerationStructureTriangleGeometryDescriptor.vertexStride
Added
MTLAccelerationStructureTriangleGeometryDescriptor.indexBuffer
Added
MTLAccelerationStructureTriangleGeometryDescriptor.indexBufferOffset
Added
MTLAccelerationStructureTriangleGeometryDescriptor.indexType
Added
MTLAccelerationStructureTriangleGeometryDescriptor.triangleCount
Added
+[MTLAccelerationStructureTriangleGeometryDescriptor descriptor]
Added
MTLAccelerationStructureBoundingBoxGeometryDescriptor
Added
MTLAccelerationStructureBoundingBoxGeometryDescriptor.boundingBoxBuffer
Added
MTLAccelerationStructureBoundingBoxGeometryDescriptor.boundingBoxBufferOffset
Added
MTLAccelerationStructureBoundingBoxGeometryDescriptor.boundingBoxStride
Added
MTLAccelerationStructureBoundingBoxGeometryDescriptor.boundingBoxCount
Added
+[MTLAccelerationStructureBoundingBoxGeometryDescriptor descriptor]
Added
MTLAccelerationStructureInstanceDescriptor
Added
MTLInstanceAccelerationStructureDescriptor
Added
MTLInstanceAccelerationStructureDescriptor.instanceDescriptorBuffer
Added
MTLInstanceAccelerationStructureDescriptor.instanceDescriptorBufferOffset
Added
MTLInstanceAccelerationStructureDescriptor.instanceDescriptorStride
Added
MTLInstanceAccelerationStructureDescriptor.instanceCount
Added
MTLInstanceAccelerationStructureDescriptor.instancedAccelerationStructures
Added
+[MTLInstanceAccelerationStructureDescriptor descriptor]
Added
MTLAccelerationStructure
Added
MTLAccelerationStructure.size
MTLAccelerationStructureCommandEncoder.h
Added
MTLAccelerationStructureCommandEncoder
Added
-[MTLAccelerationStructureCommandEncoder buildAccelerationStructure:descriptor:scratchBuffer:scratchBufferOffset:]
Added
-[MTLAccelerationStructureCommandEncoder refitAccelerationStructure:descriptor:destination:scratchBuffer:scratchBufferOffset:]
Added
-[MTLAccelerationStructureCommandEncoder copyAccelerationStructure:toAccelerationStructure:]
Added
-[MTLAccelerationStructureCommandEncoder writeCompactedAccelerationStructureSize:toBuffer:offset:]
Added
-[MTLAccelerationStructureCommandEncoder copyAndCompactAccelerationStructure:toAccelerationStructure:]
Added
-[MTLAccelerationStructureCommandEncoder updateFence:]
Added
-[MTLAccelerationStructureCommandEncoder waitForFence:]
Added
-[MTLAccelerationStructureCommandEncoder useResource:usage:]
Added
-[MTLAccelerationStructureCommandEncoder useResources:count:usage:]
Added
-[MTLAccelerationStructureCommandEncoder useHeap:]
Added
-[MTLAccelerationStructureCommandEncoder useHeaps:count:]
Added
-[MTLAccelerationStructureCommandEncoder sampleCountersInBuffer:atSampleIndex:withBarrier:]
MTLAccelerationStructureTypes.h
Added
MTLPackedFloat3
Added
MTLPackedFloat4x3
Added
MTLAxisAlignedBoundingBox
MTLArgument.h
Added
MTLDataTypeVisibleFunctionTable
Added
MTLDataTypeIntersectionFunctionTable
Added
MTLDataTypePrimitiveAccelerationStructure
Added
MTLDataTypeInstanceAccelerationStructure
Added
MTLArgumentTypeVisibleFunctionTable
Added
MTLArgumentTypePrimitiveAccelerationStructure
Added
MTLArgumentTypeInstanceAccelerationStructure
Added
MTLArgumentTypeIntersectionFunctionTable
MTLArgumentEncoder.h
Added
-[MTLArgumentEncoder setAccelerationStructure:atIndex:]
Added
-[MTLArgumentEncoder setVisibleFunctionTable:atIndex:]
Added
-[MTLArgumentEncoder setVisibleFunctionTables:withRange:]
Added
-[MTLArgumentEncoder setIntersectionFunctionTable:atIndex:]
Added
-[MTLArgumentEncoder setIntersectionFunctionTables:withRange:]
MTLBinaryArchive.h
Added
MTLBinaryArchiveDomain
Added
MTLBinaryArchiveError
Added
MTLBinaryArchiveErrorNone
Added
MTLBinaryArchiveErrorInvalidFile
Added
MTLBinaryArchiveErrorUnexpectedElement
Added
MTLBinaryArchiveErrorCompilationFailure
Added
MTLBinaryArchiveDescriptor
Added
MTLBinaryArchiveDescriptor.url
Added
MTLBinaryArchive
Added
MTLBinaryArchive.label
Added
MTLBinaryArchive.device
Added
-[MTLBinaryArchive addComputePipelineFunctionsWithDescriptor:error:]
Added
-[MTLBinaryArchive addRenderPipelineFunctionsWithDescriptor:error:]
Added
-[MTLBinaryArchive addTileRenderPipelineFunctionsWithDescriptor:error:]
Added
-[MTLBinaryArchive serializeToURL:error:]
MTLBlitCommandEncoder.h
Added
-[MTLBlitCommandEncoder sampleCountersInBuffer:atSampleIndex:withBarrier:]
Added
-[MTLBlitCommandEncoder resolveCounters:inRange:destinationBuffer:destinationOffset:]
MTLBlitPass.h
Added
#def MTLMaxBlitPassSampleBuffers
Added
MTLBlitPassSampleBufferAttachmentDescriptor
Added
MTLBlitPassSampleBufferAttachmentDescriptor.sampleBuffer
Added
MTLBlitPassSampleBufferAttachmentDescriptor.startOfEncoderSampleIndex
Added
MTLBlitPassSampleBufferAttachmentDescriptor.endOfEncoderSampleIndex
Added
MTLBlitPassSampleBufferAttachmentDescriptorArray
Added
-[MTLBlitPassSampleBufferAttachmentDescriptorArray objectAtIndexedSubscript:]
Added
-[MTLBlitPassSampleBufferAttachmentDescriptorArray setObject:atIndexedSubscript:]
Added
MTLBlitPassDescriptor
Added
+[MTLBlitPassDescriptor blitPassDescriptor]
Added
MTLBlitPassDescriptor.sampleBufferAttachments
MTLCommandBuffer.h
Added
MTLCommandBufferEncoderInfoErrorKey
Added
MTLCommandBufferErrorOption
Added
MTLCommandBufferErrorOptionNone
Added
MTLCommandBufferErrorOptionEncoderExecutionStatus
Added
MTLCommandEncoderErrorState
Added
MTLCommandEncoderErrorStateUnknown
Added
MTLCommandEncoderErrorStateCompleted
Added
MTLCommandEncoderErrorStateAffected
Added
MTLCommandEncoderErrorStatePending
Added
MTLCommandEncoderErrorStateFaulted
Added
MTLCommandBufferDescriptor
Added
MTLCommandBufferDescriptor.retainedReferences
Added
MTLCommandBufferDescriptor.errorOptions
Added
MTLCommandBufferEncoderInfo
Added
MTLCommandBufferEncoderInfo.label
Added
MTLCommandBufferEncoderInfo.debugSignposts
Added
MTLCommandBufferEncoderInfo.errorState
Added
MTLCommandBuffer.errorOptions
Added
MTLCommandBuffer.logs
Added
-[MTLCommandBuffer computeCommandEncoderWithDescriptor:]
Added
-[MTLCommandBuffer blitCommandEncoderWithDescriptor:]
Added
-[MTLCommandBuffer resourceStateCommandEncoderWithDescriptor:]
Added
-[MTLCommandBuffer accelerationStructureCommandEncoder]
MTLCommandQueue.h
Added
-[MTLCommandQueue commandBufferWithDescriptor:]
MTLComputeCommandEncoder.h
Added
-[MTLComputeCommandEncoder setVisibleFunctionTable:atBufferIndex:]
Added
-[MTLComputeCommandEncoder setVisibleFunctionTables:withBufferRange:]
Added
-[MTLComputeCommandEncoder setIntersectionFunctionTable:atBufferIndex:]
Added
-[MTLComputeCommandEncoder setIntersectionFunctionTables:withBufferRange:]
Added
-[MTLComputeCommandEncoder setAccelerationStructure:atBufferIndex:]
Added
-[MTLComputeCommandEncoder sampleCountersInBuffer:atSampleIndex:withBarrier:]
MTLComputePass.h
Added
#def MTLCounterDontSample
Added
#def MTLMaxComputePassSampleBuffers
Added
MTLComputePassSampleBufferAttachmentDescriptor
Added
MTLComputePassSampleBufferAttachmentDescriptor.sampleBuffer
Added
MTLComputePassSampleBufferAttachmentDescriptor.startOfEncoderSampleIndex
Added
MTLComputePassSampleBufferAttachmentDescriptor.endOfEncoderSampleIndex
Added
MTLComputePassSampleBufferAttachmentDescriptorArray
Added
-[MTLComputePassSampleBufferAttachmentDescriptorArray objectAtIndexedSubscript:]
Added
-[MTLComputePassSampleBufferAttachmentDescriptorArray setObject:atIndexedSubscript:]
Added
MTLComputePassDescriptor
Added
+[MTLComputePassDescriptor computePassDescriptor]
Added
MTLComputePassDescriptor.dispatchType
Added
MTLComputePassDescriptor.sampleBufferAttachments
MTLComputePipeline.h
Added
MTLComputePipelineDescriptor.insertLibraries
Added
MTLComputePipelineDescriptor.binaryArchives
Added
MTLComputePipelineDescriptor.linkedFunctions
Added
MTLComputePipelineDescriptor.supportAddingBinaryFunctions
Added
MTLComputePipelineDescriptor.maxCallStackDepth
Added
-[MTLComputePipelineState functionHandleWithFunction:]
Added
-[MTLComputePipelineState newComputePipelineStateWithAdditionalBinaryFunctions:error:]
Added
-[MTLComputePipelineState newVisibleFunctionTableWithDescriptor:]
Added
-[MTLComputePipelineState newIntersectionFunctionTableWithDescriptor:]
MTLCounters.h
Added
#def MTLCounterErrorValue
Added
MTLCommonCounter
Added
MTLCommonCounterTimestamp
Added
MTLCommonCounterTessellationInputPatches
Added
MTLCommonCounterVertexInvocations
Added
MTLCommonCounterPostTessellationVertexInvocations
Added
MTLCommonCounterClipperInvocations
Added
MTLCommonCounterClipperPrimitivesOut
Added
MTLCommonCounterFragmentInvocations
Added
MTLCommonCounterFragmentsPassed
Added
MTLCommonCounterComputeKernelInvocations
Added
MTLCommonCounterTotalCycles
Added
MTLCommonCounterVertexCycles
Added
MTLCommonCounterTessellationCycles
Added
MTLCommonCounterPostTessellationVertexCycles
Added
MTLCommonCounterFragmentCycles
Added
MTLCommonCounterRenderTargetWriteCycles
Added
MTLCommonCounterSet
Added
MTLCommonCounterSetTimestamp
Added
MTLCommonCounterSetStageUtilization
Added
MTLCommonCounterSetStatistic
Added
MTLCounterResultTimestamp
Added
MTLCounterResultStageUtilization
Added
MTLCounterResultStatistic
Added
MTLCounter
Added
MTLCounter.name
Added
MTLCounterSet
Added
MTLCounterSet.name
Added
MTLCounterSet.counters
Added
MTLCounterSampleBufferDescriptor
Added
MTLCounterSampleBufferDescriptor.counterSet
Added
MTLCounterSampleBufferDescriptor.label
Added
MTLCounterSampleBufferDescriptor.storageMode
Added
MTLCounterSampleBufferDescriptor.sampleCount
Added
MTLCounterSampleBuffer
Added
MTLCounterSampleBuffer.device
Added
MTLCounterSampleBuffer.label
Added
MTLCounterSampleBuffer.sampleCount
Added
-[MTLCounterSampleBuffer resolveCounterRange:]
Added
MTLCounterErrorDomain
Added
MTLCounterSampleBufferError
Added
MTLCounterSampleBufferErrorOutOfMemory
Added
MTLCounterSampleBufferErrorInvalid
Added
MTLCounterSampleBufferErrorInternal
MTLDefines.h
Added
#def MTL_INTERN
MTLDevice.h
Added
MTLGPUFamilyApple7
Added
MTLPipelineOptionFailOnBinaryArchiveMiss
Added
MTLAccelerationStructureSizes
Added
MTLCounterSamplingPoint
Added
MTLCounterSamplingPointAtStageBoundary
Added
MTLCounterSamplingPointAtDrawBoundary
Added
MTLCounterSamplingPointAtDispatchBoundary
Added
MTLCounterSamplingPointAtTileDispatchBoundary
Added
MTLCounterSamplingPointAtBlitBoundary
Added
MTLDevice.supportsPullModelInterpolation
Added
MTLDevice.barycentricCoordsSupported
Added
MTLDevice.supportsShaderBarycentricCoordinates
Added
MTLDevice.counterSets
Added
-[MTLDevice newCounterSampleBufferWithDescriptor:error:]
Added
MTLTimestamp
Added
-[MTLDevice sampleTimestamps:gpuTimestamp:]
Added
-[MTLDevice supportsCounterSampling:]
Added
MTLDevice.supportsDynamicLibraries
Added
-[MTLDevice newDynamicLibrary:error:]
Added
-[MTLDevice newDynamicLibraryWithURL:error:]
Added
-[MTLDevice newBinaryArchiveWithDescriptor:error:]
Added
MTLDevice.supportsRaytracing
Added
-[MTLDevice accelerationStructureSizesWithDescriptor:]
Added
-[MTLDevice newAccelerationStructureWithSize:]
Added
-[MTLDevice newAccelerationStructureWithDescriptor:]
Added
MTLDevice.supportsFunctionPointers
MTLDynamicLibrary.h
Added
MTLDynamicLibraryDomain
Added
MTLDynamicLibraryError
Added
MTLDynamicLibraryErrorNone
Added
MTLDynamicLibraryErrorInvalidFile
Added
MTLDynamicLibraryErrorCompilationFailure
Added
MTLDynamicLibraryErrorUnresolvedInstallName
Added
MTLDynamicLibraryErrorDependencyLoadFailure
Added
MTLDynamicLibraryErrorUnsupported
Added
MTLDynamicLibrary
Added
MTLDynamicLibrary.label
Added
MTLDynamicLibrary.device
Added
MTLDynamicLibrary.installName
Added
-[MTLDynamicLibrary serializeToURL:error:]
MTLFunctionDescriptor.h
Added
MTLFunctionOptions
Added
MTLFunctionOptionNone
Added
MTLFunctionOptionCompileToBinary
Added
MTLFunctionDescriptor
Added
+[MTLFunctionDescriptor functionDescriptor]
Added
MTLFunctionDescriptor.name
Added
MTLFunctionDescriptor.specializedName
Added
MTLFunctionDescriptor.constantValues
Added
MTLFunctionDescriptor.options
Added
MTLIntersectionFunctionDescriptor
MTLFunctionHandle.h
Added
MTLFunctionHandle
Added
MTLFunctionHandle.functionType
Added
MTLFunctionHandle.name
Added
MTLFunctionHandle.device
MTLFunctionLog.h
Added
MTLFunctionLogType
Added
MTLFunctionLogTypeValidation
Added
MTLLogContainer
Added
MTLFunctionLogDebugLocation
Added
MTLFunctionLogDebugLocation.functionName
Added
MTLFunctionLogDebugLocation.URL
Added
MTLFunctionLogDebugLocation.line
Added
MTLFunctionLogDebugLocation.column
Added
MTLFunctionLog
Added
MTLFunctionLog.type
Added
MTLFunctionLog.encoderLabel
Added
MTLFunctionLog.function
Added
MTLFunctionLog.debugLocation
MTLIndirectCommandBuffer.h
Modified
MTLIndirectCommandBufferDescriptor
Protocols
From
none
To
NSCopying
MTLIndirectCommandEncoder.h
Added
-[MTLIndirectComputeCommand setImageblockWidth:height:]
MTLIntersectionFunctionTable.h
Added
MTLIntersectionFunctionSignature
Added
MTLIntersectionFunctionSignatureNone
Added
MTLIntersectionFunctionSignatureInstancing
Added
MTLIntersectionFunctionSignatureTriangleData
Added
MTLIntersectionFunctionSignatureWorldSpaceData
Added
MTLIntersectionFunctionTableDescriptor
Added
+[MTLIntersectionFunctionTableDescriptor intersectionFunctionTableDescriptor]
Added
MTLIntersectionFunctionTableDescriptor.functionCount
Added
MTLIntersectionFunctionTable
Added
-[MTLIntersectionFunctionTable setBuffer:offset:atIndex:]
Added
-[MTLIntersectionFunctionTable setBuffers:offsets:withRange:]
Added
-[MTLIntersectionFunctionTable setFunction:atIndex:]
Added
-[MTLIntersectionFunctionTable setFunctions:withRange:]
Added
-[MTLIntersectionFunctionTable setOpaqueTriangleIntersectionFunctionWithSignature:atIndex:]
Added
-[MTLIntersectionFunctionTable setOpaqueTriangleIntersectionFunctionWithSignature:withRange:]
Added
-[MTLIntersectionFunctionTable setVisibleFunctionTable:atBufferIndex:]
Added
-[MTLIntersectionFunctionTable setVisibleFunctionTables:withBufferRange:]
MTLLibrary.h
Added
MTLFunctionTypeVisible
Added
MTLFunctionTypeIntersection
Added
MTLFunction.options
Added
MTLLanguageVersion2_3
Added
MTLLibraryType
Added
MTLLibraryTypeExecutable
Added
MTLLibraryTypeDynamic
Added
MTLCompileOptions.libraryType
Added
MTLCompileOptions.installName
Added
MTLCompileOptions.libraries
Added
MTLCompileOptions.preserveInvariance
Added
-[MTLLibrary newFunctionWithDescriptor:completionHandler:]
Added
-[MTLLibrary newFunctionWithDescriptor:error:]
Added
-[MTLLibrary newIntersectionFunctionWithDescriptor:completionHandler:]
Added
-[MTLLibrary newIntersectionFunctionWithDescriptor:error:]
Added
MTLLibrary.type
Added
MTLLibrary.installName
MTLLinkedFunctions.h
Added
MTLLinkedFunctions
Added
+[MTLLinkedFunctions linkedFunctions]
Added
MTLLinkedFunctions.functions
Added
MTLLinkedFunctions.binaryFunctions
Added
MTLLinkedFunctions.groups
MTLRenderCommandEncoder.h
Added
-[MTLRenderCommandEncoder sampleCountersInBuffer:atSampleIndex:withBarrier:]
MTLRenderPass.h
Added
#def MTLMaxRenderPassSampleBuffers
Added
MTLRenderPassSampleBufferAttachmentDescriptor
Added
MTLRenderPassSampleBufferAttachmentDescriptor.sampleBuffer
Added
MTLRenderPassSampleBufferAttachmentDescriptor.startOfVertexSampleIndex
Added
MTLRenderPassSampleBufferAttachmentDescriptor.endOfVertexSampleIndex
Added
MTLRenderPassSampleBufferAttachmentDescriptor.startOfFragmentSampleIndex
Added
MTLRenderPassSampleBufferAttachmentDescriptor.endOfFragmentSampleIndex
Added
MTLRenderPassSampleBufferAttachmentDescriptorArray
Added
-[MTLRenderPassSampleBufferAttachmentDescriptorArray objectAtIndexedSubscript:]
Added
-[MTLRenderPassSampleBufferAttachmentDescriptorArray setObject:atIndexedSubscript:]
Added
MTLRenderPassDescriptor.sampleBufferAttachments
MTLRenderPipeline.h
Added
MTLRenderPipelineDescriptor.binaryArchives
Added
MTLTileRenderPipelineDescriptor.binaryArchives
MTLResourceStatePass.h
Added
#def MTLMaxResourceStatePassSampleBuffers
Added
MTLResourceStatePassSampleBufferAttachmentDescriptor
Added
MTLResourceStatePassSampleBufferAttachmentDescriptor.sampleBuffer
Added
MTLResourceStatePassSampleBufferAttachmentDescriptor.startOfEncoderSampleIndex
Added
MTLResourceStatePassSampleBufferAttachmentDescriptor.endOfEncoderSampleIndex
Added
MTLResourceStatePassSampleBufferAttachmentDescriptorArray
Added
-[MTLResourceStatePassSampleBufferAttachmentDescriptorArray objectAtIndexedSubscript:]
Added
-[MTLResourceStatePassSampleBufferAttachmentDescriptorArray setObject:atIndexedSubscript:]
Added
MTLResourceStatePassDescriptor
Added
+[MTLResourceStatePassDescriptor resourceStatePassDescriptor]
Added
MTLResourceStatePassDescriptor.sampleBufferAttachments
MTLSampler.h
Added
MTLSamplerAddressModeMirrorClampToEdge
Added
MTLSamplerAddressModeClampToBorderColor
Added
MTLSamplerBorderColorTransparentBlack
Added
MTLSamplerBorderColorOpaqueBlack
Added
MTLSamplerBorderColorOpaqueWhite
Added
MTLSamplerDescriptor.borderColor
MTLTexture.h
Added
MTLTextureType2DMultisampleArray
MTLVisibleFunctionTable.h
Added
MTLVisibleFunctionTableDescriptor
Added
+[MTLVisibleFunctionTableDescriptor visibleFunctionTableDescriptor]
Added
MTLVisibleFunctionTableDescriptor.functionCount
Added
MTLVisibleFunctionTable
Added
-[MTLVisibleFunctionTable setFunction:atIndex:]
Added
-[MTLVisibleFunctionTable setFunctions:withRange:]