API Differences in Metal in iOS 18.0

It can be difficult to find what changed in Apple SDKs. These pages are algorithmically generated and show what is new in Metal in the iOS 18.0 SDK.

Table of Contents

Functions & Methods

MTLCommandBuffer
public func useResidencySets(_ residencySets: [any Metal.MTLResidencySet])
MTLCommandQueue
public func addResidencySets(_ residencySets: [any Metal.MTLResidencySet])
MTLCommandQueue
public func removeResidencySets(_ residencySets: [any Metal.MTLResidencySet])
MTLResidencySet
public func addAllocations(_ allocations: [any Metal.MTLAllocation])
MTLResidencySet
public func removeAllocations(_ allocations: [any Metal.MTLAllocation])
MTLBinaryArchive
- (BOOL)addMeshRenderPipelineFunctionsWithDescriptor:(nonnull MTLMeshRenderPipelineDescriptor *)descriptor error:(NSError * _Nullable * _Nullable)error;
MTLBinaryArchive
- (BOOL)addLibraryWithDescriptor:(nonnull MTLStitchedLibraryDescriptor *)descriptor error:(NSError * _Nullable * _Nullable)error;
extern NSArray<id<MTLDevice>> * _Nonnull MTLCopyAllDevices(void)
MTLDevice
- (nullable id<MTLLogState>)newLogStateWithDescriptor:(MTLLogStateDescriptor * _Nonnull)descriptor error:(NSError * _Nullable * _Nullable)error;
MTLDevice
- (nullable id<MTLCommandQueue>)newCommandQueueWithDescriptor:(nonnull MTLCommandQueueDescriptor *)descriptor;
MTLDevice
- (nullable id<MTLResidencySet>)newResidencySetWithDescriptor:(nonnull MTLResidencySetDescriptor *)desc error:(NSError * _Nullable * _Nullable)error;
MTLCommandBuffer
- (void)useResidencySet:(nonnull id<MTLResidencySet>)residencySet;
MTLCommandBuffer
- (void)useResidencySets:(id<MTLResidencySet> _Nonnull const * _Nonnull)residencySets count:(NSUInteger)count;

Protocols

MTLResidencySet
MTLAllocation
MTLLogState

Classes

MTLResidencySetDescriptor
MTLLogStateDescriptor

Extensions

NSDeviceCertification

Typealiases

typedef NSInteger NSDeviceCertification
typedef NSInteger NSProcessPerformanceProfile

Properties & Constants

MTLStitchedLibraryDescriptor
@property(nonatomic, copy, readwrite, nonnull) NSArray<id<MTLBinaryArchive>> *binaryArchives;
MTLStitchedLibraryDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) MTLStitchedLibraryOptions options;
MTLCommandBufferDescriptor
@property(nonatomic, retain, readwrite, nullable) id<MTLLogState> logState;
MTLRenderPipelineDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) MTLShaderValidation shaderValidation;
MTLRenderPipelineState
@property(nonatomic, readonly) MTLShaderValidation shaderValidation;
MTLTileRenderPipelineDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) MTLShaderValidation shaderValidation;
MTLMeshRenderPipelineDescriptor
@property(nonatomic, copy, readwrite, nullable) NSArray<id<MTLBinaryArchive>> *binaryArchives;
MTLMeshRenderPipelineDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) MTLShaderValidation shaderValidation;
extern const NSDeviceCertification NSDeviceCertificationiPhonePerformanceGaming
extern const NSProcessPerformanceProfile NSProcessPerformanceProfileDefault
extern const NSProcessPerformanceProfile NSProcessPerformanceProfileSustained
extern const NSNotificationName NSProcessInfoPerformanceProfileDidChangeNotification
MTLAccelerationStructureTriangleGeometryDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) MTLMatrixLayout transformationMatrixLayout;
MTLAccelerationStructureMotionTriangleGeometryDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) MTLMatrixLayout transformationMatrixLayout;
MTLInstanceAccelerationStructureDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) MTLMatrixLayout instanceTransformationMatrixLayout;
MTLInstanceAccelerationStructureDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) MTLTransformType motionTransformType;
MTLInstanceAccelerationStructureDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) NSUInteger motionTransformStride;
MTLIndirectInstanceAccelerationStructureDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) MTLMatrixLayout instanceTransformationMatrixLayout;
MTLIndirectInstanceAccelerationStructureDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) MTLTransformType motionTransformType;
MTLIndirectInstanceAccelerationStructureDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) NSUInteger motionTransformStride;
MTLComputePipelineDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) MTLShaderValidation shaderValidation;
MTLComputePipelineState
@property(nonatomic, readonly) MTLShaderValidation shaderValidation;
MTLCompileOptions
@property(nonatomic, assign, unsafe_unretained, readwrite) MTLMathMode mathMode;
MTLCompileOptions
@property(nonatomic, assign, unsafe_unretained, readwrite) MTLMathFloatingPointFunctions mathFloatingPointFunctions;
MTLCompileOptions
@property(nonatomic, assign, unsafe_unretained, readwrite) BOOL enableLogging;
extern const NSErrorDomain _Nonnull MTLLogStateErrorDomain