Skip to content

Metal macOS xcode14.0 beta2

Alex Soto edited this page Jun 24, 2022 · 1 revision

#Metal.framework

diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructure.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructure.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructure.h	2022-05-31 14:50:43.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructure.h	2022-06-17 15:30:08.000000000 -0400
@@ -603,14 +603,8 @@
 @property (nonatomic, readonly) NSUInteger size;
 
 /*!
- @property gpuHandle
- @abstract accessible by the CPU, and used to get the device handle of a resource/object that could be normally passed to the GPU within an argument buffer
- this will be deleted as the gpuResourceID will replace it
- */
-@property (readonly) MTLGPUHandle gpuHandle;
-/*!
  @property gpuResourceID
- @abstract Accessible by the CPU, it is used to get the handle of a GPU resource that could be normally passed to the GPU
+ @abstract Handle of the GPU resource suitable for storing in an Argument Buffer
  */
 @property (readonly) MTLResourceID gpuResourceID API_AVAILABLE(macos(13.0), ios(16.0));
 
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLBinaryArchive.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLBinaryArchive.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLBinaryArchive.h	2022-05-31 14:53:16.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLBinaryArchive.h	2022-06-17 15:27:51.000000000 -0400
@@ -22,7 +22,7 @@
     MTLBinaryArchiveErrorInvalidFile = 1,
     MTLBinaryArchiveErrorUnexpectedElement = 2,
     MTLBinaryArchiveErrorCompilationFailure = 3,
-    MTLBinaryArchiveErrorInternalError = 4,
+    MTLBinaryArchiveErrorInternalError API_AVAILABLE(macos(13.0), ios(16.0)) = 4,
 } API_AVAILABLE(macos(11.0), ios(14.0));
 
 /*!
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputePipeline.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputePipeline.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputePipeline.h	2022-05-31 14:50:45.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputePipeline.h	2022-06-17 15:27:51.000000000 -0400
@@ -188,14 +188,8 @@
 @property (readonly) BOOL supportIndirectCommandBuffers API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
 
 /*!
- @property gpuHandle
- @abstract accessible by the CPU, and used to get the device handle of a resource/object that could be normally passed to the GPU within an argument buffer
- this will be deleted as the gpuResourceID will replace it
- */
-@property (readonly) MTLGPUHandle gpuHandle;
-/*!
  @property gpuResourceID
- @abstract Accessible by the CPU, it is used to get the handle of a GPU resource that could be normally passed to the GPU
+ @abstract Handle of the GPU resource suitable for storing in an Argument Buffer
  */
 @property (readonly) MTLResourceID gpuResourceID API_AVAILABLE(macos(13.0), ios(16.0));
 
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h	2022-05-31 15:04:34.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h	2022-06-17 11:27:03.000000000 -0400
@@ -280,9 +280,9 @@
  */
 typedef NS_ENUM(NSInteger, MTLSparsePageSize)
 {
-    MTLSparsePageSize16 = 16,
-    MTLSparsePageSize64 = 64,
-    MTLSparsePageSize256 = 256,
+    MTLSparsePageSize16 = 101,
+    MTLSparsePageSize64 = 102,
+    MTLSparsePageSize256 = 103,
 } API_AVAILABLE(macos(13.0), ios(16.0));
 
 /**
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCommandBuffer.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCommandBuffer.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCommandBuffer.h	2022-05-27 23:53:07.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCommandBuffer.h	2022-06-17 15:30:10.000000000 -0400
@@ -21,7 +21,7 @@
     MTLIOStatusCancelled = 1,
     MTLIOStatusError = 2,
     MTLIOStatusComplete = 3,
-};
+} API_AVAILABLE(macos(13.0), ios(16.0));
 
 typedef void (^MTLIOCommandBufferHandler)(id<MTLIOCommandBuffer>);
 
@@ -29,6 +29,7 @@
  @protocol MTLIOCommandBuffer
  @abstract represents a list of IO commands for a queue to execute
 */
+API_AVAILABLE(macos(13.0), ios(16.0))
 @protocol MTLIOCommandBuffer <NSObject>
 
 /*!
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCommandQueue.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCommandQueue.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCommandQueue.h	2022-06-03 18:10:25.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCommandQueue.h	2022-06-17 15:27:51.000000000 -0400
@@ -21,14 +21,13 @@
     MTLIOPriorityHigh = 0,
     MTLIOPriorityNormal = 1,
     MTLIOPriorityLow = 2,
-};
+} API_AVAILABLE(macos(13.0), ios(16.0));
 
 /* Used in MTLIOCommandQueueDescriptor to set the MTLIOQueue type at creation time. */
 typedef NS_ENUM(NSInteger, MTLIOCommandQueueType) {
     MTLIOCommandQueueTypeConcurrent = 0,
     MTLIOCommandQueueTypeSerial = 1,
-};
-
+} API_AVAILABLE(macos(13.0), ios(16.0));
 
 API_AVAILABLE(macos(13.0), ios(16.0))
 MTL_EXTERN NSErrorDomain const MTLIOErrorDomain;
@@ -37,13 +36,14 @@
 typedef NS_ERROR_ENUM(MTLIOErrorDomain, MTLIOError) {
     MTLIOErrorURLInvalid       = 1,
     MTLIOErrorInternal         = 2,
-};
+} API_AVAILABLE(macos(13.0), ios(16.0));
 
 /*!
  @protocol MTLIOCommandQueue
  @abstract Represents a queue that schedules command buffers containing command that
  read from handle objects and write to MTLResource objects.
  */
+API_AVAILABLE(macos(13.0), ios(16.0))
 @protocol MTLIOCommandQueue <NSObject>
 
 
@@ -91,6 +91,7 @@
  a custom allocator. The underlying buffer is used as scratch space for IO commands
  that need it.
  */
+API_AVAILABLE(macos(13.0), ios(16.0))
 @protocol MTLIOScratchBuffer<NSObject>
 
 @property (readonly) id<MTLBuffer> buffer;
@@ -106,11 +107,13 @@
  complete they return the storage by dealloc'ing the MTLIOScratchBuffer objects (where
  the application can optionally pool the memory for use by future commands.
  */
+API_AVAILABLE(macos(13.0), ios(16.0))
 @protocol MTLIOScratchBufferAllocator <NSObject>
 
 /*!
  @method newScratchBufferWithMinimumSize:minimumSize
  @abstract This method is called when additional scratch memory is required by a load command.
+ The scratch buffer returned should NOT be an autoreleased object.
  @discussion  Scratch memory is needed for cases where a texture is being copied to. minimumSize
  is the smallest buffer that will allow the command to execute, however a larger buffer can be provided and
  susequent commands will be able to use it, thus avoiding the need for an additional callback. Returning nil
@@ -119,9 +122,6 @@
 
 - (__nullable id<MTLIOScratchBuffer>) newScratchBufferWithMinimumSize:(NSUInteger)minimumSize;
 
-
-- (__nullable id<MTLIOScratchBuffer>) allocateScratchBufferWithMinimumSize:(NSUInteger)minimumSize; // DEPRECATED, remove with rdar://88998213 ([Fast Storage] remove allocateScratchBufferWithMinimumSize from MTLIOCommandQueue.h)
-
 @end
 
 /*!
@@ -172,6 +172,7 @@
  @abstract Represents a  file (raw or compressed) that can be used as a source
  for load commands encoded in a MTLIOCommandBuffer.
  */
+MTL_EXPORT API_AVAILABLE(macos(13.0), ios(16.0))
 @protocol MTLIOFileHandle <NSObject>
 
 /*!
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCompressor.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCompressor.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCompressor.h	2022-05-27 23:53:07.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCompressor.h	2022-06-17 11:27:05.000000000 -0400
@@ -13,7 +13,7 @@
 typedef NS_ENUM(NSInteger, MTLIOCompressionStatus) {
     MTLIOCompressionStatusComplete = 0,
     MTLIOCompressionStatusError = 1
-};
+} API_AVAILABLE(macos(13.0), ios(16.0));
 
 MTL_EXTERN const size_t kMTLIOCompressionContextDefaultChunkSize;
 
@@ -27,18 +27,18 @@
  @abstract used to create a context that writes a stream of data to
  a path using a given codec and chunk size.
  */
-MTL_EXTERN void* MTLIOCreateCompressionContext(const char* path, MTLIOCompressionMethod type, size_t chunkSize);
+MTL_EXTERN void* MTLIOCreateCompressionContext(const char* path, MTLIOCompressionMethod type, size_t chunkSize) API_AVAILABLE(macos(13.0), ios(16.0));
 
 /*
  @function MTLIOCompressionContextAppendData
  @abstract append data to a compression context.
  */
-MTL_EXTERN void MTLIOCompressionContextAppendData(void* context, const void* data, size_t size);
+MTL_EXTERN void MTLIOCompressionContextAppendData(void* context, const void* data, size_t size) API_AVAILABLE(macos(13.0), ios(16.0));
 
 /*
  @function MTLIOFlushAndDestroyCompressionContext
  @abstract close the compression context and write the pack file.
  */
-MTL_EXTERN MTLIOCompressionStatus MTLIOFlushAndDestroyCompressionContext(void* context);
+MTL_EXTERN MTLIOCompressionStatus MTLIOFlushAndDestroyCompressionContext(void* context) API_AVAILABLE(macos(13.0), ios(16.0));
 
 
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIndirectCommandBuffer.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIndirectCommandBuffer.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIndirectCommandBuffer.h	2022-05-31 14:53:16.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIndirectCommandBuffer.h	2022-06-17 11:27:05.000000000 -0400
@@ -103,14 +103,8 @@
 @property (readonly) NSUInteger size;
 
 /*!
- @property gpuHandle
- @abstract accessible by the CPU, and used to get the device handle of a resource/object that could be normally passed to the GPU within an argument buffer
- this will be deleted as the gpuResourceID will replace it
- */
-@property (readonly) MTLGPUHandle gpuHandle;
-/*!
  @property gpuResourceID
- @abstract Accessible by the CPU, it is used to get the handle of a GPU resource that could be normally passed to the GPU
+ @abstract Handle of the GPU resource suitable for storing in an Argument Buffer
  */
 @property (readonly) MTLResourceID gpuResourceID API_AVAILABLE(macos(13.0), ios(16.0));
 
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIntersectionFunctionTable.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIntersectionFunctionTable.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIntersectionFunctionTable.h	2022-05-31 14:53:14.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIntersectionFunctionTable.h	2022-06-17 11:27:04.000000000 -0400
@@ -88,14 +88,8 @@
 
 
 /*!
- @property gpuHandle
- @abstract accessible by the CPU, and used to get the device handle of a resource/object that could be normally passed to the GPU within an argument buffer
- this will be deleted as the gpuResourceID will replace it
- */
-@property (readonly) MTLGPUHandle gpuHandle;
-/*!
  @property gpuResourceID
- @abstract Accessible by the CPU, it is used to get the handle of a GPU resource that could be normally passed to the GPU
+ @abstract Handle of the GPU resource suitable for storing in an Argument Buffer
  */
 @property (readonly) MTLResourceID gpuResourceID API_AVAILABLE(macos(13.0), ios(16.0));
 
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h	2022-05-31 15:04:36.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h	2022-06-17 15:30:10.000000000 -0400
@@ -77,8 +77,8 @@
     MTLFunctionTypeKernel = 3,
     MTLFunctionTypeVisible API_AVAILABLE(macos(11.0), ios(14.0)) = 5,
     MTLFunctionTypeIntersection API_AVAILABLE(macos(11.0), ios(14.0)) = 6,
-    MTLFunctionTypeMesh = 7,
-    MTLFunctionTypeObject = 8,
+    MTLFunctionTypeMesh API_AVAILABLE(macos(13.0), ios(16.0)) = 7,
+    MTLFunctionTypeObject API_AVAILABLE(macos(13.0), ios(16.0)) = 8,
 } API_AVAILABLE(macos(10.11), ios(8.0));
 
 
