Skip to content

Metal iOS xcode9 beta5

Vincent Dondain edited this page Aug 7, 2017 · 1 revision

#Metal.framework

diff -ruN /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgumentEncoder.h /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgumentEncoder.h
--- /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgumentEncoder.h	2017-07-14 03:38:31.000000000 -0400
+++ /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgumentEncoder.h	2017-07-28 03:16:50.000000000 -0400
@@ -50,7 +50,7 @@
  * @method setArgumentBuffer:offset:
  * @brief Sets the destination buffer and offset at which the arguments will be encoded.
  */
-- (void)setArgumentBuffer:(id <MTLBuffer>)iargumentBuffer offset:(NSUInteger)offset;
+- (void)setArgumentBuffer:(id <MTLBuffer>)argumentBuffer offset:(NSUInteger)offset;
 
 /*!
  * @method setArgumentBuffer:offset:arrayElement:
@@ -102,6 +102,13 @@
 - (void*)constantDataAtIndex:(NSUInteger)index;
 
 
+/*!
+ * @method newArgumentEncoderForBufferAtIndex:
+ * @brief Returns a pointer to a new MTLArgumentEncoder that can be used to encode the an argument buffer
+ * in the buffer associated with a given index.
+ * Returns nil if the resource at the given index is not an argument buffer.
+ */
+- (nullable id<MTLArgumentEncoder>)newArgumentEncoderForBufferAtIndex:(NSUInteger)index NS_AVAILABLE_MAC(10_13);
 
 @end
 
diff -ruN /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputeCommandEncoder.h /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputeCommandEncoder.h
--- /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputeCommandEncoder.h	2017-07-14 02:30:33.000000000 -0400
+++ /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputeCommandEncoder.h	2017-07-28 02:42:13.000000000 -0400
@@ -115,7 +115,7 @@
 
 /*
  @method dispatchThreadgroups:threadsPerThreadgroup:
- @abstract Enqueue a compute function dispatch.
+ @abstract Enqueue a compute function dispatch as a multiple of the threadgroup size.
  */
 - (void)dispatchThreadgroups:(MTLSize)threadgroupsPerGrid threadsPerThreadgroup:(MTLSize)threadsPerThreadgroup;
 
diff -ruN /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h
--- /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h	2017-07-14 02:30:33.000000000 -0400
+++ /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h	2017-07-28 02:42:13.000000000 -0400
@@ -169,7 +169,7 @@
     MTLLanguageVersion1_0 NS_ENUM_AVAILABLE(NA, 9_0) = (1 << 16),
     MTLLanguageVersion1_1 NS_ENUM_AVAILABLE(10_11, 9_0) = (1 << 16) + 1,
     MTLLanguageVersion1_2 NS_ENUM_AVAILABLE(10_12, 10_0) = (1 << 16) + 2,
-    MTLLanguageVersion2_0 NS_ENUM_AVAILABLE(10_13, 10_0) = (2 << 16),
+    MTLLanguageVersion2_0 NS_ENUM_AVAILABLE(10_13, 11_0) = (2 << 16),
 } NS_ENUM_AVAILABLE(10_11, 9_0);
 
 NS_CLASS_AVAILABLE(10_11, 8_0)
diff -ruN /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLPixelFormat.h /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLPixelFormat.h
--- /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLPixelFormat.h	2017-07-14 02:32:15.000000000 -0400
+++ /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLPixelFormat.h	2017-07-28 01:52:31.000000000 -0400
@@ -193,6 +193,7 @@
 
     /* Depth */
 
+    MTLPixelFormatDepth16Unorm          NS_AVAILABLE_MAC(10_12) = 250,
     MTLPixelFormatDepth32Float  = 252,
 
     /* Stencil */
diff -ruN /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderCommandEncoder.h /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderCommandEncoder.h
--- /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderCommandEncoder.h	2017-07-14 04:28:44.000000000 -0400
+++ /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderCommandEncoder.h	2017-07-26 05:20:03.000000000 -0400
@@ -195,6 +195,11 @@
  */
 - (void)setViewport:(MTLViewport)viewport;
 
