Skip to content

[Metal] Update bindings up to Xcode 27.0 Beta 3#26176

Merged
dalexsoto merged 1 commit into
xcode27.0from
dev/alex/xc27-Metal
Jul 20, 2026
Merged

[Metal] Update bindings up to Xcode 27.0 Beta 3#26176
dalexsoto merged 1 commit into
xcode27.0from
dev/alex/xc27-Metal

Conversation

@dalexsoto

Copy link
Copy Markdown
Member

Summary

  • Bind the Xcode 27.0 Beta 3 Metal tensor auxiliary-plane APIs, data types, plane-aware copies, and compile rounding mode.
  • Add the new deprecations for render-pass store action options and macOS device observers.
  • Handle the simulator-only absence of MTLTensorAuxiliaryPlane in the static registrar.
  • Remove the resolved Metal xtro todo files and refresh Cecil baselines.

Validation

  • make world
  • Clean xtro regeneration/classification: Sanity check passed
  • Clean Cecil test run: 116 tests, 0 failures
  • Clean app-size filter: 16 expected skips because Xcode is beta, 0 failures
  • Introspection: iOS 44/44, tvOS 43/43, macOS 32/32; Mac Catalyst non-ctor fixtures all passed after the known unsigned-app TCC abort in the ctor fixture

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
Copilot AI review requested due to automatic review settings July 17, 2026 22:01
@dalexsoto
dalexsoto requested a review from rolfbjarne as a code owner July 17, 2026 22:01
@dalexsoto dalexsoto added this to the xcode27 milestone Jul 17, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 .todo files, 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.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@dalexsoto

Copy link
Copy Markdown
Member Author

/azp run xamarin-macios-pr-apidiff

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@vs-mobiletools-engineering-service2

This comment has been minimized.

@dalexsoto

Copy link
Copy Markdown
Member Author

/azp run xamarin-macios-sim-pr-tests

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ API diff for current PR / commit

NET (empty diffs)

✅ API diff vs stable

NET (empty diffs)

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: 4f5a92000a5fbc011593ea8ea7a545062c2f27ef [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

🚀 [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
✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (MacCatalyst): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download
✅ framework: All 2 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 4 tests passed. Html Report (VSDrops) Download
✅ generator: All 5 tests passed. Html Report (VSDrops) Download
✅ interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download
✅ introspection: All 6 tests passed. Html Report (VSDrops) Download
✅ linker (iOS): All 15 tests passed. Html Report (VSDrops) Download
✅ linker (MacCatalyst): All 15 tests passed. Html Report (VSDrops) Download
✅ linker (macOS): All 21 tests passed. Html Report (VSDrops) Download
✅ linker (tvOS): All 15 tests passed. Html Report (VSDrops) Download
✅ monotouch (iOS): All 19 tests passed. Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 18 tests passed. Html Report (VSDrops) Download
✅ monotouch (macOS): All 19 tests passed. Html Report (VSDrops) Download
✅ monotouch (tvOS): All 19 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ sharpie: All 1 tests passed. Html Report (VSDrops) Download
✅ windows: All 3 tests passed. Html Report (VSDrops) Download
✅ xcframework: All 4 tests passed. Html Report (VSDrops) Download
✅ xtro: All 1 tests passed. Html Report (VSDrops) Download

macOS tests

✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Sequoia (15): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Tahoe (26): All 5 tests passed. Html Report (VSDrops) Download
⚠️ Tests on macOS Golden Gate (27): Tests skipped, incorrect beta version. Html Report (VSDrops) Download

Linux Build Verification

Linux build succeeded

Pipeline on Agent
Hash: 4f5a92000a5fbc011593ea8ea7a545062c2f27ef [PR build]

@dalexsoto
dalexsoto enabled auto-merge (squash) July 18, 2026 21:06
@dalexsoto
dalexsoto merged commit d3057c6 into xcode27.0 Jul 20, 2026
56 checks passed
@dalexsoto
dalexsoto deleted the dev/alex/xc27-Metal branch July 20, 2026 08:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants