Skip to content

Metal iOS xcode26.1 b3

Alex Soto edited this page Oct 20, 2025 · 1 revision

#Metal.framework

diff -ruN /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4Archive.h /Applications/Xcode_26.1.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4Archive.h
--- /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4Archive.h	2025-09-26 16:06:12
+++ /Applications/Xcode_26.1.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4Archive.h	2025-10-11 11:16:53
@@ -21,11 +21,11 @@
 /// A read-only container that stores pipeline states from a shader compiler.
 ///
 /// The pipeline states can have intermediate representation (IR) binaries,
-/// GPU- and system-specifc binaries, or a combination.
+/// GPU- and system-specific binaries, or a combination.
 ///
 /// ## Topics
 ///
-/// ### Identifiying the archive
+/// ### Identifying the archive
 /// - ``label``
 ///
 /// ### Creating compute pipeline states
@@ -35,7 +35,7 @@
 /// - ``newComputePipelineStateWithName:dynamicLinkingDescriptor:error:``
 /// - ``newComputePipelineStateWithName:error:``
 ///
-/// ### Creating reder pipeline states
+/// ### Creating render pipeline states
 ///
 /// - ``newRenderPipelineStateWithDescriptor:dynamicLinkingDescriptor:error:``
 /// - ``newRenderPipelineStateWithDescriptor:error:``
@@ -109,11 +109,15 @@
                                                                       error:(NSError**)error;
 
 
-/// Method used to create a binary function, with a given descriptor, from the contents of the archive.
+/// Synchronously creates a binary version of a GPU visible function or GPU intersection function.
+///
 /// - Parameters:
-///   - descriptor: the function descriptor for a visible or intersection function.
-///   - error: an optional parameter that is populated in the case of an error.
-/// - Returns: a binary function object, otherwise `nil`.
+///   - descriptor: A configuration that tells the method which GPU function to
+///   make into a binary function and which options to apply when compiling it.
+///   - error: An optional pointer to an error pointer where the method returns
+///   the problem details when it can't create a binary GPU function.
+///
+/// - Returns: A new GPU binary function instance if the method succeeds; otherwise `nil`.
 - (nullable id<MTL4BinaryFunction>)newBinaryFunctionWithDescriptor:(MTL4BinaryFunctionDescriptor *)descriptor
                                                              error:(NSError**)error;
 
diff -ruN /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4Compiler.h /Applications/Xcode_26.1.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4Compiler.h
--- /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4Compiler.h	2025-09-26 12:26:19
+++ /Applications/Xcode_26.1.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4Compiler.h	2025-10-11 06:34:29
@@ -53,13 +53,25 @@
 
 @end
 
+/// The configuration options that control the behavior of a compilation task for a Metal 4 compiler instance.
+///
+/// You can configure task-specific settings that affect a compilation task by
+/// creating an instance of this class, setting its properties,
+/// and passing it to one of the applicable methods of an ``MTL4Compiler`` instance.
 MTL_EXPORT
 API_AVAILABLE(macos(26.0), ios(26.0))
 @interface MTL4CompilerTaskOptions : NSObject <NSCopying>
 
-/// Specifies a set of archive instances this compilation process uses for accelerating the build process.
+/// An array of archive instances that can potentially accelerate a compilation task.
 ///
-/// In case of a match in the archive, the compiler can skip one or more compilation tasks, speeding up the build process.
+/// The compiler can reduce the runtime of a compilation task if it finds an entry
+/// that matches a function description within any of the archives in this array.
+/// The compiler searches the archives in the order of the array's element.
+///
+/// Consider adding archives to the array in scenarios that can benefit from the runtime savings,
+/// such as repeat builds or when your app can share compilation results across multiple contexts.
+///
+/// - Important: Only add ``MTL4Archive`` instances to the array that are compatible with the Metal device.
 @property (nullable, copy, nonatomic) NSArray<id<MTL4Archive>>* lookupArchives;
 
 @end
@@ -321,7 +333,7 @@
 ///
 /// Additionally, there are some cases where the Metal can't specialize a pipeline:
 /// * If the original pipeline state object doesn't have any unspecialized properties
