[Metal] Update bindings up to Xcode 27.0 Beta 3#26176
Conversation
Update the Metal bindings for the APIs added and deprecated in Xcode 27.0 Beta 3. - Bind multi-plane tensor descriptors, attachments, auxiliary-plane metadata, and plane-aware copy/access APIs. - Add Metal Shading Language 4.1, new tensor data formats and plane types, and floating-point conversion rounding modes. - Mark the newly deprecated render-pass and device-observer APIs. - Use dynamic protocol lookup for the simulator-only absence of MTLTensorAuxiliaryPlane. - Refresh xtro and Cecil baselines for the new public API surface. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 006eeeaa-d3f4-40e1-b7d8-90e1d02ebb2c
There was a problem hiding this comment.
Pull request overview
Updates the Metal bindings to match Xcode 27.0 Beta 3, adding new tensor auxiliary-plane APIs/types and rounding-mode support, plus incorporating newly introduced deprecations and keeping test baselines/xtro annotations in sync.
Changes:
- Added new Metal tensor auxiliary-plane related protocols/types and plane-aware tensor copy/get/replace APIs, plus compile rounding mode support.
- Added new deprecation annotations for render-pass store action options and macOS device observer APIs.
- Updated tooling/tests: static registrar simulator protocol handling, removed resolved xtro
.todofiles, and refreshed Cecil known-failure baselines.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tools/common/StaticRegistrar.cs | Adds simulator-safe protocol lookup for MTLTensorAuxiliaryPlane to avoid static-registrar @protocol issues when absent on simulator. |
| tests/xtro-sharpie/api-annotations-dotnet/tvOS-Metal.todo | Removes resolved xtro todo entries after binding coverage updates. |
| tests/xtro-sharpie/api-annotations-dotnet/macOS-Metal.todo | Removes resolved xtro todo entries after binding coverage updates. |
| tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-Metal.todo | Removes resolved xtro todo entries after binding coverage updates. |
| tests/xtro-sharpie/api-annotations-dotnet/iOS-Metal.todo | Removes resolved xtro todo entries after binding coverage updates. |
| tests/cecil-tests/Documentation.KnownFailures.txt | Adds Cecil documentation baseline entries for newly introduced Metal APIs/enums. |
| tests/cecil-tests/ApiTest.KnownFailures.cs | Adds API test known-failure entry for MTLLanguageVersion.v4_1 capitalization. |
| src/Metal/MTLEnums.cs | Extends Metal enums with MTLLanguageVersion.v4_1, new MTLTensorDataType values, and MTLTensorPlaneType. |
| src/Metal/MTLDevice.cs | Adds macOS 27.0 obsoletion metadata for device observer APIs that are no longer applicable on Apple Silicon. |
| src/metal.cs | Binds new Metal APIs (tensor plane-aware copies/IO, auxiliary-plane types) and adds new deprecations + rounding-mode enum/property. |
This comment has been minimized.
This comment has been minimized.
|
/azp run xamarin-macios-pr-apidiff |
|
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). |
✅ 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.
🚀 [CI Build #4f5a920] Test results 🚀Test results✅ All tests passed on VSTS: test results. 🎉 All 195 tests passed 🎉 Tests counts✅ assembly-processing: All 1 tests passed. [attempt 2] Html Report (VSDrops) Download macOS tests✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download Linux Build VerificationPipeline on Agent |
Summary
MTLTensorAuxiliaryPlanein the static registrar.Validation
make worldSanity check passed