+/*!
+ @method setViewports:
+ @brief Specifies an array of viewports, which are used to transform vertices from normalized device coordinates to window coordinates based on [[ viewport_array_index ]] value specified in the vertex shader.
+ */
+- (void)setViewports:(const MTLViewport [__nonnull])viewports count:(NSUInteger)count NS_AVAILABLE_MAC(10_13);
 
 /*!
  @method setFrontFacingWinding:
@@ -227,6 +232,11 @@
  */
 - (void)setScissorRect:(MTLScissorRect)rect;
 
+/*!
+ @method setViewports:
+ @brief Specifies an array of rectangles for a fragment scissor test. The specific rectangle used is based on the [[ viewport_array_index ]] value output by the vertex shader. Fragments that lie outside the scissor rectangle are discarded.
+ */
+- (void)setScissorRects:(const MTLScissorRect [__nonnull])scissorRects count:(NSUInteger)count NS_AVAILABLE_MAC(10_13);
 
 /*!
  @method setTriangleFillMode:
diff -ruN /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPass.h /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPass.h
--- /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPass.h	2017-07-12 17:55:27.000000000 -0400
+++ /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPass.h	2017-07-28 02:42:14.000000000 -0400
@@ -44,7 +44,6 @@
     double alpha;
 } MTLClearColor;
 
-// Should we provide a set of APIs similar to the old methods below?
 MTL_INLINE MTLClearColor MTLClearColorMake(double red, double green, double blue, double alpha);
 
 @protocol MTLTexture;
diff -ruN /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h
--- /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h	2017-07-14 02:30:33.000000000 -0400
+++ /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h	2017-07-28 02:42:14.000000000 -0400
@@ -34,10 +34,10 @@
     MTLBlendFactorOneMinusBlendColor = 12,
     MTLBlendFactorBlendAlpha = 13,
     MTLBlendFactorOneMinusBlendAlpha = 14,
-    MTLBlendFactorSource1Color              NS_AVAILABLE(10_12, 11_0) = 15,
-    MTLBlendFactorOneMinusSource1Color      NS_AVAILABLE(10_12, 11_0) = 16,
-    MTLBlendFactorSource1Alpha              NS_AVAILABLE(10_12, 11_0) = 17,
-    MTLBlendFactorOneMinusSource1Alpha      NS_AVAILABLE(10_12, 11_0) = 18,
+    MTLBlendFactorSource1Color              NS_AVAILABLE(10_12, 10_11) = 15,
+    MTLBlendFactorOneMinusSource1Color      NS_AVAILABLE(10_12, 10_11) = 16,
+    MTLBlendFactorSource1Alpha              NS_AVAILABLE(10_12, 10_11) = 17,
+    MTLBlendFactorOneMinusSource1Alpha      NS_AVAILABLE(10_12, 10_11) = 18,
 } NS_ENUM_AVAILABLE(10_11, 8_0);
 
 typedef NS_ENUM(NSUInteger, MTLBlendOperation) {
diff -ruN /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLResource.h /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLResource.h
--- /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLResource.h	2017-07-14 02:32:15.000000000 -0400
+++ /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLResource.h	2017-07-28 01:59:33.000000000 -0400
@@ -122,7 +122,12 @@
  devices. The contents of the on-chip storage is undefined and does not persist, but its configuration is controlled by the
  MTLTexture descriptor. Textures created with MTLStorageModeMemoryless dont have an IOAccelResource at any point in their
  lifetime. The only way to populate such resource is to perform rendering operations on it. Blit operations are disallowed.
-
+ 
+ @constant MTLResourceHazardTrackingModeUntracked
+ In this mode, Command encoder dependencies for this resource are tracked manually with MTLFence.
+ This value is always set for resources sub-allocated from a MTLHeap and may optionally be specified
+ for non-heap resources.
+ 
  @discussion
  Note that resource options are a property of MTLTextureDescriptor (resourceOptions), so apply to texture creation.
  they are also passed directly into MTLBuffer creation methods.
diff -ruN /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLSampler.h /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLSampler.h
--- /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLSampler.h	2017-07-12 17:55:27.000000000 -0400
+++ /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLSampler.h	2017-07-28 02:42:14.000000000 -0400
@@ -57,17 +57,16 @@
  
  @constant MTLSamplerAddressModeClampToZero
  ClampToZero returns transparent zero (0,0,0,0) for images with an alpha channel, and returns opaque zero (0,0,0,1) for images without an alpha channel.
- */
+ 
+ @constant MTLSamplerAddressModeClampToBorderColor
+ Clamp to border color returns the value specified by the borderColor variable of the MTLSamplerDesc.
+*/
 typedef NS_ENUM(NSUInteger, MTLSamplerAddressMode) {
     MTLSamplerAddressModeClampToEdge = 0,
     MTLSamplerAddressModeMirrorClampToEdge NS_AVAILABLE_MAC(10_11) = 1,
     MTLSamplerAddressModeRepeat = 2,
     MTLSamplerAddressModeMirrorRepeat = 3,
     MTLSamplerAddressModeClampToZero = 4,
-    /*!
-     @constant MTLSamplerAddressModeClampToBorderColor
-     Clamp to border color returns the value specified by the borderColor variable of the MTLSamplerDesc.
-     */
     MTLSamplerAddressModeClampToBorderColor NS_AVAILABLE_MAC(10_12) = 5,
 } NS_ENUM_AVAILABLE(10_11, 8_0);
 