@@ -181,7 +181,7 @@
 @end
 
 typedef NS_ENUM(NSUInteger, MTLLanguageVersion) {
-    MTLLanguageVersion1_0 API_DEPRECATED("Use a newer language standard", ios(16.0, API_TO_BE_DEPRECATED)) = (1 << 16),
+    MTLLanguageVersion1_0 API_DEPRECATED("Use a newer language standard", ios(9.0, API_TO_BE_DEPRECATED)) = (1 << 16),
     MTLLanguageVersion1_1 API_AVAILABLE(macos(10.11), ios(9.0)) = (1 << 16) + 1,
     MTLLanguageVersion1_2 API_AVAILABLE(macos(10.12), ios(10.0)) = (1 << 16) + 2,
     MTLLanguageVersion2_0 API_AVAILABLE(macos(10.13), ios(11.0)) = (2 << 16),
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderCommandEncoder.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderCommandEncoder.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderCommandEncoder.h	2022-05-31 14:53:15.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderCommandEncoder.h	2022-06-17 11:27:04.000000000 -0400
@@ -118,8 +118,8 @@
     MTLRenderStageVertex   = (1UL << 0),
     MTLRenderStageFragment = (1UL << 1),
     MTLRenderStageTile API_AVAILABLE(macos(12.0), ios(15.0)) = (1UL << 2),
-    MTLRenderStageObject   = (1UL << 3),
-    MTLRenderStageMesh     = (1UL << 4),
+    MTLRenderStageObject API_AVAILABLE(macos(13.0), ios(16.0))  = (1UL << 3),
+    MTLRenderStageMesh API_AVAILABLE(macos(13.0), ios(16.0))  = (1UL << 4),
 } API_AVAILABLE(macos(10.13), ios(10.0));
 
 /*!
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h	2022-05-31 14:50:43.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h	2022-06-17 15:30:09.000000000 -0400
@@ -366,14 +366,8 @@
 @property (readonly) NSUInteger maxTotalThreadgroupsPerMeshGrid API_AVAILABLE(macos(13.0), ios(16.0));
 
 /*!
- @property gpuHandle
- @abstract accessible by the CPU, and used to get the device handle of a resource/object that could be normally passed to the GPU within an argument buffer
- this will be deleted as the gpuResourceID will replace it
- */
-@property (readonly) MTLGPUHandle gpuHandle;
-/*!
  @property gpuResourceID
- @abstract Accessible by the CPU, it is used to get the handle of a GPU resource that could be normally passed to the GPU
+ @abstract Handle of the GPU resource suitable for storing in an Argument Buffer
  */
 @property (readonly) MTLResourceID gpuResourceID API_AVAILABLE(macos(13.0), ios(16.0));
 
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLSampler.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLSampler.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLSampler.h	2022-05-31 15:04:36.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLSampler.h	2022-06-17 15:27:51.000000000 -0400
@@ -216,14 +216,8 @@
 @property (readonly) id <MTLDevice> device;
 
 /*!
- @property gpuHandle
- @abstract accessible by the CPU, and used to get the device handle of a resource/object that could be normally passed to the GPU within an argument buffer
- this will be deleted as the gpuResourceID will replace it
- */
-@property (readonly) MTLGPUHandle gpuHandle;
-/*!
  @property gpuResourceID
- @abstract Accessible by the CPU, it is used to get the handle of a GPU resource that could be normally passed to the GPU
+ @abstract Handle of the GPU resource suitable for storing in an Argument Buffer
  */
 @property (readonly) MTLResourceID gpuResourceID API_AVAILABLE(macos(13.0), ios(16.0));
 
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTexture.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTexture.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTexture.h	2022-05-31 15:04:34.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTexture.h	2022-06-17 11:27:04.000000000 -0400
@@ -423,14 +423,8 @@
 
 
 /*!
- @property gpuHandle
- @abstract accessible by the CPU, and used to get the device handle of a resource/object that could be normally passed to the GPU within an argument buffer
- this will be deleted as the gpuResourceID will replace it
- */
-@property (readonly) MTLGPUHandle gpuHandle;
-/*!
  @property gpuResourceID
- @abstract Accessible by the CPU, it is used to get the handle of a GPU resource that could be normally passed to the GPU
+ @abstract Handle of the GPU resource suitable for storing in an Argument Buffer
  */
 @property (readonly) MTLResourceID gpuResourceID API_AVAILABLE(macos(13.0), ios(16.0));
 
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTypes.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTypes.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTypes.h	2022-05-31 15:04:36.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTypes.h	2022-06-17 11:27:05.000000000 -0400
@@ -114,11 +114,11 @@
 
 /*!
  @typedef MTLResourceID
- @abstract Accessible by the CPU, it is used to get the handle of a GPU resource that could be normally passed to the GPU
+ @abstract Handle of the GPU resource suitable for storing in an Argument Buffer
  @discussion
  A MTLResourceID represents a specific GPU resource, mutating this handle is undefined unless the mutation results in the value equalling an already existing handle of the same resource type.
  */
 typedef struct MTLResourceID
 {
     uint64_t _impl;
-} MTLResourceID;
+} MTLResourceID API_AVAILABLE(macos(13.0), ios(16.0));
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLVisibleFunctionTable.h /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLVisibleFunctionTable.h
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLVisibleFunctionTable.h	2022-05-31 15:04:36.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLVisibleFunctionTable.h	2022-06-17 11:27:05.000000000 -0400
@@ -32,14 +32,8 @@
 @protocol MTLVisibleFunctionTable <MTLResource>
 
 /*!
- @property gpuHandle
- @abstract accessible by the CPU, and used to get the device handle of a resource/object that could be normally passed to the GPU within an argument buffer
- this will be deleted as the gpuResourceID will replace it
- */
-@property (readonly) MTLGPUHandle gpuHandle;
-/*!
  @property gpuResourceID
- @abstract Accessible by the CPU, it is used to get the handle of a GPU resource that could be normally passed to the GPU
+ @abstract Handle of the GPU resource suitable for storing in an Argument Buffer
  */
 @property (readonly) MTLResourceID gpuResourceID API_AVAILABLE(macos(13.0), ios(16.0));
 
