API Differences in Metal in macOS 14.0

It's more difficult than it used to be to find what changed in Apple SDKs. This page is automatically generated and shows what is new in Metal in the macOS 14.0 SDK.

Table of Contents

Functions & Methods

MTLComputeCommandEncoder
public func setBuffers(_ buffers: [(any Metal.MTLBuffer)?], offsets: [Swift.Int], attributeStrides: [Swift.Int], range: Swift.Range<Swift.Int>)
MTLRenderCommandEncoder
public func setVertexBuffers(_ buffers: [(any Metal.MTLBuffer)?], offsets: [Swift.Int], attributeStrides: [Swift.Int], range: Swift.Range<Swift.Int>)
MTLDevice
- (nullable id<MTLIOFileHandle>)newIOFileHandleWithURL:(nonnull NSURL *)url error:(NSError * _Nullable * _Nullable)error;
MTLDevice
- (nullable id<MTLIOFileHandle>)newIOFileHandleWithURL:(nonnull NSURL *)url compressionMethod:(MTLIOCompressionMethod)compressionMethod error:(NSError * _Nullable * _Nullable)error;
MTLComputeCommandEncoder
- (void)setBuffer:(nonnull id<MTLBuffer>)buffer offset:(NSUInteger)offset attributeStride:(NSUInteger)stride atIndex:(NSUInteger)index;
MTLComputeCommandEncoder
- (void)setBuffers:(id<MTLBuffer> _Nullable const * _Nonnull)buffers offsets:(const NSUInteger * _Nonnull)offsets attributeStrides:(const NSUInteger * _Nonnull)strides withRange:(NSRange)range;
MTLComputeCommandEncoder
- (void)setBufferOffset:(NSUInteger)offset attributeStride:(NSUInteger)stride atIndex:(NSUInteger)index;
MTLComputeCommandEncoder
- (void)setBytes:(nonnull const void *)bytes length:(NSUInteger)length attributeStride:(NSUInteger)stride atIndex:(NSUInteger)index;
MTLIndirectRenderCommand
- (void)setVertexBuffer:(nonnull id<MTLBuffer>)buffer offset:(NSUInteger)offset attributeStride:(NSUInteger)stride atIndex:(NSUInteger)index;
MTLIndirectRenderCommand
- (void)setObjectThreadgroupMemoryLength:(NSUInteger)length atIndex:(NSUInteger)index;
MTLIndirectRenderCommand
- (void)setObjectBuffer:(nonnull id<MTLBuffer>)buffer offset:(NSUInteger)offset atIndex:(NSUInteger)index;
MTLIndirectRenderCommand
- (void)setMeshBuffer:(nonnull id<MTLBuffer>)buffer offset:(NSUInteger)offset atIndex:(NSUInteger)index;
MTLIndirectRenderCommand
- (void)drawMeshThreadgroups:(MTLSize)threadgroupsPerGrid threadsPerObjectThreadgroup:(MTLSize)threadsPerObjectThreadgroup threadsPerMeshThreadgroup:(MTLSize)threadsPerMeshThreadgroup;
MTLIndirectRenderCommand
- (void)drawMeshThreads:(MTLSize)threadsPerGrid threadsPerObjectThreadgroup:(MTLSize)threadsPerObjectThreadgroup threadsPerMeshThreadgroup:(MTLSize)threadsPerMeshThreadgroup;
MTLIndirectRenderCommand
- (void)setBarrier;
MTLIndirectRenderCommand
- (void)clearBarrier;
MTLIndirectComputeCommand
- (void)setKernelBuffer:(nonnull id<MTLBuffer>)buffer offset:(NSUInteger)offset attributeStride:(NSUInteger)stride atIndex:(NSUInteger)index;
MTLRenderCommandEncoder
- (void)setVertexBuffer:(nullable id<MTLBuffer>)buffer offset:(NSUInteger)offset attributeStride:(NSUInteger)stride atIndex:(NSUInteger)index;
MTLRenderCommandEncoder
- (void)setVertexBuffers:(id<MTLBuffer> _Nullable const * _Nonnull)buffers offsets:(const NSUInteger * _Nonnull)offsets attributeStrides:(const NSUInteger * _Nonnull)strides withRange:(NSRange)range;
MTLRenderCommandEncoder
- (void)setVertexBufferOffset:(NSUInteger)offset attributeStride:(NSUInteger)stride atIndex:(NSUInteger)index;
MTLRenderCommandEncoder
- (void)setVertexBytes:(nonnull const void *)bytes length:(NSUInteger)length attributeStride:(NSUInteger)stride atIndex:(NSUInteger)index;

Classes

MTLArchitecture
MTLAccelerationStructureCurveGeometryDescriptor
MTLAccelerationStructureMotionCurveGeometryDescriptor
MTLIndirectInstanceAccelerationStructureDescriptor

Typealiases

typedef struct MTLIndirectAccelerationStructureInstanceDescriptor MTLIndirectAccelerationStructureInstanceDescriptor
typedef struct MTLIndirectAccelerationStructureMotionInstanceDescriptor MTLIndirectAccelerationStructureMotionInstanceDescriptor

Properties & Constants

MTLDevice
@property(atomic, readonly, nonnull) MTLArchitecture *architecture;
MTLMeshRenderPipelineDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) BOOL supportIndirectCommandBuffers;
MTLMeshRenderPipelineDescriptor
@property(nonatomic, copy, readwrite, null_resettable) MTLLinkedFunctions *objectLinkedFunctions;
MTLMeshRenderPipelineDescriptor
@property(nonatomic, copy, readwrite, null_resettable) MTLLinkedFunctions *meshLinkedFunctions;
MTLMeshRenderPipelineDescriptor
@property(nonatomic, copy, readwrite, null_resettable) MTLLinkedFunctions *fragmentLinkedFunctions;
static const NSUInteger MTLBufferLayoutStrideDynamic = (9223372036854775807L * 2UL + 1UL)
MTLIndirectCommandBufferDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) NSUInteger maxKernelThreadgroupMemoryBindCount;
MTLIndirectCommandBufferDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) NSUInteger maxObjectBufferBindCount;
MTLIndirectCommandBufferDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) NSUInteger maxMeshBufferBindCount;
MTLIndirectCommandBufferDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) NSUInteger maxObjectThreadgroupMemoryBindCount;
MTLIndirectCommandBufferDescriptor
@property(nonatomic, assign, unsafe_unretained, readwrite) BOOL supportDynamicAttributeStride;
static const NSUInteger MTLAttributeStrideStatic = (9223372036854775807L * 2UL + 1UL)