From 3789ab07ff0ed3b105295c502e8ef3df3c8b414d Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Wed, 3 Jul 2024 12:20:30 +0200 Subject: [PATCH 01/11] Add BackingFieldType support (see also authenticationservices branch) --- src/bgen/AttributeManager.cs | 2 + src/bgen/Attributes.cs | 10 ++++ src/bgen/Enums.cs | 97 ++++++++++++++++++++++++++++-------- 3 files changed, 89 insertions(+), 20 deletions(-) diff --git a/src/bgen/AttributeManager.cs b/src/bgen/AttributeManager.cs index 66d26dff3152..66b5bd9a271d 100644 --- a/src/bgen/AttributeManager.cs +++ b/src/bgen/AttributeManager.cs @@ -238,6 +238,8 @@ Type LookupReflectionType (string fullname, ICustomAttributeProvider provider) case "System.Runtime.Versioning.ObsoletedOSPlatformAttribute": return typeof (System.Runtime.Versioning.ObsoletedOSPlatformAttribute); #endif + case "BackingFieldTypeAttribute": + return typeof (BackingFieldTypeAttribute); } switch (fullname) { diff --git a/src/bgen/Attributes.cs b/src/bgen/Attributes.cs index 432f4a74cc1e..5996e14b75b9 100644 --- a/src/bgen/Attributes.cs +++ b/src/bgen/Attributes.cs @@ -860,6 +860,16 @@ public DefaultEnumValueAttribute () } } +[AttributeUsage (AttributeTargets.Enum)] +public class BackingFieldTypeAttribute : Attribute { + + public BackingFieldTypeAttribute (Type type) + { + BackingFieldType = type; + } + + public Type BackingFieldType { get; set; } +} // // This prevents the generator from generating the managed proxy to // the method being called, this is done when we are interested in diff --git a/src/bgen/Enums.cs b/src/bgen/Enums.cs index 11cde9faf310..57b77abb96b9 100644 --- a/src/bgen/Enums.cs +++ b/src/bgen/Enums.cs @@ -91,6 +91,8 @@ void GenerateEnum (Type type) Tuple default_symbol = null; var underlying_type = GetCSharpTypeName (type.GetEnumUnderlyingType ()); var is_internal = AttributeManager.HasAttribute (type); + var backingFieldType = AttributeManager.GetCustomAttribute (type)?.BackingFieldType ?? TypeCache.NSString; + var isBackingFieldValueType = backingFieldType.IsValueType; var visibility = is_internal ? "internal" : "public"; print ("{0} enum {1} : {2} {{", visibility, type.Name, underlying_type); indent++; @@ -186,6 +188,7 @@ void GenerateEnum (Type type) print (""); int n = 0; + var backingFieldTypeName = TypeManager.FormatType (type, backingFieldType); foreach (var kvp in fields) { var f = kvp.Key; var fa = kvp.Value; @@ -199,13 +202,14 @@ void GenerateEnum (Type type) // library_name contains the Framework constant name the Field is inside of, used as fallback. bool useFieldAttrLibName = libname is not null && !string.Equals (libname, library_name, StringComparison.OrdinalIgnoreCase); print ("[Field (\"{0}\", \"{1}\")]", fa.SymbolName, useFieldAttrLibName ? libname : libPath ?? library_name); - print ("internal unsafe static IntPtr {0} {{", fa.SymbolName); + print ("internal unsafe static {1} {0} {{", fa.SymbolName, isBackingFieldValueType ? backingFieldTypeName + "*" : "IntPtr"); indent++; print ("get {"); indent++; print ("fixed (IntPtr *storage = &values [{0}])", n++); indent++; - print ("return Dlfcn.CachePointer (Libraries.{0}.Handle, \"{1}\", storage);", useFieldAttrLibName ? libname : library_name, fa.SymbolName); + var cast = isBackingFieldValueType ? $"({backingFieldTypeName} *) " : string.Empty; + print ("return {2}Dlfcn.CachePointer (Libraries.{0}.Handle, \"{1}\", storage);", useFieldAttrLibName ? libname : library_name, fa.SymbolName, cast); indent--; indent--; print ("}"); @@ -215,13 +219,17 @@ void GenerateEnum (Type type) } if (BindingTouch.SupportsXmlDocumentation) { - print ($"/// Retrieves the constant that describes ."); + print ($"/// Retrieves the constant that describes ."); print ($"/// The instance on which this method operates."); } - print ("public static NSString? GetConstant (this {0} self)", type.Name); + print ("public static {2}{1}? GetConstant (this {0} self)", type.Name, backingFieldTypeName, isBackingFieldValueType ? "unsafe " : string.Empty); print ("{"); indent++; - print ("IntPtr ptr = IntPtr.Zero;"); + if (isBackingFieldValueType) { + print ($"{backingFieldTypeName}* ptr = null;"); + } else { + print ("IntPtr ptr = IntPtr.Zero;"); + } // can be empty - and the C# compiler emit `warning CS1522: Empty switch block` if (fields.Count > 0) { print ("switch (({0}) self) {{", underlying_type); @@ -239,7 +247,13 @@ void GenerateEnum (Type type) } print ("}"); } - print ("return (NSString?) Runtime.GetNSObject (ptr);"); + if (isBackingFieldValueType) { + print ("if (ptr == null)"); + print ("\t return null;"); + print ("return *ptr;"); + } else { + print ("return ({0}?) Runtime.GetNSObject (ptr);", backingFieldTypeName); + } indent--; print ("}"); @@ -250,19 +264,25 @@ void GenerateEnum (Type type) print ($"/// Retrieves the value named by ."); print ($"/// The name of the constant to retrieve."); } - print ("public static {0} GetValue (NSString{1} constant)", type.Name, nullable ? "?" : ""); + print ("public static {3}{0} GetValue ({2}{1} constant)", type.Name, nullable ? "?" : "", backingFieldTypeName, isBackingFieldValueType ? "unsafe " : string.Empty); print ("{"); indent++; - print ("if (constant is null)"); - indent++; - // if we do not have a enum value that maps to a null field then we throw - if (!nullable) - print ("throw new ArgumentNullException (nameof (constant));"); - else - print ("return {0}.{1};", type.Name, null_field.Item1.Name); - indent--; + if (!(isBackingFieldValueType && !nullable)) { + print ("if (constant is null)"); + indent++; + // if we do not have a enum value that maps to a null field then we throw + if (!nullable) + print ("throw new ArgumentNullException (nameof (constant));"); + else + print ("return {0}.{1};", type.Name, null_field.Item1.Name); + indent--; + } foreach (var kvp in fields) { - print ("if (constant.IsEqualTo ({0}))", kvp.Value.SymbolName); + if (isBackingFieldValueType) { + print ($"if (constant == *{kvp.Value.SymbolName})"); + } else { + print ("if (constant.IsEqualTo ({0}))", kvp.Value.SymbolName); + } indent++; print ("return {0}.{1};", type.Name, kvp.Key.Name); indent--; @@ -275,20 +295,57 @@ void GenerateEnum (Type type) indent--; print ("}"); + if (BindingTouch.SupportsXmlDocumentation) { + print ($"/// Converts an array of enum values into an array of their corresponding constants.."); + print ($"/// The array if enum values to convert."); + } + print ($"public static {backingFieldTypeName}?[]? ToArray (this {type.Name}[]? values)"); + print ("{"); + indent++; + print ("if (values is null)"); + print ("\treturn null;"); + print ($"var rv = new global::System.Collections.Generic.List<{backingFieldTypeName}?> ();"); + print ("for (var i = 0; i < values.Length; i++) {"); + indent++; + print ("var value = values [i];"); + print ("rv.Add (value.GetConstant ());"); + indent--; + print ("}"); + print ("return rv.ToArray ();"); + indent--; + print ("}"); + print (""); + print ($"internal static {type.Name}[]? To{type.Name}Array (this {backingFieldTypeName}[]? values)"); + print ("{"); + indent++; + print ("if (values is null)"); + print ("\treturn null;"); + print ($"var rv = new global::System.Collections.Generic.List<{type.Name}> ();"); + print ("for (var i = 0; i < values.Length; i++) {"); + indent++; + print ("var value = values [i];"); + print ("rv.Add (GetValue (value));"); + indent--; + print ("}"); + print ("return rv.ToArray ();"); + indent--; + print ("}"); + print (""); + if (isFlagsEnum) { if (BindingTouch.SupportsXmlDocumentation) { print ($"/// Retrieves all the constants named by the flags ."); print ($"/// The flags to retrieve"); print ($"/// Any flags that are not recognized will be ignored."); } - print ($"public static NSString[] ToArray (this {type.Name} value)"); + print ($"public static {backingFieldTypeName}[] ToArray (this {type.Name} value)"); print ("{"); indent++; - print ("var rv = new global::System.Collections.Generic.List ();"); + print ($"var rv = new global::System.Collections.Generic.List<{backingFieldTypeName}> ();"); foreach (var kvp in fields) { print ($"if (value.HasFlag ({type.Name}.{kvp.Key.Name}) && {kvp.Value.SymbolName} != IntPtr.Zero)"); indent++; - print ($"rv.Add ((NSString) Runtime.GetNSObject ({kvp.Value.SymbolName})!);"); + print ($"rv.Add (({backingFieldTypeName}) Runtime.GetNSObject ({kvp.Value.SymbolName})!);"); indent--; } print ($"// In order to be forward-compatible, any unknown values are ignored."); @@ -297,7 +354,7 @@ void GenerateEnum (Type type) print ("}"); print (""); - print ($"public static {type.Name} ToFlags (global::System.Collections.Generic.IEnumerable{(nullable ? "?" : "")} constants)"); + print ($"public static {type.Name} ToFlags (global::System.Collections.Generic.IEnumerable<{backingFieldTypeName}{(nullable ? "?" : "")}>{(nullable ? "?" : "")} constants)"); print ("{"); indent++; print ($"var rv = default ({type.Name});"); From 1d18c7206f74658208b4dc4f5a490696e836780b Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Fri, 12 Jul 2024 18:02:42 +0200 Subject: [PATCH 02/11] [Metal] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes. Note: there were no changes in beta 3. Draft because tests are needed for manual APIs, and the changes on the generator should be extracted to a separate PR. See the CoreSpotlight [PR](https://github.com/xamarin/xamarin-macios/pull/20866) for more generator changes in this area. --- src/Metal/MTLCommandBuffer.cs | 17 + src/Metal/MTLCommandQueue.cs | 23 ++ src/Metal/MTLDevice.cs | 18 +- src/Metal/MTLEnums.cs | 54 ++- src/Metal/MTLResidencySet.cs | 23 ++ src/ObjCRuntime/INativeObject.cs | 19 + src/foundation.cs | 5 + src/frameworks.sources | 3 + src/metal.cs | 359 +++++++++++++++++- tests/cecil-tests/ApiTest.KnownFailures.cs | 2 + .../Documentation.KnownFailures.txt | 85 +++++ .../generator/ExpectedXmlDocs.MacCatalyst.xml | 4 + .../generator/ExpectedXmlDocs.iOS.legacy.xml | 4 + tests/generator/ExpectedXmlDocs.iOS.xml | 4 + .../ExpectedXmlDocs.macOS.legacy.xml | 4 + tests/generator/ExpectedXmlDocs.macOS.xml | 4 + .../generator/ExpectedXmlDocs.tvOS.legacy.xml | 4 + tests/generator/ExpectedXmlDocs.tvOS.xml | 4 + .../api-annotations-dotnet/iOS-Metal.todo | 86 ----- .../api-annotations-dotnet/macOS-Metal.todo | 85 ----- .../api-annotations-dotnet/tvOS-Metal.todo | 68 ---- tests/xtro-sharpie/iOS-Metal.todo | 86 ----- tests/xtro-sharpie/macOS-Metal.todo | 85 ----- tests/xtro-sharpie/tvOS-Metal.todo | 68 ---- 24 files changed, 620 insertions(+), 494 deletions(-) create mode 100644 src/Metal/MTLCommandBuffer.cs create mode 100644 src/Metal/MTLCommandQueue.cs create mode 100644 src/Metal/MTLResidencySet.cs diff --git a/src/Metal/MTLCommandBuffer.cs b/src/Metal/MTLCommandBuffer.cs new file mode 100644 index 000000000000..adaa61c29def --- /dev/null +++ b/src/Metal/MTLCommandBuffer.cs @@ -0,0 +1,17 @@ +using System; + +using ObjCRuntime; + +#nullable enable + +namespace Metal { + + public partial interface IMTLCommandBuffer { + + /// Marks the specified residency sets as part of the current command buffer execution. + public void UseResidencySets (IMTLResidencySet [] residencySets) + { + NativeObjectExtensions.CallWithPointerToFirstElementAndCount (residencySets, nameof (residencySets), UseResidencySets); + } + } +} diff --git a/src/Metal/MTLCommandQueue.cs b/src/Metal/MTLCommandQueue.cs new file mode 100644 index 000000000000..c342477bb607 --- /dev/null +++ b/src/Metal/MTLCommandQueue.cs @@ -0,0 +1,23 @@ +using System; + +using ObjCRuntime; + +#nullable enable + +namespace Metal { + + public partial interface IMTLCommandQueue { + + /// Marks the specified residency sets as part of the current command buffer execution. + public void AddResidencySets (IMTLResidencySet [] residencySets) + { + NativeObjectExtensions.CallWithPointerToFirstElementAndCount (residencySets, nameof (residencySets), AddResidencySets); + } + + /// Removes the specified residency sets from the current command buffer execution. + public void RemoveResidencySets (IMTLResidencySet [] residencySets) + { + NativeObjectExtensions.CallWithPointerToFirstElementAndCount (residencySets, nameof (residencySets), RemoveResidencySets); + } + } +} diff --git a/src/Metal/MTLDevice.cs b/src/Metal/MTLDevice.cs index 7e0c2bc73a01..d78a254e043f 100644 --- a/src/Metal/MTLDevice.cs +++ b/src/Metal/MTLDevice.cs @@ -55,15 +55,14 @@ public static IMTLDevice? SystemDefault { } } -#if MONOMAC || __MACCATALYST__ - #if NET [SupportedOSPlatform ("maccatalyst15.0")] [SupportedOSPlatform ("macos")] - [UnsupportedOSPlatform ("ios")] - [UnsupportedOSPlatform ("tvos")] + [SupportedOSPlatform ("ios18.0")] + [SupportedOSPlatform ("tvos18.0")] #else - [MacCatalyst (15,0)] + [MacCatalyst (15, 0)] + [iOS (18, 0), TV (18, 0)] #endif [DllImport (Constants.MetalLibrary)] unsafe static extern IntPtr MTLCopyAllDevices (); @@ -71,10 +70,11 @@ public static IMTLDevice? SystemDefault { #if NET [SupportedOSPlatform ("maccatalyst15.0")] [SupportedOSPlatform ("macos")] - [UnsupportedOSPlatform ("ios")] - [UnsupportedOSPlatform ("tvos")] + [SupportedOSPlatform ("ios18.0")] + [SupportedOSPlatform ("tvos18.0")] #else - [MacCatalyst (15,0)] + [MacCatalyst (15, 0)] + [iOS (18, 0), TV (18, 0)] #endif public static IMTLDevice [] GetAllDevices () { @@ -84,8 +84,6 @@ public static IMTLDevice [] GetAllDevices () return devices; } -#endif - #if MONOMAC #if NET diff --git a/src/Metal/MTLEnums.cs b/src/Metal/MTLEnums.cs index a12125b0b376..0fa8668baacf 100644 --- a/src/Metal/MTLEnums.cs +++ b/src/Metal/MTLEnums.cs @@ -405,14 +405,55 @@ public enum MTLPixelFormat : ulong { [NoiOS] [NoMacCatalyst] BC7_RGBAUnorm_sRGB = 153, + + [Deprecated (PlatformName.iOS, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.MacCatalyst, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.MacOSX, 15, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.TvOS, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] PVRTC_RGB_2BPP = 160, + + [Deprecated (PlatformName.iOS, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.MacCatalyst, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.MacOSX, 15, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.TvOS, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] PVRTC_RGB_2BPP_sRGB = 161, + + [Deprecated (PlatformName.iOS, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.MacCatalyst, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.MacOSX, 15, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.TvOS, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] PVRTC_RGB_4BPP = 162, + + [Deprecated (PlatformName.iOS, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.MacCatalyst, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.MacOSX, 15, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.TvOS, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] PVRTC_RGB_4BPP_sRGB = 163, + + [Deprecated (PlatformName.iOS, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.MacCatalyst, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.MacOSX, 15, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.TvOS, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] PVRTC_RGBA_2BPP = 164, + + [Deprecated (PlatformName.iOS, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.MacCatalyst, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.MacOSX, 15, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.TvOS, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] PVRTC_RGBA_2BPP_sRGB = 165, + + [Deprecated (PlatformName.iOS, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.MacCatalyst, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.MacOSX, 15, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.TvOS, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] PVRTC_RGBA_4BPP = 166, + + [Deprecated (PlatformName.iOS, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.MacCatalyst, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.MacOSX, 15, 0, message: "Use ASTC/ETC2/BC formats instead.")] + [Deprecated (PlatformName.TvOS, 18, 0, message: "Use ASTC/ETC2/BC formats instead.")] PVRTC_RGBA_4BPP_sRGB = 167, + EAC_R11Unorm = 170, EAC_R11Snorm = 172, EAC_RG11Unorm = 174, @@ -966,7 +1007,14 @@ public enum MTLArgumentAccess : ulong { [Flags] public enum MTLPipelineOption : ulong { None, - ArgumentInfo, +#if !XAMCORE_5_0 + [Deprecated (PlatformName.iOS, 18, 0, message: "Use 'BindingInfo' instead.")] + [Deprecated (PlatformName.TvOS, 18, 0, message: "Use 'BindingInfo' instead.")] + [Deprecated (PlatformName.MacCatalyst, 18, 0, message: "Use 'BindingInfo' instead.")] + [Deprecated (PlatformName.MacOSX, 15, 0, message: "Use 'BindingInfo' instead.")] + ArgumentInfo = 1 << 0, +#endif + BindingInfo = 1 << 0, BufferTypeInfo, [iOS (14, 0)] [TV (14, 0)] @@ -1109,6 +1157,8 @@ public enum MTLLanguageVersion : ulong { v3_0 = (3uL << 16) + 0, [iOS (17, 0), TV (17, 0), MacCatalyst (17, 0), Mac (14, 0), NoWatch] v3_1 = (3uL << 16) + 1, + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + v3_2 = (3ul << 16) + 2, } /// Enumerates values that indicate whether to clip or clamp depth values. @@ -1691,6 +1741,8 @@ public enum MTLFunctionOptions : ulong { CompileToBinary = 1uL << 0, [iOS (17, 0), TV (17, 0), MacCatalyst (17, 0), Mac (14, 0)] StoreFunctionInMetalScript = 1uL << 1, + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + FailOnBinaryArchiveMiss = 1 << 2, } [Flags, Mac (11, 0), iOS (14, 0), TV (16, 0)] diff --git a/src/Metal/MTLResidencySet.cs b/src/Metal/MTLResidencySet.cs new file mode 100644 index 000000000000..4e8ab511cdd8 --- /dev/null +++ b/src/Metal/MTLResidencySet.cs @@ -0,0 +1,23 @@ +using System; + +using ObjCRuntime; + +#nullable enable + +namespace Metal { + + public partial interface IMTLResidencySet { + + /// Adds allocations to be committed the next time is called. + public void AddAllocations (IMTLAllocation [] allocations) + { + NativeObjectExtensions.CallWithPointerToFirstElementAndCount (allocations, nameof (allocations), AddAllocations); + } + + /// Marks allocations to be removed the next time is called. + public void RemoveAllocations (IMTLAllocation [] allocations) + { + NativeObjectExtensions.CallWithPointerToFirstElementAndCount (allocations, nameof (allocations), RemoveAllocations); + } + } +} diff --git a/src/ObjCRuntime/INativeObject.cs b/src/ObjCRuntime/INativeObject.cs index 58c085400740..f464c21fd741 100644 --- a/src/ObjCRuntime/INativeObject.cs +++ b/src/ObjCRuntime/INativeObject.cs @@ -55,6 +55,25 @@ public static NativeHandle GetCheckedHandle (this INativeObject self) return h; } #endif + + internal static void CallWithPointerToFirstElementAndCount (T [] array, string arrayVariableName, Action callback) + where T : INativeObject + { + if (array is null) + ObjCRuntime.ThrowHelper.ThrowArgumentNullException (arrayVariableName); + + var handles = new IntPtr [array.Length]; + for (var i = 0; i < handles.Length; i++) + handles [i] = array [i].GetNonNullHandle (arrayVariableName + $"[{i}]"); + + unsafe { + fixed (IntPtr* handlesPtr = handles) { + callback ((IntPtr) handlesPtr, (nuint) handles.Length); + } + } + + GC.KeepAlive (array); + } } #endif } diff --git a/src/foundation.cs b/src/foundation.cs index 3b325eb1a5d9..ebfd97d00319 100644 --- a/src/foundation.cs +++ b/src/foundation.cs @@ -13179,6 +13179,11 @@ interface NSProcessInfo { [Export ("iOSAppOnMac")] bool IsiOSApplicationOnMac { [Bind ("isiOSAppOnMac")] get; } #endregion + + [Field ("NSProcessInfoPerformanceProfileDidChangeNotification", "Metal")] + [Notification] + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), NoWatch] + NSString PerformanceProfileDidChangeNotification { get; } } [NoWatch] diff --git a/src/frameworks.sources b/src/frameworks.sources index 1aabd8437b2e..924b175ec451 100644 --- a/src/frameworks.sources +++ b/src/frameworks.sources @@ -1204,6 +1204,8 @@ METAL_CORE_SOURCES = \ METAL_SOURCES = \ Metal/MTLArgumentEncoder.cs \ Metal/MTLBlitPassSampleBufferAttachmentDescriptorArray.cs \ + Metal/MTLCommandBuffer.cs \ + Metal/MTLCommandQueue.cs \ Metal/MTLCompat.cs \ Metal/MTLIOCompression.cs \ Metal/MTLComputeCommandEncoder.cs \ @@ -1215,6 +1217,7 @@ METAL_SOURCES = \ Metal/MTLRenderCommandEncoder.cs \ Metal/MTLRenderPassDescriptor.cs \ Metal/MTLRenderPassSampleBufferAttachmentDescriptorArray.cs \ + Metal/MTLResidencySet.cs \ Metal/MTLResourceStateCommandEncoder.cs \ Metal/MTLResourceStatePassSampleBufferAttachmentDescriptorArray.cs \ Metal/MTLVertexDescriptor.cs \ diff --git a/src/metal.cs b/src/metal.cs index 57d2db3d76f5..5e11aa7fba59 100644 --- a/src/metal.cs +++ b/src/metal.cs @@ -502,6 +502,16 @@ partial interface MTLCommandBuffer { #endif [Export ("accelerationStructureCommandEncoderWithDescriptor:")] IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (MTLAccelerationStructurePassDescriptor descriptor); + + [Abstract] + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("useResidencySet:")] + void UseResidencySet (IMTLResidencySet residencySet); + + [Abstract] + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("useResidencySets:count:")] + void UseResidencySets (IntPtr /* const id _Nonnull[_Nonnull] */ residencySets, nuint count); } interface IMTLCommandQueue { } @@ -542,6 +552,26 @@ partial interface MTLCommandQueue { [Export ("commandBufferWithDescriptor:")] [return: NullAllowed] IMTLCommandBuffer CreateCommandBuffer (MTLCommandBufferDescriptor descriptor); + + [Abstract] + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("addResidencySet:")] + void AddResidencySet (IMTLResidencySet residencySet); + + [Abstract] + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("addResidencySets:count:")] + void AddResidencySets (IntPtr residencySets, nuint count); + + [Abstract] + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("removeResidencySet:")] + void RemoveResidencySet (IMTLResidencySet residencySet); + + [Abstract] + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("removeResidencySets:count:")] + void RemoveResidencySets (IntPtr residencySets, nuint count); } interface IMTLComputeCommandEncoder { } @@ -1009,6 +1039,10 @@ partial interface MTLComputePipelineState { #endif [Export ("gpuResourceID")] MTLResourceId GpuResourceId { get; } + + [Abstract] + [Export ("shaderValidation")] + MTLShaderValidation ShaderValidation { get; } } interface IMTLBlitCommandEncoder { } @@ -2235,6 +2269,22 @@ partial interface MTLDevice { [Export ("shouldMaximizeConcurrentCompilation")] bool ShouldMaximizeConcurrentCompilation { get; set; } + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Abstract] + [Export ("newLogStateWithDescriptor:error:")] + [return: NullAllowed] + IMTLLogState GetNewLogState (MTLLogStateDescriptor descriptor, out NSError error); + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Abstract] + [Export ("newCommandQueueWithDescriptor:")] + [return: NullAllowed] + IMTLCommandQueue CreateCommandQueue (MTLCommandQueueDescriptor descriptor); + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [return: NullAllowed] + [Export ("newResidencySetWithDescriptor:error:")] + IMTLResidencySet CreateResidencySet (MTLResidencySetDescriptor descriptor, out NSError error); } /// Interface representing the required methods (if any) of the protocol . @@ -2862,6 +2912,10 @@ partial interface MTLRenderPipelineDescriptor : NSCopying { [Mac (12, 0), iOS (15, 0), TV (15, 0), MacCatalyst (15, 0), NoWatch] [NullAllowed, Export ("fragmentLinkedFunctions", ArgumentSemantic.Copy)] MTLLinkedFunctions FragmentLinkedFunctions { get; set; } + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("shaderValidation")] + MTLShaderValidation ShaderValidation { get; set; } } /// An array of objects. @@ -3046,6 +3100,11 @@ partial interface MTLRenderPipelineState { #endif [Export ("objectThreadExecutionWidth")] nuint ObjectThreadExecutionWidth { get; } + + [Abstract] + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("shaderValidation")] + MTLShaderValidation ShaderValidation { get; } } /// Configures how vertex and attribute data are fetched by a vertex shader function. @@ -3467,6 +3526,10 @@ partial interface MTLCompileOptions : NSCopying { NSDictionary PreprocessorMacros { get; set; } #endif + [Deprecated (PlatformName.iOS, 18, 0, message: "Use 'MathMode' instead.")] + [Deprecated (PlatformName.MacCatalyst, 18, 0, message: "Use 'MathMode' instead.")] + [Deprecated (PlatformName.MacOSX, 15, 0, message: "Use 'MathMode' instead.")] + [Deprecated (PlatformName.TvOS, 18, 0, message: "Use 'MathMode' instead.")] [Export ("fastMathEnabled")] bool FastMathEnabled { get; set; } @@ -3509,6 +3572,18 @@ partial interface MTLCompileOptions : NSCopying { [Mac (13, 3), iOS (16, 4), MacCatalyst (16, 4), TV (16, 4)] [Export ("maxTotalThreadsPerThreadgroup")] nuint MaxTotalThreadsPerThreadgroup { get; set; } + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("mathMode")] + MTLMathMode MathMode { get; set; } + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("mathFloatingPointFunction")] + MTLMathFloatingPointFunctions MathFloatingPointFunctions { get; set; } + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("enableLogging")] + bool EnableLogging { get; set; } } /// Configures a stencil test operation. @@ -5074,7 +5149,7 @@ interface MTLHeapDescriptor : NSCopying { [NoWatch] [MacCatalyst (13, 1)] [Protocol] // From Apple Docs: Your app does not define classes that implement this protocol. Model is not needed - interface MTLHeap { + interface MTLHeap : MTLAllocation { [Abstract] [NullAllowed, Export ("label")] string Label { get; set; } @@ -5213,7 +5288,7 @@ interface IMTLHeap { } /// [MacCatalyst (13, 1)] [Protocol] // From Apple Docs: Your app does not define classes that implement this protocol. Model is not needed - partial interface MTLResource { + partial interface MTLResource : MTLAllocation { [Abstract, Export ("label")] string Label { get; set; } @@ -5264,7 +5339,7 @@ partial interface MTLResource { [Abstract] #endif [Export ("allocatedSize")] - nuint AllocatedSize { get; } + new nuint AllocatedSize { get; } #if NET [Abstract] @@ -5364,6 +5439,10 @@ interface MTLComputePipelineDescriptor : NSCopying { [Mac (12, 0), iOS (15, 0), TV (15, 0), NoWatch, MacCatalyst (15, 0)] [Export ("preloadedLibraries", ArgumentSemantic.Copy)] IMTLDynamicLibrary [] PreloadedLibraries { get; set; } + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("shaderValidation")] + MTLShaderValidation ShaderValidation { get; set; } } [NoWatch] @@ -5858,6 +5937,14 @@ interface MTLBinaryArchive { [Mac (12, 0), iOS (15, 0), TV (15, 0), MacCatalyst (15, 0), NoWatch] [Export ("addFunctionWithDescriptor:library:error:")] bool AddFunctionWithDescriptor (MTLFunctionDescriptor descriptor, IMTLLibrary library, [NullAllowed] out NSError error); + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("addMeshRenderPipelineFunctionsWithDescriptor:error:")] + bool AddMeshRenderPipelineFunctions (MTLMeshRenderPipelineDescriptor descriptor, out NSError error); + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("addLibraryWithDescriptor:error:")] + bool AddLibrary (MTLStitchedLibraryDescriptor descriptor, out NSError error); } @@ -5913,6 +6000,10 @@ interface MTLTileRenderPipelineDescriptor : NSCopying { [Mac (12, 0), iOS (15, 0), TV (15, 0), MacCatalyst (15, 0), NoWatch] [NullAllowed, Export ("linkedFunctions", ArgumentSemantic.Copy)] MTLLinkedFunctions LinkedFunctions { get; set; } + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("shaderValidation")] + MTLShaderValidation ShaderValidation { get; set; } } interface IMTLEvent { } @@ -6649,6 +6740,10 @@ interface MTLAccelerationStructureTriangleGeometryDescriptor { [Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0), TV (16, 0)] [Export ("transformationMatrixBufferOffset")] nuint TransformationMatrixBufferOffset { get; set; } + + [Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), NoTV] + [Export ("transformationMatrixLayout")] + MTLMatrixLayout TransformationMatrixLayout { get; set; } } [Mac (11, 0), iOS (14, 0), TV (14, 0)] @@ -6709,6 +6804,11 @@ interface MTLCommandBufferDescriptor : NSCopying { [Export ("errorOptions", ArgumentSemantic.Assign)] MTLCommandBufferErrorOption ErrorOptions { get; set; } + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("logState", ArgumentSemantic.Retain), NullAllowed] + IMTLLogState LogState { get; set; } + } [Mac (11, 0), iOS (14, 0), TV (14, 0)] @@ -6817,6 +6917,18 @@ interface MTLInstanceAccelerationStructureDescriptor { [Mac (12, 0), iOS (15, 0), NoWatch, MacCatalyst (15, 0)] [Export ("motionTransformCount")] nuint MotionTransformCount { get; set; } + + [Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), NoTV] + [Export ("instanceTransformationMatrixLayout")] + MTLMatrixLayout InstanceTransformationMatrixLayout { get; set; } + + [Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), NoTV] + [Export ("motionTransformType")] + MTLTransformType MotionTransformType { get; set; } + + [Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), NoTV] + [Export ("motionTransformStride")] + nuint MotionTransformStride { get; set; } } [Mac (11, 0), iOS (14, 0), TV (16, 0)] @@ -7216,7 +7328,7 @@ interface IMTLLogContainer { } [Mac (11, 0), iOS (14, 0), TV (14, 0)] [MacCatalyst (14, 0)] [Protocol] - interface MTLLogContainer { + interface MTLLogContainer : INSFastEnumeration { } @@ -7272,6 +7384,14 @@ interface MTLStitchedLibraryDescriptor : NSCopying { [Export ("functions", ArgumentSemantic.Copy)] IMTLFunction [] Functions { get; set; } + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("binaryArchives", ArgumentSemantic.Copy), NullAllowed] + IMTLBinaryArchive [] BinaryArchives { get; } + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("options")] + MTLStitchedLibraryOptions Options { get; set; } } [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] @@ -7336,7 +7456,7 @@ interface MTLFunctionStitchingGraph : NSCopying { [Export ("nodes", ArgumentSemantic.Copy)] MTLFunctionStitchingFunctionNode [] Nodes { get; set; } - [NullAllowed, Export ("outputNode", ArgumentSemantic.Copy)] + [NullAllowed, Export ("outputNode", ArgumentSemantic.Retain)] MTLFunctionStitchingFunctionNode OutputNode { get; set; } [Export ("attributes", ArgumentSemantic.Copy)] @@ -7399,6 +7519,10 @@ interface MTLAccelerationStructureMotionTriangleGeometryDescriptor { [Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0)] [Export ("transformationMatrixBufferOffset")] nuint TransformationMatrixBufferOffset { get; set; } + + [Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), NoTV] + [Export ("transformationMatrixLayout")] + MTLMatrixLayout TransformationMatrixLayout { get; set; } } [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] @@ -7668,6 +7792,18 @@ interface MTLIndirectInstanceAccelerationStructureDescriptor { [Static] [Export ("descriptor")] MTLIndirectInstanceAccelerationStructureDescriptor GetDescriptor (); + + [Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), NoTV] + [Export ("instanceTransformationMatrixLayout")] + MTLMatrixLayout InstanceTransformationMatrixLayout { get; set; } + + [Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), NoTV] + [Export ("motionTransformType")] + MTLTransformType MotionTransformType { get; set; } + + [Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), NoTV] + [Export ("motionTransformStride")] + nuint MotionTransformStride { get; set; } } [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] @@ -7754,6 +7890,14 @@ interface MTLMeshRenderPipelineDescriptor : NSCopying { [Export ("reset")] void Reset (); + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("binaryArchives", ArgumentSemantic.Copy), NullAllowed] + IMTLBinaryArchive [] BinaryArchives { get; set; } + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Export ("shaderValidation")] + MTLShaderValidation ShaderValidation { get; set; } } [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] @@ -7802,5 +7946,210 @@ interface MTLThreadgroupBinding : MTLBinding { nuint ThreadgroupMemoryDataSize { get; } } + [Native] + [Mac (15, 0), NoTV, iOS (18, 0), MacCatalyst (18, 0)] + enum MTLMatrixLayout : long { + ColumnMajor = 0, + RowMajor = 1, + } + + [Native] + [Mac (15, 0), NoTV, iOS (18, 0), MacCatalyst (18, 0)] + enum MTLTransformType : long { + PackedFloat4x3 = 0, + Component = 1, + } + + [Protocol (BackwardsCompatibleCodeGeneration = false)] + [Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), TV (18, 0)] + interface MTLAllocation { + [Abstract] + [Export ("allocatedSize")] + nuint AllocatedSize { get; } + } + + interface IMTLAllocation { } + + [Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), TV (18, 0)] + [BaseType (typeof (NSObject))] + interface MTLCommandQueueDescriptor : NSCopying { + [Export ("maxCommandBufferCount")] + nuint MaxCommandBufferCount { get; set; } + + [Export ("logState", ArgumentSemantic.Retain), NullAllowed] + IMTLLogState LogState { get; set; } + } + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [BackingFieldType (typeof (nint))] + enum NSDeviceCertification { + [Field ("NSDeviceCertificationiPhonePerformanceGaming")] + iPhonePerformanceGaming, + } + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [BackingFieldType (typeof (nint))] + enum NSProcessPerformanceProfile { + [Field ("NSProcessPerformanceProfileDefault")] + Default, + + [Field ("NSProcessPerformanceProfileSustained")] + Sustained, + } + + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + [Category] + [BaseType (typeof (NSProcessInfo))] + interface NSProcessInfo_NSDeviceCertification { + [Export ("isDeviceCertifiedFor:")] + bool IsDeviceCertifiedFor (NSDeviceCertification performanceTier); + + [Export ("hasPerformanceProfile:")] + bool HasPerformanceProfile (NSProcessPerformanceProfile performanceProfile); + } + + [Flags] + [Native] + [Mac (15, 0), TV (18, 0), iOS (18, 0), MacCatalyst (18, 0)] + enum MTLStitchedLibraryOptions : ulong { + None = 0, + FailOnBinaryArchiveMiss = 1 << 0, + StoreLibraryInMetalScript = 1 << 1, + } + + [Native] + [Mac (15, 0), TV (18, 0), iOS (18, 0), MacCatalyst (18, 0)] + enum MTLMathMode : long { + Safe = 0, + Relaxed = 1, + Fast = 2, + } + + [Native] + [Mac (15, 0), TV (18, 0), iOS (18, 0), MacCatalyst (18, 0)] + enum MTLMathFloatingPointFunctions : long { + Fast = 0, + Precise = 1, + } + + [Native] + [Mac (15, 0), TV (18, 0), iOS (18, 0), MacCatalyst (18, 0)] + enum MTLLogLevel : long { + Undefined, + Debug, + Info, + Notice, + Error, + Fault, + } + + delegate void MTLLogStateLogHandler ([NullAllowed] string subSystem, [NullAllowed] string category, MTLLogLevel logLevel, string message); + + [Protocol (BackwardsCompatibleCodeGeneration = false)] + [Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), TV (18, 0)] + interface MTLLogState { + [Export ("addLogHandler:")] + void AddLogHandler (MTLLogStateLogHandler handler); + } + + interface IMTLLogState { } + + [Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), TV (18, 0)] + [BaseType (typeof (NSObject))] + interface MTLLogStateDescriptor : NSCopying { + [Export ("level", ArgumentSemantic.Assign)] + MTLLogLevel Level { get; set; } + + [Export ("bufferSize", ArgumentSemantic.Assign)] + nint BufferSize { get; set; } + } + + [Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), TV (18, 0)] + [ErrorDomain ("MTLLogStateErrorDomain")] + [Native] + enum MTLLogStateError : ulong { + InvalidSize = 1, + Invalid = 2, + } + + [Native] + [Mac (15, 0), TV (18, 0), iOS (18, 0), MacCatalyst (18, 0)] + enum MTLShaderValidation : long { + Default = 0, + Enabled = 1, + Disabled = 2, + } + + [Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), TV (18, 0)] + [BaseType (typeof (NSObject))] + interface MTLResidencySetDescriptor : NSCopying { + [Export ("label", ArgumentSemantic.Copy), NullAllowed] + string Label { get; set; } + + [Export ("initialCapacity")] + nuint InitialCapacity { get; set; } + } + + [Protocol (BackwardsCompatibleCodeGeneration = false)] + [Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), TV (18, 0)] + interface MTLResidencySet { + [Abstract] + [Export ("device")] + IMTLDevice Device { get; } + + [Abstract] + [Export ("label"), NullAllowed] + string Label { get; } + + [Abstract] + [Export ("allocatedSize")] + ulong AllocatedSize { get; } + + [Abstract] + [Export ("requestResidency")] + void RequestResidency (); + + [Abstract] + [Export ("endResidency")] + void EndResidency (); + + [Abstract] + [Export ("addAllocation:")] + void AddAllocation (IMTLAllocation allocation); + + [Abstract] + [Export ("addAllocations:count:")] + void AddAllocations (IntPtr allocations, nuint count); + // FIXME: better method + + [Abstract] + [Export ("removeAllocation:")] + void RemoveAllocation (IMTLAllocation allocation); + + [Abstract] + [Export ("removeAllocations:count:")] + void RemoveAllocations (IntPtr allocations, nuint count); + + [Abstract] + [Export ("removeAllAllocations")] + void RemoveAllAllocations (); + + [Abstract] + [Export ("containsAllocation:")] + bool ContainsAllocation (IMTLAllocation allocation); + + [Abstract] + [Export ("allAllocations", ArgumentSemantic.Copy)] + IMTLAllocation [] AllAllocations { get; } + + [Abstract] + [Export ("allocationCount")] + nuint AllocationCount { get; } + + [Abstract] + [Export ("commit")] + void Commit (); + } + interface IMTLResidencySet { } } diff --git a/tests/cecil-tests/ApiTest.KnownFailures.cs b/tests/cecil-tests/ApiTest.KnownFailures.cs index 22e936f2d3ea..d36c49c9c29a 100644 --- a/tests/cecil-tests/ApiTest.KnownFailures.cs +++ b/tests/cecil-tests/ApiTest.KnownFailures.cs @@ -54,6 +54,7 @@ public partial class ApiTest { "The field 'Metal.MTLLanguageVersion Metal.MTLLanguageVersion::v2_4' has incorrect capitalization: first letter is not upper case.", "The field 'Metal.MTLLanguageVersion Metal.MTLLanguageVersion::v3_0' has incorrect capitalization: first letter is not upper case.", "The field 'Metal.MTLLanguageVersion Metal.MTLLanguageVersion::v3_1' has incorrect capitalization: first letter is not upper case.", + "The field 'Metal.MTLLanguageVersion Metal.MTLLanguageVersion::v3_2' has incorrect capitalization: first letter is not upper case.", "The field 'Metal.MTLTextureType Metal.MTLTextureType::k1D' has incorrect capitalization: first letter is not upper case.", "The field 'Metal.MTLTextureType Metal.MTLTextureType::k1DArray' has incorrect capitalization: first letter is not upper case.", "The field 'Metal.MTLTextureType Metal.MTLTextureType::k2D' has incorrect capitalization: first letter is not upper case.", @@ -64,6 +65,7 @@ public partial class ApiTest { "The field 'Metal.MTLTextureType Metal.MTLTextureType::kCube' has incorrect capitalization: first letter is not upper case.", "The field 'Metal.MTLTextureType Metal.MTLTextureType::kCubeArray' has incorrect capitalization: first letter is not upper case.", "The field 'Metal.MTLTextureType Metal.MTLTextureType::kTextureBuffer' has incorrect capitalization: first letter is not upper case.", + "The field 'Metal.NSDeviceCertification Metal.NSDeviceCertification::iPhonePerformanceGaming' has incorrect capitalization: first letter is not upper case.", "The field 'ObjCRuntime.LinkTarget ObjCRuntime.LinkTarget::i386' has incorrect capitalization: first letter is not upper case.", "The field 'ObjCRuntime.LinkTarget ObjCRuntime.LinkTarget::x86_64' has incorrect capitalization: first letter is not upper case.", "The field 'Photos.PHAssetSourceType Photos.PHAssetSourceType::iTunesSynced' has incorrect capitalization: first letter is not upper case.", diff --git a/tests/cecil-tests/Documentation.KnownFailures.txt b/tests/cecil-tests/Documentation.KnownFailures.txt index af9bc49c35a3..98aceb0cb757 100644 --- a/tests/cecil-tests/Documentation.KnownFailures.txt +++ b/tests/cecil-tests/Documentation.KnownFailures.txt @@ -13836,6 +13836,7 @@ F:Metal.MTLFeatureSet.tvOS_GPUFamily2_v1 F:Metal.MTLFeatureSet.tvOS_GPUFamily2_v2 F:Metal.MTLFunctionLogType.Validation F:Metal.MTLFunctionOptions.CompileToBinary +F:Metal.MTLFunctionOptions.FailOnBinaryArchiveMiss F:Metal.MTLFunctionOptions.None F:Metal.MTLFunctionOptions.StoreFunctionInMetalScript F:Metal.MTLFunctionType.Fragment @@ -13917,6 +13918,7 @@ F:Metal.MTLLanguageVersion.v2_3 F:Metal.MTLLanguageVersion.v2_4 F:Metal.MTLLanguageVersion.v3_0 F:Metal.MTLLanguageVersion.v3_1 +F:Metal.MTLLanguageVersion.v3_2 F:Metal.MTLLibraryError.CompileFailure F:Metal.MTLLibraryError.CompileWarning F:Metal.MTLLibraryError.FileNotFound @@ -13930,6 +13932,21 @@ F:Metal.MTLLibraryType.Executable F:Metal.MTLLoadAction.Clear F:Metal.MTLLoadAction.DontCare F:Metal.MTLLoadAction.Load +F:Metal.MTLLogLevel.Debug +F:Metal.MTLLogLevel.Error +F:Metal.MTLLogLevel.Fault +F:Metal.MTLLogLevel.Info +F:Metal.MTLLogLevel.Notice +F:Metal.MTLLogLevel.Undefined +F:Metal.MTLLogStateError.Invalid +F:Metal.MTLLogStateError.InvalidSize +F:Metal.MTLMathFloatingPointFunctions.Fast +F:Metal.MTLMathFloatingPointFunctions.Precise +F:Metal.MTLMathMode.Fast +F:Metal.MTLMathMode.Relaxed +F:Metal.MTLMathMode.Safe +F:Metal.MTLMatrixLayout.ColumnMajor +F:Metal.MTLMatrixLayout.RowMajor F:Metal.MTLMotionBorderMode.Clamp F:Metal.MTLMotionBorderMode.Vanish F:Metal.MTLMultisampleDepthResolveFilter.Max @@ -13947,6 +13964,7 @@ F:Metal.MTLPatchType.None F:Metal.MTLPatchType.Quad F:Metal.MTLPatchType.Triangle F:Metal.MTLPipelineOption.ArgumentInfo +F:Metal.MTLPipelineOption.BindingInfo F:Metal.MTLPipelineOption.BufferTypeInfo F:Metal.MTLPipelineOption.FailOnBinaryArchiveMiss F:Metal.MTLPipelineOption.None @@ -14146,6 +14164,9 @@ F:Metal.MTLScissorRect.Height F:Metal.MTLScissorRect.Width F:Metal.MTLScissorRect.X F:Metal.MTLScissorRect.Y +F:Metal.MTLShaderValidation.Default +F:Metal.MTLShaderValidation.Disabled +F:Metal.MTLShaderValidation.Enabled F:Metal.MTLSize.Depth F:Metal.MTLSize.Height F:Metal.MTLSize.Width @@ -14181,6 +14202,9 @@ F:Metal.MTLStepFunction.ThreadPositionInGridX F:Metal.MTLStepFunction.ThreadPositionInGridXIndexed F:Metal.MTLStepFunction.ThreadPositionInGridY F:Metal.MTLStepFunction.ThreadPositionInGridYIndexed +F:Metal.MTLStitchedLibraryOptions.FailOnBinaryArchiveMiss +F:Metal.MTLStitchedLibraryOptions.None +F:Metal.MTLStitchedLibraryOptions.StoreLibraryInMetalScript F:Metal.MTLStorageMode.Managed F:Metal.MTLStorageMode.Memoryless F:Metal.MTLStorageMode.Private @@ -14233,6 +14257,8 @@ F:Metal.MTLTextureUsage.ShaderAtomic F:Metal.MTLTextureUsage.ShaderRead F:Metal.MTLTextureUsage.ShaderWrite F:Metal.MTLTextureUsage.Unknown +F:Metal.MTLTransformType.Component +F:Metal.MTLTransformType.PackedFloat4x3 F:Metal.MTLTriangleFillMode.Fill F:Metal.MTLTriangleFillMode.Lines F:Metal.MTLTriangleTessellationFactorsHalf.EdgeTessellationFactor @@ -14309,6 +14335,9 @@ F:Metal.MTLVisibilityResultMode.Counting F:Metal.MTLVisibilityResultMode.Disabled F:Metal.MTLWinding.Clockwise F:Metal.MTLWinding.CounterClockwise +F:Metal.NSDeviceCertification.iPhonePerformanceGaming +F:Metal.NSProcessPerformanceProfile.Default +F:Metal.NSProcessPerformanceProfile.Sustained F:MetalFX.MTLFXSpatialScalerColorProcessingMode.Hdr F:MetalFX.MTLFXSpatialScalerColorProcessingMode.Linear F:MetalFX.MTLFXSpatialScalerColorProcessingMode.Perceptual @@ -39264,6 +39293,8 @@ M:Metal.IMTLArgumentEncoder.SetVisibleFunctionTable(Metal.IMTLVisibleFunctionTab M:Metal.IMTLArgumentEncoder.SetVisibleFunctionTables(Metal.IMTLVisibleFunctionTable[],Foundation.NSRange) M:Metal.IMTLBinaryArchive.AddComputePipelineFunctions(Metal.MTLComputePipelineDescriptor,Foundation.NSError@) M:Metal.IMTLBinaryArchive.AddFunctionWithDescriptor(Metal.MTLFunctionDescriptor,Metal.IMTLLibrary,Foundation.NSError@) +M:Metal.IMTLBinaryArchive.AddLibrary(Metal.MTLStitchedLibraryDescriptor,Foundation.NSError@) +M:Metal.IMTLBinaryArchive.AddMeshRenderPipelineFunctions(Metal.MTLMeshRenderPipelineDescriptor,Foundation.NSError@) M:Metal.IMTLBinaryArchive.AddRenderPipelineFunctions(Metal.MTLRenderPipelineDescriptor,Foundation.NSError@) M:Metal.IMTLBinaryArchive.AddTileRenderPipelineFunctions(Metal.MTLTileRenderPipelineDescriptor,Foundation.NSError@) M:Metal.IMTLBinaryArchive.Serialize(Foundation.NSUrl,Foundation.NSError@) @@ -39318,16 +39349,22 @@ M:Metal.IMTLCommandBuffer.PresentDrawable(Metal.IMTLDrawable,System.Double) M:Metal.IMTLCommandBuffer.PresentDrawable(Metal.IMTLDrawable) M:Metal.IMTLCommandBuffer.PresentDrawableAfter(Metal.IMTLDrawable,System.Double) M:Metal.IMTLCommandBuffer.PushDebugGroup(System.String) +M:Metal.IMTLCommandBuffer.UseResidencySet(Metal.IMTLResidencySet) +M:Metal.IMTLCommandBuffer.UseResidencySets(System.IntPtr,System.UIntPtr) M:Metal.IMTLCommandBuffer.WaitUntilCompleted M:Metal.IMTLCommandBuffer.WaitUntilScheduled M:Metal.IMTLCommandEncoder.EndEncoding M:Metal.IMTLCommandEncoder.InsertDebugSignpost(System.String) M:Metal.IMTLCommandEncoder.PopDebugGroup M:Metal.IMTLCommandEncoder.PushDebugGroup(System.String) +M:Metal.IMTLCommandQueue.AddResidencySet(Metal.IMTLResidencySet) +M:Metal.IMTLCommandQueue.AddResidencySets(System.IntPtr,System.UIntPtr) M:Metal.IMTLCommandQueue.CommandBuffer M:Metal.IMTLCommandQueue.CommandBufferWithUnretainedReferences M:Metal.IMTLCommandQueue.CreateCommandBuffer(Metal.MTLCommandBufferDescriptor) M:Metal.IMTLCommandQueue.InsertDebugCaptureBoundary +M:Metal.IMTLCommandQueue.RemoveResidencySet(Metal.IMTLResidencySet) +M:Metal.IMTLCommandQueue.RemoveResidencySets(System.IntPtr,System.UIntPtr) M:Metal.IMTLComputeCommandEncoder.DispatchThreadgroups(Metal.IMTLBuffer,System.UIntPtr,Metal.MTLSize) M:Metal.IMTLComputeCommandEncoder.DispatchThreadgroups(Metal.MTLSize,Metal.MTLSize) M:Metal.IMTLComputeCommandEncoder.DispatchThreads(Metal.MTLSize,Metal.MTLSize) @@ -39385,6 +39422,7 @@ M:Metal.IMTLDevice.CreateBuffer(System.IntPtr,System.UIntPtr,Metal.MTLResourceOp M:Metal.IMTLDevice.CreateBuffer(System.UIntPtr,Metal.MTLResourceOptions) M:Metal.IMTLDevice.CreateBufferNoCopy(System.IntPtr,System.UIntPtr,Metal.MTLResourceOptions,Metal.MTLDeallocator) M:Metal.IMTLDevice.CreateCommandQueue +M:Metal.IMTLDevice.CreateCommandQueue(Metal.MTLCommandQueueDescriptor) M:Metal.IMTLDevice.CreateCommandQueue(System.UIntPtr) M:Metal.IMTLDevice.CreateComputePipelineState(Metal.IMTLFunction,Foundation.NSError@) M:Metal.IMTLDevice.CreateComputePipelineState(Metal.IMTLFunction,Metal.MTLPipelineOption,Metal.MTLComputePipelineReflection@,Foundation.NSError@) @@ -39420,6 +39458,7 @@ M:Metal.IMTLDevice.CreateRenderPipelineState(Metal.MTLRenderPipelineDescriptor,M M:Metal.IMTLDevice.CreateRenderPipelineState(Metal.MTLRenderPipelineDescriptor,System.Action{Metal.IMTLRenderPipelineState,Foundation.NSError}) M:Metal.IMTLDevice.CreateRenderPipelineState(Metal.MTLTileRenderPipelineDescriptor,Metal.MTLPipelineOption,Metal.MTLNewRenderPipelineStateWithReflectionCompletionHandler) M:Metal.IMTLDevice.CreateRenderPipelineState(Metal.MTLTileRenderPipelineDescriptor,Metal.MTLPipelineOption,Metal.MTLRenderPipelineReflection@,Foundation.NSError@) +M:Metal.IMTLDevice.CreateResidencySet(Metal.MTLResidencySetDescriptor,Foundation.NSError@) M:Metal.IMTLDevice.CreateSamplerState(Metal.MTLSamplerDescriptor) M:Metal.IMTLDevice.CreateSharedEvent M:Metal.IMTLDevice.CreateSharedEvent(Metal.MTLSharedEventHandle) @@ -39434,6 +39473,7 @@ M:Metal.IMTLDevice.GetHeapBufferSizeAndAlignWithLength(System.UIntPtr,Metal.MTLR M:Metal.IMTLDevice.GetHeapTextureSizeAndAlign(Metal.MTLTextureDescriptor) M:Metal.IMTLDevice.GetMinimumLinearTextureAlignment(Metal.MTLPixelFormat) M:Metal.IMTLDevice.GetMinimumTextureBufferAlignment(Metal.MTLPixelFormat) +M:Metal.IMTLDevice.GetNewLogState(Metal.MTLLogStateDescriptor,Foundation.NSError@) M:Metal.IMTLDevice.GetSampleTimestamps(System.UIntPtr,System.UIntPtr) M:Metal.IMTLDevice.GetSparseTileSize(Metal.MTLTextureType,Metal.MTLPixelFormat,System.UIntPtr,Metal.MTLSparsePageSize) M:Metal.IMTLDevice.GetSparseTileSize(Metal.MTLTextureType,Metal.MTLPixelFormat,System.UIntPtr) @@ -39509,6 +39549,7 @@ M:Metal.IMTLLibrary.CreateFunction(System.String) M:Metal.IMTLLibrary.CreateFunctionAsync(System.String,Metal.MTLFunctionConstantValues) M:Metal.IMTLLibrary.CreateIntersectionFunction(Metal.MTLIntersectionFunctionDescriptor,Foundation.NSError@) M:Metal.IMTLLibrary.CreateIntersectionFunction(Metal.MTLIntersectionFunctionDescriptor,System.Action{Metal.IMTLFunction,Foundation.NSError}) +M:Metal.IMTLLogState.AddLogHandler(Metal.MTLLogStateLogHandler) M:Metal.IMTLParallelRenderCommandEncoder.CreateRenderCommandEncoder M:Metal.IMTLParallelRenderCommandEncoder.SetColorStoreAction(Metal.MTLStoreAction,System.UIntPtr) M:Metal.IMTLParallelRenderCommandEncoder.SetColorStoreActionOptions(Metal.MTLStoreActionOptions,System.UIntPtr) @@ -39656,6 +39697,15 @@ M:Metal.IMTLRenderPipelineState.GetImageblockMemoryLength(Metal.MTLSize) M:Metal.IMTLRenderPipelineState.NewIntersectionFunctionTableWithDescriptor(Metal.MTLIntersectionFunctionTableDescriptor,Metal.MTLRenderStages) M:Metal.IMTLRenderPipelineState.NewRenderPipelineStateWithAdditionalBinaryFunctions(Metal.MTLRenderPipelineFunctionsDescriptor,Foundation.NSError@) M:Metal.IMTLRenderPipelineState.NewVisibleFunctionTableWithDescriptor(Metal.MTLVisibleFunctionTableDescriptor,Metal.MTLRenderStages) +M:Metal.IMTLResidencySet.AddAllocation(Metal.IMTLAllocation) +M:Metal.IMTLResidencySet.AddAllocations(System.IntPtr,System.UIntPtr) +M:Metal.IMTLResidencySet.Commit +M:Metal.IMTLResidencySet.ContainsAllocation(Metal.IMTLAllocation) +M:Metal.IMTLResidencySet.EndResidency +M:Metal.IMTLResidencySet.RemoveAllAllocations +M:Metal.IMTLResidencySet.RemoveAllocation(Metal.IMTLAllocation) +M:Metal.IMTLResidencySet.RemoveAllocations(System.IntPtr,System.UIntPtr) +M:Metal.IMTLResidencySet.RequestResidency M:Metal.IMTLResource.MakeAliasable M:Metal.IMTLResource.SetPurgeableState(Metal.MTLPurgeableState) M:Metal.IMTLResourceStateCommandEncoder.MoveTextureMappings(Metal.IMTLTexture,System.UIntPtr,System.UIntPtr,Metal.MTLOrigin,Metal.MTLSize,Metal.IMTLTexture,System.UIntPtr,System.UIntPtr,Metal.MTLOrigin) @@ -39691,6 +39741,8 @@ M:Metal.MTLArgumentEncoder_Extensions.SetIntersectionFunctionTables(Metal.IMTLAr M:Metal.MTLArgumentEncoder_Extensions.SetVisibleFunctionTable(Metal.IMTLArgumentEncoder,Metal.IMTLVisibleFunctionTable,System.UIntPtr) M:Metal.MTLArgumentEncoder_Extensions.SetVisibleFunctionTables(Metal.IMTLArgumentEncoder,Metal.IMTLVisibleFunctionTable[],Foundation.NSRange) M:Metal.MTLAttributeDescriptor.Copy(Foundation.NSZone) +M:Metal.MTLBinaryArchive_Extensions.AddLibrary(Metal.IMTLBinaryArchive,Metal.MTLStitchedLibraryDescriptor,Foundation.NSError@) +M:Metal.MTLBinaryArchive_Extensions.AddMeshRenderPipelineFunctions(Metal.IMTLBinaryArchive,Metal.MTLMeshRenderPipelineDescriptor,Foundation.NSError@) M:Metal.MTLBinaryArchiveDescriptor.Copy(Foundation.NSZone) M:Metal.MTLBlitCommandEncoder_Extensions.GetTextureAccessCounters(Metal.IMTLBlitCommandEncoder,Metal.IMTLTexture,Metal.MTLRegion,System.UIntPtr,System.UIntPtr,System.Boolean,Metal.IMTLBuffer,System.UIntPtr) M:Metal.MTLBlitCommandEncoder_Extensions.ResetTextureAccessCounters(Metal.IMTLBlitCommandEncoder,Metal.IMTLTexture,Metal.MTLRegion,System.UIntPtr,System.UIntPtr) @@ -39710,6 +39762,7 @@ M:Metal.MTLCommandBuffer_Extensions.CreateAccelerationStructureCommandEncoder(Me M:Metal.MTLCommandBuffer_Extensions.CreateResourceStateCommandEncoder(Metal.IMTLCommandBuffer,Metal.MTLResourceStatePassDescriptor) M:Metal.MTLCommandBuffer_Extensions.GetResourceStateCommandEncoder(Metal.IMTLCommandBuffer) M:Metal.MTLCommandBufferDescriptor.Copy(Foundation.NSZone) +M:Metal.MTLCommandQueueDescriptor.Copy(Foundation.NSZone) M:Metal.MTLCompileOptions.Copy(Foundation.NSZone) M:Metal.MTLComputeCommandEncoder_Extensions.SetAccelerationStructure(Metal.IMTLComputeCommandEncoder,Metal.IMTLAccelerationStructure,System.UIntPtr) M:Metal.MTLComputeCommandEncoder_Extensions.SetBuffer(Metal.IMTLComputeCommandEncoder,Metal.IMTLBuffer,System.UIntPtr,System.UIntPtr,System.UIntPtr) @@ -39744,6 +39797,7 @@ M:Metal.MTLDevice_Extensions.CreateLibraryAsync(Metal.IMTLDevice,System.String,M M:Metal.MTLDevice_Extensions.CreateRasterizationRateMap(Metal.IMTLDevice,Metal.MTLRasterizationRateMapDescriptor) M:Metal.MTLDevice_Extensions.CreateRenderPipelineState(Metal.IMTLDevice,Metal.MTLMeshRenderPipelineDescriptor,Metal.MTLPipelineOption,Metal.MTLNewRenderPipelineStateWithReflectionCompletionHandler) M:Metal.MTLDevice_Extensions.CreateRenderPipelineState(Metal.IMTLDevice,Metal.MTLMeshRenderPipelineDescriptor,Metal.MTLPipelineOption,Metal.MTLRenderPipelineReflection@,Foundation.NSError@) +M:Metal.MTLDevice_Extensions.CreateResidencySet(Metal.IMTLDevice,Metal.MTLResidencySetDescriptor,Foundation.NSError@) M:Metal.MTLDevice_Extensions.GetArchitecture(Metal.IMTLDevice) M:Metal.MTLDevice_Extensions.GetDefaultSamplePositions(Metal.IMTLDevice,Metal.MTLSamplePosition[],System.UIntPtr) M:Metal.MTLDevice_Extensions.GetHeapAccelerationStructureSizeAndAlign(Metal.IMTLDevice,Metal.MTLAccelerationStructureDescriptor) @@ -39815,6 +39869,7 @@ M:Metal.MTLLibrary_Extensions.CreateFunctionAsync(Metal.IMTLLibrary,System.Strin M:Metal.MTLLibrary_Extensions.CreateIntersectionFunction(Metal.IMTLLibrary,Metal.MTLIntersectionFunctionDescriptor,Foundation.NSError@) M:Metal.MTLLibrary_Extensions.CreateIntersectionFunction(Metal.IMTLLibrary,Metal.MTLIntersectionFunctionDescriptor,System.Action{Metal.IMTLFunction,Foundation.NSError}) M:Metal.MTLLinkedFunctions.Copy(Foundation.NSZone) +M:Metal.MTLLogStateDescriptor.Copy(Foundation.NSZone) M:Metal.MTLMeshRenderPipelineDescriptor.Copy(Foundation.NSZone) M:Metal.MTLOrigin.#ctor(System.IntPtr,System.IntPtr,System.IntPtr) M:Metal.MTLOrigin.ToString @@ -39891,6 +39946,7 @@ M:Metal.MTLRenderPipelineState_Extensions.GetObjectThreadExecutionWidth(Metal.IM M:Metal.MTLRenderPipelineState_Extensions.NewIntersectionFunctionTableWithDescriptor(Metal.IMTLRenderPipelineState,Metal.MTLIntersectionFunctionTableDescriptor,Metal.MTLRenderStages) M:Metal.MTLRenderPipelineState_Extensions.NewRenderPipelineStateWithAdditionalBinaryFunctions(Metal.IMTLRenderPipelineState,Metal.MTLRenderPipelineFunctionsDescriptor,Foundation.NSError@) M:Metal.MTLRenderPipelineState_Extensions.NewVisibleFunctionTableWithDescriptor(Metal.IMTLRenderPipelineState,Metal.MTLVisibleFunctionTableDescriptor,Metal.MTLRenderStages) +M:Metal.MTLResidencySetDescriptor.Copy(Foundation.NSZone) M:Metal.MTLResourceStateCommandEncoder_Extensions.MoveTextureMappings(Metal.IMTLResourceStateCommandEncoder,Metal.IMTLTexture,System.UIntPtr,System.UIntPtr,Metal.MTLOrigin,Metal.MTLSize,Metal.IMTLTexture,System.UIntPtr,System.UIntPtr,Metal.MTLOrigin) M:Metal.MTLResourceStateCommandEncoder_Extensions.Update(Metal.IMTLResourceStateCommandEncoder,Metal.IMTLFence) M:Metal.MTLResourceStateCommandEncoder_Extensions.Update(Metal.IMTLResourceStateCommandEncoder,Metal.IMTLTexture,Metal.MTLSparseTextureMappingMode,Metal.IMTLBuffer,System.UIntPtr) @@ -39931,6 +39987,8 @@ M:Metal.MTLViewport.#ctor(System.Double,System.Double,System.Double,System.Doubl M:Metal.MTLViewport.ToString M:Metal.MTLVisibleFunctionTable_Extensions.GetGpuResourceId(Metal.IMTLVisibleFunctionTable) M:Metal.MTLVisibleFunctionTableDescriptor.Copy(Foundation.NSZone) +M:Metal.NSProcessInfo_NSDeviceCertification.HasPerformanceProfile(Foundation.NSProcessInfo,Metal.NSProcessPerformanceProfile) +M:Metal.NSProcessInfo_NSDeviceCertification.IsDeviceCertifiedFor(Foundation.NSProcessInfo,Metal.NSDeviceCertification) M:MetalFX.IMTLFXSpatialScaler.Encode(Metal.IMTLCommandBuffer) M:MetalFX.IMTLFXTemporalScaler.Encode(Metal.IMTLCommandBuffer) M:MetalFX.MTLFXSpatialScalerDescriptor.Create(Metal.IMTLDevice) @@ -40513,6 +40571,8 @@ M:MetalPerformanceShaders.MPSCommandBuffer.PresentDrawable(Metal.IMTLDrawable,Sy M:MetalPerformanceShaders.MPSCommandBuffer.PresentDrawable(Metal.IMTLDrawable) M:MetalPerformanceShaders.MPSCommandBuffer.PresentDrawableAfter(Metal.IMTLDrawable,System.Double) M:MetalPerformanceShaders.MPSCommandBuffer.PushDebugGroup(System.String) +M:MetalPerformanceShaders.MPSCommandBuffer.UseResidencySet(Metal.IMTLResidencySet) +M:MetalPerformanceShaders.MPSCommandBuffer.UseResidencySets(System.IntPtr,System.UIntPtr) M:MetalPerformanceShaders.MPSCommandBuffer.WaitUntilCompleted M:MetalPerformanceShaders.MPSCommandBuffer.WaitUntilScheduled M:MetalPerformanceShaders.MPSGRUDescriptor.Create(System.UIntPtr,System.UIntPtr) @@ -64596,6 +64656,7 @@ P:Foundation.NSPort.PortDidBecomeInvalidNotification P:Foundation.NSProcessInfo.IsiOSApplicationOnMac P:Foundation.NSProcessInfo.IsMacCatalystApplication P:Foundation.NSProcessInfo.LowPowerModeEnabled +P:Foundation.NSProcessInfo.PerformanceProfileDidChangeNotification P:Foundation.NSProcessInfo.PowerStateDidChangeNotification P:Foundation.NSProcessInfo.ThermalStateDidChangeNotification P:Foundation.NSProgress.Cancellable @@ -68523,6 +68584,7 @@ P:MessageUI.MFMessageComposeViewController.TextMessageAvailabilityKey P:MessageUI.MFMessageComposeViewController.WeakMessageComposeDelegate P:Metal.IMTLAccelerationStructure.GpuResourceId P:Metal.IMTLAccelerationStructure.Size +P:Metal.IMTLAllocation.AllocatedSize P:Metal.IMTLArgumentEncoder.Alignment P:Metal.IMTLArgumentEncoder.Device P:Metal.IMTLArgumentEncoder.EncodedLength @@ -68574,6 +68636,7 @@ P:Metal.IMTLComputePipelineState.Device P:Metal.IMTLComputePipelineState.GpuResourceId P:Metal.IMTLComputePipelineState.Label P:Metal.IMTLComputePipelineState.MaxTotalThreadsPerThreadgroup +P:Metal.IMTLComputePipelineState.ShaderValidation P:Metal.IMTLComputePipelineState.StaticThreadgroupMemoryLength P:Metal.IMTLComputePipelineState.SupportIndirectCommandBuffers P:Metal.IMTLComputePipelineState.ThreadExecutionWidth @@ -68695,8 +68758,14 @@ P:Metal.IMTLRenderPipelineState.MaxTotalThreadsPerObjectThreadgroup P:Metal.IMTLRenderPipelineState.MaxTotalThreadsPerThreadgroup P:Metal.IMTLRenderPipelineState.MeshThreadExecutionWidth P:Metal.IMTLRenderPipelineState.ObjectThreadExecutionWidth +P:Metal.IMTLRenderPipelineState.ShaderValidation P:Metal.IMTLRenderPipelineState.SupportIndirectCommandBuffers P:Metal.IMTLRenderPipelineState.ThreadgroupSizeMatchesTileSize +P:Metal.IMTLResidencySet.AllAllocations +P:Metal.IMTLResidencySet.AllocatedSize +P:Metal.IMTLResidencySet.AllocationCount +P:Metal.IMTLResidencySet.Device +P:Metal.IMTLResidencySet.Label P:Metal.IMTLResource.AllocatedSize P:Metal.IMTLResource.CpuCacheMode P:Metal.IMTLResource.Device @@ -68757,6 +68826,7 @@ P:Metal.MTLCaptureScope.CommandQueue P:Metal.MTLCaptureScope.Device P:Metal.MTLCaptureScope.Label P:Metal.MTLCommandBufferDescriptor.BufferEncoderInfoErrorKey +P:Metal.MTLCompileOptions.MathFloatingPointFunctions P:Metal.MTLComputePassSampleBufferAttachmentDescriptorArray.Item(System.UIntPtr) P:Metal.MTLDepthStencilDescriptor.DepthWriteEnabled P:Metal.MTLDevice.SystemDefault @@ -80279,6 +80349,7 @@ T:MessageUI.MFMessageAvailabilityChangedEventArgs T:MessageUI.MFMessageComposeResultEventArgs T:Metal.IMTLAccelerationStructure T:Metal.IMTLAccelerationStructureCommandEncoder +T:Metal.IMTLAllocation T:Metal.IMTLBinaryArchive T:Metal.IMTLBinding T:Metal.IMTLBufferBinding @@ -80301,9 +80372,11 @@ T:Metal.IMTLIndirectComputeCommand T:Metal.IMTLIndirectRenderCommand T:Metal.IMTLIntersectionFunctionTable T:Metal.IMTLLogContainer +T:Metal.IMTLLogState T:Metal.IMTLObjectPayloadBinding T:Metal.IMTLRasterizationRateMap T:Metal.IMTLRenderCommandEncoder_Extensions +T:Metal.IMTLResidencySet T:Metal.IMTLResourceStateCommandEncoder T:Metal.IMTLSharedEvent T:Metal.IMTLTextureBinding @@ -80359,6 +80432,12 @@ T:Metal.MTLIOPriority T:Metal.MTLIOStatus T:Metal.MTLLibraryOptimizationLevel T:Metal.MTLLibraryType +T:Metal.MTLLogLevel +T:Metal.MTLLogStateError +T:Metal.MTLLogStateLogHandler +T:Metal.MTLMathFloatingPointFunctions +T:Metal.MTLMathMode +T:Metal.MTLMatrixLayout T:Metal.MTLMotionBorderMode T:Metal.MTLMultisampleStencilResolveFilter T:Metal.MTLNewComputePipelineStateWithReflectionCompletionHandler @@ -80374,6 +80453,7 @@ T:Metal.MTLResourceId T:Metal.MTLSamplePosition T:Metal.MTLSamplerBorderColor T:Metal.MTLScissorRect +T:Metal.MTLShaderValidation T:Metal.MTLSharedEventNotificationBlock T:Metal.MTLSize T:Metal.MTLSizeAndAlign @@ -80382,6 +80462,7 @@ T:Metal.MTLSparseTextureMappingMode T:Metal.MTLSparseTextureRegionAlignmentMode T:Metal.MTLStageInRegionIndirectArguments T:Metal.MTLStepFunction +T:Metal.MTLStitchedLibraryOptions T:Metal.MTLTessellationControlPointIndexType T:Metal.MTLTessellationFactorFormat T:Metal.MTLTessellationFactorStepFunction @@ -80389,10 +80470,14 @@ T:Metal.MTLTessellationPartitionMode T:Metal.MTLTextureCompressionType T:Metal.MTLTextureSwizzle T:Metal.MTLTextureSwizzleChannels +T:Metal.MTLTransformType T:Metal.MTLTriangleTessellationFactorsHalf T:Metal.MTLVertexAmplificationViewMapping T:Metal.MTLVertexFormatExtensions T:Metal.MTLViewport +T:Metal.NSDeviceCertification +T:Metal.NSProcessInfo_NSDeviceCertification +T:Metal.NSProcessPerformanceProfile T:MetalFX.IMTLFXSpatialScaler T:MetalFX.IMTLFXTemporalScaler T:MetalFX.MTLFXSpatialScalerColorProcessingMode diff --git a/tests/generator/ExpectedXmlDocs.MacCatalyst.xml b/tests/generator/ExpectedXmlDocs.MacCatalyst.xml index 47e7c2f01653..75b5807be8db 100644 --- a/tests/generator/ExpectedXmlDocs.MacCatalyst.xml +++ b/tests/generator/ExpectedXmlDocs.MacCatalyst.xml @@ -35,6 +35,10 @@ Retrieves the value named by . The name of the constant to retrieve. + + Converts an array of enum values into an array of their corresponding constants.. + The array if enum values to convert. + Summary for E3 diff --git a/tests/generator/ExpectedXmlDocs.iOS.legacy.xml b/tests/generator/ExpectedXmlDocs.iOS.legacy.xml index 63e6c1222b2d..30a4df716974 100644 --- a/tests/generator/ExpectedXmlDocs.iOS.legacy.xml +++ b/tests/generator/ExpectedXmlDocs.iOS.legacy.xml @@ -35,6 +35,10 @@ Retrieves the value named by . The name of the constant to retrieve. + + Converts an array of enum values into an array of their corresponding constants.. + The array if enum values to convert. + Summary for E3 diff --git a/tests/generator/ExpectedXmlDocs.iOS.xml b/tests/generator/ExpectedXmlDocs.iOS.xml index 204943d997fd..e4932502ecfd 100644 --- a/tests/generator/ExpectedXmlDocs.iOS.xml +++ b/tests/generator/ExpectedXmlDocs.iOS.xml @@ -35,6 +35,10 @@ Retrieves the value named by . The name of the constant to retrieve. + + Converts an array of enum values into an array of their corresponding constants.. + The array if enum values to convert. + Summary for E3 diff --git a/tests/generator/ExpectedXmlDocs.macOS.legacy.xml b/tests/generator/ExpectedXmlDocs.macOS.legacy.xml index 4ab92fe3181a..dc2220b28f3a 100644 --- a/tests/generator/ExpectedXmlDocs.macOS.legacy.xml +++ b/tests/generator/ExpectedXmlDocs.macOS.legacy.xml @@ -35,6 +35,10 @@ Retrieves the value named by . The name of the constant to retrieve. + + Converts an array of enum values into an array of their corresponding constants.. + The array if enum values to convert. + Summary for E3 diff --git a/tests/generator/ExpectedXmlDocs.macOS.xml b/tests/generator/ExpectedXmlDocs.macOS.xml index 47e7c2f01653..75b5807be8db 100644 --- a/tests/generator/ExpectedXmlDocs.macOS.xml +++ b/tests/generator/ExpectedXmlDocs.macOS.xml @@ -35,6 +35,10 @@ Retrieves the value named by . The name of the constant to retrieve. + + Converts an array of enum values into an array of their corresponding constants.. + The array if enum values to convert. + Summary for E3 diff --git a/tests/generator/ExpectedXmlDocs.tvOS.legacy.xml b/tests/generator/ExpectedXmlDocs.tvOS.legacy.xml index 4ab92fe3181a..dc2220b28f3a 100644 --- a/tests/generator/ExpectedXmlDocs.tvOS.legacy.xml +++ b/tests/generator/ExpectedXmlDocs.tvOS.legacy.xml @@ -35,6 +35,10 @@ Retrieves the value named by . The name of the constant to retrieve. + + Converts an array of enum values into an array of their corresponding constants.. + The array if enum values to convert. + Summary for E3 diff --git a/tests/generator/ExpectedXmlDocs.tvOS.xml b/tests/generator/ExpectedXmlDocs.tvOS.xml index 47e7c2f01653..75b5807be8db 100644 --- a/tests/generator/ExpectedXmlDocs.tvOS.xml +++ b/tests/generator/ExpectedXmlDocs.tvOS.xml @@ -35,6 +35,10 @@ Retrieves the value named by . The name of the constant to retrieve. + + Converts an array of enum values into an array of their corresponding constants.. + The array if enum values to convert. + Summary for E3 diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.todo index f48cf84a81a1..992565ccdaf2 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.todo +++ b/tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.todo @@ -1,91 +1,5 @@ -!deprecated-attribute-missing! MTLCompileOptions::fastMathEnabled missing a [Deprecated] attribute -!deprecated-attribute-missing! MTLCompileOptions::setFastMathEnabled: missing a [Deprecated] attribute -!missing-enum! MTLLogLevel not bound -!missing-enum! MTLLogStateError not bound -!missing-enum! MTLMathFloatingPointFunctions not bound -!missing-enum! MTLMathMode not bound -!missing-enum! MTLMatrixLayout not bound -!missing-enum! MTLShaderValidation not bound -!missing-enum! MTLStitchedLibraryOptions not bound -!missing-enum! MTLTransformType not bound -!missing-enum-value! MTLFunctionOptions native value MTLFunctionOptionFailOnBinaryArchiveMiss = 4 not bound -!missing-enum-value! MTLLanguageVersion native value MTLLanguageVersion3_2 = 196610 not bound -!missing-field! MTLLogStateErrorDomain not bound -!missing-field! NSDeviceCertificationiPhonePerformanceGaming not bound -!missing-field! NSProcessInfoPerformanceProfileDidChangeNotification not bound -!missing-field! NSProcessPerformanceProfileDefault not bound -!missing-field! NSProcessPerformanceProfileSustained not bound -!missing-pinvoke! MTLCopyAllDevices is not bound -!missing-protocol! MTLAllocation not bound -!missing-protocol! MTLLogState not bound -!missing-protocol! MTLResidencySet not bound -!missing-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: not found -!missing-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySet: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::addResidencySet: not found -!missing-protocol-member! MTLCommandQueue::addResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySet: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySets:count: not found -!missing-protocol-member! MTLComputePipelineState::shaderValidation not found -!missing-protocol-member! MTLDevice::newCommandQueueWithDescriptor: not found -!missing-protocol-member! MTLDevice::newLogStateWithDescriptor:error: not found -!missing-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: not found -!missing-protocol-member! MTLRenderPipelineState::shaderValidation not found !missing-protocol-member! MTLResource::setOwnerWithIdentity: not found !missing-protocol-member! MTLSharedEvent::waitUntilSignaledValue:timeoutMS: not found -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLCommandBufferDescriptor::logState not bound -!missing-selector! MTLCommandBufferDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::logState not bound -!missing-selector! MTLCommandQueueDescriptor::maxCommandBufferCount not bound -!missing-selector! MTLCommandQueueDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::setMaxCommandBufferCount: not bound -!missing-selector! MTLCompileOptions::enableLogging not bound !missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound -!missing-selector! MTLCompileOptions::mathMode not bound -!missing-selector! MTLCompileOptions::setEnableLogging: not bound !missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound -!missing-selector! MTLCompileOptions::setMathMode: not bound -!missing-selector! MTLComputePipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLComputePipelineDescriptor::shaderValidation not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::instanceTransformationMatrixLayout not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::motionTransformStride not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::motionTransformType not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::setInstanceTransformationMatrixLayout: not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::setMotionTransformStride: not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::setMotionTransformType: not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::instanceTransformationMatrixLayout not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::motionTransformStride not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::motionTransformType not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::setInstanceTransformationMatrixLayout: not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::setMotionTransformStride: not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::setMotionTransformType: not bound -!missing-selector! MTLLogStateDescriptor::bufferSize not bound -!missing-selector! MTLLogStateDescriptor::level not bound -!missing-selector! MTLLogStateDescriptor::setBufferSize: not bound -!missing-selector! MTLLogStateDescriptor::setLevel: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::binaryArchives not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::setBinaryArchives: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! MTLRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! MTLResidencySetDescriptor::initialCapacity not bound -!missing-selector! MTLResidencySetDescriptor::label not bound -!missing-selector! MTLResidencySetDescriptor::setInitialCapacity: not bound -!missing-selector! MTLResidencySetDescriptor::setLabel: not bound -!missing-selector! MTLStitchedLibraryDescriptor::binaryArchives not bound -!missing-selector! MTLStitchedLibraryDescriptor::options not bound !missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound -!missing-selector! MTLStitchedLibraryDescriptor::setOptions: not bound -!missing-selector! MTLTileRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLTileRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! NSProcessInfo::hasPerformanceProfile: not bound -!missing-selector! NSProcessInfo::isDeviceCertifiedFor: not bound -!missing-type! MTLCommandQueueDescriptor not bound -!missing-type! MTLLogStateDescriptor not bound -!missing-type! MTLResidencySetDescriptor not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.todo b/tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.todo index 9f0914aaf9a4..1ee845eea68a 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.todo +++ b/tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.todo @@ -5,93 +5,8 @@ !missing-protocol-member! MTLIndirectRenderCommand::setMeshBuffer:offset:atIndex: not found !missing-protocol-member! MTLIndirectRenderCommand::setObjectBuffer:offset:atIndex: not found !missing-protocol-member! MTLIndirectRenderCommand::setObjectThreadgroupMemoryLength:atIndex: not found -!deprecated-attribute-missing! MTLCompileOptions::fastMathEnabled missing a [Deprecated] attribute -!deprecated-attribute-missing! MTLCompileOptions::setFastMathEnabled: missing a [Deprecated] attribute -!missing-enum! MTLLogLevel not bound -!missing-enum! MTLLogStateError not bound -!missing-enum! MTLMathFloatingPointFunctions not bound -!missing-enum! MTLMathMode not bound -!missing-enum! MTLMatrixLayout not bound -!missing-enum! MTLShaderValidation not bound -!missing-enum! MTLStitchedLibraryOptions not bound -!missing-enum! MTLTransformType not bound -!missing-enum-value! MTLFunctionOptions native value MTLFunctionOptionFailOnBinaryArchiveMiss = 4 not bound -!missing-enum-value! MTLLanguageVersion native value MTLLanguageVersion3_2 = 196610 not bound -!missing-field! MTLLogStateErrorDomain not bound -!missing-field! NSDeviceCertificationiPhonePerformanceGaming not bound -!missing-field! NSProcessInfoPerformanceProfileDidChangeNotification not bound -!missing-field! NSProcessPerformanceProfileDefault not bound -!missing-field! NSProcessPerformanceProfileSustained not bound -!missing-protocol! MTLAllocation not bound -!missing-protocol! MTLLogState not bound -!missing-protocol! MTLResidencySet not bound -!missing-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: not found -!missing-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySet: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::addResidencySet: not found -!missing-protocol-member! MTLCommandQueue::addResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySet: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySets:count: not found -!missing-protocol-member! MTLComputePipelineState::shaderValidation not found -!missing-protocol-member! MTLDevice::newCommandQueueWithDescriptor: not found -!missing-protocol-member! MTLDevice::newLogStateWithDescriptor:error: not found -!missing-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: not found -!missing-protocol-member! MTLRenderPipelineState::shaderValidation not found !missing-protocol-member! MTLResource::setOwnerWithIdentity: not found !missing-protocol-member! MTLSharedEvent::waitUntilSignaledValue:timeoutMS: not found -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLCommandBufferDescriptor::logState not bound -!missing-selector! MTLCommandBufferDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::logState not bound -!missing-selector! MTLCommandQueueDescriptor::maxCommandBufferCount not bound -!missing-selector! MTLCommandQueueDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::setMaxCommandBufferCount: not bound -!missing-selector! MTLCompileOptions::enableLogging not bound !missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound -!missing-selector! MTLCompileOptions::mathMode not bound -!missing-selector! MTLCompileOptions::setEnableLogging: not bound !missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound -!missing-selector! MTLCompileOptions::setMathMode: not bound -!missing-selector! MTLComputePipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLComputePipelineDescriptor::shaderValidation not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::instanceTransformationMatrixLayout not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::motionTransformStride not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::motionTransformType not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::setInstanceTransformationMatrixLayout: not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::setMotionTransformStride: not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::setMotionTransformType: not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::instanceTransformationMatrixLayout not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::motionTransformStride not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::motionTransformType not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::setInstanceTransformationMatrixLayout: not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::setMotionTransformStride: not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::setMotionTransformType: not bound -!missing-selector! MTLLogStateDescriptor::bufferSize not bound -!missing-selector! MTLLogStateDescriptor::level not bound -!missing-selector! MTLLogStateDescriptor::setBufferSize: not bound -!missing-selector! MTLLogStateDescriptor::setLevel: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::binaryArchives not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::setBinaryArchives: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! MTLRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! MTLResidencySetDescriptor::initialCapacity not bound -!missing-selector! MTLResidencySetDescriptor::label not bound -!missing-selector! MTLResidencySetDescriptor::setInitialCapacity: not bound -!missing-selector! MTLResidencySetDescriptor::setLabel: not bound -!missing-selector! MTLStitchedLibraryDescriptor::binaryArchives not bound -!missing-selector! MTLStitchedLibraryDescriptor::options not bound !missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound -!missing-selector! MTLStitchedLibraryDescriptor::setOptions: not bound -!missing-selector! MTLTileRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLTileRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! NSProcessInfo::hasPerformanceProfile: not bound -!missing-selector! NSProcessInfo::isDeviceCertifiedFor: not bound -!missing-type! MTLCommandQueueDescriptor not bound -!missing-type! MTLLogStateDescriptor not bound -!missing-type! MTLResidencySetDescriptor not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.todo b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.todo index 94d78b5857ba..992565ccdaf2 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.todo +++ b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.todo @@ -1,73 +1,5 @@ -!deprecated-attribute-missing! MTLCompileOptions::fastMathEnabled missing a [Deprecated] attribute -!deprecated-attribute-missing! MTLCompileOptions::setFastMathEnabled: missing a [Deprecated] attribute -!missing-enum! MTLLogLevel not bound -!missing-enum! MTLLogStateError not bound -!missing-enum! MTLMathFloatingPointFunctions not bound -!missing-enum! MTLMathMode not bound -!missing-enum! MTLShaderValidation not bound -!missing-enum! MTLStitchedLibraryOptions not bound -!missing-enum-value! MTLFunctionOptions native value MTLFunctionOptionFailOnBinaryArchiveMiss = 4 not bound -!missing-enum-value! MTLLanguageVersion native value MTLLanguageVersion3_2 = 196610 not bound -!missing-field! MTLLogStateErrorDomain not bound -!missing-field! NSDeviceCertificationiPhonePerformanceGaming not bound -!missing-field! NSProcessInfoPerformanceProfileDidChangeNotification not bound -!missing-field! NSProcessPerformanceProfileDefault not bound -!missing-field! NSProcessPerformanceProfileSustained not bound -!missing-pinvoke! MTLCopyAllDevices is not bound -!missing-protocol! MTLAllocation not bound -!missing-protocol! MTLLogState not bound -!missing-protocol! MTLResidencySet not bound -!missing-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: not found -!missing-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySet: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::addResidencySet: not found -!missing-protocol-member! MTLCommandQueue::addResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySet: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySets:count: not found -!missing-protocol-member! MTLComputePipelineState::shaderValidation not found -!missing-protocol-member! MTLDevice::newCommandQueueWithDescriptor: not found -!missing-protocol-member! MTLDevice::newLogStateWithDescriptor:error: not found -!missing-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: not found -!missing-protocol-member! MTLRenderPipelineState::shaderValidation not found !missing-protocol-member! MTLResource::setOwnerWithIdentity: not found !missing-protocol-member! MTLSharedEvent::waitUntilSignaledValue:timeoutMS: not found -!missing-selector! MTLCommandBufferDescriptor::logState not bound -!missing-selector! MTLCommandBufferDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::logState not bound -!missing-selector! MTLCommandQueueDescriptor::maxCommandBufferCount not bound -!missing-selector! MTLCommandQueueDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::setMaxCommandBufferCount: not bound -!missing-selector! MTLCompileOptions::enableLogging not bound !missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound -!missing-selector! MTLCompileOptions::mathMode not bound -!missing-selector! MTLCompileOptions::setEnableLogging: not bound !missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound -!missing-selector! MTLCompileOptions::setMathMode: not bound -!missing-selector! MTLComputePipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLComputePipelineDescriptor::shaderValidation not bound -!missing-selector! MTLLogStateDescriptor::bufferSize not bound -!missing-selector! MTLLogStateDescriptor::level not bound -!missing-selector! MTLLogStateDescriptor::setBufferSize: not bound -!missing-selector! MTLLogStateDescriptor::setLevel: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::binaryArchives not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::setBinaryArchives: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! MTLRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! MTLResidencySetDescriptor::initialCapacity not bound -!missing-selector! MTLResidencySetDescriptor::label not bound -!missing-selector! MTLResidencySetDescriptor::setInitialCapacity: not bound -!missing-selector! MTLResidencySetDescriptor::setLabel: not bound -!missing-selector! MTLStitchedLibraryDescriptor::binaryArchives not bound -!missing-selector! MTLStitchedLibraryDescriptor::options not bound !missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound -!missing-selector! MTLStitchedLibraryDescriptor::setOptions: not bound -!missing-selector! MTLTileRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLTileRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! NSProcessInfo::hasPerformanceProfile: not bound -!missing-selector! NSProcessInfo::isDeviceCertifiedFor: not bound -!missing-type! MTLCommandQueueDescriptor not bound -!missing-type! MTLLogStateDescriptor not bound -!missing-type! MTLResidencySetDescriptor not bound diff --git a/tests/xtro-sharpie/iOS-Metal.todo b/tests/xtro-sharpie/iOS-Metal.todo index f48cf84a81a1..992565ccdaf2 100644 --- a/tests/xtro-sharpie/iOS-Metal.todo +++ b/tests/xtro-sharpie/iOS-Metal.todo @@ -1,91 +1,5 @@ -!deprecated-attribute-missing! MTLCompileOptions::fastMathEnabled missing a [Deprecated] attribute -!deprecated-attribute-missing! MTLCompileOptions::setFastMathEnabled: missing a [Deprecated] attribute -!missing-enum! MTLLogLevel not bound -!missing-enum! MTLLogStateError not bound -!missing-enum! MTLMathFloatingPointFunctions not bound -!missing-enum! MTLMathMode not bound -!missing-enum! MTLMatrixLayout not bound -!missing-enum! MTLShaderValidation not bound -!missing-enum! MTLStitchedLibraryOptions not bound -!missing-enum! MTLTransformType not bound -!missing-enum-value! MTLFunctionOptions native value MTLFunctionOptionFailOnBinaryArchiveMiss = 4 not bound -!missing-enum-value! MTLLanguageVersion native value MTLLanguageVersion3_2 = 196610 not bound -!missing-field! MTLLogStateErrorDomain not bound -!missing-field! NSDeviceCertificationiPhonePerformanceGaming not bound -!missing-field! NSProcessInfoPerformanceProfileDidChangeNotification not bound -!missing-field! NSProcessPerformanceProfileDefault not bound -!missing-field! NSProcessPerformanceProfileSustained not bound -!missing-pinvoke! MTLCopyAllDevices is not bound -!missing-protocol! MTLAllocation not bound -!missing-protocol! MTLLogState not bound -!missing-protocol! MTLResidencySet not bound -!missing-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: not found -!missing-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySet: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::addResidencySet: not found -!missing-protocol-member! MTLCommandQueue::addResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySet: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySets:count: not found -!missing-protocol-member! MTLComputePipelineState::shaderValidation not found -!missing-protocol-member! MTLDevice::newCommandQueueWithDescriptor: not found -!missing-protocol-member! MTLDevice::newLogStateWithDescriptor:error: not found -!missing-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: not found -!missing-protocol-member! MTLRenderPipelineState::shaderValidation not found !missing-protocol-member! MTLResource::setOwnerWithIdentity: not found !missing-protocol-member! MTLSharedEvent::waitUntilSignaledValue:timeoutMS: not found -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLCommandBufferDescriptor::logState not bound -!missing-selector! MTLCommandBufferDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::logState not bound -!missing-selector! MTLCommandQueueDescriptor::maxCommandBufferCount not bound -!missing-selector! MTLCommandQueueDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::setMaxCommandBufferCount: not bound -!missing-selector! MTLCompileOptions::enableLogging not bound !missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound -!missing-selector! MTLCompileOptions::mathMode not bound -!missing-selector! MTLCompileOptions::setEnableLogging: not bound !missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound -!missing-selector! MTLCompileOptions::setMathMode: not bound -!missing-selector! MTLComputePipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLComputePipelineDescriptor::shaderValidation not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::instanceTransformationMatrixLayout not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::motionTransformStride not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::motionTransformType not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::setInstanceTransformationMatrixLayout: not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::setMotionTransformStride: not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::setMotionTransformType: not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::instanceTransformationMatrixLayout not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::motionTransformStride not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::motionTransformType not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::setInstanceTransformationMatrixLayout: not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::setMotionTransformStride: not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::setMotionTransformType: not bound -!missing-selector! MTLLogStateDescriptor::bufferSize not bound -!missing-selector! MTLLogStateDescriptor::level not bound -!missing-selector! MTLLogStateDescriptor::setBufferSize: not bound -!missing-selector! MTLLogStateDescriptor::setLevel: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::binaryArchives not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::setBinaryArchives: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! MTLRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! MTLResidencySetDescriptor::initialCapacity not bound -!missing-selector! MTLResidencySetDescriptor::label not bound -!missing-selector! MTLResidencySetDescriptor::setInitialCapacity: not bound -!missing-selector! MTLResidencySetDescriptor::setLabel: not bound -!missing-selector! MTLStitchedLibraryDescriptor::binaryArchives not bound -!missing-selector! MTLStitchedLibraryDescriptor::options not bound !missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound -!missing-selector! MTLStitchedLibraryDescriptor::setOptions: not bound -!missing-selector! MTLTileRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLTileRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! NSProcessInfo::hasPerformanceProfile: not bound -!missing-selector! NSProcessInfo::isDeviceCertifiedFor: not bound -!missing-type! MTLCommandQueueDescriptor not bound -!missing-type! MTLLogStateDescriptor not bound -!missing-type! MTLResidencySetDescriptor not bound diff --git a/tests/xtro-sharpie/macOS-Metal.todo b/tests/xtro-sharpie/macOS-Metal.todo index 9f0914aaf9a4..1ee845eea68a 100644 --- a/tests/xtro-sharpie/macOS-Metal.todo +++ b/tests/xtro-sharpie/macOS-Metal.todo @@ -5,93 +5,8 @@ !missing-protocol-member! MTLIndirectRenderCommand::setMeshBuffer:offset:atIndex: not found !missing-protocol-member! MTLIndirectRenderCommand::setObjectBuffer:offset:atIndex: not found !missing-protocol-member! MTLIndirectRenderCommand::setObjectThreadgroupMemoryLength:atIndex: not found -!deprecated-attribute-missing! MTLCompileOptions::fastMathEnabled missing a [Deprecated] attribute -!deprecated-attribute-missing! MTLCompileOptions::setFastMathEnabled: missing a [Deprecated] attribute -!missing-enum! MTLLogLevel not bound -!missing-enum! MTLLogStateError not bound -!missing-enum! MTLMathFloatingPointFunctions not bound -!missing-enum! MTLMathMode not bound -!missing-enum! MTLMatrixLayout not bound -!missing-enum! MTLShaderValidation not bound -!missing-enum! MTLStitchedLibraryOptions not bound -!missing-enum! MTLTransformType not bound -!missing-enum-value! MTLFunctionOptions native value MTLFunctionOptionFailOnBinaryArchiveMiss = 4 not bound -!missing-enum-value! MTLLanguageVersion native value MTLLanguageVersion3_2 = 196610 not bound -!missing-field! MTLLogStateErrorDomain not bound -!missing-field! NSDeviceCertificationiPhonePerformanceGaming not bound -!missing-field! NSProcessInfoPerformanceProfileDidChangeNotification not bound -!missing-field! NSProcessPerformanceProfileDefault not bound -!missing-field! NSProcessPerformanceProfileSustained not bound -!missing-protocol! MTLAllocation not bound -!missing-protocol! MTLLogState not bound -!missing-protocol! MTLResidencySet not bound -!missing-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: not found -!missing-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySet: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::addResidencySet: not found -!missing-protocol-member! MTLCommandQueue::addResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySet: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySets:count: not found -!missing-protocol-member! MTLComputePipelineState::shaderValidation not found -!missing-protocol-member! MTLDevice::newCommandQueueWithDescriptor: not found -!missing-protocol-member! MTLDevice::newLogStateWithDescriptor:error: not found -!missing-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: not found -!missing-protocol-member! MTLRenderPipelineState::shaderValidation not found !missing-protocol-member! MTLResource::setOwnerWithIdentity: not found !missing-protocol-member! MTLSharedEvent::waitUntilSignaledValue:timeoutMS: not found -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLCommandBufferDescriptor::logState not bound -!missing-selector! MTLCommandBufferDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::logState not bound -!missing-selector! MTLCommandQueueDescriptor::maxCommandBufferCount not bound -!missing-selector! MTLCommandQueueDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::setMaxCommandBufferCount: not bound -!missing-selector! MTLCompileOptions::enableLogging not bound !missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound -!missing-selector! MTLCompileOptions::mathMode not bound -!missing-selector! MTLCompileOptions::setEnableLogging: not bound !missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound -!missing-selector! MTLCompileOptions::setMathMode: not bound -!missing-selector! MTLComputePipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLComputePipelineDescriptor::shaderValidation not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::instanceTransformationMatrixLayout not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::motionTransformStride not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::motionTransformType not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::setInstanceTransformationMatrixLayout: not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::setMotionTransformStride: not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::setMotionTransformType: not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::instanceTransformationMatrixLayout not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::motionTransformStride not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::motionTransformType not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::setInstanceTransformationMatrixLayout: not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::setMotionTransformStride: not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::setMotionTransformType: not bound -!missing-selector! MTLLogStateDescriptor::bufferSize not bound -!missing-selector! MTLLogStateDescriptor::level not bound -!missing-selector! MTLLogStateDescriptor::setBufferSize: not bound -!missing-selector! MTLLogStateDescriptor::setLevel: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::binaryArchives not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::setBinaryArchives: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! MTLRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! MTLResidencySetDescriptor::initialCapacity not bound -!missing-selector! MTLResidencySetDescriptor::label not bound -!missing-selector! MTLResidencySetDescriptor::setInitialCapacity: not bound -!missing-selector! MTLResidencySetDescriptor::setLabel: not bound -!missing-selector! MTLStitchedLibraryDescriptor::binaryArchives not bound -!missing-selector! MTLStitchedLibraryDescriptor::options not bound !missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound -!missing-selector! MTLStitchedLibraryDescriptor::setOptions: not bound -!missing-selector! MTLTileRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLTileRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! NSProcessInfo::hasPerformanceProfile: not bound -!missing-selector! NSProcessInfo::isDeviceCertifiedFor: not bound -!missing-type! MTLCommandQueueDescriptor not bound -!missing-type! MTLLogStateDescriptor not bound -!missing-type! MTLResidencySetDescriptor not bound diff --git a/tests/xtro-sharpie/tvOS-Metal.todo b/tests/xtro-sharpie/tvOS-Metal.todo index 94d78b5857ba..992565ccdaf2 100644 --- a/tests/xtro-sharpie/tvOS-Metal.todo +++ b/tests/xtro-sharpie/tvOS-Metal.todo @@ -1,73 +1,5 @@ -!deprecated-attribute-missing! MTLCompileOptions::fastMathEnabled missing a [Deprecated] attribute -!deprecated-attribute-missing! MTLCompileOptions::setFastMathEnabled: missing a [Deprecated] attribute -!missing-enum! MTLLogLevel not bound -!missing-enum! MTLLogStateError not bound -!missing-enum! MTLMathFloatingPointFunctions not bound -!missing-enum! MTLMathMode not bound -!missing-enum! MTLShaderValidation not bound -!missing-enum! MTLStitchedLibraryOptions not bound -!missing-enum-value! MTLFunctionOptions native value MTLFunctionOptionFailOnBinaryArchiveMiss = 4 not bound -!missing-enum-value! MTLLanguageVersion native value MTLLanguageVersion3_2 = 196610 not bound -!missing-field! MTLLogStateErrorDomain not bound -!missing-field! NSDeviceCertificationiPhonePerformanceGaming not bound -!missing-field! NSProcessInfoPerformanceProfileDidChangeNotification not bound -!missing-field! NSProcessPerformanceProfileDefault not bound -!missing-field! NSProcessPerformanceProfileSustained not bound -!missing-pinvoke! MTLCopyAllDevices is not bound -!missing-protocol! MTLAllocation not bound -!missing-protocol! MTLLogState not bound -!missing-protocol! MTLResidencySet not bound -!missing-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: not found -!missing-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySet: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::addResidencySet: not found -!missing-protocol-member! MTLCommandQueue::addResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySet: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySets:count: not found -!missing-protocol-member! MTLComputePipelineState::shaderValidation not found -!missing-protocol-member! MTLDevice::newCommandQueueWithDescriptor: not found -!missing-protocol-member! MTLDevice::newLogStateWithDescriptor:error: not found -!missing-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: not found -!missing-protocol-member! MTLRenderPipelineState::shaderValidation not found !missing-protocol-member! MTLResource::setOwnerWithIdentity: not found !missing-protocol-member! MTLSharedEvent::waitUntilSignaledValue:timeoutMS: not found -!missing-selector! MTLCommandBufferDescriptor::logState not bound -!missing-selector! MTLCommandBufferDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::logState not bound -!missing-selector! MTLCommandQueueDescriptor::maxCommandBufferCount not bound -!missing-selector! MTLCommandQueueDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::setMaxCommandBufferCount: not bound -!missing-selector! MTLCompileOptions::enableLogging not bound !missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound -!missing-selector! MTLCompileOptions::mathMode not bound -!missing-selector! MTLCompileOptions::setEnableLogging: not bound !missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound -!missing-selector! MTLCompileOptions::setMathMode: not bound -!missing-selector! MTLComputePipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLComputePipelineDescriptor::shaderValidation not bound -!missing-selector! MTLLogStateDescriptor::bufferSize not bound -!missing-selector! MTLLogStateDescriptor::level not bound -!missing-selector! MTLLogStateDescriptor::setBufferSize: not bound -!missing-selector! MTLLogStateDescriptor::setLevel: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::binaryArchives not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::setBinaryArchives: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! MTLRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! MTLResidencySetDescriptor::initialCapacity not bound -!missing-selector! MTLResidencySetDescriptor::label not bound -!missing-selector! MTLResidencySetDescriptor::setInitialCapacity: not bound -!missing-selector! MTLResidencySetDescriptor::setLabel: not bound -!missing-selector! MTLStitchedLibraryDescriptor::binaryArchives not bound -!missing-selector! MTLStitchedLibraryDescriptor::options not bound !missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound -!missing-selector! MTLStitchedLibraryDescriptor::setOptions: not bound -!missing-selector! MTLTileRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLTileRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! NSProcessInfo::hasPerformanceProfile: not bound -!missing-selector! NSProcessInfo::isDeviceCertifiedFor: not bound -!missing-type! MTLCommandQueueDescriptor not bound -!missing-type! MTLLogStateDescriptor not bound -!missing-type! MTLResidencySetDescriptor not bound From 01eefcfd58c097c79f2dba13182a6333da3ad1dc Mon Sep 17 00:00:00 2001 From: GitHub Actions Autoformatter Date: Fri, 12 Jul 2024 17:04:31 +0000 Subject: [PATCH 03/11] Auto-format source code --- src/bgen/Enums.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bgen/Enums.cs b/src/bgen/Enums.cs index 57b77abb96b9..8d756251a637 100644 --- a/src/bgen/Enums.cs +++ b/src/bgen/Enums.cs @@ -248,7 +248,7 @@ void GenerateEnum (Type type) print ("}"); } if (isBackingFieldValueType) { - print ("if (ptr == null)"); + print ("if (ptr is null)"); print ("\t return null;"); print ("return *ptr;"); } else { From b657228ceee4a6dad0fd8cb22063484b4d540540 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Wed, 14 Aug 2024 19:27:52 +0200 Subject: [PATCH 04/11] Add tests. --- src/Metal/MTLCommandBuffer.cs | 3 +- src/Metal/MTLCommandQueue.cs | 6 ++- src/Metal/MTLResidencySet.cs | 6 ++- src/metal.cs | 1 - .../Metal/MTLCommandBufferTests.cs | 46 +++++++++++++++++ .../Metal/MTLCommandQueueTests.cs | 45 +++++++++++++++++ tests/monotouch-test/Metal/MTLDeviceTests.cs | 4 +- .../Metal/MTLResidencySetTests.cs | 49 +++++++++++++++++++ 8 files changed, 152 insertions(+), 8 deletions(-) create mode 100644 tests/monotouch-test/Metal/MTLCommandBufferTests.cs create mode 100644 tests/monotouch-test/Metal/MTLCommandQueueTests.cs create mode 100644 tests/monotouch-test/Metal/MTLResidencySetTests.cs diff --git a/src/Metal/MTLCommandBuffer.cs b/src/Metal/MTLCommandBuffer.cs index adaa61c29def..9de261e4cc0a 100644 --- a/src/Metal/MTLCommandBuffer.cs +++ b/src/Metal/MTLCommandBuffer.cs @@ -9,7 +9,8 @@ namespace Metal { public partial interface IMTLCommandBuffer { /// Marks the specified residency sets as part of the current command buffer execution. - public void UseResidencySets (IMTLResidencySet [] residencySets) + /// The residency sets to mark. + public void UseResidencySets (params IMTLResidencySet [] residencySets) { NativeObjectExtensions.CallWithPointerToFirstElementAndCount (residencySets, nameof (residencySets), UseResidencySets); } diff --git a/src/Metal/MTLCommandQueue.cs b/src/Metal/MTLCommandQueue.cs index c342477bb607..d0a99b3caa6a 100644 --- a/src/Metal/MTLCommandQueue.cs +++ b/src/Metal/MTLCommandQueue.cs @@ -9,13 +9,15 @@ namespace Metal { public partial interface IMTLCommandQueue { /// Marks the specified residency sets as part of the current command buffer execution. - public void AddResidencySets (IMTLResidencySet [] residencySets) + /// The residency sets to mark. + public void AddResidencySets (params IMTLResidencySet [] residencySets) { NativeObjectExtensions.CallWithPointerToFirstElementAndCount (residencySets, nameof (residencySets), AddResidencySets); } /// Removes the specified residency sets from the current command buffer execution. - public void RemoveResidencySets (IMTLResidencySet [] residencySets) + /// The residency sets to mark. + public void RemoveResidencySets (params IMTLResidencySet [] residencySets) { NativeObjectExtensions.CallWithPointerToFirstElementAndCount (residencySets, nameof (residencySets), RemoveResidencySets); } diff --git a/src/Metal/MTLResidencySet.cs b/src/Metal/MTLResidencySet.cs index 4e8ab511cdd8..741ed898fd63 100644 --- a/src/Metal/MTLResidencySet.cs +++ b/src/Metal/MTLResidencySet.cs @@ -9,13 +9,15 @@ namespace Metal { public partial interface IMTLResidencySet { /// Adds allocations to be committed the next time is called. - public void AddAllocations (IMTLAllocation [] allocations) + /// The allocations to add. + public void AddAllocations (params IMTLAllocation [] allocations) { NativeObjectExtensions.CallWithPointerToFirstElementAndCount (allocations, nameof (allocations), AddAllocations); } /// Marks allocations to be removed the next time is called. - public void RemoveAllocations (IMTLAllocation [] allocations) + /// The allocations to remove. + public void RemoveAllocations (params IMTLAllocation [] allocations) { NativeObjectExtensions.CallWithPointerToFirstElementAndCount (allocations, nameof (allocations), RemoveAllocations); } diff --git a/src/metal.cs b/src/metal.cs index 7306be47dc3c..7ccfdbdc863b 100644 --- a/src/metal.cs +++ b/src/metal.cs @@ -8134,7 +8134,6 @@ interface MTLResidencySet { [Abstract] [Export ("addAllocations:count:")] void AddAllocations (IntPtr allocations, nuint count); - // FIXME: better method [Abstract] [Export ("removeAllocation:")] diff --git a/tests/monotouch-test/Metal/MTLCommandBufferTests.cs b/tests/monotouch-test/Metal/MTLCommandBufferTests.cs new file mode 100644 index 000000000000..6a6138f50a9a --- /dev/null +++ b/tests/monotouch-test/Metal/MTLCommandBufferTests.cs @@ -0,0 +1,46 @@ +using System; +using System.IO; +using System.Runtime.InteropServices; + +using CoreFoundation; +using Foundation; +using ObjCRuntime; + +using Metal; + +using NUnit.Framework; + +namespace MonoTouchFixtures.Metal { + [Preserve (AllMembers = true)] + public class MTLCommandBufferTests { + [Test] + public void UseResidencySets () + { + TestRuntime.AssertXcodeVersion (16, 0); + + var device = MTLDevice.SystemDefault; + // some older hardware won't have a default + if (device is null) + Assert.Inconclusive ("Metal is not supported"); + + using var commandQ = device.CreateCommandQueue (); + if (commandQ is null) // this happens on a simulator + Assert.Inconclusive ("Could not get the functions library for the device."); + + using var commandBuffer = commandQ.CommandBuffer (); + if (commandBuffer is null) // happens on sim + Assert.Inconclusive ("Could not get the command buffer for the device."); + + using var residencySetDescriptor = new MTLResidencySetDescriptor () { + Label = "Label", + InitialCapacity = 3 + }; + using var residencySet = device.CreateResidencySet (residencySetDescriptor, out var error); + Assert.IsNull (error, "Error #1"); + Assert.IsNotNull (residencySet, "ResidencySet #1"); + + commandBuffer.UseResidencySets (residencySet); + commandBuffer.UseResidencySets (new IMTLResidencySet [] { residencySet }); + } + } +} diff --git a/tests/monotouch-test/Metal/MTLCommandQueueTests.cs b/tests/monotouch-test/Metal/MTLCommandQueueTests.cs new file mode 100644 index 000000000000..af26eb8d2d7b --- /dev/null +++ b/tests/monotouch-test/Metal/MTLCommandQueueTests.cs @@ -0,0 +1,45 @@ +using System; +using System.IO; +using System.Runtime.InteropServices; + +using CoreFoundation; +using Foundation; +using ObjCRuntime; + +using Metal; + +using NUnit.Framework; + +namespace MonoTouchFixtures.Metal { + [Preserve (AllMembers = true)] + public class MTLCommandQueueTests { + [Test] + public void AddOrRemoveResidencySets () + { + TestRuntime.AssertXcodeVersion (16, 0); + + var device = MTLDevice.SystemDefault; + // some older hardware won't have a default + if (device is null) + Assert.Inconclusive ("Metal is not supported"); + + using var commandQ = device.CreateCommandQueue (); + if (commandQ is null) // this happens on a simulator + Assert.Inconclusive ("Could not get the functions library for the device."); + + using var residencySetDescriptor = new MTLResidencySetDescriptor () { + Label = "Label", + InitialCapacity = 3 + }; + using var residencySet = device.CreateResidencySet (residencySetDescriptor, out var error); + Assert.IsNull (error, "Error #1"); + Assert.IsNotNull (residencySet, "ResidencySet #1"); + + commandQ.AddResidencySets (residencySet); + commandQ.RemoveResidencySets (residencySet); + + commandQ.AddResidencySets (new IMTLResidencySet [] { residencySet }); + commandQ.RemoveResidencySets (new IMTLResidencySet [] { residencySet }); + } + } +} diff --git a/tests/monotouch-test/Metal/MTLDeviceTests.cs b/tests/monotouch-test/Metal/MTLDeviceTests.cs index a05cc5ffd6f6..b09b53a5ea00 100644 --- a/tests/monotouch-test/Metal/MTLDeviceTests.cs +++ b/tests/monotouch-test/Metal/MTLDeviceTests.cs @@ -21,12 +21,13 @@ public void Setup () TestRuntime.AssertXcodeVersion (9, 0); } -#if __MACOS__ || __MACCATALYST__ [Test] public void GetAllDevicesTest () { #if __MACCATALYST__ TestRuntime.AssertXcodeVersion (13, 0); +#elif !__MACOS__ + TestRuntime.AssertXcodeVersion (16, 0); #endif NSObject refObj = new NSObject (); var devices = MTLDevice.GetAllDevices (); @@ -35,7 +36,6 @@ public void GetAllDevicesTest () // in which case we'll get an empty array of devices. Assert.IsNotNull (devices, "MTLDevices.GetAllDevices not null"); } -#endif #if __MACOS__ [Test] diff --git a/tests/monotouch-test/Metal/MTLResidencySetTests.cs b/tests/monotouch-test/Metal/MTLResidencySetTests.cs new file mode 100644 index 000000000000..bad0068dd8ca --- /dev/null +++ b/tests/monotouch-test/Metal/MTLResidencySetTests.cs @@ -0,0 +1,49 @@ +using System; +using System.IO; +using System.Runtime.InteropServices; + +using CoreFoundation; +using Foundation; +using ObjCRuntime; + +using Metal; + +using NUnit.Framework; + +namespace MonoTouchFixtures.Metal { + [Preserve (AllMembers = true)] + public class MTLResidencySetTests { + [Test] + public void AddOrRemoveAllocations () + { + TestRuntime.AssertXcodeVersion (16, 0); + + var device = MTLDevice.SystemDefault; + // some older hardware won't have a default + if (device is null) + Assert.Inconclusive ("Metal is not supported"); + + using var heapDescriptor = new MTLHeapDescriptor () { + Size = 1024, + }; + using var heap = device.CreateHeap (heapDescriptor); + using var residencySetDescriptor = new MTLResidencySetDescriptor () { + Label = "Label", + InitialCapacity = 3 + }; + using var residencySet = device.CreateResidencySet (residencySetDescriptor, out var error); + Assert.IsNull (error, "Error #1"); + Assert.IsNotNull (residencySet, "ResidencySet #1"); + + residencySet.AddAllocations (heap); + Assert.AreEqual (1, residencySet.AllocationCount, "AllocationCount #1"); + residencySet.RemoveAllocations (heap); + Assert.AreEqual (0, residencySet.AllocationCount, "AllocationCount #2"); + + residencySet.AddAllocations (new IMTLAllocation [] { heap }); + Assert.AreEqual (1, residencySet.AllocationCount, "AllocationCount #3"); + residencySet.RemoveAllocations (new IMTLAllocation [] { heap }); + Assert.AreEqual (0, residencySet.AllocationCount, "AllocationCount #4"); + } + } +} From 4659af937447ab87dfeb274a4886e3d8e11f550c Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Wed, 14 Aug 2024 20:09:59 +0200 Subject: [PATCH 05/11] Fix xtro --- src/metal.cs | 15 +++- .../MacCatalyst-Metal.todo | 85 ------------------- .../api-annotations-dotnet/iOS-Metal.todo | 47 ---------- .../api-annotations-dotnet/macOS-Metal.todo | 46 ---------- .../api-annotations-dotnet/tvOS-Metal.todo | 41 --------- tests/xtro-sharpie/iOS-Metal.todo | 50 +---------- tests/xtro-sharpie/macOS-Metal.todo | 49 +---------- tests/xtro-sharpie/tvOS-Metal.todo | 44 +--------- 8 files changed, 23 insertions(+), 354 deletions(-) diff --git a/src/metal.cs b/src/metal.cs index 7ccfdbdc863b..dd03d631af67 100644 --- a/src/metal.cs +++ b/src/metal.cs @@ -2273,17 +2273,23 @@ partial interface MTLDevice { [Abstract] [Export ("newLogStateWithDescriptor:error:")] [return: NullAllowed] + [return: Release] IMTLLogState GetNewLogState (MTLLogStateDescriptor descriptor, out NSError error); [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] [Abstract] [Export ("newCommandQueueWithDescriptor:")] [return: NullAllowed] + [return: Release] IMTLCommandQueue CreateCommandQueue (MTLCommandQueueDescriptor descriptor); +#if NET + [Abstract] +#endif [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] [return: NullAllowed] [Export ("newResidencySetWithDescriptor:error:")] + [return: Release] IMTLResidencySet CreateResidencySet (MTLResidencySetDescriptor descriptor, out NSError error); } @@ -5945,10 +5951,16 @@ interface MTLBinaryArchive { [Export ("addFunctionWithDescriptor:library:error:")] bool AddFunctionWithDescriptor (MTLFunctionDescriptor descriptor, IMTLLibrary library, [NullAllowed] out NSError error); +#if NET + [Abstract] +#endif [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] [Export ("addMeshRenderPipelineFunctionsWithDescriptor:error:")] bool AddMeshRenderPipelineFunctions (MTLMeshRenderPipelineDescriptor descriptor, out NSError error); +#if NET + [Abstract] +#endif [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] [Export ("addLibraryWithDescriptor:error:")] bool AddLibrary (MTLStitchedLibraryDescriptor descriptor, out NSError error); @@ -7400,7 +7412,7 @@ interface MTLStitchedLibraryDescriptor : NSCopying { IMTLFunction [] Functions { get; set; } [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] - [Export ("binaryArchives", ArgumentSemantic.Copy), NullAllowed] + [Export ("binaryArchives", ArgumentSemantic.Copy)] IMTLBinaryArchive [] BinaryArchives { get; } [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] @@ -8062,6 +8074,7 @@ enum MTLLogLevel : long { [Protocol (BackwardsCompatibleCodeGeneration = false)] [Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0), TV (18, 0)] interface MTLLogState { + [Abstract] [Export ("addLogHandler:")] void AddLogHandler (MTLLogStateLogHandler handler); } diff --git a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-Metal.todo b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-Metal.todo index 943e28836654..907c774f2e35 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-Metal.todo +++ b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-Metal.todo @@ -48,91 +48,6 @@ !incorrect-protocol-member! MTLTexture::gpuResourceID is REQUIRED and should be abstract !missing-protocol-member! MTLDevice::supportsBCTextureCompression not found !unknown-native-enum! MTLArgumentAccess bound -!deprecated-attribute-missing! MTLCompileOptions::fastMathEnabled missing a [Deprecated] attribute -!deprecated-attribute-missing! MTLCompileOptions::setFastMathEnabled: missing a [Deprecated] attribute -!missing-enum! MTLLogLevel not bound -!missing-enum! MTLLogStateError not bound -!missing-enum! MTLMathFloatingPointFunctions not bound -!missing-enum! MTLMathMode not bound -!missing-enum! MTLMatrixLayout not bound -!missing-enum! MTLShaderValidation not bound -!missing-enum! MTLStitchedLibraryOptions not bound -!missing-enum! MTLTransformType not bound -!missing-enum-value! MTLFunctionOptions native value MTLFunctionOptionFailOnBinaryArchiveMiss = 4 not bound -!missing-enum-value! MTLLanguageVersion native value MTLLanguageVersion3_2 = 196610 not bound -!missing-field! MTLLogStateErrorDomain not bound -!missing-field! NSDeviceCertificationiPhonePerformanceGaming not bound -!missing-field! NSProcessInfoPerformanceProfileDidChangeNotification not bound -!missing-field! NSProcessPerformanceProfileDefault not bound -!missing-field! NSProcessPerformanceProfileSustained not bound -!missing-protocol! MTLAllocation not bound -!missing-protocol! MTLLogState not bound -!missing-protocol! MTLResidencySet not bound -!missing-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: not found -!missing-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySet: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::addResidencySet: not found -!missing-protocol-member! MTLCommandQueue::addResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySet: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySets:count: not found -!missing-protocol-member! MTLComputePipelineState::shaderValidation not found -!missing-protocol-member! MTLDevice::newCommandQueueWithDescriptor: not found -!missing-protocol-member! MTLDevice::newLogStateWithDescriptor:error: not found -!missing-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: not found -!missing-protocol-member! MTLRenderPipelineState::shaderValidation not found -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLCommandBufferDescriptor::logState not bound -!missing-selector! MTLCommandBufferDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::logState not bound -!missing-selector! MTLCommandQueueDescriptor::maxCommandBufferCount not bound -!missing-selector! MTLCommandQueueDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::setMaxCommandBufferCount: not bound -!missing-selector! MTLCompileOptions::enableLogging not bound !missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound -!missing-selector! MTLCompileOptions::mathMode not bound -!missing-selector! MTLCompileOptions::setEnableLogging: not bound !missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound -!missing-selector! MTLCompileOptions::setMathMode: not bound -!missing-selector! MTLComputePipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLComputePipelineDescriptor::shaderValidation not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::instanceTransformationMatrixLayout not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::motionTransformStride not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::motionTransformType not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::setInstanceTransformationMatrixLayout: not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::setMotionTransformStride: not bound -!missing-selector! MTLIndirectInstanceAccelerationStructureDescriptor::setMotionTransformType: not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::instanceTransformationMatrixLayout not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::motionTransformStride not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::motionTransformType not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::setInstanceTransformationMatrixLayout: not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::setMotionTransformStride: not bound -!missing-selector! MTLInstanceAccelerationStructureDescriptor::setMotionTransformType: not bound -!missing-selector! MTLLogStateDescriptor::bufferSize not bound -!missing-selector! MTLLogStateDescriptor::level not bound -!missing-selector! MTLLogStateDescriptor::setBufferSize: not bound -!missing-selector! MTLLogStateDescriptor::setLevel: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::binaryArchives not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::setBinaryArchives: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLMeshRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! MTLRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! MTLResidencySetDescriptor::initialCapacity not bound -!missing-selector! MTLResidencySetDescriptor::label not bound -!missing-selector! MTLResidencySetDescriptor::setInitialCapacity: not bound -!missing-selector! MTLResidencySetDescriptor::setLabel: not bound -!missing-selector! MTLStitchedLibraryDescriptor::binaryArchives not bound -!missing-selector! MTLStitchedLibraryDescriptor::options not bound !missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound -!missing-selector! MTLStitchedLibraryDescriptor::setOptions: not bound -!missing-selector! MTLTileRenderPipelineDescriptor::setShaderValidation: not bound -!missing-selector! MTLTileRenderPipelineDescriptor::shaderValidation not bound -!missing-selector! NSProcessInfo::hasPerformanceProfile: not bound -!missing-selector! NSProcessInfo::isDeviceCertifiedFor: not bound -!missing-type! MTLCommandQueueDescriptor not bound -!missing-type! MTLLogStateDescriptor not bound -!missing-type! MTLResidencySetDescriptor not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.todo index b372dea57afc..2d0a64da8d9e 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.todo +++ b/tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.todo @@ -1,50 +1,3 @@ -!missing-protocol-member! MTLResource::setOwnerWithIdentity: not found -!missing-protocol-member! MTLSharedEvent::waitUntilSignaledValue:timeoutMS: not found -!deprecated-attribute-missing! MTLCompileOptions::fastMathEnabled missing a [Deprecated] attribute -!deprecated-attribute-missing! MTLCompileOptions::setFastMathEnabled: missing a [Deprecated] attribute -!missing-enum! MTLLogLevel not bound -!missing-enum! MTLLogStateError not bound -!missing-enum! MTLMathFloatingPointFunctions not bound -!missing-enum! MTLMathMode not bound -!missing-enum! MTLMatrixLayout not bound -!missing-enum! MTLShaderValidation not bound -!missing-enum! MTLStitchedLibraryOptions not bound -!missing-enum! MTLTransformType not bound -!missing-enum-value! MTLFunctionOptions native value MTLFunctionOptionFailOnBinaryArchiveMiss = 4 not bound -!missing-enum-value! MTLLanguageVersion native value MTLLanguageVersion3_2 = 196610 not bound -!missing-field! MTLLogStateErrorDomain not bound -!missing-field! NSDeviceCertificationiPhonePerformanceGaming not bound -!missing-field! NSProcessInfoPerformanceProfileDidChangeNotification not bound -!missing-field! NSProcessPerformanceProfileDefault not bound -!missing-field! NSProcessPerformanceProfileSustained not bound -!missing-pinvoke! MTLCopyAllDevices is not bound -!missing-protocol! MTLAllocation not bound -!missing-protocol! MTLLogState not bound -!missing-protocol! MTLResidencySet not bound -!missing-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: not found -!missing-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySet: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::addResidencySet: not found -!missing-protocol-member! MTLCommandQueue::addResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySet: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySets:count: not found -!missing-protocol-member! MTLComputePipelineState::shaderValidation not found -!missing-protocol-member! MTLDevice::newCommandQueueWithDescriptor: not found -!missing-protocol-member! MTLDevice::newLogStateWithDescriptor:error: not found -!missing-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: not found -!missing-protocol-member! MTLRenderPipelineState::shaderValidation not found -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLCommandBufferDescriptor::logState not bound -!missing-selector! MTLCommandBufferDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::logState not bound -!missing-selector! MTLCommandQueueDescriptor::maxCommandBufferCount not bound -!missing-selector! MTLCommandQueueDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::setMaxCommandBufferCount: not bound -!missing-selector! MTLCompileOptions::enableLogging not bound !missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound !missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound !missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.todo b/tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.todo index 8d3b329c358f..3d4cce89ba30 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.todo +++ b/tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.todo @@ -5,52 +5,6 @@ !missing-protocol-member! MTLIndirectRenderCommand::setMeshBuffer:offset:atIndex: not found !missing-protocol-member! MTLIndirectRenderCommand::setObjectBuffer:offset:atIndex: not found !missing-protocol-member! MTLIndirectRenderCommand::setObjectThreadgroupMemoryLength:atIndex: not found -!missing-protocol-member! MTLResource::setOwnerWithIdentity: not found -!missing-protocol-member! MTLSharedEvent::waitUntilSignaledValue:timeoutMS: not found -!deprecated-attribute-missing! MTLCompileOptions::fastMathEnabled missing a [Deprecated] attribute -!deprecated-attribute-missing! MTLCompileOptions::setFastMathEnabled: missing a [Deprecated] attribute -!missing-enum! MTLLogLevel not bound -!missing-enum! MTLLogStateError not bound -!missing-enum! MTLMathFloatingPointFunctions not bound -!missing-enum! MTLMathMode not bound -!missing-enum! MTLMatrixLayout not bound -!missing-enum! MTLShaderValidation not bound -!missing-enum! MTLStitchedLibraryOptions not bound -!missing-enum! MTLTransformType not bound -!missing-enum-value! MTLFunctionOptions native value MTLFunctionOptionFailOnBinaryArchiveMiss = 4 not bound -!missing-enum-value! MTLLanguageVersion native value MTLLanguageVersion3_2 = 196610 not bound -!missing-field! MTLLogStateErrorDomain not bound -!missing-field! NSDeviceCertificationiPhonePerformanceGaming not bound -!missing-field! NSProcessInfoPerformanceProfileDidChangeNotification not bound -!missing-field! NSProcessPerformanceProfileDefault not bound -!missing-field! NSProcessPerformanceProfileSustained not bound -!missing-protocol! MTLAllocation not bound -!missing-protocol! MTLLogState not bound -!missing-protocol! MTLResidencySet not bound -!missing-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: not found -!missing-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySet: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::addResidencySet: not found -!missing-protocol-member! MTLCommandQueue::addResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySet: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySets:count: not found -!missing-protocol-member! MTLComputePipelineState::shaderValidation not found -!missing-protocol-member! MTLDevice::newCommandQueueWithDescriptor: not found -!missing-protocol-member! MTLDevice::newLogStateWithDescriptor:error: not found -!missing-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: not found -!missing-protocol-member! MTLRenderPipelineState::shaderValidation not found -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLCommandBufferDescriptor::logState not bound -!missing-selector! MTLCommandBufferDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::logState not bound -!missing-selector! MTLCommandQueueDescriptor::maxCommandBufferCount not bound -!missing-selector! MTLCommandQueueDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::setMaxCommandBufferCount: not bound -!missing-selector! MTLCompileOptions::enableLogging not bound !missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound !missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound !missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.todo b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.todo index 738f9c37e300..2d0a64da8d9e 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.todo +++ b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.todo @@ -1,44 +1,3 @@ -!missing-protocol-member! MTLResource::setOwnerWithIdentity: not found -!missing-protocol-member! MTLSharedEvent::waitUntilSignaledValue:timeoutMS: not found -!deprecated-attribute-missing! MTLCompileOptions::fastMathEnabled missing a [Deprecated] attribute -!deprecated-attribute-missing! MTLCompileOptions::setFastMathEnabled: missing a [Deprecated] attribute -!missing-enum! MTLLogLevel not bound -!missing-enum! MTLLogStateError not bound -!missing-enum! MTLMathFloatingPointFunctions not bound -!missing-enum! MTLMathMode not bound -!missing-enum! MTLShaderValidation not bound -!missing-enum! MTLStitchedLibraryOptions not bound -!missing-enum-value! MTLFunctionOptions native value MTLFunctionOptionFailOnBinaryArchiveMiss = 4 not bound -!missing-enum-value! MTLLanguageVersion native value MTLLanguageVersion3_2 = 196610 not bound -!missing-field! MTLLogStateErrorDomain not bound -!missing-field! NSDeviceCertificationiPhonePerformanceGaming not bound -!missing-field! NSProcessInfoPerformanceProfileDidChangeNotification not bound -!missing-field! NSProcessPerformanceProfileDefault not bound -!missing-field! NSProcessPerformanceProfileSustained not bound -!missing-pinvoke! MTLCopyAllDevices is not bound -!missing-protocol! MTLAllocation not bound -!missing-protocol! MTLLogState not bound -!missing-protocol! MTLResidencySet not bound -!missing-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: not found -!missing-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySet: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::addResidencySet: not found -!missing-protocol-member! MTLCommandQueue::addResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySet: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySets:count: not found -!missing-protocol-member! MTLComputePipelineState::shaderValidation not found -!missing-protocol-member! MTLDevice::newCommandQueueWithDescriptor: not found -!missing-protocol-member! MTLDevice::newLogStateWithDescriptor:error: not found -!missing-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: not found -!missing-protocol-member! MTLRenderPipelineState::shaderValidation not found -!missing-selector! MTLCommandBufferDescriptor::logState not bound -!missing-selector! MTLCommandBufferDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::logState not bound -!missing-selector! MTLCommandQueueDescriptor::maxCommandBufferCount not bound -!missing-selector! MTLCommandQueueDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::setMaxCommandBufferCount: not bound -!missing-selector! MTLCompileOptions::enableLogging not bound !missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound !missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound !missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound diff --git a/tests/xtro-sharpie/iOS-Metal.todo b/tests/xtro-sharpie/iOS-Metal.todo index b372dea57afc..b1239d67a466 100644 --- a/tests/xtro-sharpie/iOS-Metal.todo +++ b/tests/xtro-sharpie/iOS-Metal.todo @@ -1,50 +1,6 @@ -!missing-protocol-member! MTLResource::setOwnerWithIdentity: not found -!missing-protocol-member! MTLSharedEvent::waitUntilSignaledValue:timeoutMS: not found -!deprecated-attribute-missing! MTLCompileOptions::fastMathEnabled missing a [Deprecated] attribute -!deprecated-attribute-missing! MTLCompileOptions::setFastMathEnabled: missing a [Deprecated] attribute -!missing-enum! MTLLogLevel not bound -!missing-enum! MTLLogStateError not bound -!missing-enum! MTLMathFloatingPointFunctions not bound -!missing-enum! MTLMathMode not bound -!missing-enum! MTLMatrixLayout not bound -!missing-enum! MTLShaderValidation not bound -!missing-enum! MTLStitchedLibraryOptions not bound -!missing-enum! MTLTransformType not bound -!missing-enum-value! MTLFunctionOptions native value MTLFunctionOptionFailOnBinaryArchiveMiss = 4 not bound -!missing-enum-value! MTLLanguageVersion native value MTLLanguageVersion3_2 = 196610 not bound -!missing-field! MTLLogStateErrorDomain not bound -!missing-field! NSDeviceCertificationiPhonePerformanceGaming not bound -!missing-field! NSProcessInfoPerformanceProfileDidChangeNotification not bound -!missing-field! NSProcessPerformanceProfileDefault not bound -!missing-field! NSProcessPerformanceProfileSustained not bound -!missing-pinvoke! MTLCopyAllDevices is not bound -!missing-protocol! MTLAllocation not bound -!missing-protocol! MTLLogState not bound -!missing-protocol! MTLResidencySet not bound -!missing-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: not found -!missing-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySet: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::addResidencySet: not found -!missing-protocol-member! MTLCommandQueue::addResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySet: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySets:count: not found -!missing-protocol-member! MTLComputePipelineState::shaderValidation not found -!missing-protocol-member! MTLDevice::newCommandQueueWithDescriptor: not found -!missing-protocol-member! MTLDevice::newLogStateWithDescriptor:error: not found -!missing-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: not found -!missing-protocol-member! MTLRenderPipelineState::shaderValidation not found -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLCommandBufferDescriptor::logState not bound -!missing-selector! MTLCommandBufferDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::logState not bound -!missing-selector! MTLCommandQueueDescriptor::maxCommandBufferCount not bound -!missing-selector! MTLCommandQueueDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::setMaxCommandBufferCount: not bound -!missing-selector! MTLCompileOptions::enableLogging not bound !missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound !missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound !missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound +!incorrect-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: is REQUIRED and should be abstract +!incorrect-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: is REQUIRED and should be abstract +!incorrect-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: is REQUIRED and should be abstract diff --git a/tests/xtro-sharpie/macOS-Metal.todo b/tests/xtro-sharpie/macOS-Metal.todo index 8d3b329c358f..ed5f7fe73efd 100644 --- a/tests/xtro-sharpie/macOS-Metal.todo +++ b/tests/xtro-sharpie/macOS-Metal.todo @@ -5,52 +5,9 @@ !missing-protocol-member! MTLIndirectRenderCommand::setMeshBuffer:offset:atIndex: not found !missing-protocol-member! MTLIndirectRenderCommand::setObjectBuffer:offset:atIndex: not found !missing-protocol-member! MTLIndirectRenderCommand::setObjectThreadgroupMemoryLength:atIndex: not found -!missing-protocol-member! MTLResource::setOwnerWithIdentity: not found -!missing-protocol-member! MTLSharedEvent::waitUntilSignaledValue:timeoutMS: not found -!deprecated-attribute-missing! MTLCompileOptions::fastMathEnabled missing a [Deprecated] attribute -!deprecated-attribute-missing! MTLCompileOptions::setFastMathEnabled: missing a [Deprecated] attribute -!missing-enum! MTLLogLevel not bound -!missing-enum! MTLLogStateError not bound -!missing-enum! MTLMathFloatingPointFunctions not bound -!missing-enum! MTLMathMode not bound -!missing-enum! MTLMatrixLayout not bound -!missing-enum! MTLShaderValidation not bound -!missing-enum! MTLStitchedLibraryOptions not bound -!missing-enum! MTLTransformType not bound -!missing-enum-value! MTLFunctionOptions native value MTLFunctionOptionFailOnBinaryArchiveMiss = 4 not bound -!missing-enum-value! MTLLanguageVersion native value MTLLanguageVersion3_2 = 196610 not bound -!missing-field! MTLLogStateErrorDomain not bound -!missing-field! NSDeviceCertificationiPhonePerformanceGaming not bound -!missing-field! NSProcessInfoPerformanceProfileDidChangeNotification not bound -!missing-field! NSProcessPerformanceProfileDefault not bound -!missing-field! NSProcessPerformanceProfileSustained not bound -!missing-protocol! MTLAllocation not bound -!missing-protocol! MTLLogState not bound -!missing-protocol! MTLResidencySet not bound -!missing-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: not found -!missing-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySet: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::addResidencySet: not found -!missing-protocol-member! MTLCommandQueue::addResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySet: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySets:count: not found -!missing-protocol-member! MTLComputePipelineState::shaderValidation not found -!missing-protocol-member! MTLDevice::newCommandQueueWithDescriptor: not found -!missing-protocol-member! MTLDevice::newLogStateWithDescriptor:error: not found -!missing-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: not found -!missing-protocol-member! MTLRenderPipelineState::shaderValidation not found -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureMotionTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::setTransformationMatrixLayout: not bound -!missing-selector! MTLAccelerationStructureTriangleGeometryDescriptor::transformationMatrixLayout not bound -!missing-selector! MTLCommandBufferDescriptor::logState not bound -!missing-selector! MTLCommandBufferDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::logState not bound -!missing-selector! MTLCommandQueueDescriptor::maxCommandBufferCount not bound -!missing-selector! MTLCommandQueueDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::setMaxCommandBufferCount: not bound -!missing-selector! MTLCompileOptions::enableLogging not bound !missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound !missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound !missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound +!incorrect-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: is REQUIRED and should be abstract +!incorrect-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: is REQUIRED and should be abstract +!incorrect-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: is REQUIRED and should be abstract diff --git a/tests/xtro-sharpie/tvOS-Metal.todo b/tests/xtro-sharpie/tvOS-Metal.todo index 738f9c37e300..b1239d67a466 100644 --- a/tests/xtro-sharpie/tvOS-Metal.todo +++ b/tests/xtro-sharpie/tvOS-Metal.todo @@ -1,44 +1,6 @@ -!missing-protocol-member! MTLResource::setOwnerWithIdentity: not found -!missing-protocol-member! MTLSharedEvent::waitUntilSignaledValue:timeoutMS: not found -!deprecated-attribute-missing! MTLCompileOptions::fastMathEnabled missing a [Deprecated] attribute -!deprecated-attribute-missing! MTLCompileOptions::setFastMathEnabled: missing a [Deprecated] attribute -!missing-enum! MTLLogLevel not bound -!missing-enum! MTLLogStateError not bound -!missing-enum! MTLMathFloatingPointFunctions not bound -!missing-enum! MTLMathMode not bound -!missing-enum! MTLShaderValidation not bound -!missing-enum! MTLStitchedLibraryOptions not bound -!missing-enum-value! MTLFunctionOptions native value MTLFunctionOptionFailOnBinaryArchiveMiss = 4 not bound -!missing-enum-value! MTLLanguageVersion native value MTLLanguageVersion3_2 = 196610 not bound -!missing-field! MTLLogStateErrorDomain not bound -!missing-field! NSDeviceCertificationiPhonePerformanceGaming not bound -!missing-field! NSProcessInfoPerformanceProfileDidChangeNotification not bound -!missing-field! NSProcessPerformanceProfileDefault not bound -!missing-field! NSProcessPerformanceProfileSustained not bound -!missing-pinvoke! MTLCopyAllDevices is not bound -!missing-protocol! MTLAllocation not bound -!missing-protocol! MTLLogState not bound -!missing-protocol! MTLResidencySet not bound -!missing-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: not found -!missing-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySet: not found -!missing-protocol-member! MTLCommandBuffer::useResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::addResidencySet: not found -!missing-protocol-member! MTLCommandQueue::addResidencySets:count: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySet: not found -!missing-protocol-member! MTLCommandQueue::removeResidencySets:count: not found -!missing-protocol-member! MTLComputePipelineState::shaderValidation not found -!missing-protocol-member! MTLDevice::newCommandQueueWithDescriptor: not found -!missing-protocol-member! MTLDevice::newLogStateWithDescriptor:error: not found -!missing-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: not found -!missing-protocol-member! MTLRenderPipelineState::shaderValidation not found -!missing-selector! MTLCommandBufferDescriptor::logState not bound -!missing-selector! MTLCommandBufferDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::logState not bound -!missing-selector! MTLCommandQueueDescriptor::maxCommandBufferCount not bound -!missing-selector! MTLCommandQueueDescriptor::setLogState: not bound -!missing-selector! MTLCommandQueueDescriptor::setMaxCommandBufferCount: not bound -!missing-selector! MTLCompileOptions::enableLogging not bound !missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound !missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound !missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound +!incorrect-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: is REQUIRED and should be abstract +!incorrect-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: is REQUIRED and should be abstract +!incorrect-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: is REQUIRED and should be abstract From 5f4e045de86baeac775c9b702e2b460c340acf93 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Wed, 14 Aug 2024 21:12:10 +0200 Subject: [PATCH 06/11] abstract fixes --- src/metal.cs | 999 +++++++++++---------------------------------------- 1 file changed, 206 insertions(+), 793 deletions(-) diff --git a/src/metal.cs b/src/metal.cs index dd03d631af67..5b43cf858ffb 100644 --- a/src/metal.cs +++ b/src/metal.cs @@ -233,8 +233,8 @@ partial interface MTLBuffer : MTLResource { IMTLBuffer CreateRemoteBuffer (IMTLDevice device); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("gpuAddress")] ulong GpuAddress { get; } @@ -413,20 +413,11 @@ partial interface MTLCommandBuffer { [Export ("popDebugGroup")] void PopDebugGroup (); + #if NET -#if XAMCORE_5_0 - [MacCatalyst (14, 0), Mac (11, 0), iOS (13, 0), TV (16,0)] - [Abstract] // @required but we can't add abstract members in C# and keep binary compatibility -#elif !TVOS - [MacCatalyst (14, 0), Mac (11, 0), iOS (13, 0), NoTV] - [Abstract] // @required but we can't add abstract members in C# and keep binary compatibility -#else - [NoMacCatalyst, NoMac, NoiOS, TV (16,0)] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [MacCatalyst (14, 0), Mac (11, 0), iOS (13, 0), TV (16, 0)] -#endif [NullAllowed, Export ("resourceStateCommandEncoder")] IMTLResourceStateCommandEncoder ResourceStateCommandEncoder { get; } @@ -463,42 +454,22 @@ partial interface MTLCommandBuffer { IMTLBlitCommandEncoder CreateBlitCommandEncoder (MTLBlitPassDescriptor blitPassDescriptor); #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("resourceStateCommandEncoderWithDescriptor:")] IMTLResourceStateCommandEncoder CreateResourceStateCommandEncoder (MTLResourceStatePassDescriptor resourceStatePassDescriptor); #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("accelerationStructureCommandEncoder")] IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("accelerationStructureCommandEncoderWithDescriptor:")] IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (MTLAccelerationStructurePassDescriptor descriptor); @@ -777,87 +748,37 @@ partial interface MTLComputeCommandEncoder : MTLCommandEncoder { #endif #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("setVisibleFunctionTable:atBufferIndex:")] void SetVisibleFunctionTable ([NullAllowed] IMTLVisibleFunctionTable visibleFunctionTable, nuint bufferIndex); #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("setVisibleFunctionTables:withBufferRange:")] void SetVisibleFunctionTables (IMTLVisibleFunctionTable [] visibleFunctionTables, NSRange range); #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("setIntersectionFunctionTable:atBufferIndex:")] void SetIntersectionFunctionTable ([NullAllowed] IMTLIntersectionFunctionTable intersectionFunctionTable, nuint bufferIndex); #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("setIntersectionFunctionTables:withBufferRange:")] void SetIntersectionFunctionTables (IMTLIntersectionFunctionTable [] intersectionFunctionTables, NSRange range); #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("setAccelerationStructure:atBufferIndex:")] void SetAccelerationStructure ([NullAllowed] IMTLAccelerationStructure accelerationStructure, nuint bufferIndex); @@ -869,22 +790,22 @@ partial interface MTLComputeCommandEncoder : MTLCommandEncoder { void SetBuffer (IMTLBuffer buffer, nuint offset, nuint stride, nuint index); [Mac (14, 0), iOS (17, 0), TV (17, 0), MacCatalyst (17, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setBuffers:offsets:attributeStrides:withRange:")] void SetBuffers (IntPtr /* IMTLBuffer[] */ buffers, IntPtr /* nuint[] */ offsets, IntPtr /* nuint[] */ strides, NSRange range); [Mac (14, 0), iOS (17, 0), TV (17, 0), MacCatalyst (17, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setBufferOffset:attributeStride:atIndex:")] void SetBufferOffset (nuint offset, nuint stride, nuint index); [Mac (14, 0), iOS (17, 0), TV (17, 0), MacCatalyst (17, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setBytes:length:attributeStride:atIndex:")] void SetBytes (IntPtr bytes, nuint length, nuint stride, nuint index); @@ -962,80 +883,39 @@ partial interface MTLComputePipelineState { bool SupportIndirectCommandBuffers { get; } #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("functionHandleWithFunction:")] IMTLFunctionHandle CreateFunctionHandle (IMTLFunction function); #if NET - -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("newComputePipelineStateWithAdditionalBinaryFunctions:error:")] [return: Release] IMTLComputePipelineState CreateComputePipelineState (IMTLFunction [] functions, [NullAllowed] out NSError error); #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("newVisibleFunctionTableWithDescriptor:")] [return: Release] IMTLVisibleFunctionTable CreateVisibleFunctionTable (MTLVisibleFunctionTableDescriptor descriptor); #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("newIntersectionFunctionTableWithDescriptor:")] [return: Release] IMTLIntersectionFunctionTable CreateIntersectionFunctionTable (MTLIntersectionFunctionTableDescriptor descriptor); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("gpuResourceID")] MTLResourceId GpuResourceId { get; } @@ -1166,15 +1046,15 @@ partial interface MTLBlitCommandEncoder : MTLCommandEncoder { [Export ("optimizeIndirectCommandBuffer:withRange:")] void Optimize (IMTLIndirectCommandBuffer indirectCommandBuffer, NSRange range); -#if NET && !__MACOS__ && !__MACCATALYST__ && !TVOS - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Mac (11, 0), TV (16, 0), iOS (13, 0), MacCatalyst (15, 0)] [Export ("getTextureAccessCounters:region:mipLevel:slice:resetCounters:countersBuffer:countersBufferOffset:")] void GetTextureAccessCounters (IMTLTexture texture, MTLRegion region, nuint mipLevel, nuint slice, bool resetCounters, IMTLBuffer countersBuffer, nuint countersBufferOffset); -#if NET && !__MACOS__ && !__MACCATALYST__ && !TVOS - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Mac (11, 0), TV (16, 0), iOS (13, 0), MacCatalyst (15, 0)] [Export ("resetTextureAccessCounters:region:mipLevel:slice:")] @@ -1698,87 +1578,37 @@ partial interface MTLDevice { void CreateRenderPipelineState (MTLTileRenderPipelineDescriptor descriptor, MTLPipelineOption options, MTLNewRenderPipelineStateWithReflectionCompletionHandler completionHandler); #if NET -#if XAMCORE_5_0 - [MacCatalyst (13, 4), TV (16,0), iOS (13, 0)] - [Abstract] -#elif !TVOS - [MacCatalyst (13, 4), NoTV, iOS (13, 0)] - [Abstract] -#else - [NoMac, NoMacCatalyst, TV (16,0), NoiOS] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [MacCatalyst (13, 4), TV (16, 0), iOS (13, 0)] -#endif [Export ("supportsVertexAmplificationCount:")] bool SupportsVertexAmplification (nuint count); #if NET -#if XAMCORE_5_0 - [MacCatalyst (13, 4), TV (16,0), iOS (13, 0)] - [Abstract] -#elif !TVOS - [MacCatalyst (13, 4), NoTV, iOS (13, 0)] - [Abstract] -#else - [NoMac, NoMacCatalyst, TV (16,0), NoiOS] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [MacCatalyst (13, 4), TV (16, 0), iOS (13, 0)] -#endif [Export ("supportsRasterizationRateMapWithLayerCount:")] bool SupportsRasterizationRateMap (nuint layerCount); #if NET -#if XAMCORE_5_0 - [MacCatalyst (14, 0), Mac (11, 0), TV (16,0), iOS (13, 0)] - [Abstract] -#elif !TVOS - [MacCatalyst (14, 0), Mac (11, 0), NoTV, iOS (13, 0)] - [Abstract] -#else - [NoMacCatalyst, NoMac, TV (16,0), NoiOS] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [MacCatalyst (14, 0), Mac (11, 0), TV (16, 0), iOS (13, 0)] -#endif [Export ("sparseTileSizeWithTextureType:pixelFormat:sampleCount:")] MTLSize GetSparseTileSize (MTLTextureType textureType, MTLPixelFormat pixelFormat, nuint sampleCount); #if NET -#if XAMCORE_5_0 - [MacCatalyst (14, 0), Mac (11, 0), TV (16,0), iOS (13, 0)] - [Abstract] -#elif !TVOS - [MacCatalyst (14, 0), Mac (11, 0), NoTV, iOS (13, 0)] - [Abstract] -#else - [NoMacCatalyst, NoMac, TV (16,0), NoiOS] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [MacCatalyst (14, 0), Mac (11, 0), TV (16, 0), iOS (13, 0)] -#endif [Export ("sparseTileSizeInBytes")] nuint SparseTileSizeInBytes { get; } #if NET -#if XAMCORE_5_0 - [MacCatalyst (13, 4), TV (16,0), iOS (13, 0)] - [Abstract] -#elif !TVOS - [MacCatalyst (13, 4), NoTV, iOS (13, 0)] - [Abstract] -#else - [NoMac, NoMacCatalyst, TV (16,0), NoiOS] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [MacCatalyst (13, 4), TV (16, 0), iOS (13, 0)] -#endif [Export ("newRasterizationRateMapWithDescriptor:")] [return: NullAllowed] [return: Release] @@ -1813,24 +1643,14 @@ partial interface MTLDevice { #if NET [Abstract] #endif - [iOS (14, 0), NoTV, NoMacCatalyst] + [iOS (14, 0), NoTV, MacCatalyst (14, 0)] [Export ("barycentricCoordsSupported")] bool BarycentricCoordsSupported { [Bind ("areBarycentricCoordsSupported")] get; } #if NET -#if XAMCORE_5_0 - [iOS (14, 0), TV (16,0), NoMacCatalyst] - [Abstract] -#elif !TVOS - [iOS (14, 0), NoTV, NoMacCatalyst] - [Abstract] -#else - [NoiOS, TV (16,0), NoMacCatalyst] -#endif - -#else - [iOS (14, 0), TV (16, 0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif + [iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] [Export ("supportsShaderBarycentricCoordinates")] bool SupportsShaderBarycentricCoordinates { get; } @@ -1919,40 +1739,20 @@ partial interface MTLDevice { nuint LocationNumber { get; } #if NET -#if XAMCORE_5_0 - [Mac (11, 0), TV (16,0), iOS (14, 5), MacCatalyst (14, 5)] - [Abstract] -#elif !TVOS - [Mac (11, 0), NoTV, iOS (14, 5), MacCatalyst (14, 5)] - [Abstract] -#else - [NoMac, TV (16,0), NoiOS, NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), TV (16, 0), iOS (14, 5), MacCatalyst (14, 5)] -#endif [Export ("supports32BitFloatFiltering")] bool Supports32BitFloatFiltering { get; } #if NET -#if XAMCORE_5_0 - [Mac (11, 0), TV (16,0), iOS (14, 5), MacCatalyst (14, 5)] - [Abstract] -#elif !TVOS - [Mac (11, 0), NoTV, iOS (14, 5), MacCatalyst (14, 5)] - [Abstract] -#else - [NoMac, TV (16,0), NoiOS, NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif -#else [Mac (11, 0), TV (16, 0), iOS (14, 5), MacCatalyst (14, 5)] -#endif [Export ("supports32BitMSAA")] bool Supports32BitMsaa { get; } - [Mac (11, 0), iOS (16, 4), TV (16, 4), NoMacCatalyst] - [NoMacCatalyst] + [Mac (11, 0), iOS (16, 4), TV (16, 4), MacCatalyst (16, 4)] #if NET [Abstract] #endif @@ -2014,110 +1814,50 @@ partial interface MTLDevice { IMTLBinaryArchive CreateBinaryArchive (MTLBinaryArchiveDescriptor descriptor, [NullAllowed] out NSError error); #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (!6,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("supportsRaytracing")] bool SupportsRaytracing { get; } #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("accelerationStructureSizesWithDescriptor:")] #pragma warning disable 0618 // warning CS0618: 'MTLAccelerationStructureSizes' is obsolete: 'This API is not available on this platform.' MTLAccelerationStructureSizes CreateAccelerationStructureSizes (MTLAccelerationStructureDescriptor descriptor); #pragma warning restore #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("newAccelerationStructureWithSize:")] [return: NullAllowed] [return: Release] IMTLAccelerationStructure CreateAccelerationStructure (nuint size); #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("newAccelerationStructureWithDescriptor:")] [return: NullAllowed] [return: Release] IMTLAccelerationStructure CreateAccelerationStructure (MTLAccelerationStructureDescriptor descriptor); #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("supportsFunctionPointers")] bool SupportsFunctionPointers { get; } #if NET -#if XAMCORE_5_0 - [Mac (11, 0), TV (16,0), iOS (14, 5), MacCatalyst (14, 5)] - [Abstract] -#elif !TVOS - [Mac (11, 0), NoTV, iOS (14, 5), MacCatalyst (14, 5)] - [Abstract] -#else - [NoMac, TV (16,0), NoiOS, NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), TV (16, 0), iOS (14, 5), MacCatalyst (14, 5)] -#endif [Export ("supportsQueryTextureLOD")] bool SupportsQueryTextureLod { get; } @@ -2129,53 +1869,23 @@ partial interface MTLDevice { bool SupportsRenderDynamicLibraries { get; } #if NET -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), MacCatalyst (15, 0), TV (16,0)] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), MacCatalyst (15, 0), NoTV] - [Abstract] -#else - [NoMac, NoiOS, NoMacCatalyst, TV (16,0)] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), MacCatalyst (15, 0), TV (16, 0)] -#endif [Export ("supportsRaytracingFromRender")] bool SupportsRaytracingFromRender { get; } #if NET -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), MacCatalyst (15, 0), TV (16,0)] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), MacCatalyst (15, 0), NoTV] - [Abstract] -#else - [NoMac, NoiOS, NoMacCatalyst, TV (16,0)] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), MacCatalyst (15, 0), TV (16, 0)] -#endif [Export ("supportsPrimitiveMotionBlur")] bool SupportsPrimitiveMotionBlur { get; } #if NET -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), MacCatalyst (15, 0), TV (16,0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), MacCatalyst (15, 0), NoTV, NoWatch] - [Abstract] -#else - [NoMac, NoiOS, NoMacCatalyst, TV (16,0), NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), MacCatalyst (15, 0), TV (16, 0), NoWatch] -#endif [Export ("supportsFunctionPointersFromRender")] bool SupportsFunctionPointersFromRender { get; } @@ -2197,37 +1907,37 @@ partial interface MTLDevice { void CreateLibrary (MTLStitchedLibraryDescriptor descriptor, Action completionHandler); [Mac (14, 0), iOS (17, 0), TV (17, 0), MacCatalyst (17, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("architecture")] MTLArchitecture Architecture { get; } [Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0), TV (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("heapAccelerationStructureSizeAndAlignWithDescriptor:")] MTLSizeAndAlign GetHeapAccelerationStructureSizeAndAlign (MTLAccelerationStructureDescriptor descriptor); [Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0), TV (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("heapAccelerationStructureSizeAndAlignWithSize:")] MTLSizeAndAlign GetHeapAccelerationStructureSizeAndAlign (nuint size); [Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0), TV (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("newArgumentEncoderWithBufferBinding:")] [return: Release] IMTLArgumentEncoder CreateArgumentEncoder (IMTLBufferBinding bufferBinding); [Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0), TV (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("newRenderPipelineStateWithMeshDescriptor:options:reflection:error:")] [return: NullAllowed] @@ -2235,36 +1945,36 @@ partial interface MTLDevice { IMTLRenderPipelineState CreateRenderPipelineState (MTLMeshRenderPipelineDescriptor descriptor, MTLPipelineOption options, [NullAllowed] out MTLRenderPipelineReflection reflection, [NullAllowed] out NSError error); [Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0), TV (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("newRenderPipelineStateWithMeshDescriptor:options:completionHandler:")] void CreateRenderPipelineState (MTLMeshRenderPipelineDescriptor descriptor, MTLPipelineOption options, MTLNewRenderPipelineStateWithReflectionCompletionHandler completionHandler); [Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0), TV (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("sparseTileSizeInBytesForSparsePageSize:")] nuint GetSparseTileSizeInBytes (MTLSparsePageSize sparsePageSize); [Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0), TV (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("sparseTileSizeWithTextureType:pixelFormat:sampleCount:sparsePageSize:")] MTLSize GetSparseTileSize (MTLTextureType textureType, MTLPixelFormat pixelFormat, nuint sampleCount, MTLSparsePageSize sparsePageSize); [NoiOS, Mac (13, 3), NoTV, NoMacCatalyst] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("maximumConcurrentCompilationTaskCount")] nuint MaximumConcurrentCompilationTaskCount { get; } [NoiOS, Mac (13, 3), NoTV, NoMacCatalyst] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("shouldMaximizeConcurrentCompilation")] bool ShouldMaximizeConcurrentCompilation { get; set; } @@ -2450,19 +2160,9 @@ partial interface MTLTexture : MTLResource { bool AllowGpuOptimizedContents { get; } #if NET -#if XAMCORE_5_0 - [Mac (12,5), iOS (15, 0), NoMacCatalyst, TV (16,0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12,5), iOS (15, 0), NoMacCatalyst, NoTV, NoWatch] - [Abstract] -#else - [NoMac, NoiOS, NoMacCatalyst, TV (16,0), NoWatch] -#endif - -#else - [Mac (12, 5), iOS (15, 0), NoMacCatalyst, TV (16, 0), NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif + [Mac (12, 5), iOS (15, 0), MacCatalyst (15, 0), TV (16, 0), NoWatch] [Export ("compressionType")] MTLTextureCompressionType CompressionType { get; } @@ -2535,23 +2235,22 @@ partial interface MTLTexture : MTLResource { [Export ("newSharedTextureHandle")] MTLSharedTextureHandle CreateSharedTextureHandle (); -#if NET && !__MACOS__ && !__MACCATALYST__ - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif - [Mac (11, 0), TV (16, 0), iOS (13, 0), MacCatalyst (15, 0)] [Export ("firstMipmapInTail")] nuint FirstMipmapInTail { get; } -#if NET && !__MACOS__ && !__MACCATALYST__ && !TVOS - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Mac (11, 0), TV (16, 0), iOS (13, 0), MacCatalyst (15, 0)] [Export ("tailSizeInBytes")] nuint TailSizeInBytes { get; } -#if NET && !__MACOS__ && !__MACCATALYST__ && !TVOS - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Mac (11, 0), TV (16, 0), iOS (13, 0), MacCatalyst (15, 0)] [Export ("isSparse")] @@ -2594,8 +2293,8 @@ partial interface MTLTexture : MTLResource { IMTLTexture CreateRemoteTexture (IMTLDevice device); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("gpuResourceID")] MTLResourceId GpuResourceId { get; } @@ -2757,8 +2456,8 @@ partial interface MTLSamplerState { IMTLDevice Device { get; } [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("gpuResourceID")] MTLResourceId GpuResourceId { get; } @@ -2996,76 +2695,35 @@ partial interface MTLRenderPipelineState { bool SupportIndirectCommandBuffers { get; } #if NET - -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), NoWatch, MacCatalyst (15, 0)] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, NoWatch, MacCatalyst (15, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoWatch, NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), NoWatch, MacCatalyst (15, 0)] -#endif [Export ("functionHandleWithFunction:stage:")] [return: NullAllowed] IMTLFunctionHandle FunctionHandleWithFunction (IMTLFunction function, MTLRenderStages stage); #if NET -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (!6,0), NoWatch, MacCatalyst (15, 0)] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, NoWatch, MacCatalyst (15, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoWatch, NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), NoWatch, MacCatalyst (15, 0)] -#endif [Export ("newVisibleFunctionTableWithDescriptor:stage:")] [return: NullAllowed] [return: Release] IMTLVisibleFunctionTable NewVisibleFunctionTableWithDescriptor (MTLVisibleFunctionTableDescriptor descriptor, MTLRenderStages stage); #if NET -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), NoWatch, MacCatalyst (15, 0)] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, NoWatch, MacCatalyst (15, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoWatch, NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), NoWatch, MacCatalyst (15, 0)] -#endif [Export ("newIntersectionFunctionTableWithDescriptor:stage:")] [return: NullAllowed] [return: Release] IMTLIntersectionFunctionTable NewIntersectionFunctionTableWithDescriptor (MTLIntersectionFunctionTableDescriptor descriptor, MTLRenderStages stage); #if NET -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), NoWatch, MacCatalyst (15, 0)] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, NoWatch, MacCatalyst (15, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoWatch, NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), NoWatch, MacCatalyst (15, 0)] -#endif [Export ("newRenderPipelineStateWithAdditionalBinaryFunctions:error:")] [return: NullAllowed] [return: Release] @@ -3087,22 +2745,22 @@ partial interface MTLRenderPipelineState { MTLResourceId GpuResourceId { get; } [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("maxTotalThreadsPerMeshThreadgroup")] nuint MaxTotalThreadsPerMeshThreadgroup { get; } [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("maxTotalThreadsPerObjectThreadgroup")] nuint MaxTotalThreadsPerObjectThreadgroup { get; } [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("objectThreadExecutionWidth")] nuint ObjectThreadExecutionWidth { get; } @@ -3386,19 +3044,9 @@ partial interface MTLFunction { IMTLArgumentEncoder CreateArgumentEncoder (nuint bufferIndex, [NullAllowed] out MTLArgument reflection); #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("options")] MTLFunctionOptions Options { get; } } @@ -3465,36 +3113,16 @@ partial interface MTLLibrary { // protocol, so no Async #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("newIntersectionFunctionWithDescriptor:completionHandler:")] void CreateIntersectionFunction (MTLIntersectionFunctionDescriptor descriptor, Action completionHandler); #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("newIntersectionFunctionWithDescriptor:error:")] [return: NullAllowed] [return: Release] @@ -3584,7 +3212,7 @@ partial interface MTLCompileOptions : NSCopying { MTLMathMode MathMode { get; set; } [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] - [Export ("mathFloatingPointFunction")] + [Export ("mathFloatingPointFunctions")] MTLMathFloatingPointFunctions MathFloatingPointFunctions { get; set; } [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] @@ -4302,19 +3930,9 @@ partial interface MTLRenderCommandEncoder : MTLCommandEncoder { void SetThreadgroupMemoryLength (nuint length, nuint offset, nuint index); #if NET -#if XAMCORE_5_0 - [MacCatalyst (13, 4), TV (16,0), iOS (13, 0)] - [Abstract] -#elif !TVOS - [MacCatalyst (13, 4), NoTV, iOS (13, 0)] - [Abstract] -#else - [NoMacCatalyst, TV (16,0), NoiOS, NoMac] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [MacCatalyst (13, 4), TV (16, 0), iOS (13, 0)] -#endif [Export ("setVertexAmplificationCount:viewMappings:")] void SetVertexAmplificationCount (nuint count, MTLVertexAmplificationViewMapping viewMappings); @@ -4363,459 +3981,303 @@ partial interface MTLRenderCommandEncoder : MTLCommandEncoder { #endif #if NET -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), MacCatalyst (15, 0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, MacCatalyst (15, 0), NoWatch] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst, NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] -#endif [Export ("setVertexVisibleFunctionTable:atBufferIndex:")] void SetVertexVisibleFunctionTable ([NullAllowed] IMTLVisibleFunctionTable functionTable, nuint bufferIndex); #if NET -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), MacCatalyst (15, 0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, MacCatalyst (15, 0), NoWatch] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst, NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] -#endif [Export ("setVertexVisibleFunctionTables:withBufferRange:")] void SetVertexVisibleFunctionTables (IMTLVisibleFunctionTable [] functionTables, NSRange range); #if NET -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), MacCatalyst (15, 0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, MacCatalyst (15, 0), NoWatch] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst, NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] -#endif [Export ("setVertexIntersectionFunctionTable:atBufferIndex:")] void SetVertexIntersectionFunctionTable ([NullAllowed] IMTLIntersectionFunctionTable intersectionFunctionTable, nuint bufferIndex); #if NET -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), MacCatalyst (15, 0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, MacCatalyst (15, 0), NoWatch] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst, NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] -#endif [Export ("setVertexIntersectionFunctionTables:withBufferRange:")] void SetVertexIntersectionFunctionTables (IMTLIntersectionFunctionTable [] intersectionFunctionTable, NSRange range); #if NET - -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), MacCatalyst (15, 0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, MacCatalyst (15, 0), NoWatch] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst, NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] -#endif [Export ("setVertexAccelerationStructure:atBufferIndex:")] void SetVertexAccelerationStructure ([NullAllowed] IMTLAccelerationStructure accelerationStructure, nuint bufferIndex); #if NET - -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), MacCatalyst (15, 0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, MacCatalyst (15, 0), NoWatch] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst, NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] -#endif [Export ("setFragmentAccelerationStructure:atBufferIndex:")] void SetFragmentAccelerationStructure ([NullAllowed] IMTLAccelerationStructure accelerationStructure, nuint bufferIndex); #if NET - -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), MacCatalyst (15, 0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, MacCatalyst (15, 0), NoWatch] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst, NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] -#endif [Export ("setFragmentIntersectionFunctionTable:atBufferIndex:")] void SetFragmentIntersectionFunctionTable ([NullAllowed] IMTLIntersectionFunctionTable intersectionFunctionTable, nuint bufferIndex); #if NET - -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), MacCatalyst (15, 0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, MacCatalyst (15, 0), NoWatch] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst, NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] -#endif [Export ("setFragmentIntersectionFunctionTables:withBufferRange:")] void SetFragmentIntersectionFunctionTables (IMTLIntersectionFunctionTable [] intersectionFunctionTable, NSRange range); #if NET -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), MacCatalyst (15, 0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, MacCatalyst (15, 0), NoWatch] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst, NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] -#endif [Export ("setFragmentVisibleFunctionTable:atBufferIndex:")] void SetFragmentVisibleFunctionTable ([NullAllowed] IMTLVisibleFunctionTable functionTable, nuint bufferIndex); #if NET - -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), MacCatalyst (15, 0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, MacCatalyst (15, 0), NoWatch] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst, NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] -#endif [Export ("setFragmentVisibleFunctionTables:withBufferRange:")] void SetFragmentVisibleFunctionTables (IMTLVisibleFunctionTable [] functionTables, NSRange range); #if NET - -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), MacCatalyst (15, 0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, MacCatalyst (15, 0), NoWatch] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst, NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] -#endif [Export ("setTileAccelerationStructure:atBufferIndex:")] void SetTileAccelerationStructure ([NullAllowed] IMTLAccelerationStructure accelerationStructure, nuint bufferIndex); #if NET -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), MacCatalyst (15, 0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, MacCatalyst (15, 0), NoWatch] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst, NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] -#endif [Export ("setTileIntersectionFunctionTable:atBufferIndex:")] void SetTileIntersectionFunctionTable ([NullAllowed] IMTLIntersectionFunctionTable intersectionFunctionTable, nuint bufferIndex); #if NET -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), MacCatalyst (15, 0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, MacCatalyst (15, 0), NoWatch] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst, NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] -#endif [Export ("setTileIntersectionFunctionTables:withBufferRange:")] void SetTileIntersectionFunctionTables (IMTLIntersectionFunctionTable [] intersectionFunctionTable, NSRange range); #if NET -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), MacCatalyst (15, 0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, MacCatalyst (15, 0), NoWatch] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst, NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] -#endif [Export ("setTileVisibleFunctionTable:atBufferIndex:")] void SetTileVisibleFunctionTable ([NullAllowed] IMTLVisibleFunctionTable functionTable, nuint bufferIndex); #if NET -#if XAMCORE_5_0 - [Mac (12, 0), iOS (15, 0), TV (16,0), MacCatalyst (15, 0), NoWatch] - [Abstract] -#elif !TVOS - [Mac (12, 0), iOS (15, 0), NoTV, MacCatalyst (15, 0), NoWatch] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst, NoWatch] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (12, 0), iOS (15, 0), TV (16, 0), MacCatalyst (15, 0), NoWatch] -#endif [Export ("setTileVisibleFunctionTables:withBufferRange:")] void SetTileVisibleFunctionTables (IMTLVisibleFunctionTable [] functionTables, NSRange range); [Mac (14, 0), iOS (17, 0), TV (17, 0), MacCatalyst (17, 0), NoWatch] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setVertexBuffer:offset:attributeStride:atIndex:")] void SetVertexBuffer ([NullAllowed] IMTLBuffer buffer, nuint offset, nuint stride, nuint index); [Mac (14, 0), iOS (17, 0), TV (17, 0), MacCatalyst (17, 0), NoWatch] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setVertexBuffers:offsets:attributeStrides:withRange:")] void SetVertexBuffers (IntPtr buffers, IntPtr offsets, IntPtr strides, NSRange range); [Mac (14, 0), iOS (17, 0), TV (17, 0), MacCatalyst (17, 0), NoWatch] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setVertexBufferOffset:attributeStride:atIndex:")] void SetVertexBufferOffset (nuint offset, nuint stride, nuint index); [Mac (14, 0), iOS (17, 0), TV (17, 0), MacCatalyst (17, 0), NoWatch] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setVertexBytes:length:attributeStride:atIndex:")] void SetVertexBytes (IntPtr bytes, nuint length, nuint stride, nuint index); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("drawMeshThreadgroups:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")] void DrawMeshThreadgroups (MTLSize threadgroupsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("drawMeshThreadgroupsWithIndirectBuffer:indirectBufferOffset:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")] void DrawMeshThreadgroups (IMTLBuffer indirectBuffer, nuint indirectBufferOffset, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("drawMeshThreads:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")] void DrawMeshThreads (MTLSize threadsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setMeshBufferOffset:atIndex:")] void SetMeshBufferOffset (nuint offset, nuint index); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setMeshBuffers:offsets:withRange:")] void SetMeshBuffers (IntPtr buffers, IntPtr offsets, NSRange range); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setMeshTexture:atIndex:")] void SetMeshTexture ([NullAllowed] IMTLTexture texture, nuint index); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setMeshTextures:withRange:")] void SetMeshTextures (IntPtr textures, NSRange range); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setMeshSamplerState:atIndex:")] void SetMeshSamplerState ([NullAllowed] IMTLSamplerState sampler, nuint index); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setMeshSamplerStates:withRange:")] void SetMeshSamplerStates (IntPtr samplers, NSRange range); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setMeshSamplerState:lodMinClamp:lodMaxClamp:atIndex:")] void SetMeshSamplerState ([NullAllowed] IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, nuint index); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setMeshSamplerStates:lodMinClamps:lodMaxClamps:withRange:")] void SetMeshSamplerStates (IntPtr samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, NSRange range); [Mac (14, 0), iOS (17, 0), TV (17, 0), MacCatalyst (17, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setObjectBuffer:offset:atIndex:")] void SetObjectBuffer (IMTLBuffer buffer, nuint offset, nuint index); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setObjectBufferOffset:atIndex:")] void SetObjectBufferOffset (nuint offset, nuint index); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setObjectBuffers:offsets:withRange:")] void SetObjectBuffers (IntPtr buffers, IntPtr offsets, NSRange range); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setObjectBytes:length:atIndex:")] void SetObjectBytes (IntPtr bytes, nuint length, nuint index); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setMeshBuffer:offset:atIndex:")] void SetMeshBuffer ([NullAllowed] IMTLBuffer buffer, nuint offset, nuint index); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setMeshBytes:length:atIndex:")] void SetMeshBytes (IntPtr bytes, nuint length, nuint index); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setObjectSamplerState:atIndex:")] void SetObjectSamplerState ([NullAllowed] IMTLSamplerState sampler, nuint index); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setObjectSamplerState:lodMinClamp:lodMaxClamp:atIndex:")] void SetObjectSamplerState ([NullAllowed] IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, nuint index); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setObjectSamplerStates:lodMinClamps:lodMaxClamps:withRange:")] void SetObjectSamplerStates (IntPtr samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, NSRange range); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setObjectSamplerStates:withRange:")] void SetObjectSamplerStates (IntPtr samplers, NSRange range); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setObjectTexture:atIndex:")] void SetObjectTexture ([NullAllowed] IMTLTexture texture, nuint index); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setObjectTextures:withRange:")] void SetObjectTextures (IntPtr textures, NSRange range); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setObjectThreadgroupMemoryLength:atIndex:")] void SetObjectThreadgroupMemoryLength (nuint length, nuint index); @@ -5252,32 +4714,32 @@ interface MTLHeap : MTLAllocation { [return: Release] IMTLTexture CreateTexture (MTLTextureDescriptor descriptor, nuint offset); -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] [Export ("newAccelerationStructureWithSize:")] [return: NullAllowed, Release] IMTLAccelerationStructure CreateAccelerationStructure (nuint size); -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] [Export ("newAccelerationStructureWithDescriptor:")] [return: NullAllowed, Release] IMTLAccelerationStructure CreateAccelerationStructure (MTLAccelerationStructureDescriptor descriptor); -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] [Export ("newAccelerationStructureWithSize:offset:")] [return: NullAllowed, Release] IMTLAccelerationStructure CreateAccelerationStructure (nuint size, nuint offset); -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] [Export ("newAccelerationStructureWithDescriptor:offset:")] @@ -5799,88 +5261,39 @@ interface MTLArgumentEncoder { void SetComputePipelineStates (IMTLComputePipelineState [] pipelines, NSRange range); #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("setAccelerationStructure:atIndex:")] void SetAccelerationStructure ([NullAllowed] IMTLAccelerationStructure accelerationStructure, nuint index); #if NET - -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("setVisibleFunctionTable:atIndex:")] void SetVisibleFunctionTable ([NullAllowed] IMTLVisibleFunctionTable visibleFunctionTable, nuint index); #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("setVisibleFunctionTables:withRange:")] void SetVisibleFunctionTables (IMTLVisibleFunctionTable [] visibleFunctionTables, NSRange range); + #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("setIntersectionFunctionTable:atIndex:")] void SetIntersectionFunctionTable ([NullAllowed] IMTLIntersectionFunctionTable intersectionFunctionTable, nuint index); + #if NET -#if XAMCORE_5_0 - [Mac (11, 0), iOS (14, 0), TV (16,0), MacCatalyst (14, 0)] - [Abstract] -#elif !TVOS - [Mac (11, 0), iOS (14, 0), NoTV, MacCatalyst (14, 0)] - [Abstract] -#else - [NoMac, NoiOS, TV (16,0), NoMacCatalyst] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [Mac (11, 0), iOS (14, 0), TV (16, 0), MacCatalyst (14, 0)] -#endif [Export ("setIntersectionFunctionTables:withRange:")] void SetIntersectionFunctionTables (IMTLIntersectionFunctionTable [] intersectionFunctionTables, NSRange range); @@ -6151,49 +5564,49 @@ interface MTLIndirectRenderCommand { [Export ("setVertexBuffer:offset:attributeStride:atIndex:")] void SetVertexBuffer (IMTLBuffer buffer, nuint offset, nuint stride, nuint index); - [NoMac, iOS (17, 0), NoTV, MacCatalyst (17, 0)] + [Mac (14, 0), iOS (17, 0), NoTV, MacCatalyst (17, 0)] #if NET [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setObjectThreadgroupMemoryLength:atIndex:")] void SetObjectThreadgroupMemoryLength (nuint length, nuint index); - [NoMac, iOS (17, 0), NoTV, MacCatalyst (17, 0)] + [Mac (14, 0), iOS (17, 0), NoTV, MacCatalyst (17, 0)] #if NET [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setObjectBuffer:offset:atIndex:")] void SetObjectBuffer (IMTLBuffer buffer, nuint offset, nuint index); - [NoMac, iOS (17, 0), NoTV, MacCatalyst (17, 0)] + [Mac (14, 0), iOS (17, 0), NoTV, MacCatalyst (17, 0)] #if NET [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setMeshBuffer:offset:atIndex:")] void SetMeshBuffer (IMTLBuffer buffer, nuint offset, nuint index); - [NoMac, iOS (17, 0), NoTV, MacCatalyst (17, 0)] + [Mac (14, 0), iOS (17, 0), NoTV, MacCatalyst (17, 0)] #if NET [Abstract (GenerateExtensionMethod = true)] #endif [Export ("drawMeshThreadgroups:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")] void DrawMeshThreadgroups (MTLSize threadgroupsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup); - [NoMac, iOS (17, 0), NoTV, MacCatalyst (17, 0)] + [Mac (14, 0), iOS (17, 0), NoTV, MacCatalyst (17, 0)] #if NET [Abstract (GenerateExtensionMethod = true)] #endif [Export ("drawMeshThreads:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup:")] void DrawMeshThreads (MTLSize threadsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup); - [NoMac, iOS (17, 0), NoTV, MacCatalyst (17, 0)] + [Mac (14, 0), iOS (17, 0), NoTV, MacCatalyst (17, 0)] #if NET [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setBarrier")] void SetBarrier (); - [NoMac, iOS (17, 0), NoTV, MacCatalyst (17, 0)] + [Mac (14, 0), iOS (17, 0), NoTV, MacCatalyst (17, 0)] #if NET [Abstract (GenerateExtensionMethod = true)] #endif @@ -6280,8 +5693,8 @@ interface MTLIndirectCommandBuffer : MTLResource { IMTLIndirectComputeCommand GetIndirectComputeCommand (nuint commandIndex); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("gpuResourceID")] MTLResourceId GpuResourceID { get; } @@ -6487,8 +5900,8 @@ interface MTLResourceStateCommandEncoder : MTLCommandEncoder { void Wait (IMTLFence fence); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("moveTextureMappingsFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin:")] void MoveTextureMappings (IMTLTexture sourceTexture, nuint sourceSlice, nuint sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLTexture destinationTexture, nuint destinationSlice, nuint destinationLevel, MTLOrigin destinationOrigin); @@ -6559,8 +5972,8 @@ interface MTLIndirectComputeCommand { void SetImageblock (nuint width, nuint height); [Mac (14, 0), iOS (17, 0), TV (17, 0), MacCatalyst (17, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setKernelBuffer:offset:attributeStride:atIndex:")] void SetKernelBuffer (IMTLBuffer buffer, nuint offset, nuint stride, nuint index); @@ -7219,8 +6632,8 @@ interface MTLAccelerationStructureCommandEncoder : MTLCommandEncoder { void WriteCompactedAccelerationStructureSize (IMTLAccelerationStructure accelerationStructure, IMTLBuffer buffer, nuint offset, MTLDataType sizeDataType); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("refitAccelerationStructure:descriptor:destination:scratchBuffer:scratchBufferOffset:options:")] void RefitAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, MTLAccelerationStructureDescriptor descriptor, [NullAllowed] IMTLAccelerationStructure destinationAccelerationStructure, [NullAllowed] IMTLBuffer scratchBuffer, nuint scratchBufferOffset, MTLAccelerationStructureRefitOptions options); @@ -7242,8 +6655,8 @@ interface MTLVisibleFunctionTable : MTLResource { void SetFunctions (IMTLFunctionHandle [] functions, NSRange range); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("gpuResourceID")] MTLResourceId GpuResourceId { get; } @@ -7287,21 +6700,21 @@ interface MTLIntersectionFunctionTable : MTLResource { [Export ("setVisibleFunctionTables:withBufferRange:")] void SetVisibleFunctionTables (IMTLVisibleFunctionTable [] functionTables, NSRange bufferRange); -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setOpaqueCurveIntersectionFunctionWithSignature:atIndex:")] void SetOpaqueCurveIntersectionFunction (MTLIntersectionFunctionSignature signature, nuint index); -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("setOpaqueCurveIntersectionFunctionWithSignature:withRange:")] void SetOpaqueCurveIntersectionFunction (MTLIntersectionFunctionSignature signature, NSRange range); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if XAMCORE_5_0 - [Abstract] +#if NET + [Abstract (GenerateExtensionMethod = true)] #endif [Export ("gpuResourceID")] MTLResourceId GpuResourceId { get; } @@ -7413,7 +6826,7 @@ interface MTLStitchedLibraryDescriptor : NSCopying { [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] [Export ("binaryArchives", ArgumentSemantic.Copy)] - IMTLBinaryArchive [] BinaryArchives { get; } + IMTLBinaryArchive [] BinaryArchives { get; set; } [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] [Export ("options")] From 63ab183f7e6c91ed573ae8e2eb2166c131b9bef7 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Thu, 15 Aug 2024 10:24:10 +0200 Subject: [PATCH 07/11] xtro --- src/metal.cs | 38 +++--- .../Documentation.KnownFailures.txt | 4 - .../MacCatalyst-Metal.todo | 47 -------- .../common-Metal.ignore | 24 +--- .../api-annotations-dotnet/iOS-Metal.ignore | 48 -------- .../api-annotations-dotnet/iOS-Metal.todo | 3 - .../api-annotations-dotnet/macOS-Metal.ignore | 47 -------- .../api-annotations-dotnet/macOS-Metal.todo | 10 -- .../api-annotations-dotnet/tvOS-Metal.ignore | 108 ------------------ .../api-annotations-dotnet/tvOS-Metal.todo | 3 - tests/xtro-sharpie/iOS-Metal.todo | 3 - tests/xtro-sharpie/macOS-Metal.todo | 17 ++- tests/xtro-sharpie/tvOS-Metal.todo | 3 - 13 files changed, 24 insertions(+), 331 deletions(-) delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.ignore delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.todo delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.todo delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.ignore delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.todo diff --git a/src/metal.cs b/src/metal.cs index 5b43cf858ffb..c5312213939b 100644 --- a/src/metal.cs +++ b/src/metal.cs @@ -1046,14 +1046,16 @@ partial interface MTLBlitCommandEncoder : MTLCommandEncoder { [Export ("optimizeIndirectCommandBuffer:withRange:")] void Optimize (IMTLIndirectCommandBuffer indirectCommandBuffer, NSRange range); -#if NET + // @optional in macOS and Mac Catalyst +#if NET && !__MACOS__ && !__MACCATALYST__ [Abstract (GenerateExtensionMethod = true)] #endif [Mac (11, 0), TV (16, 0), iOS (13, 0), MacCatalyst (15, 0)] [Export ("getTextureAccessCounters:region:mipLevel:slice:resetCounters:countersBuffer:countersBufferOffset:")] void GetTextureAccessCounters (IMTLTexture texture, MTLRegion region, nuint mipLevel, nuint slice, bool resetCounters, IMTLBuffer countersBuffer, nuint countersBufferOffset); -#if NET + // @optional in macOS and Mac Catalyst +#if NET && !__MACOS__ && !__MACCATALYST__ [Abstract (GenerateExtensionMethod = true)] #endif [Mac (11, 0), TV (16, 0), iOS (13, 0), MacCatalyst (15, 0)] @@ -2235,21 +2237,24 @@ partial interface MTLTexture : MTLResource { [Export ("newSharedTextureHandle")] MTLSharedTextureHandle CreateSharedTextureHandle (); -#if NET + // @optional in macOS and Mac Catalyst +#if NET && !__MACOS__ && !__MACCATALYST__ [Abstract (GenerateExtensionMethod = true)] #endif [Mac (11, 0), TV (16, 0), iOS (13, 0), MacCatalyst (15, 0)] [Export ("firstMipmapInTail")] nuint FirstMipmapInTail { get; } -#if NET + // @optional in macOS and Mac Catalyst +#if NET && !__MACOS__ && !__MACCATALYST__ [Abstract (GenerateExtensionMethod = true)] #endif [Mac (11, 0), TV (16, 0), iOS (13, 0), MacCatalyst (15, 0)] [Export ("tailSizeInBytes")] nuint TailSizeInBytes { get; } -#if NET + // @optional in macOS and Mac Catalyst +#if NET && !__MACOS__ && !__MACCATALYST__ [Abstract (GenerateExtensionMethod = true)] #endif [Mac (11, 0), TV (16, 0), iOS (13, 0), MacCatalyst (15, 0)] @@ -3774,32 +3779,16 @@ partial interface MTLRenderCommandEncoder : MTLCommandEncoder { void ExecuteCommands (IMTLIndirectCommandBuffer indirectCommandbuffer, IMTLBuffer indirectRangeBuffer, nuint indirectBufferOffset); #if NET - -#if MONOMAC || __MACCATALYST__ - [NoiOS, NoTV, MacCatalyst (15, 0)] - [Abstract] -#else - [iOS (16,0), TV (16,0), NoMacCatalyst, NoMac] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [iOS (16, 0), TV (16, 0), MacCatalyst (15, 0)] -#endif [Export ("memoryBarrierWithScope:afterStages:beforeStages:")] void MemoryBarrier (MTLBarrierScope scope, MTLRenderStages after, MTLRenderStages before); #if NET - -#if MONOMAC || __MACCATALYST__ - [NoiOS, NoTV, MacCatalyst (15, 0)] - [Abstract] -#else - [iOS (16,0), TV (16,0), NoMacCatalyst, NoMac] + [Abstract (GenerateExtensionMethod = true)] #endif - -#else [iOS (16, 0), TV (16, 0), MacCatalyst (15, 0)] -#endif [Export ("memoryBarrierWithResources:count:afterStages:beforeStages:")] void MemoryBarrier (IMTLResource [] resources, nuint count, MTLRenderStages after, MTLRenderStages before); @@ -5900,7 +5889,8 @@ interface MTLResourceStateCommandEncoder : MTLCommandEncoder { void Wait (IMTLFence fence); [Mac (13, 0), iOS (16, 0), TV (16, 0), MacCatalyst (16, 0)] -#if NET + // @optional in macOS and Mac Catalyst +#if NET && !__MACOS__ && !__MACCATALYST__ [Abstract (GenerateExtensionMethod = true)] #endif [Export ("moveTextureMappingsFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin:")] diff --git a/tests/cecil-tests/Documentation.KnownFailures.txt b/tests/cecil-tests/Documentation.KnownFailures.txt index 7759ee6b0d08..507b56b12b2f 100644 --- a/tests/cecil-tests/Documentation.KnownFailures.txt +++ b/tests/cecil-tests/Documentation.KnownFailures.txt @@ -40008,8 +40008,6 @@ M:Metal.MTLArgumentEncoder_Extensions.SetIntersectionFunctionTables(Metal.IMTLAr M:Metal.MTLArgumentEncoder_Extensions.SetVisibleFunctionTable(Metal.IMTLArgumentEncoder,Metal.IMTLVisibleFunctionTable,System.UIntPtr) M:Metal.MTLArgumentEncoder_Extensions.SetVisibleFunctionTables(Metal.IMTLArgumentEncoder,Metal.IMTLVisibleFunctionTable[],Foundation.NSRange) M:Metal.MTLAttributeDescriptor.Copy(Foundation.NSZone) -M:Metal.MTLBinaryArchive_Extensions.AddLibrary(Metal.IMTLBinaryArchive,Metal.MTLStitchedLibraryDescriptor,Foundation.NSError@) -M:Metal.MTLBinaryArchive_Extensions.AddMeshRenderPipelineFunctions(Metal.IMTLBinaryArchive,Metal.MTLMeshRenderPipelineDescriptor,Foundation.NSError@) M:Metal.MTLBinaryArchiveDescriptor.Copy(Foundation.NSZone) M:Metal.MTLBlitCommandEncoder_Extensions.GetTextureAccessCounters(Metal.IMTLBlitCommandEncoder,Metal.IMTLTexture,Metal.MTLRegion,System.UIntPtr,System.UIntPtr,System.Boolean,Metal.IMTLBuffer,System.UIntPtr) M:Metal.MTLBlitCommandEncoder_Extensions.ResetTextureAccessCounters(Metal.IMTLBlitCommandEncoder,Metal.IMTLTexture,Metal.MTLRegion,System.UIntPtr,System.UIntPtr) @@ -40064,7 +40062,6 @@ M:Metal.MTLDevice_Extensions.CreateLibraryAsync(Metal.IMTLDevice,System.String,M M:Metal.MTLDevice_Extensions.CreateRasterizationRateMap(Metal.IMTLDevice,Metal.MTLRasterizationRateMapDescriptor) M:Metal.MTLDevice_Extensions.CreateRenderPipelineState(Metal.IMTLDevice,Metal.MTLMeshRenderPipelineDescriptor,Metal.MTLPipelineOption,Metal.MTLNewRenderPipelineStateWithReflectionCompletionHandler) M:Metal.MTLDevice_Extensions.CreateRenderPipelineState(Metal.IMTLDevice,Metal.MTLMeshRenderPipelineDescriptor,Metal.MTLPipelineOption,Metal.MTLRenderPipelineReflection@,Foundation.NSError@) -M:Metal.MTLDevice_Extensions.CreateResidencySet(Metal.IMTLDevice,Metal.MTLResidencySetDescriptor,Foundation.NSError@) M:Metal.MTLDevice_Extensions.GetArchitecture(Metal.IMTLDevice) M:Metal.MTLDevice_Extensions.GetDefaultSamplePositions(Metal.IMTLDevice,Metal.MTLSamplePosition[],System.UIntPtr) M:Metal.MTLDevice_Extensions.GetHeapAccelerationStructureSizeAndAlign(Metal.IMTLDevice,Metal.MTLAccelerationStructureDescriptor) @@ -69309,7 +69306,6 @@ P:Metal.MTLCaptureScope.CommandQueue P:Metal.MTLCaptureScope.Device P:Metal.MTLCaptureScope.Label P:Metal.MTLCommandBufferDescriptor.BufferEncoderInfoErrorKey -P:Metal.MTLCompileOptions.MathFloatingPointFunctions P:Metal.MTLComputePassSampleBufferAttachmentDescriptorArray.Item(System.UIntPtr) P:Metal.MTLDepthStencilDescriptor.DepthWriteEnabled P:Metal.MTLDevice.SystemDefault diff --git a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-Metal.todo b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-Metal.todo index 907c774f2e35..4dc5421d375b 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-Metal.todo +++ b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-Metal.todo @@ -4,50 +4,3 @@ !extra-enum-value! Managed value 3 for MTLFeatureSet.iOS_GPUFamily2_v2 is available for the current platform while the value in the native header is not !extra-enum-value! Managed value 30000 for MTLFeatureSet.tvOS_GPUFamily1_v1 is available for the current platform while the value in the native header is not !extra-enum-value! Managed value 4 for MTLFeatureSet.iOS_GPUFamily3_v1 is available for the current platform while the value in the native header is not -!missing-protocol-member! MTLDevice::areBarycentricCoordsSupported not found -!missing-protocol-member! MTLDevice::supportsShaderBarycentricCoordinates not found -!missing-protocol-member! MTLTexture::compressionType not found -!incorrect-protocol-member! MTLBuffer::gpuAddress is REQUIRED and should be abstract -!incorrect-protocol-member! MTLHeap::newAccelerationStructureWithDescriptor: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLHeap::newAccelerationStructureWithDescriptor:offset: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLHeap::newAccelerationStructureWithSize: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLHeap::newAccelerationStructureWithSize:offset: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLIndirectCommandBuffer::gpuResourceID is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::drawMeshThreadgroups:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::drawMeshThreadgroupsWithIndirectBuffer:indirectBufferOffset:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::drawMeshThreads:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshBuffer:offset:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshBufferOffset:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshBuffers:offsets:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshBytes:length:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshSamplerState:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshSamplerState:lodMinClamp:lodMaxClamp:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshSamplerStates:lodMinClamps:lodMaxClamps:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshSamplerStates:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshTexture:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshTextures:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectBuffer:offset:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectBufferOffset:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectBuffers:offsets:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectBytes:length:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectSamplerState:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectSamplerState:lodMinClamp:lodMaxClamp:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectSamplerStates:lodMinClamps:lodMaxClamps:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectSamplerStates:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectTexture:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectTextures:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectThreadgroupMemoryLength:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexBuffer:offset:attributeStride:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexBufferOffset:attributeStride:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexBuffers:offsets:attributeStrides:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexBytes:length:attributeStride:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderPipelineState::maxTotalThreadsPerMeshThreadgroup is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderPipelineState::maxTotalThreadsPerObjectThreadgroup is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderPipelineState::objectThreadExecutionWidth is REQUIRED and should be abstract -!incorrect-protocol-member! MTLSamplerState::gpuResourceID is REQUIRED and should be abstract -!incorrect-protocol-member! MTLTexture::gpuResourceID is REQUIRED and should be abstract -!missing-protocol-member! MTLDevice::supportsBCTextureCompression not found -!unknown-native-enum! MTLArgumentAccess bound -!missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound -!missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound -!missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/common-Metal.ignore b/tests/xtro-sharpie/api-annotations-dotnet/common-Metal.ignore index 6b5ac5dc2014..97cc4ebb1f73 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/common-Metal.ignore +++ b/tests/xtro-sharpie/api-annotations-dotnet/common-Metal.ignore @@ -1,30 +1,9 @@ # MTLFunctionStitchingAttributeAlwaysInline is not documented and has no exposure !missing-type! MTLFunctionStitchingAttributeAlwaysInline not bound -# needs to wait for xamcore 5 -!incorrect-protocol-member! MTLComputeCommandEncoder::setBufferOffset:attributeStride:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLComputeCommandEncoder::setBuffers:offsets:attributeStrides:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLComputeCommandEncoder::setBytes:length:attributeStride:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::architecture is REQUIRED and should be abstract -!incorrect-protocol-member! MTLIntersectionFunctionTable::gpuResourceID is REQUIRED and should be abstract -!incorrect-protocol-member! MTLIntersectionFunctionTable::setOpaqueCurveIntersectionFunctionWithSignature:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLIntersectionFunctionTable::setOpaqueCurveIntersectionFunctionWithSignature:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLVisibleFunctionTable::gpuResourceID is REQUIRED and should be abstract -!incorrect-protocol-member! MTLCommandBuffer::accelerationStructureCommandEncoderWithDescriptor: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLComputePipelineState::gpuResourceID is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::heapAccelerationStructureSizeAndAlignWithDescriptor: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::heapAccelerationStructureSizeAndAlignWithSize: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::newArgumentEncoderWithBufferBinding: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::newRenderPipelineStateWithMeshDescriptor:options:completionHandler: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::newRenderPipelineStateWithMeshDescriptor:options:reflection:error: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::sparseTileSizeInBytesForSparsePageSize: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::sparseTileSizeWithTextureType:pixelFormat:sampleCount:sparsePageSize: is REQUIRED and should be abstract - # added and removed without a release, so ignoring !missing-protocol-member! MTLDevice::newIOHandleWithURL:compressionMethod:error: not found !missing-protocol-member! MTLDevice::newIOHandleWithURL:error: not found -!incorrect-protocol-member! MTLAccelerationStructureCommandEncoder::refitAccelerationStructure:descriptor:destination:scratchBuffer:scratchBufferOffset:options: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLIndirectComputeCommand::setKernelBuffer:offset:attributeStride:atIndex: is REQUIRED and should be abstract # Ignore until we find a real usage for this APIs. At the moment of the writing they give problems # with the static registrar @@ -47,3 +26,6 @@ !missing-protocol! MTLIOFileHandle not bound !missing-protocol-member! MTLDevice::newIOFileHandleWithURL:compressionMethod:error: not found !missing-protocol-member! MTLDevice::newIOFileHandleWithURL:error: not found + +## Removed in XAMCORE_5_0 +!unknown-native-enum! MTLArgumentAccess bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.ignore b/tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.ignore deleted file mode 100644 index f6b3d5615be6..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.ignore +++ /dev/null @@ -1,48 +0,0 @@ -## Adding it to the icebox until it is available on all platforms - -# has to wait for XAMCORE_5_0 -!incorrect-protocol-member! MTLResourceStateCommandEncoder::moveTextureMappingsFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::drawMeshThreadgroups:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::drawMeshThreadgroupsWithIndirectBuffer:indirectBufferOffset:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::drawMeshThreads:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshBufferOffset:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshBuffers:offsets:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshSamplerState:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshSamplerState:lodMinClamp:lodMaxClamp:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshSamplerStates:lodMinClamps:lodMaxClamps:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshSamplerStates:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshTexture:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshTextures:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectBuffer:offset:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectBufferOffset:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectBuffers:offsets:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectBytes:length:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshBuffer:offset:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshBytes:length:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectSamplerState:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectSamplerState:lodMinClamp:lodMaxClamp:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectSamplerStates:lodMinClamps:lodMaxClamps:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectSamplerStates:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectTexture:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectTextures:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectThreadgroupMemoryLength:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderPipelineState::maxTotalThreadsPerMeshThreadgroup is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderPipelineState::maxTotalThreadsPerObjectThreadgroup is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderPipelineState::objectThreadExecutionWidth is REQUIRED and should be abstract -!incorrect-protocol-member! MTLSamplerState::gpuResourceID is REQUIRED and should be abstract -!incorrect-protocol-member! MTLIndirectCommandBuffer::gpuResourceID is REQUIRED and should be abstract -!incorrect-protocol-member! MTLTexture::gpuResourceID is REQUIRED and should be abstract -!incorrect-protocol-member! MTLBuffer::gpuAddress is REQUIRED and should be abstract -!incorrect-protocol-member! MTLHeap::newAccelerationStructureWithDescriptor: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLHeap::newAccelerationStructureWithDescriptor:offset: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLHeap::newAccelerationStructureWithSize: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLHeap::newAccelerationStructureWithSize:offset: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::memoryBarrierWithResources:count:afterStages:beforeStages: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::memoryBarrierWithScope:afterStages:beforeStages: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexBuffer:offset:attributeStride:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexBufferOffset:attributeStride:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexBuffers:offsets:attributeStrides:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexBytes:length:attributeStride:atIndex: is REQUIRED and should be abstract - -# deprecated but cannot be removed -!unknown-native-enum! MTLArgumentAccess bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.todo deleted file mode 100644 index 2d0a64da8d9e..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.todo +++ /dev/null @@ -1,3 +0,0 @@ -!missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound -!missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound -!missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.ignore b/tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.ignore index e90578cb7d85..a87297042e8d 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.ignore +++ b/tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.ignore @@ -2,50 +2,3 @@ !missing-field! MTLDeviceRemovalRequestedNotification not bound !missing-field! MTLDeviceWasAddedNotification not bound !missing-field! MTLDeviceWasRemovedNotification not bound - -# has to wait for XAMCORE_5_0 -!incorrect-protocol-member! MTLRenderCommandEncoder::drawMeshThreadgroups:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::drawMeshThreadgroupsWithIndirectBuffer:indirectBufferOffset:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::drawMeshThreads:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshBufferOffset:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshBuffers:offsets:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshSamplerState:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshSamplerState:lodMinClamp:lodMaxClamp:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshSamplerStates:lodMinClamps:lodMaxClamps:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshSamplerStates:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshTexture:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshTextures:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectBuffer:offset:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectBufferOffset:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectBuffers:offsets:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectBytes:length:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshBuffer:offset:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshBytes:length:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectSamplerState:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectSamplerState:lodMinClamp:lodMaxClamp:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectSamplerStates:lodMinClamps:lodMaxClamps:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectSamplerStates:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectTexture:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectTextures:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectThreadgroupMemoryLength:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderPipelineState::maxTotalThreadsPerMeshThreadgroup is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderPipelineState::maxTotalThreadsPerObjectThreadgroup is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderPipelineState::objectThreadExecutionWidth is REQUIRED and should be abstract -!incorrect-protocol-member! MTLSamplerState::gpuResourceID is REQUIRED and should be abstract -!incorrect-protocol-member! MTLIndirectCommandBuffer::gpuResourceID is REQUIRED and should be abstract -!incorrect-protocol-member! MTLTexture::gpuResourceID is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::maximumConcurrentCompilationTaskCount is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::setShouldMaximizeConcurrentCompilation: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::shouldMaximizeConcurrentCompilation is REQUIRED and should be abstract -!incorrect-protocol-member! MTLBuffer::gpuAddress is REQUIRED and should be abstract -!incorrect-protocol-member! MTLHeap::newAccelerationStructureWithDescriptor: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLHeap::newAccelerationStructureWithDescriptor:offset: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLHeap::newAccelerationStructureWithSize: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLHeap::newAccelerationStructureWithSize:offset: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexBuffer:offset:attributeStride:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexBufferOffset:attributeStride:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexBuffers:offsets:attributeStrides:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexBytes:length:attributeStride:atIndex: is REQUIRED and should be abstract - -# deprecated but cannot be removed -!unknown-native-enum! MTLArgumentAccess bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.todo b/tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.todo deleted file mode 100644 index 3d4cce89ba30..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.todo +++ /dev/null @@ -1,10 +0,0 @@ -!missing-protocol-member! MTLIndirectRenderCommand::clearBarrier not found -!missing-protocol-member! MTLIndirectRenderCommand::drawMeshThreadgroups:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: not found -!missing-protocol-member! MTLIndirectRenderCommand::drawMeshThreads:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: not found -!missing-protocol-member! MTLIndirectRenderCommand::setBarrier not found -!missing-protocol-member! MTLIndirectRenderCommand::setMeshBuffer:offset:atIndex: not found -!missing-protocol-member! MTLIndirectRenderCommand::setObjectBuffer:offset:atIndex: not found -!missing-protocol-member! MTLIndirectRenderCommand::setObjectThreadgroupMemoryLength:atIndex: not found -!missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound -!missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound -!missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.ignore b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.ignore deleted file mode 100644 index 17f39e163b8f..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.ignore +++ /dev/null @@ -1,108 +0,0 @@ -# has to wait for XAMCORE_5_0 -!incorrect-protocol-member! MTLRenderCommandEncoder::drawMeshThreadgroups:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::drawMeshThreadgroupsWithIndirectBuffer:indirectBufferOffset:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::drawMeshThreads:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshBufferOffset:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshBuffers:offsets:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshSamplerState:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshSamplerState:lodMinClamp:lodMaxClamp:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshSamplerStates:lodMinClamps:lodMaxClamps:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshSamplerStates:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshTexture:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshTextures:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectBuffer:offset:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectBufferOffset:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectBuffers:offsets:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectBytes:length:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshBuffer:offset:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setMeshBytes:length:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectSamplerState:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectSamplerState:lodMinClamp:lodMaxClamp:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectSamplerStates:lodMinClamps:lodMaxClamps:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectSamplerStates:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectTexture:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectTextures:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setObjectThreadgroupMemoryLength:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderPipelineState::maxTotalThreadsPerMeshThreadgroup is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderPipelineState::maxTotalThreadsPerObjectThreadgroup is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderPipelineState::objectThreadExecutionWidth is REQUIRED and should be abstract -!incorrect-protocol-member! MTLSamplerState::gpuResourceID is REQUIRED and should be abstract -!incorrect-protocol-member! MTLIndirectCommandBuffer::gpuResourceID is REQUIRED and should be abstract -!incorrect-protocol-member! MTLTexture::gpuResourceID is REQUIRED and should be abstract -!incorrect-protocol-member! MTLResourceStateCommandEncoder::moveTextureMappingsFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLTexture::isSparse is REQUIRED and should be abstract -!incorrect-protocol-member! MTLTexture::tailSizeInBytes is REQUIRED and should be abstract -!incorrect-protocol-member! MTLArgumentEncoder::setAccelerationStructure:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLArgumentEncoder::setIntersectionFunctionTable:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLArgumentEncoder::setIntersectionFunctionTables:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLArgumentEncoder::setVisibleFunctionTable:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLArgumentEncoder::setVisibleFunctionTables:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLBlitCommandEncoder::getTextureAccessCounters:region:mipLevel:slice:resetCounters:countersBuffer:countersBufferOffset: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLBlitCommandEncoder::resetTextureAccessCounters:region:mipLevel:slice: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLCommandBuffer::accelerationStructureCommandEncoder is REQUIRED and should be abstract -!incorrect-protocol-member! MTLCommandBuffer::resourceStateCommandEncoder is REQUIRED and should be abstract -!incorrect-protocol-member! MTLCommandBuffer::resourceStateCommandEncoderWithDescriptor: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLComputeCommandEncoder::setAccelerationStructure:atBufferIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLComputeCommandEncoder::setIntersectionFunctionTable:atBufferIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLComputeCommandEncoder::setIntersectionFunctionTables:withBufferRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLComputeCommandEncoder::setVisibleFunctionTable:atBufferIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLComputeCommandEncoder::setVisibleFunctionTables:withBufferRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLComputePipelineState::functionHandleWithFunction: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLComputePipelineState::newComputePipelineStateWithAdditionalBinaryFunctions:error: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLComputePipelineState::newIntersectionFunctionTableWithDescriptor: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLComputePipelineState::newVisibleFunctionTableWithDescriptor: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::accelerationStructureSizesWithDescriptor: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::newAccelerationStructureWithDescriptor: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::newAccelerationStructureWithSize: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::newRasterizationRateMapWithDescriptor: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::sparseTileSizeInBytes is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::sparseTileSizeWithTextureType:pixelFormat:sampleCount: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::supports32BitFloatFiltering is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::supports32BitMSAA is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::supportsFunctionPointers is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::supportsFunctionPointersFromRender is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::supportsPrimitiveMotionBlur is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::supportsQueryTextureLOD is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::supportsRasterizationRateMapWithLayerCount: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::supportsRaytracing is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::supportsRaytracingFromRender is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::supportsShaderBarycentricCoordinates is REQUIRED and should be abstract -!incorrect-protocol-member! MTLDevice::supportsVertexAmplificationCount: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLHeap::newAccelerationStructureWithSize: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setTileIntersectionFunctionTables:withBufferRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setTileVisibleFunctionTable:atBufferIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setTileVisibleFunctionTables:withBufferRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexAccelerationStructure:atBufferIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexAmplificationCount:viewMappings: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexIntersectionFunctionTable:atBufferIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexVisibleFunctionTable:atBufferIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexVisibleFunctionTables:withBufferRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderPipelineState::functionHandleWithFunction:stage: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderPipelineState::newIntersectionFunctionTableWithDescriptor:stage: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderPipelineState::newRenderPipelineStateWithAdditionalBinaryFunctions:error: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderPipelineState::newVisibleFunctionTableWithDescriptor:stage: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLTexture::compressionType is REQUIRED and should be abstract -!incorrect-protocol-member! MTLHeap::newAccelerationStructureWithDescriptor:offset: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLHeap::newAccelerationStructureWithSize:offset: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLLibrary::newIntersectionFunctionWithDescriptor:completionHandler: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLLibrary::newIntersectionFunctionWithDescriptor:error: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setFragmentAccelerationStructure:atBufferIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setFragmentIntersectionFunctionTable:atBufferIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setFragmentIntersectionFunctionTables:withBufferRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setFragmentVisibleFunctionTable:atBufferIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setFragmentVisibleFunctionTables:withBufferRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setTileAccelerationStructure:atBufferIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setTileIntersectionFunctionTable:atBufferIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexIntersectionFunctionTables:withBufferRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLFunction::options is REQUIRED and should be abstract -!incorrect-protocol-member! MTLHeap::newAccelerationStructureWithDescriptor: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLBuffer::gpuAddress is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::memoryBarrierWithResources:count:afterStages:beforeStages: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::memoryBarrierWithScope:afterStages:beforeStages: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexBuffer:offset:attributeStride:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexBufferOffset:attributeStride:atIndex: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexBuffers:offsets:attributeStrides:withRange: is REQUIRED and should be abstract -!incorrect-protocol-member! MTLRenderCommandEncoder::setVertexBytes:length:attributeStride:atIndex: is REQUIRED and should be abstract - -# deprecated but cannot be removed -!unknown-native-enum! MTLArgumentAccess bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.todo b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.todo deleted file mode 100644 index 2d0a64da8d9e..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.todo +++ /dev/null @@ -1,3 +0,0 @@ -!missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound -!missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound -!missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound diff --git a/tests/xtro-sharpie/iOS-Metal.todo b/tests/xtro-sharpie/iOS-Metal.todo index b1239d67a466..1ff9920af9c1 100644 --- a/tests/xtro-sharpie/iOS-Metal.todo +++ b/tests/xtro-sharpie/iOS-Metal.todo @@ -1,6 +1,3 @@ -!missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound -!missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound -!missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound !incorrect-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: is REQUIRED and should be abstract !incorrect-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: is REQUIRED and should be abstract !incorrect-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: is REQUIRED and should be abstract diff --git a/tests/xtro-sharpie/macOS-Metal.todo b/tests/xtro-sharpie/macOS-Metal.todo index ed5f7fe73efd..52057bb3df8e 100644 --- a/tests/xtro-sharpie/macOS-Metal.todo +++ b/tests/xtro-sharpie/macOS-Metal.todo @@ -1,13 +1,10 @@ -!missing-protocol-member! MTLIndirectRenderCommand::clearBarrier not found -!missing-protocol-member! MTLIndirectRenderCommand::drawMeshThreadgroups:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: not found -!missing-protocol-member! MTLIndirectRenderCommand::drawMeshThreads:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: not found -!missing-protocol-member! MTLIndirectRenderCommand::setBarrier not found -!missing-protocol-member! MTLIndirectRenderCommand::setMeshBuffer:offset:atIndex: not found -!missing-protocol-member! MTLIndirectRenderCommand::setObjectBuffer:offset:atIndex: not found -!missing-protocol-member! MTLIndirectRenderCommand::setObjectThreadgroupMemoryLength:atIndex: not found -!missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound -!missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound -!missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound !incorrect-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: is REQUIRED and should be abstract !incorrect-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: is REQUIRED and should be abstract !incorrect-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: is REQUIRED and should be abstract +!incorrect-protocol-member! MTLIndirectRenderCommand::clearBarrier is REQUIRED and should be abstract +!incorrect-protocol-member! MTLIndirectRenderCommand::drawMeshThreadgroups:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: is REQUIRED and should be abstract +!incorrect-protocol-member! MTLIndirectRenderCommand::drawMeshThreads:threadsPerObjectThreadgroup:threadsPerMeshThreadgroup: is REQUIRED and should be abstract +!incorrect-protocol-member! MTLIndirectRenderCommand::setBarrier is REQUIRED and should be abstract +!incorrect-protocol-member! MTLIndirectRenderCommand::setMeshBuffer:offset:atIndex: is REQUIRED and should be abstract +!incorrect-protocol-member! MTLIndirectRenderCommand::setObjectBuffer:offset:atIndex: is REQUIRED and should be abstract +!incorrect-protocol-member! MTLIndirectRenderCommand::setObjectThreadgroupMemoryLength:atIndex: is REQUIRED and should be abstract diff --git a/tests/xtro-sharpie/tvOS-Metal.todo b/tests/xtro-sharpie/tvOS-Metal.todo index b1239d67a466..1ff9920af9c1 100644 --- a/tests/xtro-sharpie/tvOS-Metal.todo +++ b/tests/xtro-sharpie/tvOS-Metal.todo @@ -1,6 +1,3 @@ -!missing-selector! MTLCompileOptions::mathFloatingPointFunctions not bound -!missing-selector! MTLCompileOptions::setMathFloatingPointFunctions: not bound -!missing-selector! MTLStitchedLibraryDescriptor::setBinaryArchives: not bound !incorrect-protocol-member! MTLBinaryArchive::addLibraryWithDescriptor:error: is REQUIRED and should be abstract !incorrect-protocol-member! MTLBinaryArchive::addMeshRenderPipelineFunctionsWithDescriptor:error: is REQUIRED and should be abstract !incorrect-protocol-member! MTLDevice::newResidencySetWithDescriptor:error: is REQUIRED and should be abstract From df66884c17285c4d24837edb9caf3a0b3e3b9e39 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Thu, 15 Aug 2024 10:25:50 +0200 Subject: [PATCH 08/11] Update known failures in cecil-tests --- tests/cecil-tests/AttributeTest.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/cecil-tests/AttributeTest.cs b/tests/cecil-tests/AttributeTest.cs index b9ccaa05017a..93b5260df137 100644 --- a/tests/cecil-tests/AttributeTest.cs +++ b/tests/cecil-tests/AttributeTest.cs @@ -288,8 +288,6 @@ static HashSet IgnoreElementsThatDoNotExistInThatAssembly { "SpriteKit.SKView.EncodeTo (Foundation.NSCoder)", // These methods have different optional/required semantics between platforms. - "Metal.MTLBlitCommandEncoder_Extensions.GetTextureAccessCounters (Metal.IMTLBlitCommandEncoder, Metal.IMTLTexture, Metal.MTLRegion, System.UIntPtr, System.UIntPtr, System.Boolean, Metal.IMTLBuffer, System.UIntPtr)", - "Metal.MTLBlitCommandEncoder_Extensions.ResetTextureAccessCounters (Metal.IMTLBlitCommandEncoder, Metal.IMTLTexture, Metal.MTLRegion, System.UIntPtr, System.UIntPtr)", "PassKit.PKPaymentAuthorizationControllerDelegate_Extensions.GetPresentationWindow (PassKit.IPKPaymentAuthorizationControllerDelegate, PassKit.PKPaymentAuthorizationController)", "Metal.MTLTextureWrapper.FirstMipmapInTail", "Metal.MTLTextureWrapper.IsSparse", From fcaafe1a20df513775a4f4b1d2bbe760d8fc9490 Mon Sep 17 00:00:00 2001 From: GitHub Actions Autoformatter Date: Thu, 15 Aug 2024 09:27:39 +0000 Subject: [PATCH 09/11] Auto-format source code --- tests/monotouch-test/Metal/MTLCommandBufferTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/monotouch-test/Metal/MTLCommandBufferTests.cs b/tests/monotouch-test/Metal/MTLCommandBufferTests.cs index 6a6138f50a9a..f1d1ff43125d 100644 --- a/tests/monotouch-test/Metal/MTLCommandBufferTests.cs +++ b/tests/monotouch-test/Metal/MTLCommandBufferTests.cs @@ -40,7 +40,7 @@ public void UseResidencySets () Assert.IsNotNull (residencySet, "ResidencySet #1"); commandBuffer.UseResidencySets (residencySet); - commandBuffer.UseResidencySets (new IMTLResidencySet [] { residencySet }); + commandBuffer.UseResidencySets (new IMTLResidencySet [] { residencySet }); } } } From faa3ec6d21e7cf34580fec4988de69ac5f983474 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Tue, 27 Aug 2024 15:54:45 +0200 Subject: [PATCH 10/11] Beta 6 --- src/Metal/MTLEnums.cs | 6 ++++++ src/metal.cs | 2 +- tests/cecil-tests/Documentation.KnownFailures.txt | 3 ++- tests/monotouch-test/Metal/MTLCommandBufferTests.cs | 4 ++++ tests/monotouch-test/Metal/MTLCommandQueueTests.cs | 4 ++++ tests/monotouch-test/Metal/MTLResidencySetTests.cs | 4 ++++ .../{MacCatalyst-Metal.todo => MacCatalyst-Metal.ignore} | 0 7 files changed, 21 insertions(+), 2 deletions(-) rename tests/xtro-sharpie/api-annotations-dotnet/{MacCatalyst-Metal.todo => MacCatalyst-Metal.ignore} (100%) diff --git a/src/Metal/MTLEnums.cs b/src/Metal/MTLEnums.cs index 0fa8668baacf..935d031c07b0 100644 --- a/src/Metal/MTLEnums.cs +++ b/src/Metal/MTLEnums.cs @@ -1740,8 +1740,14 @@ public enum MTLFunctionOptions : ulong { [MacCatalyst (14, 0)] CompileToBinary = 1uL << 0, [iOS (17, 0), TV (17, 0), MacCatalyst (17, 0), Mac (14, 0)] + [Deprecated (PlatformName.MacCatalyst, 18, 0, message: "Use 'StoreFunctionInMetalPipelinesScript' instead.")] + [Deprecated (PlatformName.iOS, 18, 0, message: "Use 'StoreFunctionInMetalPipelinesScript' instead.")] + [Deprecated (PlatformName.TvOS, 18, 0, message: "Use 'StoreFunctionInMetalPipelinesScript' instead.")] + [Deprecated (PlatformName.MacOSX, 15, 0, message: "Use 'StoreFunctionInMetalPipelinesScript' instead.")] StoreFunctionInMetalScript = 1uL << 1, [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] + StoreFunctionInMetalPipelinesScript = 1 << 1, + [TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)] FailOnBinaryArchiveMiss = 1 << 2, } diff --git a/src/metal.cs b/src/metal.cs index c5312213939b..929c5fe707c9 100644 --- a/src/metal.cs +++ b/src/metal.cs @@ -7443,7 +7443,7 @@ interface NSProcessInfo_NSDeviceCertification { enum MTLStitchedLibraryOptions : ulong { None = 0, FailOnBinaryArchiveMiss = 1 << 0, - StoreLibraryInMetalScript = 1 << 1, + StoreLibraryInMetalPipelinesScript = 1 << 1, } [Native] diff --git a/tests/cecil-tests/Documentation.KnownFailures.txt b/tests/cecil-tests/Documentation.KnownFailures.txt index b6cbf737557b..0027ff01183a 100644 --- a/tests/cecil-tests/Documentation.KnownFailures.txt +++ b/tests/cecil-tests/Documentation.KnownFailures.txt @@ -14180,6 +14180,7 @@ F:Metal.MTLFunctionLogType.Validation F:Metal.MTLFunctionOptions.CompileToBinary F:Metal.MTLFunctionOptions.FailOnBinaryArchiveMiss F:Metal.MTLFunctionOptions.None +F:Metal.MTLFunctionOptions.StoreFunctionInMetalPipelinesScript F:Metal.MTLFunctionOptions.StoreFunctionInMetalScript F:Metal.MTLFunctionType.Fragment F:Metal.MTLFunctionType.Intersection @@ -14546,7 +14547,7 @@ F:Metal.MTLStepFunction.ThreadPositionInGridY F:Metal.MTLStepFunction.ThreadPositionInGridYIndexed F:Metal.MTLStitchedLibraryOptions.FailOnBinaryArchiveMiss F:Metal.MTLStitchedLibraryOptions.None -F:Metal.MTLStitchedLibraryOptions.StoreLibraryInMetalScript +F:Metal.MTLStitchedLibraryOptions.StoreLibraryInMetalPipelinesScript F:Metal.MTLStorageMode.Managed F:Metal.MTLStorageMode.Memoryless F:Metal.MTLStorageMode.Private diff --git a/tests/monotouch-test/Metal/MTLCommandBufferTests.cs b/tests/monotouch-test/Metal/MTLCommandBufferTests.cs index f1d1ff43125d..1e04b63be9b6 100644 --- a/tests/monotouch-test/Metal/MTLCommandBufferTests.cs +++ b/tests/monotouch-test/Metal/MTLCommandBufferTests.cs @@ -23,6 +23,10 @@ public void UseResidencySets () if (device is null) Assert.Inconclusive ("Metal is not supported"); + var supportsResidencySets = device.SupportsFamily (MTLGpuFamily.Apple6); + if (!supportsResidencySets) + Assert.Inconclusive ("Residency sets are not supported on this device."); + using var commandQ = device.CreateCommandQueue (); if (commandQ is null) // this happens on a simulator Assert.Inconclusive ("Could not get the functions library for the device."); diff --git a/tests/monotouch-test/Metal/MTLCommandQueueTests.cs b/tests/monotouch-test/Metal/MTLCommandQueueTests.cs index af26eb8d2d7b..7a0b88342089 100644 --- a/tests/monotouch-test/Metal/MTLCommandQueueTests.cs +++ b/tests/monotouch-test/Metal/MTLCommandQueueTests.cs @@ -23,6 +23,10 @@ public void AddOrRemoveResidencySets () if (device is null) Assert.Inconclusive ("Metal is not supported"); + var supportsResidencySets = device.SupportsFamily (MTLGpuFamily.Apple6); + if (!supportsResidencySets) + Assert.Inconclusive ("Residency sets are not supported on this device."); + using var commandQ = device.CreateCommandQueue (); if (commandQ is null) // this happens on a simulator Assert.Inconclusive ("Could not get the functions library for the device."); diff --git a/tests/monotouch-test/Metal/MTLResidencySetTests.cs b/tests/monotouch-test/Metal/MTLResidencySetTests.cs index bad0068dd8ca..6e8597c68a17 100644 --- a/tests/monotouch-test/Metal/MTLResidencySetTests.cs +++ b/tests/monotouch-test/Metal/MTLResidencySetTests.cs @@ -23,6 +23,10 @@ public void AddOrRemoveAllocations () if (device is null) Assert.Inconclusive ("Metal is not supported"); + var supportsResidencySets = device.SupportsFamily (MTLGpuFamily.Apple6); + if (!supportsResidencySets) + Assert.Inconclusive ("Residency sets are not supported on this device."); + using var heapDescriptor = new MTLHeapDescriptor () { Size = 1024, }; diff --git a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-Metal.todo b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-Metal.ignore similarity index 100% rename from tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-Metal.todo rename to tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-Metal.ignore From 1b5da7e69898d4c7a7e801c50e24e5d9d5d8da03 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Thu, 5 Sep 2024 11:04:56 +0200 Subject: [PATCH 11/11] Fix test build. --- tests/monotouch-test/Metal/MTLCommandBufferTests.cs | 2 ++ tests/monotouch-test/Metal/MTLCommandQueueTests.cs | 2 ++ tests/monotouch-test/Metal/MTLResidencySetTests.cs | 2 ++ 3 files changed, 6 insertions(+) diff --git a/tests/monotouch-test/Metal/MTLCommandBufferTests.cs b/tests/monotouch-test/Metal/MTLCommandBufferTests.cs index 1e04b63be9b6..250144224e94 100644 --- a/tests/monotouch-test/Metal/MTLCommandBufferTests.cs +++ b/tests/monotouch-test/Metal/MTLCommandBufferTests.cs @@ -1,3 +1,4 @@ +#if !__WATCHOS__ using System; using System.IO; using System.Runtime.InteropServices; @@ -48,3 +49,4 @@ public void UseResidencySets () } } } +#endif // !__WATCHOS__ diff --git a/tests/monotouch-test/Metal/MTLCommandQueueTests.cs b/tests/monotouch-test/Metal/MTLCommandQueueTests.cs index 7a0b88342089..b1f66a0f9f02 100644 --- a/tests/monotouch-test/Metal/MTLCommandQueueTests.cs +++ b/tests/monotouch-test/Metal/MTLCommandQueueTests.cs @@ -1,3 +1,4 @@ +#if !__WATCHOS__ using System; using System.IO; using System.Runtime.InteropServices; @@ -47,3 +48,4 @@ public void AddOrRemoveResidencySets () } } } +#endif // !__WATCHOS__ diff --git a/tests/monotouch-test/Metal/MTLResidencySetTests.cs b/tests/monotouch-test/Metal/MTLResidencySetTests.cs index 6e8597c68a17..910124298023 100644 --- a/tests/monotouch-test/Metal/MTLResidencySetTests.cs +++ b/tests/monotouch-test/Metal/MTLResidencySetTests.cs @@ -1,3 +1,4 @@ +#if !__WATCHOS__ using System; using System.IO; using System.Runtime.InteropServices; @@ -51,3 +52,4 @@ public void AddOrRemoveAllocations () } } } +#endif // !__WATCHOS__