瀏覽代碼

Merge pull request #85321 from Calinou/basis-universal-disable-unused-features

Disable unused Basis Universal features to reduce binary size
Rémi Verschelde 11 月之前
父節點
當前提交
de07df55f7
共有 1 個文件被更改,包括 20 次插入0 次删除
  1. 20 0
      modules/basis_universal/SCsub

+ 20 - 0
modules/basis_universal/SCsub

@@ -50,6 +50,26 @@ if env.dev_build:
 
 env_thirdparty = env_basisu.Clone()
 env_thirdparty.disable_warnings()
+
+# Disable unneeded features to reduce binary size.
+# <https://github.com/BinomialLLC/basis_universal/wiki/How-to-Use-and-Configure-the-Transcoder>
+env_thirdparty.Append(
+    CPPDEFINES=[
+        # Storage formats.
+        # Godot only implements `.basis` support through basis_universal.
+        # Support for `.ktx` files are implemented with a direct libktx implementation.
+        # Building the encoder requires `BASISD_SUPPORT_KTX2` to be enabled,
+        # so we can only disable Zstandard compression for `.ktx` files
+        # (this is not used in `.basis` files).
+        ("BASISD_SUPPORT_KTX2_ZSTD", 0),
+        # GPU compression formats.
+        ("BASISD_SUPPORT_ATC", 0),  # Proprietary Adreno format not supported by Godot.
+        ("BASISD_SUPPORT_FXT1", 0),  # Legacy format not supported by Godot.
+        ("BASISD_SUPPORT_PVRTC1", 0),  # Legacy format not supported by Godot.
+        ("BASISD_SUPPORT_PVRTC2", 0),  # Legacy format not supported by Godot.
+    ]
+)
+
 if env.editor_build:
     env_thirdparty.Append(CPPDEFINES=["BASISU_NO_IMG_LOADERS"])
     env_thirdparty.add_source_files(thirdparty_obj, encoder_sources)