Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(apple): support disabling metal validation #2373

Open
wants to merge 7 commits into
base: trunk
Choose a base branch
from

Conversation

Saadnajmi
Copy link
Collaborator

@Saadnajmi Saadnajmi commented Jan 22, 2025

Description

A couple of repositories (react-native-webgpu, @shopfiy/react-native-skia) need to have Metal Validation turned off for their libraries to run (and be tested in CI. Let's add a way to enable/disable that from the manifest.

Note:

  • For whatever reason, when enableGpuValidationMode = "1" is in the xcscheme, that actually means that Metal API Validation is off. To turn it back on, you can't set it to "0", you have to remove the line. 🤷‍♂️

Platforms affected

  • Android
  • iOS
  • macOS
  • visionOS
  • Windows

Test plan

Added and removed the key from the example apps' App.json, re-ran pod install and verified that Metal API Validation would flip.

@Saadnajmi Saadnajmi marked this pull request as draft January 22, 2025 05:20
@Saadnajmi
Copy link
Collaborator Author

@wcandillon FYI

@wcandillon
Copy link

wcandillon commented Jan 22, 2025

this is very cool 😎☺️ Thank you for doing this.

ios/test_app.rb Outdated Show resolved Hide resolved
@Saadnajmi Saadnajmi marked this pull request as ready for review January 26, 2025 06:09
@Saadnajmi Saadnajmi changed the title feat(ios): support disabling metal validation feat(apple): support disabling metal validation Jan 26, 2025
@Saadnajmi
Copy link
Collaborator Author

Saadnajmi commented Jan 26, 2025

Not obvious to me: Not every key in the app.json seems tested. Should I add some sort of test, or leave it as is?

@Saadnajmi
Copy link
Collaborator Author

Oh, another note. Using REXML removes the newlines from the xcscheme so the structure of the file is different, but it's still usable by Xcode. Just thought I'd make sure to mention that.

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.

3 participants