Skip to content

Conversation

@opstic
Copy link
Contributor

@opstic opstic commented Dec 13, 2025

Description
This PR re-adds memoryless storage support for the Metal backend on Apple A7 that was included in the original #8247 but was removed in #8439.

Change 1: MTLGPUFamily::Apple2 to MTLGPUFamily::Apple1
This is valid since Apple1 corresponds to Apple A7, and it has been tested to have support.

Change 2: Addition of else { version.at_least((11, 0), (10, 0), (10, 0), (1, 0), os_type) }
This is valid. We're testing for family check support first then only when it's not supported testing for OS versions.
The version tested for are macOS 11.0, iOS 10.0, tvOS 10.0 and visionOS 1.0.

For macOS, since the condition checks for 11.0, a family check is forced (MTLGPUFamily is introduced in 10.15), which would then give us accurate information on support.

Apple A6 can have an iOS version above 10 while not supporting memoryless, however, they do not support Metal.

Oldest Apple TV that supports tvOS 10 is the Apple TV HD, which contains an Apple A8.

visionOS 1.0 definitely supports family checks, which would then skip the version check.

Testing
Was already tested in #8247.

Squash or Rebase?
Squash

Checklist

  • Run cargo fmt.
  • Run taplo format.
  • Run cargo clippy --tests. If applicable, add:
    • --target wasm32-unknown-unknown
  • Run cargo xtask test to run tests.
  • If this contains user-facing changes, add a CHANGELOG.md entry.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant