Skip to content

Metal tvOS xcode26.0 b4

Alex Soto edited this page Jul 22, 2025 · 2 revisions

#Metal.framework

diff -ruN /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4CommandQueue.h /Applications/Xcode_26.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4CommandQueue.h
--- /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4CommandQueue.h	2025-06-27 15:39:00
+++ /Applications/Xcode_26.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4CommandQueue.h	2025-07-12 00:46:35
@@ -91,7 +91,7 @@
 ///
 /// When performing a sparse mapping update, you are responsible for issuing a barrier against stage `MTLStageResourceState`.
 ///
-/// You can determine the sparse texture tier by calling `MTLTexture/sparseTextureTier`.
+/// You can determine the sparse texture tier by calling ``MTLTexture/sparseTextureTier``.
 typedef struct
 {
     /// The mode of the mapping operation to perform.
@@ -105,9 +105,14 @@
     MTLSparseTextureMappingMode mode;
     
     /// The region in the texture to update, in tiles.
+    ///
+    /// When ``textureLevel`` is equal to the texture's ``MTLTexture/firstMipmapInTail``,
+    /// set `origin.y` to `0` and `size.height` to `1`.
     MTLRegion textureRegion;
     
     /// The index of the mipmap level in the texture to update.
+    ///
+    /// Provide a value between `0` and the texture's ``MTLTexture/firstMipmapInTail``.
     NSUInteger textureLevel;
     
     /// The index of the array slice in the texture to update.
@@ -126,9 +131,17 @@
     /// The region in the source texture, in tiles.
     ///
     /// The tiles remain mapped in the source texture.
+    ///
+    /// When ``sourceLevel`` is equal to the source texture's ``MTLTexture/firstMipmapInTail``,
+    /// set `origin.y` to `0` and `size.height` to `1`.
     MTLRegion sourceRegion;
     
     /// The index of the mipmap level in the source texture.
+    ///
+    /// Provide a value between `0` and the source texture's ``MTLTexture/firstMipmapInTail``.
+    ///
+    /// When ``sourceLevel`` is equal to the source texture's ``MTLTexture/firstMipmapInTail``,
+    /// set ``destinationLevel`` to the destination texture's ``MTLTexture/firstMipmapInTail``.
     NSUInteger sourceLevel;
     
     /// The index of the array slice in the texture source of the copy operation.
@@ -140,9 +153,17 @@
     ///
     /// The X, Y and Z coordinates of the tiles relative to the origin match the same
     /// coordinates in the source region.
+    ///
+    /// When ``destinationLevel`` is equal to the destination texture's ``MTLTexture/firstMipmapInTail``,
+    /// set `destinationOrigin.y` to `0`.
     MTLOrigin destinationOrigin;
     
     /// The index of the mipmap level in the destination texture.
+    ///
+    /// Provide a value between `0` and the destination texture's ``MTLTexture/firstMipmapInTail``.
+    ///
+    /// When ``sourceLevel`` is equal to the source texture's ``MTLTexture/firstMipmapInTail``,
+    /// set ``destinationLevel`` to the destination texture's ``MTLTexture/firstMipmapInTail``.
     NSUInteger destinationLevel;
     
     /// The index of the array slice in the destination texture to copy into.
diff -ruN /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderCommandEncoder.h /Applications/Xcode_26.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderCommandEncoder.h
--- /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderCommandEncoder.h	2025-06-27 15:39:00
+++ /Applications/Xcode_26.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderCommandEncoder.h	2025-07-12 00:09:25
@@ -28,11 +28,13 @@
 ///
 /// 1. Commit all command encoders together in an array you provide to ``MTL4CommandQueue/commit:count:`` or ``MTL4CommandQueue/commit:count:options:``
 /// 2. The first command buffer in the array contains a render pass that you start with option ``MTL4RenderEncoderOptionSuspending``
-/// 2. The last command buffer in the array contains the same render pass that you start with option ``MTL4RenderEncoderOptionResuming``
-/// 3. All intermediate command buffers between the first and last in the array contain the same render pass that you
+/// 3. The last command buffer in the array contains the same render pass that you start with option ``MTL4RenderEncoderOptionResuming``
+/// 4. All intermediate command buffers between the first and last in the array contain the same render pass that you
 /// start with both ``MTL4RenderEncoderOptionResuming`` and ``MTL4RenderEncoderOptionSuspending`` options.
 /// 5. The sequence of render passes, in submission order, doesn't intermix with compute, blit, acceleration structure
 /// or machine learning encoding.
+/// 6. A command buffer shouldn't contain a render pass that you start with option ``MTL4RenderEncoderOptionSuspending`` if
+/// it already contains a render pass that you start with option ``MTL4RenderEncoderOptionResuming``.
 typedef NS_OPTIONS(NSUInteger, MTL4RenderEncoderOptions)
 {
     /// Declares that this render pass doesn't suspend nor resume.
diff -ruN /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderPass.h /Applications/Xcode_26.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderPass.h
--- /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderPass.h	2025-06-25 19:38:33
+++ /Applications/Xcode_26.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderPass.h	2025-07-12 00:09:25
@@ -47,18 +47,22 @@
 /// Assigns the per-tile size, in bytes, of the persistent threadgroup memory allocation of this render pass.
 @property (nonatomic) NSUInteger threadgroupMemoryLength;
 
-/// Sets the width, in pixels, of the tiles into which Metal divides the render attachments for tile-based rendering.
+/// The width of the tiles, in pixels, a render pass you create with this descriptor applies to its attachments.
 ///
-/// When set to `0`, the default, Metal chooses a width that fits within local memory.
+/// For tile-based rendering, Metal divides each render attachment into smaller regions, or _tiles_.
+/// The property's default is `0`, which tells Metal to select a size that fits in tile memory.
 ///
-/// See also: <doc:tailor-your-apps-for-apple-gpus-and-tile-based-deferred-rendering.md>
+/// See <doc:tailor-your-apps-for-apple-gpus-and-tile-based-deferred-rendering>
+/// for more information about tiles, tile memory, and deferred rendering.
 @property (nonatomic) NSUInteger tileWidth;
 
-/// Sets the height, in pixels, of the tiles in which Metal divides the render attachments for tile-based rendering.
+/// The height of the tiles, in pixels, a render pass you create with this descriptor applies to its attachments.
 ///
-/// When set to `0`, the default, Metal chooses a height that fits within memory.
+/// For tile-based rendering, Metal divides each render attachment into smaller regions, or _tiles_.
+/// The property's default is `0`, which tells Metal to select a size that fits in tile memory.
 ///
-/// See also: <doc:tailor-your-apps-for-apple-gpus-and-tile-based-deferred-rendering.md>
+/// See <doc:tailor-your-apps-for-apple-gpus-and-tile-based-deferred-rendering>
+/// for more information about tiles, tile memory, and deferred rendering.
 @property (nonatomic) NSUInteger tileHeight;
 
 /// Sets the default raster sample count for the render pass when it references no attachments.
diff -ruN /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderPipeline.h /Applications/Xcode_26.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderPipeline.h
--- /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderPipeline.h	2025-06-27 15:38:58
+++ /Applications/Xcode_26.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderPipeline.h	2025-07-12 00:46:34
@@ -48,9 +48,9 @@
 /// This property defaults to ``MTLPixelFormatInvalid``.
 @property (nonatomic) MTLPixelFormat pixelFormat;
 
-/// Enables blending.
+/// Configure the blend state for color attachments the pipeline state uses.
 ///
-/// This property's default value is <doc://com.apple.documentation/documentation/swift/false>.
+/// This property's default value is ``MTL4BlendStateDisabled``.
 @property (nonatomic) MTL4BlendState blendingState;
 
 /// Configures the source RGB blend factor.
diff -ruN /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes /Applications/Xcode_26.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes
--- /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes	2025-06-12 17:46:37
+++ /Applications/Xcode_26.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes	2025-07-10 19:11:12
@@ -11,6 +11,8 @@
   NSErrorDomain: MTLDynamicLibraryDomain
 - Name: MTLBinaryArchiveError
   NSErrorDomain: MTLBinaryArchiveDomain
+- Name: MTL4CommandQueueError
+  NSErrorDomain: MTL4CommandQueueErrorDomain
 Globals:
 - Name: MTLDeviceWasAddedNotification
   SwiftName: wasAdded

Clone this wiki locally