summaryrefslogtreecommitdiff
path: root/servers
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2022-08-04 18:27:56 +0200
committerRémi Verschelde <rverschelde@gmail.com>2022-08-04 18:27:56 +0200
commit8a9700c8a76fc0df2d5caf26aeaf6b1b4f6f7202 (patch)
treedde9bddad69ba661b57ce689664a8822c7501793 /servers
parent84acfd69d7bc2e14b342f36f9662bea44deded6e (diff)
Force disable S3TC support on Android/iOS since we don't handle it
Fixes #63909 for now. This could be improved in the future if we want to properly support S3TC on mobile.
Diffstat (limited to 'servers')
-rw-r--r--servers/rendering/renderer_rd/storage_rd/utilities.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/servers/rendering/renderer_rd/storage_rd/utilities.cpp b/servers/rendering/renderer_rd/storage_rd/utilities.cpp
index 5a91046628..ae1f22be3b 100644
--- a/servers/rendering/renderer_rd/storage_rd/utilities.cpp
+++ b/servers/rendering/renderer_rd/storage_rd/utilities.cpp
@@ -290,9 +290,14 @@ bool Utilities::has_os_feature(const String &p_feature) const {
return true;
}
+#if !defined(ANDROID_ENABLED) && !defined(IPHONE_ENABLED)
+ // Some Android devices report support for S3TC but we don't expect that and don't export the textures.
+ // This could be fixed but so few devices support it that it doesn't seem useful (and makes bigger APKs).
+ // For good measure we do the same hack for iOS, just in case.
if (p_feature == "s3tc" && RD::get_singleton()->texture_is_format_supported_for_usage(RD::DATA_FORMAT_BC1_RGB_UNORM_BLOCK, RD::TEXTURE_USAGE_SAMPLING_BIT)) {
return true;
}
+#endif
if (p_feature == "bptc" && RD::get_singleton()->texture_is_format_supported_for_usage(RD::DATA_FORMAT_BC7_UNORM_BLOCK, RD::TEXTURE_USAGE_SAMPLING_BIT)) {
return true;