Skip to content

Metal macOS xcode15.0 b2

Manuel de la Pena edited this page Nov 1, 2023 · 3 revisions

#Metal.framework https://github.com/xamarin/xamarin-macios/pull/19379

diff -ruN /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructure.h /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructure.h
--- /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructure.h	2023-05-31 07:32:49
+++ /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLAccelerationStructure.h	2023-06-10 05:25:47
@@ -594,7 +594,7 @@
 /**
  * @brief Type of curve end caps. Defaults to MTLCurveEndCapsNone.
  */
-@property (nonatomic) MTLCurveEndCaps endCaps;
+@property (nonatomic) MTLCurveEndCaps curveEndCaps;
 
 + (instancetype)descriptor;
 
@@ -699,7 +699,7 @@
 /**
  * @brief Type of curve end caps. Defaults to MTLCurveEndCapsNone.
  */
-@property (nonatomic) MTLCurveEndCaps endCaps;
+@property (nonatomic) MTLCurveEndCaps curveEndCaps;
 
 + (instancetype)descriptor;
 
diff -ruN /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h
--- /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h	2023-06-01 02:01:18
+++ /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLDevice.h	2023-06-10 04:06:16
@@ -489,7 +489,7 @@
  @discussion Performance may be improved by keeping the total size of all resources (texture and buffers)
  and heaps less than this threshold, beyond which the device is likely to be overcommitted and incur a
  performance penalty. */
-@property (readonly) uint64_t recommendedMaxWorkingSetSize API_AVAILABLE(macos(10.12), macCatalyst(13.0)) API_UNAVAILABLE(ios);
+@property (readonly) uint64_t recommendedMaxWorkingSetSize API_AVAILABLE(macos(10.12), macCatalyst(13.0), ios(16.0));
 
 /*!
  @property location
diff -ruN /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIntersectionFunctionTable.h /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIntersectionFunctionTable.h
--- /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIntersectionFunctionTable.h	2023-05-31 07:32:50
+++ /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/MTLIntersectionFunctionTable.h	2023-06-10 05:14:54
@@ -23,19 +23,19 @@
 	MTLIntersectionFunctionSignatureNone = 0,
 
 	/**
-	 * @brief The intersection functions are entitled to read the built-in instance_id as described in
+	 * @brief The intersection functions can read the built-in instance_id as described in
 	 * the Metal Shading Language Guide.
 	 */
 	MTLIntersectionFunctionSignatureInstancing = (1 << 0),
 
 	/**
-	 * @brief The triangle intersection functions are entitled to to read the built-in barycentric_coord
+	 * @brief The triangle intersection functions can read the built-in barycentric_coord
 	 * and front_facing as described in the Metal Shading Language Guide.
 	 */
 	MTLIntersectionFunctionSignatureTriangleData = (1 << 1),
 
 	/**
-	 * @brief The intersection functions are entitled to query world_space_origin and
+	 * @brief The intersection functions can query world_space_origin and
 	 * world_space_direction as described in the Metal Shading Language Guide.
 	 */
     MTLIntersectionFunctionSignatureWorldSpaceData = (1 << 2),
@@ -47,7 +47,7 @@
     MTLIntersectionFunctionSignatureInstanceMotion API_AVAILABLE(macos(12.0), ios(15.0)) = (1 << 3),
     
     /**
-     * @brief The intersection functions are entitled to query time, motion_start_time,
+     * @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),
@@ -63,6 +63,12 @@
      * max_levels intersection tag as described in the Metal Shading Language Guide.
      */
     MTLIntersectionFunctionSignatureMaxLevels API_AVAILABLE(macos(14.0), ios(17.0)) = (1 << 6),
+
+    /**
+     * @brief The curve intersection functions can read the built-in curve_parameter
+     * as described in the Metal Shading Language Guide.
+     */
+    MTLIntersectionFunctionSignatureCurveData API_AVAILABLE(macos(14.0), ios(17.0)) = (1 << 7),
 } MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0));
 
 MTL_EXPORT API_AVAILABLE(macos(11.0), ios(14.0))
@@ -118,6 +124,26 @@
  * function table is not provided.
  */
 - (void)setOpaqueTriangleIntersectionFunctionWithSignature:(MTLIntersectionFunctionSignature)signature withRange:(NSRange)range;
+
+/*
+ * @brief Initialize the function at the given index with a curve intersection function
+ * with the given signature which always accepts ray/curve intersections. If this method is
+ * not called and an intersection function is not otherwise set at the given index,
+ * ray/curve intersections will be ignored if a call to the function at the given index
+ * would be required. Ray/curve intersections are always accepted if an intersection
+ * function table is not provided.
+ */
+- (void)setOpaqueCurveIntersectionFunctionWithSignature:(MTLIntersectionFunctionSignature)signature atIndex:(NSUInteger)index;
+
+/*
+ * @brief Initialize the function at the given range with a curve intersection function
+ * with the given signature which always accepts ray/curve intersections. If this method is
+ * not called and an intersection function is not otherwise set at an index in the given range,
+ * ray/curve intersections will be ignored if a call to the function at that index
+ * would be required. Ray/curve intersections are always accepted if an intersection
+ * function table is not provided.
+ */
+- (void)setOpaqueCurveIntersectionFunctionWithSignature:(MTLIntersectionFunctionSignature)signature withRange:(NSRange)range;
 
 - (void)setVisibleFunctionTable:(nullable id <MTLVisibleFunctionTable>)functionTable atBufferIndex:(NSUInteger)bufferIndex;
 - (void)setVisibleFunctionTables:(const id <MTLVisibleFunctionTable> __nullable [__nonnull])functionTables withBufferRange:(NSRange)bufferRange;
diff -ruN /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes
--- /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes	2023-05-11 18:47:39
+++ /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Metal.framework/Headers/Metal.apinotes	2023-06-09 04:31:59
@@ -1542,6 +1542,12 @@
   - Selector: 'setOpaqueTriangleIntersectionFunctionWithSignature:withRange:'
     SwiftName: setOpaqueTriangleIntersectionFunction(signature:range:)
     MethodKind: Instance
+  - Selector: 'setOpaqueCurveIntersectionFunctionWithSignature:atIndex:'
+    SwiftName: setOpaqueCurveIntersectionFunction(signature:index:)
+    MethodKind: Instance
+  - Selector: 'setOpaqueCurveIntersectionFunctionWithSignature:withRange:'
+    SwiftName: setOpaqueCurveIntersectionFunction(signature:range:)
+    MethodKind: Instance
 - Name: MTLAccelerationStructureCommandEncoder
   Methods:
   - Selector: 'buildAccelerationStructure:descriptor:scratchBuffer:scratchBufferOffset:'
Clone this wiki locally