diff -ruN /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes
--- /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes	2022-05-26 19:14:07.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes	2022-06-16 20:58:22.000000000 -0400
@@ -462,6 +462,9 @@
   - Selector: 'signalEvent:value:'
     SwiftName: signalEvent(_:value:)
     MethodKind: Instance
+  - Selector: 'copyStatusToBuffer:offset:'
+    SwiftName: copyStatus(buffer:offset:)
+    MethodKind: Instance
 - Name: MTLBlitCommandEncoder
   Methods:
   - Selector: 'synchronizeResource:'
@@ -555,7 +558,7 @@
   - Selector: 'accelerationStructureCommandEncoder'
     SwiftName: makeAccelerationStructureCommandEncoder()
     MethodKind: Instance
-  - Selector: 'accelerationStructureCommandEncoderWithDescriptor'
+  - Selector: 'accelerationStructureCommandEncoderWithDescriptor:'
     SwiftName: makeAccelerationStructureCommandEncoder(descriptor:)
     MethodKind: Instance
   - Selector: 'encodeWaitForEvent:value:'
@@ -825,6 +828,9 @@
   - Selector: 'newArgumentEncoderWithArguments:'
     SwiftName: makeArgumentEncoder(arguments:)
     MethodKind: Instance
+  - Selector: 'newArgumentEncoderWithBufferBinding:'
+    SwiftName: makeArgumentEncoder(bufferBinding:)
+    MethodKind: Instance
   - Selector: 'newEvent'
     SwiftName: makeEvent()
     MethodKind: Instance
@@ -888,6 +894,12 @@
   - Selector: 'newIOCommandQueueWithDescriptor:error:'
     SwiftName: makeIOCommandQueue(descriptor:)
     MethodKind: Instance
+  - Selector: 'sparseTileSizeInBytesForSparsePageSize:'
+    SwiftName: sparseTileSizeInBytes(sparsePageSize:)
+    MethodKind: Instance
+  - Selector: 'sparseTileSizeWithTextureType:pixelFormat:sampleCount:sparsePageSize:'
+    SwiftName: sparseTileSize(textureType:pixelFormat:sampleCount:sparsePageSize:)
+    MethodKind: Instance
 - Name: MTLDrawable
   Methods:
   - Selector: 'presentAtTime:'
@@ -1222,6 +1234,12 @@
   - Selector: 'setMeshSamplerStates:lodMinClamps:lodMaxClamps:withRange:'
     MethodKind: Instance
     SwiftPrivate: true
+  - Selector: 'setObjectThreadgroupMemoryLength:atIndex:'
+    SwiftName: setObjectThreadgroupMemoryLength(_:index:)
+    MethodKind: Instance
+  - Selector: 'drawMeshThreadgroupsWithIndirectBuffer:indirectBufferOffset:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:'
+    SwiftName: drawMeshThreadgroups(indirectBuffer:indirectBufferOffset:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:)
+    MethodKind: Instance
   - Selector: 'setBlendColorRed:green:blue:alpha:'
     SwiftName: setBlendColor(red:green:blue:alpha:)
     MethodKind: Instance
Clone this wiki locally