- Notifications
You must be signed in to change notification settings - Fork548
Metal iOS xcode26.1 b3
Alex Soto edited this pageOct 29, 2025 ·2 revisions
#Metal.frameworkhttps://github.com/dotnet/macios/pull/24122
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.h2025-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.h2025-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.h2025-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.h2025-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.h2025-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.h2025-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 newResidencySetWithDescriptordiff -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.h2025-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.h2025-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));