diff -ruN /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTypes.h /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTypes.h
--- /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTypes.h	2017-07-14 03:38:32.000000000 -0400
+++ /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTypes.h	2017-07-28 03:16:51.000000000 -0400
@@ -80,8 +80,9 @@
     float x, y;
 } MTLSamplePosition;
 
-MTL_INLINE MTLSamplePosition MTLSamplePositionMake(float x, float y)
+MTL_INLINE MTLSamplePosition MTLSamplePositionMake(float x, float y) NS_AVAILABLE(10_13, 11_0)
 {
     MTLSamplePosition position = {x, y};
     return position;
 }
+
diff -ruN /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes
--- /Applications/Xcode9-beta4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes	2017-07-12 17:55:25.000000000 -0400
+++ /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes	2017-07-28 01:52:32.000000000 -0400
@@ -395,9 +395,6 @@
   - Selector: 'computeCommandEncoder'
     SwiftName: makeComputeCommandEncoder()
     MethodKind: Instance
-  - Selector: 'computeCommandEncoderWithParallelExecution'
-    SwiftName: makeComputeCommandEncoderWithParallelExecution()
-    MethodKind: Instance
   - Selector: 'parallelRenderCommandEncoderWithDescriptor:'
     SwiftName: makeParallelRenderCommandEncoder(descriptor:)
     MethodKind: Instance
@@ -506,18 +503,6 @@
   - Selector: 'newRenderPipelineStateWithDescriptor:options:reflection:error:'
     SwiftName: makeRenderPipelineState(descriptor:options:reflection:)
     MethodKind: Instance
-  - Selector: 'newRenderPipelineStateWithTileDescriptor:error:'
-    SwiftName: makeRenderPipelineState(tileDescriptor:)
-    MethodKind: Instance
-  - Selector: 'newRenderPipelineStateWithTileDescriptor:options:reflection:error:'
-    SwiftName: makeRenderPipelineState(tileDescriptor:options:reflection:)
-    MethodKind: Instance
-  - Selector: 'newRenderPipelineStateWithTileDescriptor:completionHandler:'
-    SwiftName: makeRenderPipelineState(tileDescriptor:completionHandler:)
-    MethodKind: Instance
-  - Selector: 'newRenderPipelineStateWithTileDescriptor:options:completionHandler:'
-    SwiftName: makeRenderPipelineState(tileDescriptor:options:completionHandler:)
-    MethodKind: Instance
   - Selector: 'newComputePipelineStateWithFunction:completionHandler:'
     SwiftName: makeComputePipelineState(function:completionHandler:)
     MethodKind: Instance
