Metal macOS 10.13 to 10.14 API Differences

MTLArgument.h
Declaration
From@property (readonly, nonnull) MTLStructType *bufferStructType
To@property (readonly, nullable) MTLStructType *bufferStructType

MTLArgumentEncoder.h
Declaration
From- (void)setArgumentBuffer:(nonnull id<MTLBuffer>)argumentBuffer offset:(NSUInteger)offset
To- (void)setArgumentBuffer:(nullable id<MTLBuffer>)argumentBuffer offset:(NSUInteger)offset

MTLBlitCommandEncoder.h
MTLCommandBuffer.h
MTLCommandEncoder.h
MTLComputeCommandEncoder.h
MTLComputePipeline.h
MTLDevice.h
MTLEvent.h
Added MTLEvent
MTLHeap.h
Declaration
From- (nonnull id<MTLBuffer>)newBufferWithLength:(NSUInteger)length options:(MTLResourceOptions)options
To- (nullable id<MTLBuffer>)newBufferWithLength:(NSUInteger)length options:(MTLResourceOptions)options

Declaration
From- (nonnull id<MTLTexture>)newTextureWithDescriptor:(nonnull MTLTextureDescriptor *)desc
To- (nullable id<MTLTexture>)newTextureWithDescriptor:(nonnull MTLTextureDescriptor *)desc

MTLIndirectCommandBuffer.h
MTLIndirectCommandEncoder.h
MTLLibrary.h
Declaration
From@property (readonly, nullable) NSString *name
To@property (readonly, nonnull) NSString *name

Declaration
From@property (readonly, nullable) NSString *name
To@property (readonly, nonnull) NSString *name

MTLRenderCommandEncoder.h
AvailabilityReplacement
FromAvailablenone
ToDeprecatedmemoryBarrierWithScope:MTLBarrierScopeRenderTargets

MTLRenderPass.h
MTLRenderPipeline.h
MTLTexture.h