- Notifications
You must be signed in to change notification settings - Fork548
Metal iOS xcode26.0 rc
Alex Soto edited this pageSep 10, 2025 ·2 revisions
#Metal.frameworkhttps://github.com/dotnet/macios/pull/23779
diff -ruN /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderCommandEncoder.h /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderCommandEncoder.h--- /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderCommandEncoder.h2025-08-07 21:20:09+++ /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderCommandEncoder.h2025-08-18 23:20:23@@ -139,6 +139,17 @@ slopeScale:(float)slopeScale clamp:(float)clamp;+/// Configures the minimum and maximum bounds for depth bounds testing.+///+/// The render command encoder disables depth bounds testing by default.+/// The render command encoder also disables depth bounds testing when all of the following properties equal a specific value:+/// - The `minBound` property is equal to `0.0f`.+/// - The `maxBound` property is equal to `1.0f`.+/// Both `minBound` and `maxBound` need to be within `[0.0f, 1.0f]`, and `minBound` needs to be less than or equal to `maxBound`.+/// - Parameters:+/// - minBound: A minimum bound for depth testing, which discards fragments with a stored depth that is less than `minBound`.+/// - maxBound: A maximum bound for depth testing, which discards fragments with a stored depth that is greater than `maxBound`.+- (void)setDepthTestMinBound:(float)minBound maxBound:(float)maxBound; /// Sets a scissor rectangle to discard fragments outside a specific area. ///diff -ruN /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgumentEncoder.h /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgumentEncoder.h--- /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgumentEncoder.h2025-08-04 05:29:57+++ /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgumentEncoder.h2025-08-02 19:54:06@@ -19,6 +19,7 @@ @protocol MTLVisibleFunctionTable; @protocol MTLAccelerationStructure; @protocol MTLIntersectionFunctionTable;+@protocol MTLDepthStencilState; /* @brief@@ -192,6 +193,17 @@ - (void)setIntersectionFunctionTables:(const id <MTLIntersectionFunctionTable> __nullable [__nonnull])intersectionFunctionTables withRange:(NSRange)range API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));+/*!+ * @method setDepthStencilState:atIndex+ * @brief Sets a depth stencil state at a given bind point index+ */+- (void)setDepthStencilState:(nullable id<MTLDepthStencilState>)depthStencilState atIndex:(NSUInteger)index API_AVAILABLE(macos(26.0), ios(26.0));++/*!+ * @method setDepthStencilStates:withRange:+ * @brief Sets an array of depth stencil states at a given buffer index range+ */+- (void)setDepthStencilStates:(const id<MTLDepthStencilState> __nullable [__nonnull])depthStencilStates withRange:(NSRange)range API_AVAILABLE(macos(26.0), ios(26.0)); @enddiff -ruN /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDataType.h /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDataType.h--- /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDataType.h2025-08-04 07:50:58+++ /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDataType.h2025-08-03 02:59:24@@ -225,6 +225,8 @@ /// Represents a data type consisting of a vector four BFloat values. MTLDataTypeBFloat4 API_AVAILABLE(macos(14.0), ios(17.0)) = 124,+ /// Represents a data type corresponding to a depth-stencil state object.+ MTLDataTypeDepthStencilState API_AVAILABLE(macos(26.0), ios(26.0)) = 139, /// Represents a data type corresponding to a machine learning tensor. MTLDataTypeTensor API_AVAILABLE(macos(26.0), ios(26.0)) = 140,diff -ruN /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDepthStencil.h /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDepthStencil.h--- /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDepthStencil.h2025-08-04 04:33:14+++ /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDepthStencil.h2025-08-03 00:24:38@@ -89,5 +89,10 @@ */ @property (readonly) id <MTLDevice> device;+/*!+ @property gpuResourceID+ @abstract Handle of the GPU resource suitable for storing in an Argument Buffer+ */+@property (readonly) MTLResourceID gpuResourceID API_AVAILABLE(macos(26.0), ios(26.0)); @end NS_ASSUME_NONNULL_ENDdiff -ruN /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h--- /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h2025-08-07 21:20:06+++ /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h2025-08-02 19:54:04@@ -197,6 +197,7 @@ MTLGPUFamilyApple7 = 1007, MTLGPUFamilyApple8 = 1008, MTLGPUFamilyApple9 = 1009,+ MTLGPUFamilyApple10 = 1010, MTLGPUFamilyMac1 API_DEPRECATED_WITH_REPLACEMENT("MTLGPUFamilyMac2", macos(10.15, 13.0), ios(13.0, 16.0)) = 2001, MTLGPUFamilyMac2 = 2002,diff -ruN /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIndirectCommandBuffer.h /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIndirectCommandBuffer.h--- /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIndirectCommandBuffer.h2025-08-04 07:50:57+++ /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIndirectCommandBuffer.h2025-08-03 00:24:38@@ -72,6 +72,36 @@ */ @property (readwrite, nonatomic) BOOL inheritBuffers;+/// Configures whether the indirect command buffer inherits the depth stencil state from the encoder.+///+/// The property's default value is <doc://com.apple.documentation/documentation/swift/true>.+@property (readwrite, nonatomic) BOOL inheritDepthStencilState API_AVAILABLE(macos(26.0), ios(26.0));++/// Configures whether the indirect command buffer inherits the depth bias from the encoder.+///+/// The property's default value is <doc://com.apple.documentation/documentation/swift/true>.+@property (readwrite, nonatomic) BOOL inheritDepthBias API_AVAILABLE(macos(26.0), ios(26.0));++/// Configures whether the indirect command buffer inherits the depth clip mode from the encoder.+///+/// The property's default value is <doc://com.apple.documentation/documentation/swift/true>.+@property (readwrite, nonatomic) BOOL inheritDepthClipMode API_AVAILABLE(macos(26.0), ios(26.0));++/// Configures whether the indirect command buffer inherits the cull mode from the encoder.+///+/// The property's default value is <doc://com.apple.documentation/documentation/swift/true>.+@property (readwrite, nonatomic) BOOL inheritCullMode API_AVAILABLE(macos(26.0), ios(26.0));++/// Configures whether the indirect command buffer inherits the front facing winding from the encoder.+///+/// The property's default value is <doc://com.apple.documentation/documentation/swift/true>.+@property (readwrite, nonatomic) BOOL inheritFrontFacingWinding API_AVAILABLE(macos(26.0), ios(26.0));++/// Configures whether the indirect command buffer inherits the triangle fill mode from the encoder.+///+/// The property's default value is <doc://com.apple.documentation/documentation/swift/true>.+@property (readwrite, nonatomic) BOOL inheritTriangleFillMode API_AVAILABLE(macos(26.0), ios(26.0));+ /*! @abstractdiff -ruN /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIndirectCommandEncoder.h /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIndirectCommandEncoder.h--- /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIndirectCommandEncoder.h2025-08-04 05:29:57+++ /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIndirectCommandEncoder.h2025-08-03 00:24:38@@ -63,6 +63,12 @@ - (void)clearBarrier API_AVAILABLE(macos(14.0), ios(17.0), tvos(18.1), visionos(2.1));+- (void)setDepthStencilState:(nullable id<MTLDepthStencilState>)depthStencilState API_AVAILABLE(macos(26.0), ios(26.0));+- (void)setDepthBias:(float)depthBias slopeScale:(float)slopeScale clamp:(float)clamp API_AVAILABLE(macos(26.0), ios(26.0));+- (void)setDepthClipMode:(MTLDepthClipMode)depthClipMode API_AVAILABLE(macos(26.0), ios(26.0));+- (void)setCullMode:(MTLCullMode)cullMode API_AVAILABLE(macos(26.0), ios(26.0));+- (void)setFrontFacingWinding:(MTLWinding)frontFacingWindning API_AVAILABLE(macos(26.0), ios(26.0));+- (void)setTriangleFillMode:(MTLTriangleFillMode)fillMode API_AVAILABLE(macos(26.0), ios(26.0)); - (void)reset;diff -ruN /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderCommandEncoder.h /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderCommandEncoder.h--- /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderCommandEncoder.h2025-08-07 21:20:07+++ /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderCommandEncoder.h2025-08-18 23:20:22@@ -319,6 +319,17 @@ */ - (void)setDepthBias:(float)depthBias slopeScale:(float)slopeScale clamp:(float)clamp;+/// Configures the minimum and maximum bounds for depth bounds testing.+///+/// The render command encoder disables depth bounds testing by default.+/// The render command encoder also disables depth bounds testing when all of the following properties equal a specific value:+/// - The `minBound` property is equal to `0.0f`.+/// - The `maxBound` property is equal to `1.0f`.+/// Both `minBound` and `maxBound` need to be within `[0.0f, 1.0f]`, and `minBound` needs to be less than or equal to `maxBound`.+/// - Parameters:+/// - minBound: A minimum bound for depth testing, which discards fragments with a stored depth that is less than `minBound`.+/// - maxBound: A maximum bound for depth testing, which discards fragments with a stored depth that is greater than `maxBound`.+- (void)setDepthTestMinBound:(float)minBound maxBound:(float)maxBound API_AVAILABLE(macos(26.0), ios(26.0)); /*! @method setScissorRect:diff -ruN /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLSampler.h /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLSampler.h--- /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLSampler.h2025-08-04 02:16:33+++ /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLSampler.h2025-08-18 23:42:07@@ -89,6 +89,15 @@ MTLSamplerBorderColorOpaqueWhite = 2, // {1,1,1,1} } API_AVAILABLE(macos(10.12), ios(14.0), tvos(16.0));+/// Configures how the sampler aggregates contributing samples to a final value.+typedef NS_ENUM(NSUInteger, MTLSamplerReductionMode) {+ /// A reduction mode that adds together the product of each contributing sample value by its weight.+ MTLSamplerReductionModeWeightedAverage = 0,+ /// A reduction mode that finds the minimum contributing sample value by separately evaluating each channel.+ MTLSamplerReductionModeMinimum = 1,+ /// A reduction mode that finds the maximum contributing sample value by separately evaluating each channel.+ MTLSamplerReductionModeMaximum = 2,+} API_AVAILABLE(macos(26.0), ios(26.0)); /*! @class MTLSamplerDescriptor@@ -149,6 +158,15 @@ */ @property (nonatomic) MTLSamplerBorderColor borderColor API_AVAILABLE(macos(10.12), ios(14.0), tvos(16.0));+/// Sets the reduction mode for filtering contributing samples.+///+/// The property's default value is ``MTLSamplerReductionModeWeightedAverage``.+/// The sampler ignores this property if any of the following property values are equal to a specific value:+/// - The sampler's ``mipFilter`` property is equal to ``MTLSamplerMipFilterNotMipmapped``.+/// - The sampler's ``mipFilter`` property is equal to ``MTLSamplerMipFilterNearest``.+/// - The sampler's ``minFilter`` property is equal to ``MTLSamplerMinMagFilterNearest``.+/// - The sampler's ``magFilter`` property is equal to ``MTLSamplerMinMagFilterNearest``.+@property (nonatomic) MTLSamplerReductionMode reductionMode API_AVAILABLE(macos(26.0), ios(26.0)); /*! @property normalizedCoordinates.@@ -179,6 +197,11 @@ @property (nonatomic) BOOL lodAverage API_AVAILABLE(ios(9.0), macos(11.0), macCatalyst(14.0));+/// Sets the level-of-detail (lod) bias when sampling from a texture.+///+/// The property's default value is `0.0f`.+/// The precision format is `S4.6`, and the range is `[-16.0, 15.999]`.+@property (nonatomic) float lodBias API_AVAILABLE(macos(26.0), ios(26.0)); /*! @property compareFunctiondiff -ruN /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes--- /Applications/Xcode_26.0.0-beta7.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes2025-07-28 18:52:27+++ /Applications/Xcode_26.0.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes2025-07-28 18:52:27@@ -1235,6 +1235,12 @@ SwiftName: __setIntersectionFunctionTables(_:withBufferRange:) MethodKind: Instance SwiftPrivate: true+ - Selector: 'setDepthStencilState:atIndex:'+ SwiftName: setDepthStencilState(_:index:)+ MethodKind: Instance+ - Selector: 'setDepthStencilStates:withRange:'+ SwiftPrivate: true+ MethodKind: Instance - Name: MTLLibrary Methods:@@ -1312,6 +1318,9 @@ - Selector: 'setScissorRects:count:' MethodKind: Instance SwiftPrivate: true+ - Selector: 'setDepthTestMinBound:maxBound:'+ SwiftPrivate: true+ MethodKind: Instance - Selector: 'setVertexBytes:length:atIndex:' SwiftName: setVertexBytes(_:length:index:) MethodKind: Instance@@ -2070,6 +2079,9 @@ MethodKind: Instance - Selector: 'writeTimestampWithGranularity:afterStage:intoHeap:atIndex:' SwiftName: writeTimestamp(granularity:after:counterHeap:index:)+ MethodKind: Instance+ - Selector: 'setDepthTestMinBound:maxBound:'+ SwiftPrivate: true MethodKind: Instance - Name: MTL4MachineLearningCommandEncoder