@@ -744,27 +729,6 @@
   - Selector: 'setColorStoreActionOptions:atIndex:'
     SwiftName: setColorStoreActionOptions(_:index:)
     MethodKind: Instance
-  - Selector: 'setTileBytes:length:atIndex:'
-    SwiftName: setTileBytes(_:length:index:)
-    MethodKind: Instance
-  - Selector: 'setTileBuffer:offset:atIndex:'
-    SwiftName: setTileBuffer(_:offset:index:)
-    MethodKind: Instance
-  - Selector: 'setTileBufferOffset:atIndex:'
-    SwiftName: setTileBufferOffset(_:index:)
-    MethodKind: Instance
-  - Selector: 'setTileTexture:atIndex:'
-    SwiftName: setTileTexture(_:index:)
-    MethodKind: Instance
-  - Selector: 'setTileSamplerState:atIndex:'
-    SwiftName: setTileSamplerState(_:index:)
-    MethodKind: Instance
-  - Selector: 'setTileSamplerState:lodMinClamp:lodMaxClamp:atIndex:'
-    SwiftName: setTileSamplerState(_:lodMinClamp:lodMaxClamp:index:)
-    MethodKind: Instance
-  - Selector: 'setThreadgroupMemoryLength:offset:atIndex:'
-    SwiftName: setThreadgroupMemoryLength(_:offset:index:)
-    MethodKind: Instance
   - Selector: 'setBlendColorRed:green:blue:alpha:'
     SwiftName: setBlendColor(red:green:blue:alpha:)
     MethodKind: Instance
@@ -897,10 +861,6 @@
       SwiftName: makeComputeCommandEncoder()
       MethodKind: Instance
       NullabilityOfRet: N
-    - Selector: 'computeCommandEncoderWithParallelExecution'
-      SwiftName: makeComputeCommandEncoderWithParallelExecution()
-      MethodKind: Instance
-      NullabilityOfRet: N
     - Selector: 'parallelRenderCommandEncoderWithDescriptor:'
       SwiftName: makeParallelRenderCommandEncoder(descriptor:)
       MethodKind: Instance
@@ -1147,27 +1107,6 @@
     - Selector: 'setColorStoreActionOptions:atIndex:'
       SwiftName: setColorStoreActionOptions(_:at:)
       MethodKind: Instance
-    - Selector: 'setTileBytes:length:atIndex:'
-      SwiftName: setTileBytes(_:length:at:)
-      MethodKind: Instance
-    - Selector: 'setTileBuffer:offset:atIndex:'
-      SwiftName: setTileBuffer(_:offset:at:)
-      MethodKind: Instance
-    - Selector: 'setTileBufferOffset:atIndex:'
-      SwiftName: setTileBufferOffset(_:at:)
-      MethodKind: Instance
-    - Selector: 'setTileTexture:atIndex:'
-      SwiftName: setTileTexture(_:at:)
-      MethodKind: Instance
-    - Selector: 'setTileSamplerState:atIndex:'
-      SwiftName: setTileSamplerState(_:at:)
-      MethodKind: Instance
-    - Selector: 'setTileSamplerState:lodMinClamp:lodMaxClamp:atIndex:'
-      SwiftName: setTileSamplerState(_:lodMinClamp:lodMaxClamp:at:)
-      MethodKind: Instance
-    - Selector: 'setThreadgroupMemoryLength:offset:atIndex:'
-      SwiftName: setThreadgroupMemoryLength(_:offset:at:)
-      MethodKind: Instance
     - Selector: 'setFragmentSamplerStates:lodMinClamps:lodMaxClamps:withRange:'
       SwiftName: setFragmentSamplerStates(_:lodMinClamps:lodMaxClamps:with:)
       MethodKind: Instance
Clone this wiki locally