Skip to content

Commit ac516e8

Browse files
authored
[SceneKit] Implement Xcode 16.0 beta 1-6 changes. (#21055)
Note: there were changes in beta 2, beta 3, beta 4, beta 5 or beta 6.
1 parent 703efad commit ac516e8

File tree

11 files changed

+52
-71
lines changed

11 files changed

+52
-71
lines changed

src/scenekit.cs

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -975,6 +975,11 @@ interface SCNGeometry : SCNAnimatable, SCNBoundingVolume, SCNShadable, NSCopying
975975
[Export ("geometryWithSources:elements:")]
976976
SCNGeometry Create (SCNGeometrySource [] sources, [NullAllowed] SCNGeometryElement [] elements);
977977

978+
[Watch (11, 0), TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
979+
[Static]
980+
[Export ("geometryWithSources:elements:sourceChannels:")]
981+
SCNGeometry Create (SCNGeometrySource [] sources, [NullAllowed] SCNGeometryElement [] elements, [NullAllowed][BindAs (typeof (int []))] NSNumber [] sourceChannels);
982+
978983
[Export ("geometrySourcesForSemantic:")]
979984
SCNGeometrySource [] GetGeometrySourcesForSemantic (string semantic);
980985

@@ -1019,6 +1024,11 @@ interface SCNGeometry : SCNAnimatable, SCNBoundingVolume, SCNShadable, NSCopying
10191024
[MacCatalyst (13, 1)]
10201025
[NullAllowed, Export ("tessellator", ArgumentSemantic.Retain)]
10211026
SCNGeometryTessellator Tessellator { get; set; }
1027+
1028+
[Watch (11, 0), TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
1029+
[Export ("geometrySourceChannels"), NullAllowed]
1030+
[BindAs (typeof (int []))]
1031+
NSNumber [] GeometrySourceChannels { get; }
10221032
}
10231033

10241034
/// <include file="../docs/api/SceneKit/SCNGeometrySource.xml" path="/Documentation/Docs[@DocId='T:SceneKit.SCNGeometrySource']/*" />
@@ -1131,6 +1141,11 @@ interface SCNGeometryElement : NSSecureCoding {
11311141
[Export ("geometryElementWithData:primitiveType:primitiveCount:bytesPerIndex:")]
11321142
SCNGeometryElement FromData ([NullAllowed] NSData data, SCNGeometryPrimitiveType primitiveType, nint primitiveCount, nint bytesPerIndex);
11331143

1144+
[Watch (11, 0), TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
1145+
[Static]
1146+
[Export ("geometryElementWithData:primitiveType:primitiveCount:indicesChannelCount:interleavedIndicesChannels:bytesPerIndex:")]
1147+
SCNGeometryElement FromData ([NullAllowed] NSData data, SCNGeometryPrimitiveType primitiveType, nint primitiveCount, nint indicesChannelCount, bool interleavedIndicesChannels, nint bytesPerIndex);
1148+
11341149
[MacCatalyst (13, 1)]
11351150
[Export ("primitiveRange", ArgumentSemantic.Assign)]
11361151
NSRange PrimitiveRange { get; set; }
@@ -1159,6 +1174,20 @@ interface SCNGeometryElement : NSSecureCoding {
11591174
[Static]
11601175
[Export ("geometryElementWithBuffer:primitiveType:primitiveCount:bytesPerIndex:")]
11611176
SCNGeometryElement FromBuffer (IMTLBuffer buffer, SCNGeometryPrimitiveType primitiveType, nint primitiveCount, nint bytesPerIndex);
1177+
1178+
[NoWatch] // marked as 11.0 but there's no Metal support on the platform
1179+
[TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
1180+
[Static]
1181+
[Export ("geometryElementWithBuffer:primitiveType:primitiveCount:indicesChannelCount:interleavedIndicesChannels:bytesPerIndex:")]
1182+
SCNGeometryElement FromBuffer (IMTLBuffer data, SCNGeometryPrimitiveType primitiveType, nint primitiveCount, nint indicesChannelCount, bool interleavedIndicesChannels, nint bytesPerIndex);
1183+
1184+
[TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
1185+
[Export ("interleavedIndicesChannels")]
1186+
bool InterleavedIndicesChannels { [Bind ("hasInterleavedIndicesChannels")] get; }
1187+
1188+
[TV (18, 0), Mac (15, 0), iOS (18, 0), MacCatalyst (18, 0)]
1189+
[Export ("indicesChannelCount")]
1190+
nint IndicesChannelCount { get; }
11621191
}
11631192

11641193
#if !WATCH
@@ -1838,6 +1867,25 @@ interface SCNMaterialProperty : SCNAnimatable, NSSecureCoding {
18381867
[MacCatalyst (13, 1)]
18391868
[Static, Export ("materialPropertyWithContents:")]
18401869
SCNMaterialProperty Create (NSObject contents);
1870+
1871+
[Static]
1872+
[TV (17, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0), Watch (10, 0)]
1873+
[return: NullAllowed]
1874+
[Export ("precomputedLightingEnvironmentContentsWithURL:error:")]
1875+
NSObject GetPrecomputedLightingEnvironmentContents (NSUrl url, out NSError error);
1876+
1877+
[Static]
1878+
[TV (17, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0), Watch (10, 0)]
1879+
[return: NullAllowed]
1880+
[Export ("precomputedLightingEnvironmentContentsWithData:error:")]
1881+
NSObject GetPrecomputedLightingEnvironmentContents (NSData url, out NSError error);
1882+
1883+
[Static]
1884+
[NoWatch] // headers claim watchOS 10.0, but watchOS doesn't have Metal
1885+
[TV (17, 0), Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)]
1886+
[return: NullAllowed]
1887+
[Export ("precomputedLightingEnvironmentDataForContents:device:error:")]
1888+
NSData GetPrecomputedLightingEnvironmentData (NSObject contents, [NullAllowed] IMTLDevice device, out NSError error);
18411889
}
18421890

18431891
#if !WATCH

tests/cecil-tests/Documentation.KnownFailures.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73112,6 +73112,7 @@ P:SceneKit.SCNGeometry.MinimumLanguageVersion
7311273112
P:SceneKit.SCNGeometry.Program
7311373113
P:SceneKit.SCNGeometry.ShaderModifiers
7311473114
P:SceneKit.SCNGeometry.WeakShaderModifiers
73115+
P:SceneKit.SCNGeometryElement.InterleavedIndicesChannels
7311573116
P:SceneKit.SCNGeometrySourceSemantic.BoneIndices
7311673117
P:SceneKit.SCNGeometrySourceSemantic.BoneWeights
7311773118
P:SceneKit.SCNGeometrySourceSemantic.Color

tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-SceneKit.todo

Lines changed: 0 additions & 9 deletions
This file was deleted.

tests/xtro-sharpie/api-annotations-dotnet/iOS-SceneKit.todo

Lines changed: 0 additions & 9 deletions
This file was deleted.

tests/xtro-sharpie/api-annotations-dotnet/macOS-SceneKit.todo

Lines changed: 0 additions & 9 deletions
This file was deleted.

tests/xtro-sharpie/api-annotations-dotnet/tvOS-SceneKit.todo

Lines changed: 0 additions & 9 deletions
This file was deleted.

tests/xtro-sharpie/iOS-SceneKit.todo

Lines changed: 0 additions & 9 deletions
This file was deleted.

tests/xtro-sharpie/macOS-SceneKit.todo

Lines changed: 0 additions & 9 deletions
This file was deleted.

tests/xtro-sharpie/tvOS-SceneKit.todo

Lines changed: 0 additions & 9 deletions
This file was deleted.

tests/xtro-sharpie/watchOS-SceneKit.ignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,6 @@
1212

1313
## obsoleted (removed from headers) in watchOS 6
1414
!extra-protocol-member! unexpected selector SCNSceneRenderer::context found
15+
16+
## A parameter comes from the Metal framework, which isn't available on watchOS.
17+
!missing-selector! +SCNMaterialProperty::precomputedLightingEnvironmentDataForContents:device:error: not bound

0 commit comments

Comments
 (0)