[MetalPerformanceShadersGraph] Update bindings up to Xcode 27.0 Beta 3 - #26204
Conversation
Bind the scaled dot product attention descriptor and descriptor-based graph operation, add Metal 4 command queue execution overloads, and update automatic layout conversion availability and deprecation metadata across all supported platforms. Teach bgen to accept and emit simulator availability attributes on binding methods so the device-only Metal 4 selectors are represented accurately. Add focused cross-platform regression coverage, register the SDPA acronym for introspection spelling checks, and remove the resolved xtro todo files. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 88e6f604-b426-4046-8e83-37c8d94af74e
There was a problem hiding this comment.
Pull request overview
Updates the MetalPerformanceShadersGraph bindings and related tooling/tests to match Xcode 27.0 Beta 3, including new SDPA APIs and Metal 4 command queue execution overloads, while cleaning up resolved XTRO TODOs and expanding bgen simulator-availability attribute support.
Changes:
- Added new MPSGraph SDPA descriptor binding and a descriptor-based scaled dot product attention API.
- Added Metal 4 command queue
Run/RunAsyncoverloads with device-only (unsupported on iOS/tvOS simulator) metadata, plus new/updated compilation descriptor APIs. - Extended bgen to accept simulator availability attributes on methods and added regression coverage; removed resolved XTRO TODO files.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/metalperformanceshadersgraph.cs | Adds new SDPA descriptor + attention overloads, Metal 4 command-queue execution APIs, and the new/updated compilation descriptor members (including deprecation). |
| src/bgen/Generator.cs | Allows simulator availability attributes on methods by treating them as recognized/allowed attributes during generation. |
| tests/bgen/tests/simulator-availability-attributes.cs | Adds method-level [SupportedSimulator]/[UnsupportedSimulator] cases for bgen regression coverage. |
| tests/bgen/BGenTests.cs | Verifies method-level simulator availability attributes are emitted for iOS/tvOS and not emitted for Mac platforms. |
| tests/introspection/ApiTypoTest.cs | Allows “Sdpa” token to avoid false-positive typo failures for SDPA APIs. |
| tests/xtro-sharpie/api-annotations-dotnet/iOS-MetalPerformanceShadersGraph.todo | Removes resolved XTRO TODO entries now covered by bindings/attributes. |
| tests/xtro-sharpie/api-annotations-dotnet/tvOS-MetalPerformanceShadersGraph.todo | Removes resolved XTRO TODO entries now covered by bindings/attributes. |
| tests/xtro-sharpie/api-annotations-dotnet/macOS-MetalPerformanceShadersGraph.todo | Removes resolved XTRO TODO entries now covered by bindings/attributes. |
| tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-MetalPerformanceShadersGraph.todo | Removes resolved XTRO TODO entries now covered by bindings/attributes. |
✅ API diff for current PR / commitNET (empty diffs)✅ API diff vs stableNET (empty diffs)ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
|
/azp run xamarin-macios-sim-pr-tests |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
This comment has been minimized.
This comment has been minimized.
|
/azp run xamarin-macios-sim-pr-tests |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
🚀 [CI Build #e918626] Test results 🚀Test results✅ All tests passed on VSTS: test results. 🎉 All 195 tests passed 🎉 Tests counts✅ assembly-processing: All 1 tests passed. Html Report (VSDrops) Download macOS tests✅ Tests on macOS Sonoma (14): All 5 tests passed. [attempt 2] Html Report (VSDrops) Download Linux Build VerificationPipeline on Agent |
Summary
MPSGraphSdpaDescriptorand descriptor-based scaled dot product attention operation.DisableAutoLayoutConversion, deprecateConvertLayoutToNhwc, and remove all resolved MetalPerformanceShadersGraph xtro todo files.Validation
make worldCLLocationButton