From 272b75335428ecbfbef6c2c5fe6709d1884e1f3d Mon Sep 17 00:00:00 2001 From: Haritha Mohan Date: Wed, 23 Aug 2023 11:24:16 -0400 Subject: [PATCH] [SceneKit] Add support for Xcode 15 beta 6 (#18778) Notes: - Beta 6 changes are targeting only visionOS - Adding an [Abstract] to an existing protocol is a breaking change so added a conditional XAMCORE and added xtro error to .ignore --------- Co-authored-by: GitHub Actions Autoformatter --- src/scenekit.cs | 7 +++++++ .../api-annotations-dotnet/common-SceneKit.ignore | 3 +++ .../xtro-sharpie/api-annotations-dotnet/iOS-SceneKit.todo | 1 - .../api-annotations-dotnet/macOS-SceneKit.todo | 1 - .../xtro-sharpie/api-annotations-dotnet/tvOS-SceneKit.todo | 1 - tests/xtro-sharpie/common-SceneKit.ignore | 1 + tests/xtro-sharpie/iOS-SceneKit.todo | 1 - tests/xtro-sharpie/macOS-SceneKit.todo | 1 - tests/xtro-sharpie/tvOS-SceneKit.todo | 1 - tests/xtro-sharpie/watchOS-SceneKit.todo | 1 - 10 files changed, 11 insertions(+), 7 deletions(-) delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/iOS-SceneKit.todo delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/macOS-SceneKit.todo delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/tvOS-SceneKit.todo delete mode 100644 tests/xtro-sharpie/iOS-SceneKit.todo delete mode 100644 tests/xtro-sharpie/macOS-SceneKit.todo delete mode 100644 tests/xtro-sharpie/tvOS-SceneKit.todo delete mode 100644 tests/xtro-sharpie/watchOS-SceneKit.todo diff --git a/src/scenekit.cs b/src/scenekit.cs index dcf052dc158b..e3217899ee51 100644 --- a/src/scenekit.cs +++ b/src/scenekit.cs @@ -3293,6 +3293,13 @@ interface SCNSceneRenderer { #endif [Export ("currentRenderPassDescriptor")] MTLRenderPassDescriptor CurrentRenderPassDescriptor { get; } + + [Watch (10, 0), TV (17, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] +#if XAMCORE_5_0 + [Abstract] +#endif + [Export ("workingColorSpace")] + CGColorSpace WorkingColorSpace { get; } } [MacCatalyst (13, 1)] diff --git a/tests/xtro-sharpie/api-annotations-dotnet/common-SceneKit.ignore b/tests/xtro-sharpie/api-annotations-dotnet/common-SceneKit.ignore index 8c7995e73070..430446362f70 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/common-SceneKit.ignore +++ b/tests/xtro-sharpie/api-annotations-dotnet/common-SceneKit.ignore @@ -64,3 +64,6 @@ # normal pattern accept null delegate and unit tests shows it works just fine !extra-null-allowed! 'System.Void SceneKit.SCNAvoidOccluderConstraint::set_Delegate(SceneKit.ISCNAvoidOccluderConstraintDelegate)' has a extraneous [NullAllowed] on parameter #0 + +## we cannot add abstract members to existing SCNSceneRenderer protocols (breaking changes) +!incorrect-protocol-member! SCNSceneRenderer::workingColorSpace is REQUIRED and should be abstract diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-SceneKit.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-SceneKit.todo deleted file mode 100644 index 91c60249fa32..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-SceneKit.todo +++ /dev/null @@ -1 +0,0 @@ -!missing-protocol-member! SCNSceneRenderer::workingColorSpace not found diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-SceneKit.todo b/tests/xtro-sharpie/api-annotations-dotnet/macOS-SceneKit.todo deleted file mode 100644 index 91c60249fa32..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-SceneKit.todo +++ /dev/null @@ -1 +0,0 @@ -!missing-protocol-member! SCNSceneRenderer::workingColorSpace not found diff --git a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-SceneKit.todo b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-SceneKit.todo deleted file mode 100644 index 91c60249fa32..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-SceneKit.todo +++ /dev/null @@ -1 +0,0 @@ -!missing-protocol-member! SCNSceneRenderer::workingColorSpace not found diff --git a/tests/xtro-sharpie/common-SceneKit.ignore b/tests/xtro-sharpie/common-SceneKit.ignore index db800cb286b4..76be49b2194e 100644 --- a/tests/xtro-sharpie/common-SceneKit.ignore +++ b/tests/xtro-sharpie/common-SceneKit.ignore @@ -18,6 +18,7 @@ !incorrect-protocol-member! SCNSceneRenderer::setTemporalAntialiasingEnabled: is REQUIRED and should be abstract !incorrect-protocol-member! SCNSceneRenderer::setUsesReverseZ: is REQUIRED and should be abstract !incorrect-protocol-member! SCNSceneRenderer::usesReverseZ is REQUIRED and should be abstract +!incorrect-protocol-member! SCNSceneRenderer::workingColorSpace is REQUIRED and should be abstract ## same for SCNActionable, it is required member of a protocol added to .NET !incorrect-protocol-member! SCNActionable::actionKeys is REQUIRED and should be abstract diff --git a/tests/xtro-sharpie/iOS-SceneKit.todo b/tests/xtro-sharpie/iOS-SceneKit.todo deleted file mode 100644 index 91c60249fa32..000000000000 --- a/tests/xtro-sharpie/iOS-SceneKit.todo +++ /dev/null @@ -1 +0,0 @@ -!missing-protocol-member! SCNSceneRenderer::workingColorSpace not found diff --git a/tests/xtro-sharpie/macOS-SceneKit.todo b/tests/xtro-sharpie/macOS-SceneKit.todo deleted file mode 100644 index 91c60249fa32..000000000000 --- a/tests/xtro-sharpie/macOS-SceneKit.todo +++ /dev/null @@ -1 +0,0 @@ -!missing-protocol-member! SCNSceneRenderer::workingColorSpace not found diff --git a/tests/xtro-sharpie/tvOS-SceneKit.todo b/tests/xtro-sharpie/tvOS-SceneKit.todo deleted file mode 100644 index 91c60249fa32..000000000000 --- a/tests/xtro-sharpie/tvOS-SceneKit.todo +++ /dev/null @@ -1 +0,0 @@ -!missing-protocol-member! SCNSceneRenderer::workingColorSpace not found diff --git a/tests/xtro-sharpie/watchOS-SceneKit.todo b/tests/xtro-sharpie/watchOS-SceneKit.todo deleted file mode 100644 index 91c60249fa32..000000000000 --- a/tests/xtro-sharpie/watchOS-SceneKit.todo +++ /dev/null @@ -1 +0,0 @@ -!missing-protocol-member! SCNSceneRenderer::workingColorSpace not found