Skip to content

Metal tvOS xcode14.0 beta3

Chris Hamons edited this page Jul 7, 2022 · 1 revision

#Metal.framework

diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgument.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgument.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgument.h	2022-06-17 13:49:59.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgument.h	2022-06-30 08:30:08.000000000 -0500
@@ -321,9 +321,6 @@
 @property (readonly) BOOL           isDepthTexture API_AVAILABLE(macos(10.12), ios(10.0)); // true for depth textures
 @property (readonly) NSUInteger     arrayLength API_AVAILABLE(macos(10.13), ios(10.0));
 
-// for object payload arguments
-@property (readonly) NSUInteger     objectPayloadAlignment;
-@property (readonly) NSUInteger     objectPayloadDataSize;
 @end
 
 MTL_EXPORT API_AVAILABLE(macos(13.0), ios(16.0))
@@ -360,11 +357,6 @@
 @property (readonly) NSUInteger     arrayLength;
 @end
 
-MTL_EXPORT API_AVAILABLE(macos(13.0), ios(16.0))
-@protocol MTLObjectPayloadBinding<MTLBinding>
-@property (readonly) NSUInteger      objectPayloadAlignment;        // min alignment of starting offset in the buffer
-@property (readonly) NSUInteger      objectPayloadDataSize;         // sizeof(T) for T *argName
-@end
 
 NS_ASSUME_NONNULL_END
 
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgumentEncoder.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgumentEncoder.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgumentEncoder.h	2022-06-17 13:49:59.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgumentEncoder.h	2022-06-30 08:30:09.000000000 -0500
@@ -21,7 +21,7 @@
  * @protocol MTLArgumentEncoder
  * @discussion MTLArgumentEncoder encodes buffer, texture, sampler, and constant data into a buffer.
  */
-API_DEPRECATED("Use 'gpuAddress' or 'gpuHandle' instead", macos(10.13, API_TO_BE_DEPRECATED), ios(11.0, API_TO_BE_DEPRECATED))
+API_AVAILABLE(macos(10.13), ios(11.0))
 @protocol MTLArgumentEncoder <NSObject>
 
 /*!
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCommandBuffer.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCommandBuffer.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCommandBuffer.h	2022-06-17 14:30:10.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCommandBuffer.h	2022-06-30 21:11:25.000000000 -0500
@@ -49,7 +49,7 @@
             sourceHandleOffset:(NSUInteger)sourceHandleOffset;
 
 /*!
- @method loadBuffer:buffer:offset:size:sourceHandle:sourceHandleOffset
+ @method loadBuffer:offset:size:sourceHandle:sourceHandleOffset
  @abstract Encodes a command that loads from a handle
  and offset into a buffer and an offset.
  */
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCompressor.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCompressor.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCompressor.h	2022-06-17 13:49:59.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIOCompressor.h	2022-06-30 08:30:09.000000000 -0500
@@ -10,12 +10,14 @@
 
 
 
+NS_ASSUME_NONNULL_BEGIN
+
 typedef NS_ENUM(NSInteger, MTLIOCompressionStatus) {
     MTLIOCompressionStatusComplete = 0,
     MTLIOCompressionStatusError = 1
 } API_AVAILABLE(macos(13.0), ios(16.0));
 
-MTL_EXTERN const size_t kMTLIOCompressionContextDefaultChunkSize;
+typedef void* MTLIOCompressionContext;
 
 /*
  These methods are expected to be used by offline tools that
@@ -23,22 +25,32 @@
  */
 
 /*
+ @function MTLIOCompressionContextDefaultChunkSize
+ @abstract The default chunk size to use for a compression context.
+ */
+MTL_EXTERN size_t MTLIOCompressionContextDefaultChunkSize(void);
+
+/*
  @function MTLIOCreateCompressionContext
  @abstract used to create a context that writes a stream of data to
  a path using a given codec and chunk size.
+ @discussion An invalid type will cause a nil to be returned. If path is
+ invalid or fails to open a nil will be returned and errno will be set.
  */
-MTL_EXTERN void* MTLIOCreateCompressionContext(const char* path, MTLIOCompressionMethod type, size_t chunkSize) API_AVAILABLE(macos(13.0), ios(16.0));
+MTL_EXTERN __nullable MTLIOCompressionContext 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) API_AVAILABLE(macos(13.0), ios(16.0));
+MTL_EXTERN void MTLIOCompressionContextAppendData(MTLIOCompressionContext 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) API_AVAILABLE(macos(13.0), ios(16.0));
+MTL_EXTERN MTLIOCompressionStatus MTLIOFlushAndDestroyCompressionContext(MTLIOCompressionContext context) API_AVAILABLE(macos(13.0), ios(16.0));
+
+NS_ASSUME_NONNULL_END
 
 
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h	2022-06-17 13:50:00.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h	2022-06-30 08:30:09.000000000 -0500
@@ -170,7 +170,7 @@
 @end
 
 typedef NS_ENUM(NSUInteger, MTLLanguageVersion) {
-    MTLLanguageVersion1_0 API_DEPRECATED("Use a newer language standard", ios(9.0, API_TO_BE_DEPRECATED)) = (1 << 16),
+    MTLLanguageVersion1_0 API_DEPRECATED("Use a newer language standard", ios(9.0, API_TO_BE_DEPRECATED)) API_UNAVAILABLE(macos, macCatalyst) = (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),
@@ -269,7 +269,7 @@
  @property preserveInvariance
  @abstract If YES,  set the compiler to compile shaders to preserve invariance.  The default is false.
  */
-@property (readwrite, nonatomic) BOOL preserveInvariance API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+@property (readwrite, nonatomic) BOOL preserveInvariance API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(14.0));
 
 /*!
  @property optimizationLevel
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h	2022-06-17 13:52:13.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h	2022-06-30 08:32:28.000000000 -0500
@@ -135,7 +135,7 @@
 @property (nonnull, readonly) NSArray <id<MTLBinding>> *tileBindings API_AVAILABLE(macos(13.0), ios(16.0));
 @property (nullable, readonly) NSArray <MTLArgument *> *vertexArguments API_DEPRECATED_WITH_REPLACEMENT("vertexBindings", macos(10.11, API_TO_BE_DEPRECATED), ios(8.0, API_TO_BE_DEPRECATED));
 @property (nullable, readonly) NSArray <MTLArgument *> *fragmentArguments API_DEPRECATED_WITH_REPLACEMENT("fragmentBindings", macos(10.11, API_TO_BE_DEPRECATED), ios(8.0, API_TO_BE_DEPRECATED));
-@property (nullable, readonly) NSArray <MTLArgument *> *tileArguments API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(11.0), tvos(14.5)) API_DEPRECATED_WITH_REPLACEMENT("tileBindings", macos(11.0, API_TO_BE_DEPRECATED), ios(11.0, API_TO_BE_DEPRECATED));
+@property (nullable, readonly) NSArray <MTLArgument *> *tileArguments API_DEPRECATED_WITH_REPLACEMENT("tileBindings", macos(11.0, API_TO_BE_DEPRECATED), macCatalyst(14.0, API_TO_BE_DEPRECATED), ios(11.0, API_TO_BE_DEPRECATED), tvos(14.5, API_TO_BE_DEPRECATED));
 @end
 
 MTL_EXPORT API_AVAILABLE(macos(10.11), ios(8.0))
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTypes.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTypes.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTypes.h	2022-06-17 13:49:59.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTypes.h	2022-06-30 08:30:09.000000000 -0500
@@ -88,15 +88,6 @@
 
 
 /*!
- @typedef MTLGPUHandle
- @abstract Accessbile by the CPU, it is used to get the handle of a GPU resource that could be normally passed to the GPU
- 
- @discussion
- A MTLGPUHandle 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 uint64_t MTLGPUHandle;
-
-/*!
  @typedef MTLResourceID
  @abstract Handle of the GPU resource suitable for storing in an Argument Buffer
  @discussion
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes	2022-06-08 19:42:29.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes	2022-06-24 11:56:00.000000000 -0500
@@ -21,6 +21,8 @@
 Functions:
 - Name: MTLCopyAllDevicesWithObserver
   SwiftPrivate: true
+- Name: MTLIOCreateCompressionContext
+  SwiftPrivate: true
 Enumerators:
 - Name: MTLResourceStorageModeShared
   SwiftName: storageModeShared
Clone this wiki locally