-
-
Notifications
You must be signed in to change notification settings - Fork 22k
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
Remove s3tc
feature tag from arm64
macOS exports
#98263
base: master
Are you sure you want to change the base?
Conversation
0265dec
to
d524c0d
Compare
For reference, the Metal feature set tables documents what kinds of VRAM-compressed formats are supported on page 3: (Apple7 is M1, Apple8 is M2, Apple9 is M3 and M4.) |
While it is out of place and should be in the preset features, it's likely needed for |
d524c0d
to
8f25257
Compare
Aha! Thanks for these details. So what happens when @adamscott I remember you were asking what to test with this PR: it looks like this is the testing that's needed. Low priority, mind you. |
I'll test it tomorrow, but it's probably never exporting anything except S3TC and BPTC: if (architecture == "universal" || architecture == "x86_64") {
r_features->push_back("s3tc");
r_features->push_back("bptc");
} else if (architecture == "arm64") {
r_features->push_back("etc2");
r_features->push_back("astc");
} else {
ERR_PRINT("Invalid architecture");
} macOS export is always using |
It is the case:
Removing "s3tc" from platform flags have no effect, since it's set in preset flags. So this PR should be OK. |
If this is the case, should this PR also include a change something like this? if (architecture == "universal" || architecture == "x86_64") {
r_features->push_back("s3tc");
r_features->push_back("bptc");
} else if (architecture == "arm64") {
r_features->push_back("etc2");
r_features->push_back("astc");
} else {
ERR_PRINT("Invalid architecture");
} loosely suggested change: if (architecture == "universal" || architecture == "x86_64" || architecture == "arm64") {
r_features->push_back("s3tc");
r_features->push_back("bptc");
} else {
ERR_PRINT("Invalid architecture");
} |
The
s3tc
feature tag is conditionally added as a preset feature for macOS, depending on the architecture.These conditions appear to be accidentally overridden by platform features, which always include this feature.
This PR's change seems correct based on the commit notes of 28f51ba, which added the architecture-related conditions. When writing the documentation of #98251 I noticed that macOS was the only platform that included a texture format feature tag, so this alerted me to believe that something was out-of-place. All other texture format feature tags in Godot are added as "preset features", not "platform" features.
This PR does not actually resolve any issues that I am aware of, so this is a hypothetical fix/improvement. Testing of exports on an
arm64
macOS device is needed...