Metal iOS 11.0 Beta 2 to Beta 3 API Differences

MTLArgument.h
Removed MTLStructMember.indirectArgumentIndex
Removed MTLArrayType.indirectArgumentIndexStride
Removed MTLPointerType.elementIsIndirectArgumentBuffer
MTLArgumentEncoder.h
MTLComputeCommandEncoder.h
Declaration
From- (void)setBuffers:(nullable id<MTLBuffer> _Nullable const [])buffers offsets:(nonnull const NSUInteger [])offsets withRange:(NSRange)range
To- (void)setBuffers:(nonnull id<MTLBuffer> _Nullable const [])buffers offsets:(nonnull const NSUInteger [])offsets withRange:(NSRange)range

Declaration
From- (void)setTextures:(nullable id<MTLTexture> _Nullable const [])textures withRange:(NSRange)range
To- (void)setTextures:(nonnull id<MTLTexture> _Nullable const [])textures withRange:(NSRange)range

Declaration
From- (void)setSamplerStates:(nullable id<MTLSamplerState> _Nullable const [])samplers withRange:(NSRange)range
To- (void)setSamplerStates:(nonnull id<MTLSamplerState> _Nullable const [])samplers withRange:(NSRange)range

Declaration
From- (void)setSamplerStates:(nullable id<MTLSamplerState> _Nullable const [])samplers lodMinClamps:(nullable const float [])lodMinClamps lodMaxClamps:(nullable const float [])lodMaxClamps withRange:(NSRange)range
To- (void)setSamplerStates:(nonnull id<MTLSamplerState> _Nullable const [])samplers lodMinClamps:(nonnull const float [])lodMinClamps lodMaxClamps:(nonnull const float [])lodMaxClamps withRange:(NSRange)range

Declaration
From- (void)useResources:(nullable id<MTLResource> _Nullable const [])resources count:(NSUInteger)count usage:(MTLResourceUsage)usage
To- (void)useResources:(nonnull id<MTLResource> _Nonnull const [])resources count:(NSUInteger)count usage:(MTLResourceUsage)usage

Declaration
From- (void)useHeaps:(nullable id<MTLHeap> _Nullable const [])heaps count:(NSUInteger)count
To- (void)useHeaps:(nonnull id<MTLHeap> _Nonnull const [])heaps count:(NSUInteger)count

MTLDevice.h
Removed MTLIndirectArgumentBuffersTier
Removed MTLIndirectArgumentBuffersTier1
Removed MTLIndirectArgumentBuffersTier2
Removed MTLIndirectArgumentDescriptor
Removed +[MTLIndirectArgumentDescriptor indirectArgumentDescriptor]
Removed MTLIndirectArgumentDescriptor.dataType
Removed MTLIndirectArgumentDescriptor.index
Removed MTLIndirectArgumentDescriptor.arrayLength
Removed MTLIndirectArgumentDescriptor.access
Removed MTLIndirectArgumentDescriptor.textureType
Removed MTLIndirectArgumentDescriptor.constantBlockAlignment
Removed MTLDevice.indirectArgumentBuffersSupport
Removed -[MTLDevice newIndirectArgumentEncoderWithArguments:]
Optional
FromOptional
ToRequired

Optional
FromOptional
ToRequired

Optional
FromOptional
ToRequired