-/// * You can't re-specialize a previosuly specialized pipeline state object
+/// * You can't re-specialize a previously specialized pipeline state object
 ///
 /// - Parameters:
 ///   - descriptor: A render pipeline state descriptor or any type: default, tile, or mesh render pipeline descriptor.
@@ -335,13 +347,15 @@
                                                            completionHandler:(MTLNewRenderPipelineStateCompletionHandler)completionHandler
     API_AVAILABLE(macos(26.0), ios(26.0));
 
-/// Creates a new binary visible/intersection function asynchronously.
+/// Returns a new compiler task that asyncrhonously creates a binary version
+/// of a GPU visible function or GPU intersection function.
+///
 /// - Parameters:
-///   - descriptor: a binary function descriptor used to create the binary function.
-///   - compilerTaskOptions: a descriptor of the compilation itself, providing parameters to
-///         influence execution of this compilation, but not the resulting object.
-///   - completionHandler: a callback used on task completion.
-/// - Returns: a compiler task indicating the asynchronous compilation job.
+///   - descriptor: A configuration that tells the method which GPU function to
+///   make into a binary function and which options to apply when compiling it.
+///   - compilerTaskOptions: A configuration for the compiler task.
+///   - completionHandler: A completetion handler that you provide, which the task calls
+///   when it finishes compiling the binary function.
 - (id<MTL4CompilerTask>)newBinaryFunctionWithDescriptor:(MTL4BinaryFunctionDescriptor *)descriptor
                                     compilerTaskOptions:(nullable MTL4CompilerTaskOptions*)compilerTaskOptions
                                       completionHandler:(MTL4NewBinaryFunctionCompletionHandler)completionHandler;
diff -ruN /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h /Applications/Xcode_26.1.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h
--- /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h	2025-09-26 06:38:50
+++ /Applications/Xcode_26.1.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h	2025-10-11 07:39:47
@@ -1194,6 +1194,13 @@
 @property (readonly) BOOL supportsPrimitiveMotionBlur API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
 
 
+/*!
+ @property maximumConcurrentCompilationTaskCount
+ @abstract Returns the maximum count of concurrent executing compilation tasks.
+ @discussion The property returns a different value depending on the value of the property `shouldMaximizeConcurrentCompilation`.
+ */
+@property (readonly) NSUInteger maximumConcurrentCompilationTaskCount
+        API_AVAILABLE(macos(13.3), ios(26.0));
 
 /*!
  @method newResidencySetWithDescriptor
diff -ruN /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h /Applications/Xcode_26.1.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h
--- /Applications/Xcode_26.1.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h	2025-09-26 08:22:43
+++ /Applications/Xcode_26.1.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h	2025-10-11 06:34:30
@@ -479,13 +479,27 @@
 			completionHandler:(void (^)(id<MTLFunction> __nullable function, NSError* __nullable error))completionHandler API_AVAILABLE(macos(10.12), ios(10.0));
 
 
-/// Returns a reflection object for a matching function name in this library instance.
+/// Retrieves reflection information for a function in the library.
 ///
 /// - Parameters:
-///   - functionName: The name of the function.
+///   - functionName: The name of a GPU function in the library.
+///   The name needs to match one of the elements in the string array of library's ``functionNames`` property.
 ///
-/// - Returns: An object containing the reflection information, or `nil` if no function in the library matches the name.
+/// - Returns: An `MTLFunctionReflection` instance when the method succeeds; otherwise `nil`.
 ///
+/// The reflection instance contains metadata information about a specific GPU function,
+/// which can include:
+/// * Function parameters
+/// * Return types
+/// * Bindings
+/// * Annotations from a developer, if available
+///
+/// - Note: The Metal compiler generates the function's reflection information
+/// when you or Xcode build the library.
+///
+/// The method only returns reflection information if all of the following conditions apply:
+/// * The library has a function with a name that matches `functionName`.
+/// * The deployment target is macOS 13.0 or later, or iOS 16.0 or later, or visionOS 2.0 or later.
 - (nullable MTLFunctionReflection *)reflectionForFunctionWithName:(NSString *)functionName API_AVAILABLE(macos(26.0), ios(26.0));
 
 
Clone this wiki locally