-
Notifications
You must be signed in to change notification settings - Fork 547
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));