MTLIndirectArgumentEncoder.h
Removed MTLIndirectArgumentEncoder
Removed MTLIndirectArgumentEncoder.device
Removed MTLIndirectArgumentEncoder.label
Removed MTLIndirectArgumentEncoder.encodedLength
Removed MTLIndirectArgumentEncoder.alignment
Removed -[MTLIndirectArgumentEncoder setIndirectArgumentBuffer:offset:]
Removed -[MTLIndirectArgumentEncoder setIndirectArgumentBuffer:startOffset:arrayElement:]
Removed -[MTLIndirectArgumentEncoder setBuffer:offset:atIndex:]
Removed -[MTLIndirectArgumentEncoder setBuffers:offsets:withRange:]
Removed -[MTLIndirectArgumentEncoder setTexture:atIndex:]
Removed -[MTLIndirectArgumentEncoder setTextures:withRange:]
Removed -[MTLIndirectArgumentEncoder setSamplerState:atIndex:]
Removed -[MTLIndirectArgumentEncoder setSamplerStates:withRange:]
Removed -[MTLIndirectArgumentEncoder constantDataAtIndex:]
Removed -[MTLIndirectArgumentEncoder newIndirectArgumentEncoderForBufferAtIndex:]
MTLLibrary.h
Removed -[MTLFunction newIndirectArgumentEncoderWithBufferIndex:]
Removed -[MTLFunction newIndirectArgumentEncoderWithBufferIndex:reflection:]
MTLParallelRenderCommandEncoder.h
MTLPixelFormat.h
MTLRenderCommandEncoder.h
Declaration
From- (void)setVertexBuffers:(nullable id<MTLBuffer> _Nullable const [])buffers offsets:(nullable const NSUInteger [])offsets withRange:(NSRange)range
To- (void)setVertexBuffers:(nonnull id<MTLBuffer> _Nullable const [])buffers offsets:(nonnull const NSUInteger [])offsets withRange:(NSRange)range

Declaration
From- (void)setVertexTextures:(nullable id<MTLTexture> _Nullable const [])textures withRange:(NSRange)range
To- (void)setVertexTextures:(nonnull id<MTLTexture> _Nullable const [])textures withRange:(NSRange)range

Declaration
From- (void)setVertexSamplerStates:(nullable id<MTLSamplerState> _Nullable const [])samplers withRange:(NSRange)range
To- (void)setVertexSamplerStates:(nonnull id<MTLSamplerState> _Nullable const [])samplers withRange:(NSRange)range

Declaration
From- (void)setVertexSamplerStates:(nullable id<MTLSamplerState> _Nullable const [])samplers lodMinClamps:(nullable const float [])lodMinClamps lodMaxClamps:(nullable const float [])lodMaxClamps withRange:(NSRange)range
To- (void)setVertexSamplerStates:(nonnull id<MTLSamplerState> _Nullable const [])samplers lodMinClamps:(nonnull const float [])lodMinClamps lodMaxClamps:(nonnull const float [])lodMaxClamps withRange:(NSRange)range

Declaration
From- (void)setFragmentBuffers:(nullable id<MTLBuffer> _Nullable const [])buffers offsets:(nullable const NSUInteger [])offsets withRange:(NSRange)range
To- (void)setFragmentBuffers:(nonnull id<MTLBuffer> _Nullable const [])buffers offsets:(nonnull const NSUInteger [])offsets withRange:(NSRange)range

Declaration
From- (void)setFragmentTextures:(nullable id<MTLTexture> _Nullable const [])textures withRange:(NSRange)range
To- (void)setFragmentTextures:(nonnull id<MTLTexture> _Nullable const [])textures withRange:(NSRange)range

Declaration
From- (void)setFragmentSamplerStates:(nullable id<MTLSamplerState> _Nullable const [])samplers withRange:(NSRange)range
To- (void)setFragmentSamplerStates:(nonnull id<MTLSamplerState> _Nullable const [])samplers withRange:(NSRange)range

Declaration
From- (void)setFragmentSamplerStates:(nullable id<MTLSamplerState> _Nullable const [])samplers lodMinClamps:(nullable const float [])lodMinClamps lodMaxClamps:(nullable const float [])lodMaxClamps withRange:(NSRange)range
To- (void)setFragmentSamplerStates:(nonnull id<MTLSamplerState> _Nullable const [])samplers lodMinClamps:(nonnull const float [])lodMinClamps lodMaxClamps:(nonnull const float [])lodMaxClamps withRange:(NSRange)range

Declaration
From- (void)useResources:(nullable id<MTLResource> _Nullable const [])resources count:(NSUInteger)count usage:(MTLResourceUsage)usage
To- (void)useResources:(nonnull id<MTLResource> _Nonnull const [])resources count:(NSUInteger)count usage:(MTLResourceUsage)usage

Declaration
From- (void)useHeaps:(nullable id<MTLHeap> _Nullable const [])heaps count:(NSUInteger)count
To- (void)useHeaps:(nonnull id<MTLHeap> _Nonnull const [])heaps count:(NSUInteger)count

MTLRenderPass.h
MTLRenderPipeline.h
MTLSampler.h
MTLTexture.h