-
Notifications
You must be signed in to change notification settings - Fork 543
Metal macOS xcode26.0 b2
Alex Soto edited this page Jun 24, 2025
·
1 revision
#Metal.framework
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4BinaryFunction.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4BinaryFunction.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4BinaryFunction.h 2025-05-28 04:53:31
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4BinaryFunction.h 2025-06-14 03:07:51
@@ -16,11 +16,6 @@
NS_ASSUME_NONNULL_BEGIN
-/// Represents reflection information for a binary function.
-MTL_EXPORT
-API_AVAILABLE(macos(26.0), ios(26.0))
-@interface MTL4BinaryFunctionReflection : NSObject
-@end
/// Represents a binary function.
///
@@ -31,8 +26,6 @@
/// Obtains the optional name of this binary function.
@property (nullable, readonly) NSString* name;
-/// Obtains reflection information for this binary function.
-@property (nullable, readonly) MTL4BinaryFunctionReflection* reflection;
/// Describes the type of this binary function.
@property (readonly) MTLFunctionType functionType;
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4BufferRange.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4BufferRange.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4BufferRange.h 1969-12-31 19:00:00
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4BufferRange.h 2025-06-14 03:07:47
@@ -0,0 +1,76 @@
+//
+// MTL4BufferRange.h
+// Metal
+//
+// Copyright (c) 2025 Apple Inc. All rights reserved.
+//
+
+#ifdef __METAL_VERSION__
+
+#import <metal_stdlib>
+
+#else
+
+#include <stdint.h>
+
+#ifndef _WIN32
+#import <Metal/MTLDefines.h>
+#else
+#include <Metal/MTLDefines.h>
+#endif // _WIN32
+
+#endif
+
+/**
+ * @brief A struct representing a range of a Metal buffer. The offset into the buffer is included in the address.
+ * The length is generally optional, which a value of (uint64_t)-1 representing the range from the given address to
+ * the end of the buffer. However, providing the length can enable more accurate API validation, especially when
+ * sub-allocating ranges of a buffer.
+ */
+typedef struct MTL4BufferRange {
+ /**
+ * @brief Buffer address returned by the gpuAddress property of an MTLBuffer plus any offset into the buffer
+ */
+ uint64_t bufferAddress;
+
+ /**
+ * @brief Length of the region which begins at the given address. If the length is not known, a value of
+ * (uint64_t)-1 represents the range from the given address to the end of the buffer.
+ */
+ uint64_t length;
+
+#ifdef __cplusplus
+ MTL4BufferRange()
+ : bufferAddress(0),
+ length(0)
+ {
+ }
+
+ MTL4BufferRange(uint64_t bufferAddress)
+ : bufferAddress(bufferAddress),
+ length((uint64_t)-1)
+ {
+ }
+
+ MTL4BufferRange(uint64_t bufferAddress, uint64_t length)
+ : bufferAddress(bufferAddress),
+ length(length)
+ {
+ }
+#endif
+} MTL4BufferRange;
+
+#ifndef __METAL_VERSION__
+/**
+ * @brief Create a buffer range from a buffer's GPU address (given by the gpuAddress property) and length. A length of
+ * (uint64_t)-1 represents the the range from the given address to the end of the buffer.
+ */
+MTL_INLINE MTL4BufferRange MTL4BufferRangeMake(uint64_t bufferAddress, uint64_t length) {
+ MTL4BufferRange range;
+
+ range.bufferAddress = bufferAddress;
+ range.length = length;
+
+ return range;
+}
+#endif
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4CommandBuffer.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4CommandBuffer.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4CommandBuffer.h 2025-05-28 02:54:17
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4CommandBuffer.h 2025-06-16 00:56:30
@@ -11,6 +11,7 @@
#import <Metal/MTLDefines.h>
#import <Metal/MTLCommandBuffer.h>
#import <Metal/MTL4RenderCommandEncoder.h>
+#import <Metal/MTL4BufferRange.h>
NS_ASSUME_NONNULL_BEGIN
@@ -172,10 +173,11 @@
atIndex:(NSUInteger) index
API_AVAILABLE(macos(26.0), ios(26.0));
+
/// Encodes a command that resolves an opaque counter heap into a buffer.
///
/// The command this method encodes converts the data within `counterHeap` into a common format
-/// and stores it into the `buffer` parameter.
+/// and stores it into the `bufferRange` parameter.
///
/// The command places each entry in the counter heap within `range` sequentially, starting at `alignedOffset`.
/// Each entry needs to be a fixed size that you can query by calling the
@@ -187,10 +189,10 @@
/// - Note: Your app needs ensure the GPU places data in the heap before you resolve it by
/// synchronizing this stage with other GPU operations.
///
-/// Similarly, your app needs to synchronize any GPU accesses to `buffer` after
+/// Similarly, your app needs to synchronize any GPU accesses to `bufferRange` after
/// the command completes with barrier.
///
-/// If your app needs to access `buffer` from the CPU, signal an ``MTLSharedEvent``
+/// If your app needs to access `bufferRange` from the CPU, signal an ``MTLSharedEvent``
/// to notify the CPU when it's ready.
/// Alternatively, you can resolve the heap's data from the CPU by calling
/// the heap's ``MTL4CounterHeap/resolveCounterRange:`` method.
@@ -198,14 +200,12 @@
/// - Parameters:
/// - counterHeap: A heap the command resolves.
/// - range: A range of index values within the heap the command resolves.
-/// - buffer: A buffer the command saves the data it resolves into.
-/// - alignedOffset: An offset within `buffer` that indicates where the command begins writing the data.
+/// - bufferRange: The buffer the command saves the data it resolves into.
/// - fenceToWait: A fence the GPU waits for before starting, if applicable; otherwise `nil`.
/// - fenceToUpdate: A fence the system updates after the command finishes resolving the data; otherwise `nil`.
- (void)resolveCounterHeap:(id<MTL4CounterHeap>)counterHeap
withRange:(NSRange)range
- intoBuffer:(id<MTLBuffer>)buffer
- atOffset:(NSUInteger)alignedOffset
+ intoBuffer:(MTL4BufferRange)bufferRange
waitFence:(nullable id<MTLFence>)fenceToWait
updateFence:(nullable id<MTLFence>)fenceToUpdate
API_AVAILABLE(macos(26.0), ios(26.0));
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4CommandQueue.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4CommandQueue.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4CommandQueue.h 2025-05-28 02:01:31
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4CommandQueue.h 2025-06-16 00:56:32
@@ -118,7 +118,7 @@
/// The starting offset in the heap, in tiles.
NSUInteger heapOffset;
-} MTL4UpdateSparseTextureMappingOperation;
+} MTL4UpdateSparseTextureMappingOperation API_AVAILABLE(macos(26.0), ios(26.0));
/// Groups together arguments for an operation to copy a sparse texture mapping.
typedef struct
@@ -150,7 +150,7 @@
/// Provide `0` in this member if the texture type is not an array.
NSUInteger destinationSlice;
-} MTL4CopySparseTextureMappingOperation;
+} MTL4CopySparseTextureMappingOperation API_AVAILABLE(macos(26.0), ios(26.0));
/// Groups together arguments for an operation to update a sparse buffer mapping.
typedef struct
@@ -171,7 +171,7 @@
/// The starting offset in the heap, in tiles.
NSUInteger heapOffset;
-} MTL4UpdateSparseBufferMappingOperation;
+} MTL4UpdateSparseBufferMappingOperation API_AVAILABLE(macos(26.0), ios(26.0));
/// Groups together arguments for an operation to copy a sparse buffer mapping.
typedef struct
@@ -183,7 +183,7 @@
/// The origin in the destination buffer, in tiles.
NSUInteger destinationOffset;
-} MTL4CopySparseBufferMappingOperation;
+} MTL4CopySparseBufferMappingOperation API_AVAILABLE(macos(26.0), ios(26.0));
/// An abstraction representing a command queue that you use commit and synchronize command buffers and to
/// perform other GPU operations.
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4CommitFeedback.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4CommitFeedback.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4CommitFeedback.h 2025-05-28 04:53:31
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4CommitFeedback.h 2025-06-14 03:07:52
@@ -12,6 +12,8 @@
#import <Metal/MTLDefines.h>
+NS_ASSUME_NONNULL_BEGIN
+
@protocol MTL4CommitFeedback;
/// Defines the block signature for a callback Metal invokes to provide your app feedback after completing a workload.
@@ -22,14 +24,14 @@
/// method.
///
/// - Parameter commitFeedback: a commit feedback instance containing information about the workload.
-typedef void (^ NS_SWIFT_SENDABLE MTL4CommitFeedbackHandler)(id<MTL4CommitFeedback> commitFeedback);
+typedef void (^ NS_SWIFT_SENDABLE MTL4CommitFeedbackHandler)(id<MTL4CommitFeedback> commitFeedback) API_AVAILABLE(macos(26.0), ios(26.0));
/// Describes an object containing debug information from Metal to your app after completing a workload.
API_AVAILABLE(macos(26.0), ios(26.0))
@protocol MTL4CommitFeedback <NSObject>
/// A description of an error when the GPU encounters an issue as it runs the committed command buffers.
-@property (readonly, nonatomic) NSError *error;
+@property (readonly, nonatomic, nullable) NSError *error;
/// The host time, in seconds, when the GPU starts execution of the committed command buffers.
@property (readonly, nonatomic) CFTimeInterval GPUStartTime;
@@ -38,6 +40,8 @@
@property (readonly, nonatomic) CFTimeInterval GPUEndTime;
@end
+
+NS_ASSUME_NONNULL_END
#endif // MTL4CommitFeedback_h
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4Compiler.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4Compiler.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4Compiler.h 2025-05-28 02:49:11
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4Compiler.h 2025-06-16 02:25:13
@@ -366,8 +366,6 @@
- (id<MTL4CompilerTask>)newMachineLearningPipelineStateWithDescriptor:(MTL4MachineLearningPipelineDescriptor *)descriptor
completionHandler:(MTL4NewMachineLearningPipelineStateCompletionHandler)completionHandler;
-/// Cancels all pending compiler tasks for this compiler.
-- (void)cancel;
@end
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4ComputePipeline.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4ComputePipeline.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4ComputePipeline.h 2025-05-28 04:53:27
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4ComputePipeline.h 2025-06-14 03:07:48
@@ -18,42 +18,49 @@
@protocol MTL4BinaryFunction;
@protocol MTLDynamicLibrary;
@class MTL4FunctionDescriptor;
-@class MTL4LinkedFunctions;
@class MTLComputePipelineReflection;
@class MTL4StaticLinkingDescriptor;
-/// Descriptor defining how a compute pipeline state would be created.
+/// Describes a compute pipeline state.
MTL_EXPORT
API_AVAILABLE(macos(26.0), ios(26.0))
@interface MTL4ComputePipelineDescriptor : MTL4PipelineDescriptor
-/// A function descriptor representing the function that will be executed by the compute pipeline.
+/// A descriptor representing the compute pipeline's function.
+///
+/// You don't assign instances of ``MTL4FunctionDescriptor`` to this property directly, instead
+/// assign an instance of one of its subclasses, such as ``MTL4LibraryFunctionDescriptor``, which
+/// represents a function from a Metal library.
@property (nullable, readwrite, nonatomic, copy) MTL4FunctionDescriptor* computeFunctionDescriptor;
/// A boolean value indicating whether each dimension of the threadgroup size is a multiple of its
/// corresponding thread execution width.
@property (readwrite, nonatomic) BOOL threadGroupSizeIsMultipleOfThreadExecutionWidth;
-/// The maximum total number of threads that can be executing in a single threadgroup for the
+/// The maximum total number of threads that Metal can execute in a single threadgroup for the
/// compute function.
@property (readwrite, nonatomic) NSUInteger maxTotalThreadsPerThreadgroup;
-/// Sets the required threads-per-threadgroup during dispatches. The `threadsPerThreadgroup` argument of any dispatch must match this value if it is set.
-/// Optional, unless the pipeline is going to use CooperativeTensors in which case this must be set.
-/// Setting this to a size of 0 in every dimension disables this property
+/// The required number of threads per threadgroup for compute dispatches.
+///
+/// When you set this value, you are responsible for ensuring that the `threadsPerThreadgroup` argument of any compute
+/// dispatch matches it.
+///
+/// Setting this property is optional, except in cases where the pipeline uses *CooperativeTensors*.
+///
+/// This property's default value is `0`, which disables its effect.
@property(readwrite, nonatomic) MTLSize requiredThreadsPerThreadgroup;
-/// A boolean value indicating whether the compute pipeline should support adding binary functions.
+/// A boolean value indicating whether the compute pipeline supports linking binary functions.
@property (readwrite, nonatomic) BOOL supportBinaryLinking;
-/// An object that contains information about functions that are linked to the compute pipeline
-/// during creation.
+/// An object that contains information about functions to link to the compute pipeline.
@property (nullable, copy, nonatomic) MTL4StaticLinkingDescriptor* staticLinkingDescriptor;
-/// A value indicating whether the pipeline should support indirect command buffers.
+/// A value indicating whether the pipeline supports Metal indirect command buffers.
@property (readwrite, nonatomic) MTL4IndirectCommandBufferSupportState supportIndirectCommandBuffers;
-/// Resets the descriptor to the default values.
+/// Resets the descriptor to its default values.
- (void)reset;
@end
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4Counters.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4Counters.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4Counters.h 2025-05-28 02:54:17
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4Counters.h 2025-06-16 00:56:30
@@ -59,7 +59,7 @@
/// Assigns the number of entries in the heap.
///
/// Each entry represents one item in the heap. The size of the individual entries depends on the heap type.
-@property (nonatomic) NSUInteger entryCount;
+@property (nonatomic) NSUInteger count;
@end
@@ -82,7 +82,7 @@
///
/// This method resolves heap data in the CPU timeline. Your app needs to ensure the GPU work has completed in order to
/// retrieve the data correctly. You can alternatively resolve the heap data in the GPU timeline by calling
-/// ``MTL4CommandBuffer/resolveCounterHeap:withRange:intoBuffer:atOffset:waitFence:updateFence:``.
+/// ``MTL4CommandBuffer/resolveCounterHeap:withRange:intoBuffer:waitFence:updateFence:``.
///
/// - Note: When resolving counters in the CPU timeline, signaling an instance of ``MTLSharedEvent`` after any workloads
/// write counters (and waiting on that signal on the CPU) is sufficient to ensure synchronization.
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4LinkedFunctions.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4LinkedFunctions.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4LinkedFunctions.h 2025-05-28 04:53:30
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4LinkedFunctions.h 1969-12-31 19:00:00
@@ -1,47 +0,0 @@
-//
-// MTL4LinkedFunctions.h
-// Metal
-//
-// Copyright © 2024 Apple, Inc. All rights reserved.
-//
-
-#ifndef MTL4LinkedFunctions_h
-#define MTL4LinkedFunctions_h
-
-#import <Metal/MTLDefines.h>
-
-#import <Metal/MTL4BinaryFunction.h>
-#import <Metal/MTL4FunctionDescriptor.h>
-#import <Metal/MTLTypes.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-/// Groups together functions to link.
-MTL_EXPORT
-API_AVAILABLE(macos(26.0), ios(26.0))
-@interface MTL4LinkedFunctions : NSObject<NSCopying>
-
-/// Provides an array of functions to link at the Metal IR level.
-@property (readwrite, nonatomic, copy, nullable) NSArray<MTL4FunctionDescriptor*>* functionDescriptors;
-
-/// Provides an array of binary functions to link.
-@property (readwrite, nonatomic, copy, nullable) NSArray<id<MTL4BinaryFunction>>* binaryFunctions;
-
-/// Provides an array of private functions to link at the Metal IR level.
-///
-///
-/// You specify private functions to link separately from ``functionDescriptors`` because pipelines don't export private
-/// functions as ``MTLFunctionHandle`` instances.
-/// - Note: You can link private functions even when your ``MTLDevice`` doesn't support function pointers.
-@property (readwrite, nonatomic, copy, nullable) NSArray<MTL4FunctionDescriptor*>* privateFunctionDescriptors;
-
-/// Assigns groups of functions to match call-site attributes in shader code.
-///
-/// Function groups help the compiler reduce the number of candidate functions it needs to evaluate for shader function
-/// calls, potentially increasing runtime performance.
-@property (readwrite, nonatomic, copy, nullable) NSDictionary<NSString*, NSArray<MTL4FunctionDescriptor*>*>* groups;
-@end
-
-NS_ASSUME_NONNULL_END
-
-#endif // MTL4LinkedFunctions_h
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4MachineLearningCommandEncoder.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4MachineLearningCommandEncoder.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4MachineLearningCommandEncoder.h 2025-05-28 04:53:30
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4MachineLearningCommandEncoder.h 2025-06-14 03:07:51
@@ -19,7 +19,7 @@
@protocol MTL4ArgumentTable;
@protocol MTL4MachineLearningPipelineState;
-/// Encodes commands for dispatching machine learning networks on the GPU.
+/// Encodes commands for dispatching machine learning networks on Apple silicon.
API_AVAILABLE(macos(26.0), ios(26.0))
@protocol MTL4MachineLearningCommandEncoder <MTL4CommandEncoder>
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4PipelineDataSetSerializer.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4PipelineDataSetSerializer.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4PipelineDataSetSerializer.h 2025-05-28 02:54:17
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4PipelineDataSetSerializer.h 2025-06-16 00:56:30
@@ -19,21 +19,19 @@
///
/// You can combine these values via a logical `OR` and set it to ``MTL4PipelineDataSetSerializerDescriptor/configuration``
/// to specify desired level of serialization support for instances of ``MTL4PipelineDataSetSerializer``.
-API_AVAILABLE(macos(26.0), ios(26.0))
typedef NS_OPTIONS(NSInteger, MTL4PipelineDataSetSerializerConfiguration) {
/// Enables serializing pipeline scripts.
///
/// Set this mask to use ``MTL4PipelineDataSetSerializer.serializeAsPipelinesScriptWithError``.
///
/// This for the default behavior.
- MTL4PipelineDataSetSerializerConfigurationCaptureDescriptors = 0,
+ MTL4PipelineDataSetSerializerConfigurationCaptureDescriptors = (1 << 0),
/// Enables serializing pipeline binary functions.
///
/// Set this mask to use ``MTL4PipelineDataSetSerializer.serializeAsArchiveAndFlush(toURL:error:)``.
- MTL4PipelineDataSetSerializerConfigurationCaptureBinaries = 1,
-
-};
+ MTL4PipelineDataSetSerializerConfigurationCaptureBinaries = (1 << 1),
+} API_AVAILABLE(macos(26.0), ios(26.0));
/// Groups together properties to create a pipeline data set serializer.
MTL_EXPORT
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4PipelineState.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4PipelineState.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4PipelineState.h 2025-05-28 04:53:30
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4PipelineState.h 2025-06-14 03:07:51
@@ -76,9 +76,6 @@
MTL4IndirectCommandBufferSupportStateEnabled = 1,
} API_AVAILABLE(macos(26.0), ios(26.0));
-/// Constant to specify discarding a color attachment's index in a remap operation.
-MTL_EXTERN const NSUInteger MTLRenderTargetRemapIndexDiscard;
-
/// Provides options controlling how to compile a pipeline state.
///
/// You provide these options through the ``MTL4PipelineDescriptor`` class at compilation time.
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderCommandEncoder.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderCommandEncoder.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderCommandEncoder.h 2025-05-28 04:53:30
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderCommandEncoder.h 2025-06-16 00:56:32
@@ -70,7 +70,7 @@
/// <doc://com.apple.documentation/documentation/swift/true>.
///
/// - Parameter mapping: Mapping from logical shader outputs to physical outputs.
-- (void)setColorAttachmentMap:(MTLLogicalToPhysicalColorAttachmentMap *)mapping;
+- (void)setColorAttachmentMap:(nullable MTLLogicalToPhysicalColorAttachmentMap *)mapping;
/// Configures this encoder with a render pipeline state that applies to your subsequent draw commands.
///
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderPipeline.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderPipeline.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderPipeline.h 2025-05-28 02:01:30
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTL4RenderPipeline.h 2025-06-16 00:56:30
@@ -19,7 +19,6 @@
NS_ASSUME_NONNULL_BEGIN
@class MTL4FunctionDescriptor;
-@class MTL4LinkedFunctions;
@protocol MTL4BinaryFunction;
@class MTL4StaticLinkingDescriptor;
@@ -119,23 +118,6 @@
- (void)reset;
@end
-/// Allows you to easily specify color attachment remapping from logical to physical indices.
-MTL_EXPORT
-API_AVAILABLE(macos(26.0), ios(26.0))
-@interface MTLLogicalToPhysicalColorAttachmentMap : NSObject<NSCopying>
-
-/// Maps a physical color attachment index to a logical index.
-///
-/// - Parameters:
-/// - physicalIndex: index of the color attachment's physical mapping.
-/// - logicalIndex: index of the color attachment's logical mapping.
-- (void)setPhysicalIndex:(NSUInteger)physicalIndex forLogicalIndex:(NSUInteger)logicalIndex;
-
-/// Queries the physical color attachment index corresponding to a logical index.
-- (NSUInteger)getPhysicalIndexForLogicalIndex:(NSUInteger)logicalIndex;
-
-- (void)reset;
-@end
@protocol MTL4BinaryFunction;
@class MTLVertexDescriptor;
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructure.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructure.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructure.h 2025-05-28 04:53:28
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructure.h 2025-06-16 02:25:12
@@ -63,7 +63,7 @@
* @brief Enable extended limits for this acceleration structure, possibly at the cost of
* reduced ray tracing performance.
*/
- MTLAccelerationStructureUsageExtendedLimits API_AVAILABLE(macos(12.0), ios(15.0)) = (1 << 2),
+ MTLAccelerationStructureUsageExtendedLimits API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) = (1 << 2),
/**
* @brief Prioritize intersection performance over acceleration structure build time
@@ -75,7 +75,7 @@
* the cost of increased build time or reduced intersection performance.
*/
MTLAccelerationStructureUsageMinimizeMemory API_AVAILABLE(macos(26.0), ios(26.0)) = (1 << 5),
-} API_AVAILABLE(macos(11.0), ios(14.0));
+} API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
typedef NS_OPTIONS(uint32_t, MTLAccelerationStructureInstanceOptions) {
/**
@@ -104,7 +104,7 @@
* @brief Geometry is non-opaque
*/
MTLAccelerationStructureInstanceOptionNonOpaque = (1 << 3),
-} API_AVAILABLE(macos(11.0), ios(14.0));
+} API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
typedef NS_ENUM(NSInteger, MTLMatrixLayout) {
/**
@@ -122,7 +122,7 @@
* @brief Base class for acceleration structure descriptors. Do not use this class directly. Use
* one of the derived classes instead.
*/
-MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0))
+MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0))
@interface MTLAccelerationStructureDescriptor : NSObject <NSCopying>
@property (nonatomic) MTLAccelerationStructureUsage usage;
@@ -133,7 +133,7 @@
* @brief Base class for all geometry descriptors. Do not use this class directly. Use one of the derived
* classes instead.
*/
-MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0))
+MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0))
@interface MTLAccelerationStructureGeometryDescriptor : NSObject <NSCopying>
@property (nonatomic) NSUInteger intersectionFunctionTableOffset;
@@ -152,7 +152,7 @@
/**
* @brief Label
*/
-@property (nonatomic, copy, nullable) NSString* label API_AVAILABLE(macos(12.0), ios(15.0));
+@property (nonatomic, copy, nullable) NSString* label API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/**
* @brief Data buffer containing per-primitive data. May be nil.
@@ -192,12 +192,12 @@
* @brief Object disappears
*/
MTLMotionBorderModeVanish = 1
-} API_AVAILABLE(macos(12.0), ios(15.0));
+} API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/**
* @brief Descriptor for a primitive acceleration structure
*/
-MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0))
+MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0))
@interface MTLPrimitiveAccelerationStructureDescriptor : MTLAccelerationStructureDescriptor
/**
@@ -210,28 +210,28 @@
* @brief Motion border mode describing what happens if acceleration structure is sampled before
* motionStartTime. If not set defaults to MTLMotionBorderModeClamp.
*/
-@property (nonatomic) MTLMotionBorderMode motionStartBorderMode API_AVAILABLE(macos(12.0), ios(15.0));
+@property (nonatomic) MTLMotionBorderMode motionStartBorderMode API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/**
* @brief Motion border mode describing what happens if acceleration structure is sampled after
* motionEndTime. If not set defaults to MTLMotionBorderModeClamp.
*/
-@property (nonatomic) MTLMotionBorderMode motionEndBorderMode API_AVAILABLE(macos(12.0), ios(15.0));
+@property (nonatomic) MTLMotionBorderMode motionEndBorderMode API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/**
* @brief Motion start time of this geometry. If not set defaults to 0.0f.
*/
-@property (nonatomic) float motionStartTime API_AVAILABLE(macos(12.0), ios(15.0));
+@property (nonatomic) float motionStartTime API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/**
* @brief Motion end time of this geometry. If not set defaults to 1.0f.
*/
-@property (nonatomic) float motionEndTime API_AVAILABLE(macos(12.0), ios(15.0));
+@property (nonatomic) float motionEndTime API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/**
* @brief Motion keyframe count. Is 1 by default which means no motion.
*/
-@property (nonatomic) NSUInteger motionKeyframeCount API_AVAILABLE(macos(12.0), ios(15.0));
+@property (nonatomic) NSUInteger motionKeyframeCount API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
+ (instancetype)descriptor;
@@ -240,7 +240,7 @@
/**
* @brief Descriptor for triangle geometry
*/
-MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0))
+MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0))
@interface MTLAccelerationStructureTriangleGeometryDescriptor : MTLAccelerationStructureGeometryDescriptor
/**
@@ -311,7 +311,7 @@
/**
* @brief Descriptor for bounding box geometry
*/
-MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0))
+MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0))
@interface MTLAccelerationStructureBoundingBoxGeometryDescriptor : MTLAccelerationStructureGeometryDescriptor
/**
@@ -343,7 +343,7 @@
/**
* @brief MTLbuffer and description how the data is stored in it.
*/
-MTL_EXPORT API_AVAILABLE(macos(12.0), ios(15.0))
+MTL_EXPORT API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0))
@interface MTLMotionKeyframeData : NSObject
/**
@@ -364,7 +364,7 @@
/**
* @brief Descriptor for motion triangle geometry
*/
-MTL_EXPORT API_AVAILABLE(macos(12.0), ios(15.0))
+MTL_EXPORT API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0))
@interface MTLAccelerationStructureMotionTriangleGeometryDescriptor : MTLAccelerationStructureGeometryDescriptor
/**
@@ -429,7 +429,7 @@
/**
* @brief Descriptor for motion bounding box geometry
*/
-MTL_EXPORT API_AVAILABLE(macos(12.0), ios(15.0))
+MTL_EXPORT API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0))
@interface MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor : MTLAccelerationStructureGeometryDescriptor
/**
@@ -817,7 +817,7 @@
* application-defined way
*/
uint32_t userID;
-} MTLAccelerationStructureUserIDInstanceDescriptor API_AVAILABLE(macos(12.0), ios(15.0));
+} MTLAccelerationStructureUserIDInstanceDescriptor API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
typedef NS_ENUM(NSUInteger, MTLAccelerationStructureInstanceDescriptorType) {
/**
@@ -844,7 +844,7 @@
* @brief Motion instance descriptor with a resource handle for the instanced acceleration structure.
*/
MTLAccelerationStructureInstanceDescriptorTypeIndirectMotion API_AVAILABLE(macos(14.0), ios(17.0)) = 4,
-} API_AVAILABLE(macos(12.0), ios(15.0));
+} API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
typedef struct {
/**
@@ -906,7 +906,7 @@
* @brief Motion end time of this instance
*/
float motionEndTime;
-} MTLAccelerationStructureMotionInstanceDescriptor API_AVAILABLE(macos(12.0), ios(15.0));
+} MTLAccelerationStructureMotionInstanceDescriptor API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
typedef struct {
@@ -1022,7 +1022,7 @@
/**
* @brief Descriptor for an instance acceleration structure
*/
-MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0))
+MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0))
@interface MTLInstanceAccelerationStructureDescriptor : MTLAccelerationStructureDescriptor
/**
@@ -1057,23 +1057,23 @@
* @brief Type of instance descriptor in the instance descriptor buffer. Defaults to
* MTLAccelerationStructureInstanceDescriptorTypeDefault.
*/
-@property (nonatomic) MTLAccelerationStructureInstanceDescriptorType instanceDescriptorType API_AVAILABLE(macos(12.0), ios(15.0));
+@property (nonatomic) MTLAccelerationStructureInstanceDescriptorType instanceDescriptorType API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/**
* @brief Buffer containing transformation information for motion
*/
-@property (nonatomic, retain, nullable) id <MTLBuffer> motionTransformBuffer API_AVAILABLE(macos(12.0), ios(15.0));
+@property (nonatomic, retain, nullable) id <MTLBuffer> motionTransformBuffer API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/**
* @brief Offset into the instance motion descriptor buffer. Must be a multiple of 64 bytes and
* must be aligned to the platform's buffer offset alignment.
*/
-@property (nonatomic) NSUInteger motionTransformBufferOffset API_AVAILABLE(macos(12.0), ios(15.0));
+@property (nonatomic) NSUInteger motionTransformBufferOffset API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/**
* @brief Number of motion transforms
*/
-@property (nonatomic) NSUInteger motionTransformCount API_AVAILABLE(macos(12.0), ios(15.0));
+@property (nonatomic) NSUInteger motionTransformCount API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/**
* Matrix layout of the transformation matrices in the instance descriptors
@@ -1195,7 +1195,7 @@
@end
-API_AVAILABLE(macos(11.0), ios(14.0))
+API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0))
@protocol MTLAccelerationStructure <MTLResource>
@property (nonatomic, readonly) NSUInteger size;
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructureCommandEncoder.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructureCommandEncoder.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructureCommandEncoder.h 2025-05-28 02:48:23
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructureCommandEncoder.h 2025-06-14 03:07:50
@@ -18,7 +18,7 @@
NS_ASSUME_NONNULL_BEGIN
-API_AVAILABLE(macos(11.0), ios(14.0))
+API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0))
@protocol MTLAccelerationStructureCommandEncoder <MTLCommandEncoder>
/*!
@@ -164,7 +164,7 @@
- (void)writeCompactedAccelerationStructureSize:(id <MTLAccelerationStructure>)accelerationStructure
toBuffer:(id <MTLBuffer>)buffer
offset:(NSUInteger)offset
- sizeDataType:(MTLDataType)sizeDataType API_AVAILABLE(macos(12.0), ios(15.0));
+ sizeDataType:(MTLDataType)sizeDataType API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
* @brief Copy and compact an acceleration structure. The source and destination acceleration structures
@@ -246,7 +246,7 @@
*/
-(void)sampleCountersInBuffer:(id<MTLCounterSampleBuffer>)sampleBuffer
atSampleIndex:(NSUInteger)sampleIndex
- withBarrier:(BOOL)barrier API_AVAILABLE(macos(11.0), ios(14.0));
+ withBarrier:(BOOL)barrier API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
@end
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructureTypes.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructureTypes.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructureTypes.h 2025-05-28 04:53:26
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructureTypes.h 2025-06-16 02:47:25
@@ -6,8 +6,15 @@
#else
#include <math.h>
#include <stdint.h>
+
+#ifndef _WIN32
#import <Metal/MTLDefines.h>
+#else
+#include <Metal/MTLDefines.h>
+#endif // _WIN32
+#include <Metal/MTL4BufferRange.h>
+
typedef struct _MTLPackedFloat3 {
union {
struct {
@@ -215,57 +222,3 @@
*/
MTLPackedFloat3 translation;
} MTLComponentTransform;
-
-/**
- * @brief A struct representing a range of a Metal buffer. The offset into the buffer is included in the address.
- * The length is generally optional, which a value of (uint64_t)-1 representing the range from the given address to
- * the end of the buffer. However, providing the length can enable more accurate API validation, especially when
- * sub-allocating ranges of a buffer.
- */
-typedef struct MTL4BufferRange {
- /**
- * @brief Buffer address returned by the gpuAddress property of an MTLBuffer plus any offset into the buffer
- */
- uint64_t bufferAddress;
-
- /**
- * @brief Length of the region which begins at the given address. If the length is not known, a value of
- * (uint64_t)-1 represents the range from the given address to the end of the buffer.
- */
- uint64_t length;
-
-#ifdef __cplusplus
- MTL4BufferRange()
- : bufferAddress(0),
- length(0)
- {
- }
-
- MTL4BufferRange(uint64_t bufferAddress)
- : bufferAddress(bufferAddress),
- length((uint64_t)-1)
- {
- }
-
- MTL4BufferRange(uint64_t bufferAddress, uint64_t length)
- : bufferAddress(bufferAddress),
- length(length)
- {
- }
-#endif
-} MTL4BufferRange;
-
-#ifndef __METAL_VERSION__
-/**
- * @brief Create a buffer range from a buffer's GPU address (given by the gpuAddress property) and length. A length of
- * (uint64_t)-1 represents the the range from the given address to the end of the buffer.
- */
-MTL_INLINE MTL4BufferRange MTL4BufferRangeMake(uint64_t bufferAddress, uint64_t length) {
- MTL4BufferRange range;
-
- range.bufferAddress = bufferAddress;
- range.length = length;
-
- return range;
-}
-#endif
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgument.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgument.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgument.h 2025-05-28 02:54:18
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgument.h 2025-06-14 03:07:50
@@ -102,10 +102,10 @@
MTLArgumentTypeImageblockData API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(11.0), tvos(14.5)) = 16,
MTLArgumentTypeImageblock API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(11.0), tvos(14.5)) = 17,
- MTLArgumentTypeVisibleFunctionTable API_AVAILABLE(macos(11.0), ios(14.0)) = 24,
- MTLArgumentTypePrimitiveAccelerationStructure API_AVAILABLE(macos(11.0), ios(14.0)) = 25,
- MTLArgumentTypeInstanceAccelerationStructure API_AVAILABLE(macos(11.0), ios(14.0)) = 26,
- MTLArgumentTypeIntersectionFunctionTable API_AVAILABLE(macos(11.0), ios(14.0)) = 27,
+ MTLArgumentTypeVisibleFunctionTable API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0)) = 24,
+ MTLArgumentTypePrimitiveAccelerationStructure API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0)) = 25,
+ MTLArgumentTypeInstanceAccelerationStructure API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0)) = 26,
+ MTLArgumentTypeIntersectionFunctionTable API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0)) = 27,
} API_DEPRECATED_WITH_REPLACEMENT("MTLBindingType", macos(10.11, 13.0), ios(8.0, 16.0));
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgumentEncoder.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgumentEncoder.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgumentEncoder.h 2025-05-28 02:54:18
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLArgumentEncoder.h 2025-06-16 02:25:13
@@ -154,7 +154,7 @@
*/
- (void)setIndirectCommandBuffers:(const id <MTLIndirectCommandBuffer> __nullable [__nonnull])buffers withRange:(NSRange)range API_AVAILABLE(macos(10.14), ios(12.0));
-- (void)setAccelerationStructure:(nullable id <MTLAccelerationStructure>)accelerationStructure atIndex:(NSUInteger)index API_AVAILABLE(macos(11.0), ios(14.0));
+- (void)setAccelerationStructure:(nullable id <MTLAccelerationStructure>)accelerationStructure atIndex:(NSUInteger)index API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
* @method newArgumentEncoderForBufferAtIndex:
@@ -171,25 +171,25 @@
* @method setVisibleFunctionTable:atIndex:
* @brief Set a visible function table at the given buffer index
*/
-- (void)setVisibleFunctionTable:(nullable id <MTLVisibleFunctionTable>)visibleFunctionTable atIndex:(NSUInteger)index API_AVAILABLE(macos(11.0), ios(14.0));
+- (void)setVisibleFunctionTable:(nullable id <MTLVisibleFunctionTable>)visibleFunctionTable atIndex:(NSUInteger)index API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
* @method setVisibleFunctionTables:withRange:
* @brief Set visible function tables at the given buffer index range
*/
-- (void)setVisibleFunctionTables:(const id <MTLVisibleFunctionTable> __nullable [__nonnull])visibleFunctionTables withRange:(NSRange)range API_AVAILABLE(macos(11.0), ios(14.0));
+- (void)setVisibleFunctionTables:(const id <MTLVisibleFunctionTable> __nullable [__nonnull])visibleFunctionTables withRange:(NSRange)range API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
* @method setIntersectionFunctionTable:atIndex:
* @brief Set an intersection function table at the given buffer index
*/
-- (void)setIntersectionFunctionTable:(nullable id <MTLIntersectionFunctionTable>)intersectionFunctionTable atIndex:(NSUInteger)index API_AVAILABLE(macos(11.0), ios(14.0));
+- (void)setIntersectionFunctionTable:(nullable id <MTLIntersectionFunctionTable>)intersectionFunctionTable atIndex:(NSUInteger)index API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
* @method setIntersectionFunctionTables:withRange:
* @brief Set intersection function tables at the given buffer index range
*/
-- (void)setIntersectionFunctionTables:(const id <MTLIntersectionFunctionTable> __nullable [__nonnull])intersectionFunctionTables withRange:(NSRange)range API_AVAILABLE(macos(11.0), ios(14.0));
+- (void)setIntersectionFunctionTables:(const id <MTLIntersectionFunctionTable> __nullable [__nonnull])intersectionFunctionTables withRange:(NSRange)range API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLBlitCommandEncoder.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLBlitCommandEncoder.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLBlitCommandEncoder.h 2025-05-28 04:53:28
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLBlitCommandEncoder.h 2025-06-14 03:07:49
@@ -167,7 +167,7 @@
slice:(NSUInteger)slice
resetCounters:(BOOL)resetCounters
countersBuffer:(id<MTLBuffer>)countersBuffer
- countersBufferOffset:(NSUInteger)countersBufferOffset API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+ countersBufferOffset:(NSUInteger)countersBufferOffset API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
/*!
@method resetTextureAccessCounters:region:mipLevel:slice:type:
@@ -176,7 +176,7 @@
-(void) resetTextureAccessCounters:(id<MTLTexture>)texture
region:(MTLRegion)region
mipLevel:(NSUInteger)mipLevel
- slice:(NSUInteger)slice API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+ slice:(NSUInteger)slice API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
@required
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLCommandBuffer.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLCommandBuffer.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLCommandBuffer.h 2025-05-28 02:01:30
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLCommandBuffer.h 2025-06-14 03:07:50
@@ -421,10 +421,10 @@
*/
- (nullable id <MTLParallelRenderCommandEncoder>)parallelRenderCommandEncoderWithDescriptor:(MTLRenderPassDescriptor *)renderPassDescriptor;
-- (nullable id<MTLResourceStateCommandEncoder>) resourceStateCommandEncoder API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
-- (nullable id<MTLResourceStateCommandEncoder>) resourceStateCommandEncoderWithDescriptor:(MTLResourceStatePassDescriptor *) resourceStatePassDescriptor API_AVAILABLE(macos(11.0), ios(14.0));
+- (nullable id<MTLResourceStateCommandEncoder>) resourceStateCommandEncoder API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
+- (nullable id<MTLResourceStateCommandEncoder>) resourceStateCommandEncoderWithDescriptor:(MTLResourceStatePassDescriptor *) resourceStatePassDescriptor API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
-- (nullable id <MTLAccelerationStructureCommandEncoder>)accelerationStructureCommandEncoder API_AVAILABLE(macos(11.0), ios(14.0));
+- (nullable id <MTLAccelerationStructureCommandEncoder>)accelerationStructureCommandEncoder API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
- (id <MTLAccelerationStructureCommandEncoder>)accelerationStructureCommandEncoderWithDescriptor:(MTLAccelerationStructurePassDescriptor *)descriptor API_AVAILABLE(macos(13.0), ios(16.0));
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputeCommandEncoder.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputeCommandEncoder.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputeCommandEncoder.h 2025-05-28 03:18:52
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputeCommandEncoder.h 2025-06-16 02:25:11
@@ -129,32 +129,32 @@
* @method setVisibleFunctionTable:atBufferIndex:
* @brief Set a visible function table at the given buffer index
*/
-- (void)setVisibleFunctionTable:(nullable id <MTLVisibleFunctionTable>)visibleFunctionTable atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(11.0), ios(14.0));
+- (void)setVisibleFunctionTable:(nullable id <MTLVisibleFunctionTable>)visibleFunctionTable atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
* @method setVisibleFunctionTables:withBufferRange:
* @brief Set visible function tables at the given buffer index range
*/
-- (void)setVisibleFunctionTables:(const id <MTLVisibleFunctionTable> __nullable [__nonnull])visibleFunctionTables withBufferRange:(NSRange)range API_AVAILABLE(macos(11.0), ios(14.0));
+- (void)setVisibleFunctionTables:(const id <MTLVisibleFunctionTable> __nullable [__nonnull])visibleFunctionTables withBufferRange:(NSRange)range API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
* @method setIntersectionFunctionTable:atBufferIndex:
* @brief Set a visible function table at the given buffer index
*/
-- (void)setIntersectionFunctionTable:(nullable id <MTLIntersectionFunctionTable>)intersectionFunctionTable atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(11.0), ios(14.0));
+- (void)setIntersectionFunctionTable:(nullable id <MTLIntersectionFunctionTable>)intersectionFunctionTable atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
* @method setIntersectionFunctionTables:withBufferRange:
* @brief Set visible function tables at the given buffer index range
*/
-- (void)setIntersectionFunctionTables:(const id <MTLIntersectionFunctionTable> __nullable [__nonnull])intersectionFunctionTables withBufferRange:(NSRange)range API_AVAILABLE(macos(11.0), ios(14.0));
+- (void)setIntersectionFunctionTables:(const id <MTLIntersectionFunctionTable> __nullable [__nonnull])intersectionFunctionTables withBufferRange:(NSRange)range API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
@method setAccelerationStructure:atBufferIndex:
@brief Set a global raytracing acceleration structure for all compute kernels at the given buffer bind point index.
*/
-- (void)setAccelerationStructure:(nullable id <MTLAccelerationStructure>)accelerationStructure atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(11.0), ios(14.0));
+- (void)setAccelerationStructure:(nullable id <MTLAccelerationStructure>)accelerationStructure atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
@method setTexture:atIndex:
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputePipeline.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputePipeline.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputePipeline.h 2025-05-28 04:53:30
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLComputePipeline.h 2025-06-14 03:07:51
@@ -124,7 +124,7 @@
@abstract This flag makes this pipeline support creating a new pipeline by adding binary functions.
*/
@property (readwrite, nonatomic) BOOL supportAddingBinaryFunctions
- API_AVAILABLE(macos(11.0), ios(14.0));
+ API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
@@ -132,7 +132,7 @@
@abstract The maximum depth of the call stack in stack frames from the kernel. Defaults to 1 additional stack frame.
*/
@property (readwrite, nonatomic) NSUInteger maxCallStackDepth
- API_AVAILABLE(macos(11.0), ios(14.0));
+ API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
@@ -246,26 +246,26 @@
@method functionHandleWithFunction:
@brief Get the function handle for the specified function from the pipeline state.
*/
-- (nullable id<MTLFunctionHandle>)functionHandleWithFunction:(id<MTLFunction>)function API_AVAILABLE(macos(11.0), ios(14.0));
+- (nullable id<MTLFunctionHandle>)functionHandleWithFunction:(id<MTLFunction>)function API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
@method newRenderPipelineStateWithAdditionalBinaryFunctions:stage:
@brief Allocate a new compute pipeline state by adding binary functions to this pipeline state.
*/
-- (nullable id <MTLComputePipelineState>)newComputePipelineStateWithAdditionalBinaryFunctions:(nonnull NSArray<id<MTLFunction>> *)functions error:(__autoreleasing NSError **)error API_AVAILABLE(macos(11.0), ios(14.0));
+- (nullable id <MTLComputePipelineState>)newComputePipelineStateWithAdditionalBinaryFunctions:(nonnull NSArray<id<MTLFunction>> *)functions error:(__autoreleasing NSError **)error API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
@method newVisibleFunctionTableWithDescriptor:
@brief Allocate a visible function table for the pipeline with the provided descriptor.
*/
-- (nullable id<MTLVisibleFunctionTable>)newVisibleFunctionTableWithDescriptor:(MTLVisibleFunctionTableDescriptor * __nonnull)descriptor API_AVAILABLE(macos(11.0), ios(14.0));
+- (nullable id<MTLVisibleFunctionTable>)newVisibleFunctionTableWithDescriptor:(MTLVisibleFunctionTableDescriptor * __nonnull)descriptor API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
@method newIntersectionFunctionTableWithDescriptor:
@brief Allocate an intersection function table for the pipeline with the provided descriptor.
*/
-- (nullable id <MTLIntersectionFunctionTable>)newIntersectionFunctionTableWithDescriptor:(MTLIntersectionFunctionTableDescriptor * _Nonnull)descriptor API_AVAILABLE(macos(11.0), ios(14.0));
+- (nullable id <MTLIntersectionFunctionTable>)newIntersectionFunctionTableWithDescriptor:(MTLIntersectionFunctionTableDescriptor * _Nonnull)descriptor API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDataType.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDataType.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDataType.h 2025-05-28 02:01:32
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDataType.h 2025-06-16 00:56:33
@@ -209,13 +209,13 @@
/// Represents a data type consisting of a vector four unsigned long integer values.
MTLDataTypeULong4 API_AVAILABLE(macos(12.0), ios(14.0)) = 88,
/// Represents a data type corresponding to a visible function table object.
- MTLDataTypeVisibleFunctionTable API_AVAILABLE(macos(11.0), ios(14.0)) = 115,
+ MTLDataTypeVisibleFunctionTable API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0)) = 115,
/// Represents a data type corresponding to an intersection function table object.
- MTLDataTypeIntersectionFunctionTable API_AVAILABLE(macos(11.0), ios(14.0)) = 116,
+ MTLDataTypeIntersectionFunctionTable API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0)) = 116,
/// Represents a data type corresponding to a primitive acceleration structure.
- MTLDataTypePrimitiveAccelerationStructure API_AVAILABLE(macos(11.0), ios(14.0)) = 117,
+ MTLDataTypePrimitiveAccelerationStructure API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0)) = 117,
/// Represents a data type corresponding to an instance acceleration structure.
- MTLDataTypeInstanceAccelerationStructure API_AVAILABLE(macos(11.0), ios(14.0)) = 118,
+ MTLDataTypeInstanceAccelerationStructure API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0)) = 118,
/// Represents a data type consisting of a single BFloat value.
MTLDataTypeBFloat API_AVAILABLE(macos(14.0), ios(17.0)) = 121,
/// Represents a data type consisting of a vector two BFloat values.
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h 2025-05-28 04:53:27
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h 2025-06-14 03:07:48
@@ -307,7 +307,7 @@
{
MTLSparseTextureRegionAlignmentModeOutward = 0,
MTLSparseTextureRegionAlignmentModeInward = 1,
-} API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+} API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
/**
* @brief Describes the memory requirements for an acceleration structure
@@ -560,21 +560,21 @@
@abstract Query device for 32-bit Float texture filtering support. Specifically, R32Float, RG32Float, and RGBA32Float.
@return BOOL value. If YES, the device supports filtering 32-bit Float textures. If NO, the device does not.
*/
-@property(readonly) BOOL supports32BitFloatFiltering API_AVAILABLE(macos(11.0), ios(14.0));
+@property(readonly) BOOL supports32BitFloatFiltering API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
@property supports32BitMSAA
@abstract Query device for 32-bit MSAA texture support. Specifically, added support for allocating 32-bit Integer format textures (R32Uint, R32Sint, RG32Uint, RG32Sint, RGBA32Uint, and RGBA32Sint) and resolving 32-bit Float format textures (R32Float, RG32Float, and RGBA32Float).
@return BOOL value. If YES, the device supports these additional 32-bit MSAA texture capabilities. If NO, the devices does not.
*/
-@property(readonly) BOOL supports32BitMSAA API_AVAILABLE(macos(11.0), ios(14.0));
+@property(readonly) BOOL supports32BitMSAA API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
@property supportsQueryTextureLOD
@abstract Query device for whether it supports the `calculate_clampled_lod` and `calculate_unclamped_lod` Metal shading language functionality.
@return BOOL value. If YES, the device supports the calculate LOD functionality. If NO, the device does not.
*/
-@property (readonly) BOOL supportsQueryTextureLOD API_AVAILABLE(macos(11.0), ios(14.0));
+@property (readonly) BOOL supportsQueryTextureLOD API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
@property supportsBCTextureCompression
@@ -602,7 +602,7 @@
@abstract Query device for Barycentric Coordinates support.
@return BOOL value. If YES, the device supports barycentric coordinates. If NO, the device does not.
*/
- @property (readonly) BOOL supportsShaderBarycentricCoordinates API_AVAILABLE(macos(10.15), ios(14.0));
+ @property (readonly) BOOL supportsShaderBarycentricCoordinates API_AVAILABLE(macos(10.15), ios(14.0), tvos(16.0));
/*!
@property currentAllocatedSize
@@ -957,7 +957,7 @@
@param layerCount The number of layers for which to query device support.
@return YES if the device supports creation of rendering using a MTLRasterizationRateMap with the given number of layers.
*/
--(BOOL)supportsRasterizationRateMapWithLayerCount:(NSUInteger)layerCount API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4));
+-(BOOL)supportsRasterizationRateMapWithLayerCount:(NSUInteger)layerCount API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4), tvos(16.0));
/*!
@method newRasterizationRateMapWithDescriptor:
@@ -965,7 +965,7 @@
@discussion If '[self supportsRasterizationRateMapWithLayerCount:descriptor.layerCount]' returns NO, or descriptor.screenSize describes an empty region, the result will always be nil.
@return A MTLRasterizationRateMap instance that can be used for rendering on this MTLDevice, or nil if the device does not support the combination of parameters stored in the descriptor.
*/
--(nullable id<MTLRasterizationRateMap>)newRasterizationRateMapWithDescriptor:(MTLRasterizationRateMapDescriptor*)descriptor API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4));
+-(nullable id<MTLRasterizationRateMap>)newRasterizationRateMapWithDescriptor:(MTLRasterizationRateMapDescriptor*)descriptor API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4), tvos(16.0));
/*!
* @method newIndirectCommandBufferWithDescriptor:maxCommandCount:options
@@ -1082,13 +1082,13 @@
*/
-(MTLSize) sparseTileSizeWithTextureType:(MTLTextureType)textureType
pixelFormat:(MTLPixelFormat)pixelFormat
- sampleCount:(NSUInteger)sampleCount API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+ sampleCount:(NSUInteger)sampleCount API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
/*!
@property sparseTileSizeInBytes
@abstract Returns the number of bytes required to map one sparse texture tile.
*/
-@property (readonly) NSUInteger sparseTileSizeInBytes API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+@property (readonly) NSUInteger sparseTileSizeInBytes API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
@optional
/*!
@@ -1100,7 +1100,7 @@
toTileRegions:(MTLRegion[_Nonnull])tileRegions
withTileSize:(MTLSize)tileSize
alignmentMode:(MTLSparseTextureRegionAlignmentMode)mode
- numRegions:(NSUInteger)numRegions API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+ numRegions:(NSUInteger)numRegions API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
/*!
* @method convertSparseTileRegions:toPixelRegions:withTileSize:numRegions:
@@ -1110,7 +1110,7 @@
-(void) convertSparseTileRegions:(const MTLRegion[_Nonnull])tileRegions
toPixelRegions:(MTLRegion[_Nonnull])pixelRegions
withTileSize:(MTLSize)tileSize
- numRegions:(NSUInteger)numRegions API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+ numRegions:(NSUInteger)numRegions API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
@required
@@ -1184,7 +1184,7 @@
@param count The amplification count to check
@return BOOL value. If YES, the device supports vertex amplification with the given count. If NO, the device does not.
*/
-- (BOOL)supportsVertexAmplificationCount:(NSUInteger)count API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4));
+- (BOOL)supportsVertexAmplificationCount:(NSUInteger)count API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4), tvos(16.0));
/*!
@property supportsDynamicLibraries
@@ -1235,12 +1235,12 @@
@abstract Query device support for using ray tracing from compute pipelines.
@return BOOL value. If YES, the device supports ray tracing from compute pipelines. If NO, the device does not.
*/
-@property (readonly) BOOL supportsRaytracing API_AVAILABLE(macos(11.0), ios(14.0));
+@property (readonly) BOOL supportsRaytracing API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
-- (MTLAccelerationStructureSizes)accelerationStructureSizesWithDescriptor:(MTLAccelerationStructureDescriptor *)descriptor API_AVAILABLE(macos(11.0), ios(14.0));
+- (MTLAccelerationStructureSizes)accelerationStructureSizesWithDescriptor:(MTLAccelerationStructureDescriptor *)descriptor API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
-- (nullable id <MTLAccelerationStructure>)newAccelerationStructureWithSize:(NSUInteger)size API_AVAILABLE(macos(11.0), ios(14.0));
-- (nullable id <MTLAccelerationStructure>)newAccelerationStructureWithDescriptor:(MTLAccelerationStructureDescriptor *)descriptor API_AVAILABLE(macos(11.0), ios(14.0));
+- (nullable id <MTLAccelerationStructure>)newAccelerationStructureWithSize:(NSUInteger)size API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
+- (nullable id <MTLAccelerationStructure>)newAccelerationStructureWithDescriptor:(MTLAccelerationStructureDescriptor *)descriptor API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
@@ -1263,28 +1263,28 @@
@abstract Query device support for using function pointers from compute pipelines.
@return BOOL value. If YES, the device supports function pointers from compute pipelines. If NO, the device does not.
*/
-@property (readonly) BOOL supportsFunctionPointers API_AVAILABLE(macos(11.0), ios(14.0));
+@property (readonly) BOOL supportsFunctionPointers API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
@property supportsFunctionPointersFromRender
@abstract Query device support for using function pointers from render pipeline stages.
@return BOOL value. If YES, the device supports function pointers from render pipeline stages. If NO, the device does not.
*/
-@property (readonly) BOOL supportsFunctionPointersFromRender API_AVAILABLE(macos(12.0), ios(15.0));
+@property (readonly) BOOL supportsFunctionPointersFromRender API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@property supportsRaytracingFromRender
@abstract Query device support for using ray tracing from render pipeline stages.
@return BOOL value. If YES, the device supports ray tracing from render pipeline stages. If NO, the device does not.
*/
-@property (readonly) BOOL supportsRaytracingFromRender API_AVAILABLE(macos(12.0), ios(15.0));
+@property (readonly) BOOL supportsRaytracingFromRender API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@property supportsPrimitiveMotionBlur
@abstract Query device support for using ray tracing primitive motion blur.
@return BOOL value. If YES, the device supports the primitive motion blur api. If NO, the device does not.
*/
-@property (readonly) BOOL supportsPrimitiveMotionBlur API_AVAILABLE(macos(11.0), ios(14.0));
+@property (readonly) BOOL supportsPrimitiveMotionBlur API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
@property shouldMaximizeConcurrentCompilation
@@ -1479,7 +1479,7 @@
/// your app resolves it into a usable format.
///
/// In order to use the data available in a ``MTL4CounterHeap``, your app first resolves it either in the CPU timeline
-/// or in the GPU timeline. When your app calls ``MTL4CommandBuffer/resolveCounterHeap:withRange:intoBuffer:atOffset:waitFence:updateFence:``
+/// or in the GPU timeline. When your app calls ``MTL4CommandBuffer/resolveCounterHeap:withRange:intoBuffer:waitFence:updateFence:``
/// to resolve counter data in the GPU timeline, Metal writes the data into a ``MTLBuffer``.
///
/// During this process, Metal transform the data in the heap into a format consisting of entries of the size
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLFunctionDescriptor.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLFunctionDescriptor.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLFunctionDescriptor.h 2025-05-28 04:53:28
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLFunctionDescriptor.h 2025-06-14 03:07:49
@@ -23,7 +23,7 @@
* @brief Compiles the found function. This enables dynamic linking of this `MTLFunction`.
* Only supported for `visible` functions.
*/
- MTLFunctionOptionCompileToBinary API_AVAILABLE(macos(11.0), ios(14.0)) = 1 << 0,
+ MTLFunctionOptionCompileToBinary API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0)) = 1 << 0,
/**
* @brief stores and tracks this function in a Metal Pipelines Script
* This flag is optional and only supported in the context of binary archives.
@@ -88,7 +88,7 @@
@end
-MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0))
+MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0))
@interface MTLIntersectionFunctionDescriptor : MTLFunctionDescriptor <NSCopying>
@end
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLFunctionHandle.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLFunctionHandle.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLFunctionHandle.h 2025-05-28 04:53:29
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLFunctionHandle.h 2025-06-14 03:07:50
@@ -10,7 +10,7 @@
#import <Metal/MTLTypes.h>
#import <Metal/MTLLibrary.h>
-API_AVAILABLE(macos(11.0), ios(14.0)) NS_SWIFT_SENDABLE
+API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0)) NS_SWIFT_SENDABLE
@protocol MTLFunctionHandle <NSObject>
@property (readonly) MTLFunctionType functionType;
@property (readonly, nonnull) NSString* name;
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLHeap.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLHeap.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLHeap.h 2025-05-28 04:53:29
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLHeap.h 2025-06-14 03:07:50
@@ -32,7 +32,7 @@
{
MTLHeapTypeAutomatic = 0,
MTLHeapTypePlacement = 1,
- MTLHeapTypeSparse API_AVAILABLE(macos(11.0), macCatalyst(14.0)) = 2 ,
+ MTLHeapTypeSparse API_AVAILABLE(macos(11.0), macCatalyst(14.0), tvos(16.0)) = 2 ,
} API_AVAILABLE(macos(10.15), ios(13.0));
/*!
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIntersectionFunctionTable.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIntersectionFunctionTable.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIntersectionFunctionTable.h 2025-05-28 02:54:17
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIntersectionFunctionTable.h 2025-06-14 03:07:49
@@ -68,19 +68,19 @@
* @brief The intersection functions may be called from intersectors using the
* instance_motion intersection tag as described in the Metal Shading Language Guide.
*/
- MTLIntersectionFunctionSignatureInstanceMotion API_AVAILABLE(macos(12.0), ios(15.0)) = (1 << 3),
+ MTLIntersectionFunctionSignatureInstanceMotion API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) = (1 << 3),
/**
* @brief The intersection functions can query time, motion_start_time,
* motion_end_time and key_frame_count as described in the Metal Shading Language Guide.
*/
- MTLIntersectionFunctionSignaturePrimitiveMotion API_AVAILABLE(macos(12.0), ios(15.0)) = (1 << 4),
+ MTLIntersectionFunctionSignaturePrimitiveMotion API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) = (1 << 4),
/**
* @brief The intersection functions may be called from intersectors using the
* extended_limits intersection tag as described in the Metal Shading Language Guide.
*/
- MTLIntersectionFunctionSignatureExtendedLimits API_AVAILABLE(macos(12.0), ios(15.0)) = (1 << 5),
+ MTLIntersectionFunctionSignatureExtendedLimits API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) = (1 << 5),
/**
* @brief The intersection functions may be called from intersectors using the
@@ -103,9 +103,9 @@
* @brief The intersection function uses the intersection function buffer user_data pointer
*/
MTLIntersectionFunctionSignatureUserData API_AVAILABLE(macos(26.0), ios(26.0)) = (1 << 9),
-} MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0));
+} MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
-MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0))
+MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0))
@interface MTLIntersectionFunctionTableDescriptor : NSObject <NSCopying>
/*!
@@ -122,7 +122,7 @@
@end
-API_AVAILABLE(macos(11.0), ios(14.0))
+API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0))
@protocol MTLIntersectionFunctionTable <MTLResource>
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h 2025-05-28 02:01:32
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLibrary.h 2025-06-16 02:25:14
@@ -100,7 +100,7 @@
MTLFunctionTypeFragment = 2,
MTLFunctionTypeKernel = 3,
MTLFunctionTypeVisible API_AVAILABLE(macos(11.0), ios(14.0)) = 5,
- MTLFunctionTypeIntersection API_AVAILABLE(macos(11.0), ios(14.0)) = 6,
+ MTLFunctionTypeIntersection API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0)) = 6,
MTLFunctionTypeMesh API_AVAILABLE(macos(13.0), ios(16.0)) = 7,
MTLFunctionTypeObject API_AVAILABLE(macos(13.0), ios(16.0)) = 8,
} API_AVAILABLE(macos(10.11), ios(8.0));
@@ -199,7 +199,7 @@
@property options
@abstract The options this function was created with.
*/
-@property (readonly) MTLFunctionOptions options API_AVAILABLE(macos(11.0), ios(14.0));
+@property (readonly) MTLFunctionOptions options API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
@end
@@ -508,7 +508,7 @@
*/
- (void)newIntersectionFunctionWithDescriptor:(nonnull MTLIntersectionFunctionDescriptor *)descriptor
completionHandler:(void (^)(id<MTLFunction> __nullable function, NSError* __nullable error))completionHandler
- API_AVAILABLE(macos(11.0), ios(14.0));
+ API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
@method newIntersectionFunctionWithDescriptor:error:
@@ -516,7 +516,7 @@
*/
- (nullable id <MTLFunction>)newIntersectionFunctionWithDescriptor:(nonnull MTLIntersectionFunctionDescriptor *)descriptor
error:(__autoreleasing NSError **)error
- API_AVAILABLE(macos(11.0), ios(14.0));
+ API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLinkedFunctions.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLinkedFunctions.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLinkedFunctions.h 2025-05-28 04:53:28
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLLinkedFunctions.h 2025-06-14 03:07:49
@@ -37,7 +37,7 @@
* @property binaryFunctions
* @abstract The array of functions compiled to binary to be linked.
*/
-@property (readwrite, nonatomic, copy, nullable) NSArray<id<MTLFunction>> *binaryFunctions API_AVAILABLE(macos(11.0), ios(14.0));
+@property (readwrite, nonatomic, copy, nullable) NSArray<id<MTLFunction>> *binaryFunctions API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
/*!
* @property groups
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLPixelFormat.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLPixelFormat.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLPixelFormat.h 2025-05-28 02:54:19
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLPixelFormat.h 2025-06-16 02:25:14
@@ -177,20 +177,20 @@
// ASTC HDR (High Dynamic Range) Formats
- MTLPixelFormatASTC_4x4_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0)) = 222,
- MTLPixelFormatASTC_5x4_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0)) = 223,
- MTLPixelFormatASTC_5x5_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0)) = 224,
- MTLPixelFormatASTC_6x5_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0)) = 225,
- MTLPixelFormatASTC_6x6_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0)) = 226,
- MTLPixelFormatASTC_8x5_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0)) = 228,
- MTLPixelFormatASTC_8x6_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0)) = 229,
- MTLPixelFormatASTC_8x8_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0)) = 230,
- MTLPixelFormatASTC_10x5_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0)) = 231,
- MTLPixelFormatASTC_10x6_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0)) = 232,
- MTLPixelFormatASTC_10x8_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0)) = 233,
- MTLPixelFormatASTC_10x10_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0)) = 234,
- MTLPixelFormatASTC_12x10_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0)) = 235,
- MTLPixelFormatASTC_12x12_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0)) = 236,
+ MTLPixelFormatASTC_4x4_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0)) = 222,
+ MTLPixelFormatASTC_5x4_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0)) = 223,
+ MTLPixelFormatASTC_5x5_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0)) = 224,
+ MTLPixelFormatASTC_6x5_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0)) = 225,
+ MTLPixelFormatASTC_6x6_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0)) = 226,
+ MTLPixelFormatASTC_8x5_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0)) = 228,
+ MTLPixelFormatASTC_8x6_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0)) = 229,
+ MTLPixelFormatASTC_8x8_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0)) = 230,
+ MTLPixelFormatASTC_10x5_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0)) = 231,
+ MTLPixelFormatASTC_10x6_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0)) = 232,
+ MTLPixelFormatASTC_10x8_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0)) = 233,
+ MTLPixelFormatASTC_10x10_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0)) = 234,
+ MTLPixelFormatASTC_12x10_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0)) = 235,
+ MTLPixelFormatASTC_12x12_HDR API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0)) = 236,
/*!
@constant MTLPixelFormatGBGR422
@abstract A pixel format where the red and green channels are subsampled horizontally. Two pixels are stored in 32 bits, with shared red and blue values, and unique green values.
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRasterizationRate.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRasterizationRate.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRasterizationRate.h 2025-05-28 04:53:28
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRasterizationRate.h 2025-06-16 02:25:11
@@ -13,7 +13,7 @@
@interface MTLRasterizationRateSampleArray
@abstract A helper object for convient access to samples stored in an array.
*/
-MTL_EXPORT API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4))
+MTL_EXPORT API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4), tvos(16.0))
@interface MTLRasterizationRateSampleArray : NSObject
/*!
@@ -42,7 +42,7 @@
MTLRasterizationRateLayerDescriptor instances will be stored inside a MTLRasterizationRateMapDescriptor which in turn is compiled by MTLDevice into a MTLRasterizationRateMap.
Because MTLDevice may not support the requested granularity, the provided samples may be rounded up (towards higher quality) during compilation.
*/
-MTL_EXPORT API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4))
+MTL_EXPORT API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4), tvos(16.0))
@interface MTLRasterizationRateLayerDescriptor : NSObject <NSCopying>
/*!
@@ -73,13 +73,13 @@
@property sampleCount
@return The number of quality samples that this descriptor uses to describe its current function, for the horizontal and vertical axis. The depth component of the returned MTLSize is always 0.
*/
-@property (readonly, nonatomic) MTLSize sampleCount API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4));
+@property (readonly, nonatomic) MTLSize sampleCount API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4), tvos(16.0));
/*!
@property maxSampleCount
@return The maximum number of quality samples that this descriptor can use to describe its function, for the horizontal and vertical axis, this is the sampleCount that the descriptor was initialized with. The depth component of the returned MTLSize is always 0.
*/
-@property (readonly, nonatomic) MTLSize maxSampleCount API_AVAILABLE(macos(12.0), ios(15.0));
+@property (readonly, nonatomic) MTLSize maxSampleCount API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@property horizontalSampleStorage
@@ -118,14 +118,14 @@
@abstract This declaration adds a setter to the previously (prior to macOS 12.0 and iOS 15.0) read-only property.
@discussion Setting a value (must be <= maxSampleCount) to allow MTLRasterizationRateLayerDescriptor to be re-used with a different number of samples without having to be recreated.
*/
-@property (readwrite, nonatomic) MTLSize sampleCount API_AVAILABLE(macos(12.0), ios(15.0));
+@property (readwrite, nonatomic) MTLSize sampleCount API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
@end
/*!
@interface MTLRasterizationRateLayerArray
@abstract Mutable array of MTLRasterizationRateLayerDescriptor
*/
-MTL_EXPORT API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4))
+MTL_EXPORT API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4), tvos(16.0))
@interface MTLRasterizationRateLayerArray : NSObject
/*!
@@ -149,7 +149,7 @@
@abstract Describes a MTLRasterizationRateMap containing an arbitrary number of MTLRasterizationRateLayerDescriptor instances.
@discussion An MTLRasterizationRateMapDescriptor is compiled into an MTLRasterizationRateMap using MTLDevice.
*/
-MTL_EXPORT API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4))
+MTL_EXPORT API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4), tvos(16.0))
@interface MTLRasterizationRateMapDescriptor : NSObject <NSCopying>
/*!
@@ -240,7 +240,7 @@
Because a smaller area of the framebuffer is populated, less fragment shader invocations are required to render content, and less bandwidth is consumed to store the shaded values.
Use a rasterization rate map to reduce rendering quality in less-important or less-sampled regions of the framebuffer, such as the periphery of a VR/AR display or a far-away cascade of a shadow map.
*/
-API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4)) NS_SWIFT_SENDABLE
+API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4), tvos(16.0)) NS_SWIFT_SENDABLE
@protocol MTLRasterizationRateMap <NSObject>
/*!
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderCommandEncoder.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderCommandEncoder.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderCommandEncoder.h 2025-05-28 02:48:23
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderCommandEncoder.h 2025-06-16 02:25:12
@@ -25,6 +25,8 @@
@protocol MTLTexture;
@protocol MTLRenderPipelineState;
+@class MTLLogicalToPhysicalColorAttachmentMap;
+
typedef NS_ENUM(NSUInteger, MTLPrimitiveType) {
MTLPrimitiveTypePoint = 0,
MTLPrimitiveTypeLine = 1,
@@ -86,7 +88,7 @@
typedef struct {
uint32_t viewportArrayIndexOffset;
uint32_t renderTargetArrayIndexOffset;
-} MTLVertexAmplificationViewMapping API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4));
+} MTLVertexAmplificationViewMapping API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4), tvos(16.0));
typedef struct {
uint32_t patchCount;
@@ -246,31 +248,31 @@
@method setVertexVisibleFunctionTable:atBufferIndex:
@brief Set a global visible function table for all vertex shaders at the given buffer bind point index.
*/
-- (void)setVertexVisibleFunctionTable:(nullable id <MTLVisibleFunctionTable>)functionTable atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(12.0), ios(15.0));
+- (void)setVertexVisibleFunctionTable:(nullable id <MTLVisibleFunctionTable>)functionTable atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method setVertexVisibleFunctionTables:withBufferRange:
@brief Set an array of global visible function tables for all vertex shaders with the given buffer bind point range.
*/
-- (void)setVertexVisibleFunctionTables:(const id <MTLVisibleFunctionTable> __nullable [__nonnull])functionTables withBufferRange:(NSRange)range API_AVAILABLE(macos(12.0), ios(15.0));
+- (void)setVertexVisibleFunctionTables:(const id <MTLVisibleFunctionTable> __nullable [__nonnull])functionTables withBufferRange:(NSRange)range API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method setVertexIntersectionFunctionTable:atBufferIndex:
@brief Set a global intersection function table for all vertex shaders at the given buffer bind point index.
*/
-- (void)setVertexIntersectionFunctionTable:(nullable id <MTLIntersectionFunctionTable>)intersectionFunctionTable atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(12.0), ios(15.0));
+- (void)setVertexIntersectionFunctionTable:(nullable id <MTLIntersectionFunctionTable>)intersectionFunctionTable atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method setVertexIntersectionFunctionTables:withBufferRange:
@brief Set an array of global intersection function tables for all vertex shaders with the given buffer bind point range.
*/
-- (void)setVertexIntersectionFunctionTables:(const id <MTLIntersectionFunctionTable> __nullable [__nonnull])intersectionFunctionTables withBufferRange:(NSRange)range API_AVAILABLE(macos(12.0), ios(15.0));
+- (void)setVertexIntersectionFunctionTables:(const id <MTLIntersectionFunctionTable> __nullable [__nonnull])intersectionFunctionTables withBufferRange:(NSRange)range API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method setVertexAccelerationStructure:atBufferIndex:
@brief Set a global acceleration structure for all vertex shaders at the given buffer bind point index.
*/
-- (void)setVertexAccelerationStructure:(nullable id <MTLAccelerationStructure>)accelerationStructure atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(12.0), ios(15.0));
+- (void)setVertexAccelerationStructure:(nullable id <MTLAccelerationStructure>)accelerationStructure atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method setViewport:
@@ -297,7 +299,7 @@
@param viewMappings an array of mapping elements.
@discussion Each mapping element describes how to route the corresponding amplification ID to a specific viewport and render target array index by using offsets from the base array index provided by the [[render_target_array_index]] and/or [[viewport_array_index]] output attributes in the vertex shader. This allows a modicum of programmability for each amplified vertex to be routed to a different [[render_target_array_index]] and [[viewport_array_index]] even though these attribytes cannot be amplified themselves.
*/
-- (void)setVertexAmplificationCount:(NSUInteger)count viewMappings:(nullable const MTLVertexAmplificationViewMapping *)viewMappings API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4));
+- (void)setVertexAmplificationCount:(NSUInteger)count viewMappings:(nullable const MTLVertexAmplificationViewMapping *)viewMappings API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4), tvos(16.0));
/*!
@method setCullMode:
@@ -403,31 +405,31 @@
@method setFragmentVisibleFunctionTable:atBufferIndex:
@brief Set a global visible function table for all fragment shaders at the given buffer bind point index.
*/
-- (void)setFragmentVisibleFunctionTable:(nullable id <MTLVisibleFunctionTable>)functionTable atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(12.0), ios(15.0));
+- (void)setFragmentVisibleFunctionTable:(nullable id <MTLVisibleFunctionTable>)functionTable atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method setFragmentVisibleFunctionTables:withBufferRange:
@brief Set an array of global visible function tables for all fragment shaders with the given buffer bind point range.
*/
-- (void)setFragmentVisibleFunctionTables:(const id <MTLVisibleFunctionTable> __nullable [__nonnull])functionTables withBufferRange:(NSRange)range API_AVAILABLE(macos(12.0), ios(15.0));
+- (void)setFragmentVisibleFunctionTables:(const id <MTLVisibleFunctionTable> __nullable [__nonnull])functionTables withBufferRange:(NSRange)range API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method setFragmentIntersectionFunctionTable:atBufferIndex:
@brief Set a global intersection function table for all fragment shaders at the given buffer bind point index.
*/
-- (void)setFragmentIntersectionFunctionTable:(nullable id <MTLIntersectionFunctionTable>)intersectionFunctionTable atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(12.0), ios(15.0));
+- (void)setFragmentIntersectionFunctionTable:(nullable id <MTLIntersectionFunctionTable>)intersectionFunctionTable atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method setFragmentIntersectionFunctionTables:withBufferRange:
@brief Set an array of global intersection function tables for all fragment shaders with the given buffer bind point range.
*/
-- (void)setFragmentIntersectionFunctionTables:(const id <MTLIntersectionFunctionTable> __nullable [__nonnull])intersectionFunctionTables withBufferRange:(NSRange)range API_AVAILABLE(macos(12.0), ios(15.0));
+- (void)setFragmentIntersectionFunctionTables:(const id <MTLIntersectionFunctionTable> __nullable [__nonnull])intersectionFunctionTables withBufferRange:(NSRange)range API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method setFragmentAccelerationStructure:atBufferIndex:
@brief Set a global acceleration structure for all fragment shaders at the given buffer bind point index.
*/
-- (void)setFragmentAccelerationStructure:(nullable id <MTLAccelerationStructure>)accelerationStructure atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(12.0), ios(15.0));
+- (void)setFragmentAccelerationStructure:(nullable id <MTLAccelerationStructure>)accelerationStructure atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/* Constant Blend Color */
/*!
@@ -889,32 +891,32 @@
@method setTileVisibleFunctionTable:atBufferIndex:
@brief Set a global visible function table for all tile shaders at the given buffer bind point index.
*/
-- (void)setTileVisibleFunctionTable:(nullable id <MTLVisibleFunctionTable>)functionTable atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(12.0), ios(15.0));
+- (void)setTileVisibleFunctionTable:(nullable id <MTLVisibleFunctionTable>)functionTable atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method setTileVisibleFunctionTables:withBufferRange:
@brief Set an array of global visible function tables for all tile shaders with the given buffer bind point range.
*/
-- (void)setTileVisibleFunctionTables:(const id <MTLVisibleFunctionTable> __nullable [__nonnull])functionTables withBufferRange:(NSRange)range API_AVAILABLE(macos(12.0), ios(15.0));
+- (void)setTileVisibleFunctionTables:(const id <MTLVisibleFunctionTable> __nullable [__nonnull])functionTables withBufferRange:(NSRange)range API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method setTileIntersectionFunctionTable:atBufferIndex:
@brief Set a global intersection function table for all tile shaders at the given buffer bind point index.
*/
- (void)setTileIntersectionFunctionTable:(nullable id <MTLIntersectionFunctionTable>)intersectionFunctionTable atBufferIndex:(NSUInteger)bufferIndex
- API_AVAILABLE(macos(12.0), ios(15.0));
+ API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method setTileIntersectionFunctionTables:withBufferRange:
@brief Set an array of global intersection function tables for all tile shaders with the given buffer bind point range.
*/
-- (void)setTileIntersectionFunctionTables:(const id <MTLIntersectionFunctionTable> __nullable [__nonnull])intersectionFunctionTables withBufferRange:(NSRange)range API_AVAILABLE(macos(12.0), ios(15.0));
+- (void)setTileIntersectionFunctionTables:(const id <MTLIntersectionFunctionTable> __nullable [__nonnull])intersectionFunctionTables withBufferRange:(NSRange)range API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method setTileAccelerationStructure:atBufferIndex:
@brief Set a global acceleration structure for all tile shaders at the given buffer bind point index.
*/
-- (void)setTileAccelerationStructure:(nullable id <MTLAccelerationStructure>)accelerationStructure atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(12.0), ios(15.0));
+- (void)setTileAccelerationStructure:(nullable id <MTLAccelerationStructure>)accelerationStructure atBufferIndex:(NSUInteger)bufferIndex API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method dispatchThreadsPerTile:
@@ -1049,5 +1051,21 @@
-(void)sampleCountersInBuffer:(id<MTLCounterSampleBuffer>)sampleBuffer
atSampleIndex:(NSUInteger)sampleIndex
withBarrier:(BOOL)barrier API_AVAILABLE(macos(10.15), ios(14.0));
+
+
+/// Sets the mapping from logical shader color output to physical render pass color attachments.
+///
+/// Use this method to define how the physical color attachments you specify via ``MTLRenderPassDescriptor/colorAttachments``
+/// map to the logical color output the fragment shader writes to.
+///
+/// To use this feature, make sure to set ``MTLRenderPassDescriptor/supportColorAttachmentMapping`` to
+/// <doc://com.apple.documentation/documentation/swift/true>.
+///
+/// - Parameter mapping: Mapping from logical shader outputs to physical outputs.
+- (void)setColorAttachmentMap:(nullable MTLLogicalToPhysicalColorAttachmentMap *)mapping
+API_AVAILABLE(macos(26.0), ios(26.0));
+
+
+
@end
NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPass.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPass.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPass.h 2025-05-28 02:01:31
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPass.h 2025-06-16 00:56:32
@@ -393,7 +393,7 @@
@abstract The variable rasterization rate map to use when rendering this pass, or nil to not use variable rasterization rate.
@discussion The default value is nil. Enabling variable rasterization rate allows for decreasing the rasterization rate in unimportant regions of screen space.
*/
-@property (nullable, nonatomic, strong) id<MTLRasterizationRateMap> rasterizationRateMap API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4));
+@property (nullable, nonatomic, strong) id<MTLRasterizationRateMap> rasterizationRateMap API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4), tvos(16.0));
/*!
@property sampleBufferAttachments
@@ -403,6 +403,9 @@
/// Specifies if Metal accumulates visibility results between render encoders or resets them.
@property (nonatomic) MTLVisibilityResultType visibilityResultType API_AVAILABLE(macos(26.0), ios(26.0));
+
+/// Specifies if the render pass should support color attachment mapping.
+@property (nonatomic) BOOL supportColorAttachmentMapping API_AVAILABLE(macos(26.0), ios(26.0));
@end
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h 2025-05-28 02:54:18
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h 2025-06-16 02:25:12
@@ -144,6 +144,25 @@
@end
+/// Allows you to easily specify color attachment remapping from logical to physical indices.
+MTL_EXPORT
+API_AVAILABLE(macos(26.0), ios(26.0))
+@interface MTLLogicalToPhysicalColorAttachmentMap : NSObject<NSCopying>
+
+/// Maps a physical color attachment index to a logical index.
+///
+/// - Parameters:
+/// - physicalIndex: index of the color attachment's physical mapping.
+/// - logicalIndex: index of the color attachment's logical mapping.
+- (void)setPhysicalIndex:(NSUInteger)physicalIndex forLogicalIndex:(NSUInteger)logicalIndex;
+
+/// Queries the physical color attachment index corresponding to a logical index.
+- (NSUInteger)getPhysicalIndexForLogicalIndex:(NSUInteger)logicalIndex;
+
+- (void)reset;
+@end
+
+
MTL_EXPORT API_AVAILABLE(macos(10.11), ios(8.0)) NS_SWIFT_SENDABLE
@interface MTLRenderPipelineReflection : NSObject
@@ -175,7 +194,7 @@
@property (readwrite, nonatomic, getter = isRasterizationEnabled) BOOL rasterizationEnabled;
-@property (readwrite, nonatomic) NSUInteger maxVertexAmplificationCount API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4));
+@property (readwrite, nonatomic) NSUInteger maxVertexAmplificationCount API_AVAILABLE(macos(10.15.4), ios(13.0), macCatalyst(13.4), tvos(16.0));
@property (readonly) MTLRenderPipelineColorAttachmentDescriptorArray *colorAttachments;
@@ -247,28 +266,28 @@
@abstract This flag makes this pipeline support creating a new pipeline by adding binary functions.
*/
@property (readwrite, nonatomic) BOOL supportAddingVertexBinaryFunctions
-API_AVAILABLE(macos(12.0), ios(15.0));
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@property supportFragmentAddingBinaryFunctions
@abstract This flag makes this pipeline support creating a new pipeline by adding binary functions.
*/
@property (readwrite, nonatomic) BOOL supportAddingFragmentBinaryFunctions
-API_AVAILABLE(macos(12.0), ios(15.0));
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@property maxVertexCallStackDepth
@abstract The maximum depth of the call stack in stack frames from the shader. Defaults to 1 additional stack frame.
*/
@property (readwrite, nonatomic) NSUInteger maxVertexCallStackDepth
-API_AVAILABLE(macos(12.0), ios(15.0));
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@property maxFragmentCallStackDepth
@abstract The maximum depth of the call stack in stack frames from the shader. Defaults to 1 additional stack frame.
*/
@property (readwrite, nonatomic) NSUInteger maxFragmentCallStackDepth
-API_AVAILABLE(macos(12.0), ios(15.0));
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
@@ -287,7 +306,7 @@
@end
-MTL_EXPORT API_AVAILABLE(macos(12.0), ios(15.0))
+MTL_EXPORT API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0))
@interface MTLRenderPipelineFunctionsDescriptor : NSObject <NSCopying>
/*!
@@ -458,25 +477,25 @@
@method functionHandleWithFunction:stage:
@brief Gets the function handle for the specified function on the specified stage of the pipeline.
*/
-- (nullable id<MTLFunctionHandle>)functionHandleWithFunction:(id<MTLFunction>)function stage:(MTLRenderStages)stage API_AVAILABLE(macos(12.0), ios(15.0));
+- (nullable id<MTLFunctionHandle>)functionHandleWithFunction:(id<MTLFunction>)function stage:(MTLRenderStages)stage API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method newVisibleFunctionTableWithDescriptor:stage:
@brief Allocate a visible function table for the specified stage of the pipeline with the provided descriptor.
*/
-- (nullable id<MTLVisibleFunctionTable>)newVisibleFunctionTableWithDescriptor:(MTLVisibleFunctionTableDescriptor * __nonnull)descriptor stage:(MTLRenderStages)stage API_AVAILABLE(macos(12.0), ios(15.0));
+- (nullable id<MTLVisibleFunctionTable>)newVisibleFunctionTableWithDescriptor:(MTLVisibleFunctionTableDescriptor * __nonnull)descriptor stage:(MTLRenderStages)stage API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method newIntersectionFunctionTableWithDescriptor:stage:
@brief Allocate an intersection function table for the specified stage of the pipeline with the provided descriptor.
*/
-- (nullable id <MTLIntersectionFunctionTable>)newIntersectionFunctionTableWithDescriptor:(MTLIntersectionFunctionTableDescriptor * _Nonnull)descriptor stage:(MTLRenderStages)stage API_AVAILABLE(macos(12.0), ios(15.0));
+- (nullable id <MTLIntersectionFunctionTable>)newIntersectionFunctionTableWithDescriptor:(MTLIntersectionFunctionTableDescriptor * _Nonnull)descriptor stage:(MTLRenderStages)stage API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@method newRenderPipelineStateWithAdditionalBinaryFunctions:error:
@brief Allocate a new render pipeline state by adding binary functions for each stage of this pipeline state.
*/
-- (nullable id <MTLRenderPipelineState>)newRenderPipelineStateWithAdditionalBinaryFunctions:(nonnull MTLRenderPipelineFunctionsDescriptor *)additionalBinaryFunctions error:(__autoreleasing NSError **)error API_AVAILABLE(macos(12.0), ios(15.0));
+- (nullable id <MTLRenderPipelineState>)newRenderPipelineStateWithAdditionalBinaryFunctions:(nonnull MTLRenderPipelineFunctionsDescriptor *)additionalBinaryFunctions error:(__autoreleasing NSError **)error API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@property shaderValidation
@@ -606,14 +625,14 @@
@abstract This flag makes this pipeline support creating a new pipeline by adding binary functions.
*/
@property (readwrite, nonatomic) BOOL supportAddingBinaryFunctions
-API_AVAILABLE(macos(12.0), ios(15.0));
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
/*!
@property maxCallStackDepth
@abstract The maximum depth of the call stack in stack frames from the tile function. Defaults to 1 additional stack frame.
*/
@property (readwrite, nonatomic) NSUInteger maxCallStackDepth
-API_AVAILABLE(macos(12.0), ios(15.0));
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0));
- (void)reset;
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLResourceStateCommandEncoder.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLResourceStateCommandEncoder.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLResourceStateCommandEncoder.h 2025-05-28 04:53:30
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLResourceStateCommandEncoder.h 2025-06-14 03:07:51
@@ -23,7 +23,7 @@
{
MTLSparseTextureMappingModeMap = 0,
MTLSparseTextureMappingModeUnmap = 1,
-} API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+} API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
/*!
@enum MTLMapIndirectArguments
@@ -46,7 +46,7 @@
uint32_t sliceId;
} MTLMapIndirectArguments;
-API_AVAILABLE(macos(10.15), ios(13.0))
+API_AVAILABLE(macos(10.15), ios(13.0), tvos(16.0))
@protocol MTLResourceStateCommandEncoder <MTLCommandEncoder>
@@ -60,7 +60,7 @@
regions:(const MTLRegion[_Nonnull])regions
mipLevels:(const NSUInteger[_Nonnull])mipLevels
slices:(const NSUInteger[_Nonnull])slices
- numRegions:(NSUInteger)numRegions API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+ numRegions:(NSUInteger)numRegions API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
/*!
@method updateTextureMapping:region:mipLevel:slice:mode:
@@ -70,7 +70,7 @@
mode:(const MTLSparseTextureMappingMode)mode
region:(const MTLRegion)region
mipLevel:(const NSUInteger)mipLevel
- slice:(const NSUInteger)slice API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+ slice:(const NSUInteger)slice API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
/*!
@method updateTextureMapping:indirectBuffer:indirectBufferOffset:
@@ -84,7 +84,7 @@
-(void) updateTextureMapping:(id<MTLTexture>) texture
mode:(const MTLSparseTextureMappingMode)mode
indirectBuffer:(id<MTLBuffer>)indirectBuffer
- indirectBufferOffset:(NSUInteger)indirectBufferOffset API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+ indirectBufferOffset:(NSUInteger)indirectBufferOffset API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
/*!
@method updateFence:
@@ -92,7 +92,7 @@
@discussion The fence is updated at kernel submission to maintain global order and prevent deadlock.
Drivers may delay fence updates until the end of the encoder. Drivers may also wait on fences at the beginning of an encoder. It is therefore illegal to wait on a fence after it has been updated in the same encoder.
*/
-- (void)updateFence:(id <MTLFence>)fence API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+- (void)updateFence:(id <MTLFence>)fence API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
/*!
@method waitForFence:
@@ -100,7 +100,7 @@
@discussion The fence is evaluated at kernel submission to maintain global order and prevent deadlock.
Drivers may delay fence updates until the end of the encoder. Drivers may also wait on fences at the beginning of an encoder. It is therefore illegal to wait on a fence after it has been updated in the same encoder.
*/
-- (void)waitForFence:(id <MTLFence>)fence API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+- (void)waitForFence:(id <MTLFence>)fence API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
/*!
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLResourceStatePass.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLResourceStatePass.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLResourceStatePass.h 2025-05-28 04:53:28
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLResourceStatePass.h 2025-06-14 03:07:49
@@ -16,7 +16,7 @@
NS_ASSUME_NONNULL_BEGIN
@protocol MTLDevice;
-MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0))
+MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0))
@interface MTLResourceStatePassSampleBufferAttachmentDescriptor : NSObject<NSCopying>
/*!
@property sampleBuffer
@@ -50,7 +50,7 @@
@end
-MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0))
+MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0))
@interface MTLResourceStatePassSampleBufferAttachmentDescriptorArray : NSObject
/* Individual attachment state access */
- (MTLResourceStatePassSampleBufferAttachmentDescriptor *)objectAtIndexedSubscript:(NSUInteger)attachmentIndex;
@@ -64,7 +64,7 @@
@class MTLResourceStatePassDescriptor
@abstract MTLResourceStatePassDescriptor represents a collection of attachments to be used to create a concrete resourceState command encoder
*/
-MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0))
+MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0))
@interface MTLResourceStatePassDescriptor : NSObject <NSCopying>
/*!
@@ -78,7 +78,7 @@
@property sampleBufferAttachments
@abstract An array of sample buffers and associated sample indices.
*/
-@property (readonly) MTLResourceStatePassSampleBufferAttachmentDescriptorArray * sampleBufferAttachments API_AVAILABLE(macos(11.0), ios(14.0));
+@property (readonly) MTLResourceStatePassSampleBufferAttachmentDescriptorArray * sampleBufferAttachments API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0));
@end
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLSampler.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLSampler.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLSampler.h 2025-05-28 03:18:53
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLSampler.h 2025-06-14 03:07:51
@@ -63,11 +63,11 @@
*/
typedef NS_ENUM(NSUInteger, MTLSamplerAddressMode) {
MTLSamplerAddressModeClampToEdge = 0,
- MTLSamplerAddressModeMirrorClampToEdge API_AVAILABLE(macos(10.11), ios(14.0)) = 1,
+ MTLSamplerAddressModeMirrorClampToEdge API_AVAILABLE(macos(10.11), ios(14.0), tvos(16.0)) = 1,
MTLSamplerAddressModeRepeat = 2,
MTLSamplerAddressModeMirrorRepeat = 3,
MTLSamplerAddressModeClampToZero = 4,
- MTLSamplerAddressModeClampToBorderColor API_AVAILABLE(macos(10.12), ios(14.0)) = 5,
+ MTLSamplerAddressModeClampToBorderColor API_AVAILABLE(macos(10.12), ios(14.0), tvos(16.0)) = 5,
} API_AVAILABLE(macos(10.11), ios(8.0));
/*!
@@ -87,7 +87,7 @@
MTLSamplerBorderColorTransparentBlack = 0, // {0,0,0,0}
MTLSamplerBorderColorOpaqueBlack = 1, // {0,0,0,1}
MTLSamplerBorderColorOpaqueWhite = 2, // {1,1,1,1}
-} API_AVAILABLE(macos(10.12), ios(14.0));
+} API_AVAILABLE(macos(10.12), ios(14.0), tvos(16.0));
/*!
@@ -147,7 +147,7 @@
@property borderColor
@abstract Set the color for the MTLSamplerAddressMode to one of the predefined in the MTLSamplerBorderColor enum.
*/
-@property (nonatomic) MTLSamplerBorderColor borderColor API_AVAILABLE(macos(10.12), ios(14.0));
+@property (nonatomic) MTLSamplerBorderColor borderColor API_AVAILABLE(macos(10.12), ios(14.0), tvos(16.0));
/*!
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTexture.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTexture.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTexture.h 2025-05-28 04:53:28
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLTexture.h 2025-06-14 03:07:49
@@ -30,7 +30,7 @@
MTLTextureTypeCube = 5,
MTLTextureTypeCubeArray API_AVAILABLE(macos(10.11), ios(11.0)) = 6,
MTLTextureType3D = 7,
- MTLTextureType2DMultisampleArray API_AVAILABLE(macos(10.14), ios(14.0)) = 8,
+ MTLTextureType2DMultisampleArray API_AVAILABLE(macos(10.14), ios(14.0), tvos(16.0)) = 8,
MTLTextureTypeTextureBuffer API_AVAILABLE(macos(10.14), ios(12.0)) = 9
} API_AVAILABLE(macos(10.11), ios(8.0));
@@ -108,7 +108,7 @@
{
MTLTextureCompressionTypeLossless = 0,
MTLTextureCompressionTypeLossy = 1,
-} API_AVAILABLE(macos(12.5), ios(15.0));
+} API_AVAILABLE(macos(12.5), ios(15.0), tvos(16.0));
MTL_EXPORT API_AVAILABLE(macos(10.11), ios(8.0))
@interface MTLTextureDescriptor : NSObject <NSCopying>
@@ -243,7 +243,7 @@
Moreover, not all MTLPixelFormat are supported with lossy compression, verify that the MTLDevice's GPU family supports the lossy compression feature for the pixelFormat requested.
Set allowGPUOptimizedContents to NO to opt out of both lossless and lossy compression; such textures do not benefit from either reduced bandwidth usage or reduced storage requirements, but have predictable CPU readback performance.
*/
-@property (readwrite, nonatomic) MTLTextureCompressionType compressionType API_AVAILABLE(macos(12.5), ios(15.0));
+@property (readwrite, nonatomic) MTLTextureCompressionType compressionType API_AVAILABLE(macos(12.5), ios(15.0), tvos(16.0));
/*!
@property swizzle
@@ -445,15 +445,15 @@
@abstract For sparse textures this property returns index of first mipmap that is packed in tail.
Mapping this mipmap level will map all subsequent mipmap levels.
*/
-@property (readonly) NSUInteger firstMipmapInTail API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+@property (readonly) NSUInteger firstMipmapInTail API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
/*!
@property tailSizeInBytes
@abstract Amount of memory in bytes required to map sparse texture tail.
*/
-@property (readonly) NSUInteger tailSizeInBytes API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+@property (readonly) NSUInteger tailSizeInBytes API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
-@property (readonly) BOOL isSparse API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0));
+@property (readonly) BOOL isSparse API_AVAILABLE(macos(11.0), macCatalyst(14.0), ios(13.0), tvos(16.0));
@required
/*!
@@ -468,7 +468,7 @@
@abstract Returns the compression type of the texture
@discussion See the compressionType property on MTLTextureDescriptor
*/
-@property (readonly) MTLTextureCompressionType compressionType API_AVAILABLE(macos(12.5), ios(15.0));
+@property (readonly) MTLTextureCompressionType compressionType API_AVAILABLE(macos(12.5), ios(15.0), tvos(16.0));
/*!
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLVisibleFunctionTable.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLVisibleFunctionTable.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLVisibleFunctionTable.h 2025-05-28 04:53:30
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLVisibleFunctionTable.h 2025-06-14 03:07:51
@@ -11,7 +11,7 @@
#import <Metal/MTLResource.h>
#import <Metal/MTLFunctionHandle.h>
-MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0))
+MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0))
@interface MTLVisibleFunctionTableDescriptor : NSObject <NSCopying>
/*!
@@ -28,7 +28,7 @@
@end
-API_AVAILABLE(macos(11.0), ios(14.0))
+API_AVAILABLE(macos(11.0), ios(14.0), tvos(16.0))
@protocol MTLVisibleFunctionTable <MTLResource>
/*!
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes 2025-05-25 19:12:37
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes 2025-06-12 17:46:37
@@ -2084,6 +2084,15 @@
SwiftName: dispatchNetwork(intermediatesHeap:)
MethodKind: Instance
+- Name: MTL4CounterHeap
+ Methods:
+ - Selector: 'resolveCounterRange:'
+ MethodKind: Instance
+ SwiftPrivate: true
+ - Selector: 'invalidateCounterRange:'
+ MethodKind: Instance
+ SwiftPrivate: true
+
- Name: MTL4CommandBuffer
Methods:
- Selector: 'beginCommandBufferWithAllocator:'
@@ -2116,7 +2125,7 @@
- Selector: 'writeTimestampIntoHeap:atIndex:'
SwiftName: writeTimestamp(counterHeap:index:)
MethodKind: Instance
- - Selector: 'resolveCounterHeap:withRange:intoBuffer:atOffset:waitFence:updateFence:'
+ - Selector: 'resolveCounterHeap:withRange:intoBuffer:waitFence:updateFence:'
SwiftPrivate: true
MethodKind: Instance
diff -ruN /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.h /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.h
--- /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.h 2025-05-28 04:53:26
+++ /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.h 2025-06-14 03:07:47
@@ -76,7 +76,6 @@
#import <Metal/MTL4CompilerTask.h>
#import <Metal/MTL4LibraryDescriptor.h>
#import <Metal/MTL4FunctionDescriptor.h>
-#import <Metal/MTL4LinkedFunctions.h>
#import <Metal/MTL4LibraryFunctionDescriptor.h>
#import <Metal/MTL4SpecializedFunctionDescriptor.h>
#import <Metal/MTL4StitchedFunctionDescriptor.h>
@@ -91,3 +90,4 @@
#import <Metal/MTL4CommitFeedback.h>
#import <Metal/MTL4BinaryFunctionDescriptor.h>
#import <Metal/MTL4LinkingDescriptor.h>
+#import <Metal/MTL4BufferRange.h>