mirror of
https://github.com/godotengine/godot.git
synced 2025-12-08 06:09:55 +00:00
Merge pull request #88508 from akien-mga/basisu_unbundled_jpgd
basis_universal: Unbundle jpgd to fix symbol conflict, use our newer copy with SSE2 support
This commit is contained in:
commit
b167113b1c
7 changed files with 20 additions and 3582 deletions
|
|
@ -28,7 +28,6 @@ encoder_sources = [
|
|||
"basisu_resample_filters.cpp",
|
||||
"basisu_ssim.cpp",
|
||||
"basisu_uastc_enc.cpp",
|
||||
"jpgd.cpp",
|
||||
"pvpngreader.cpp",
|
||||
]
|
||||
encoder_sources = [thirdparty_dir + "encoder/" + file for file in encoder_sources]
|
||||
|
|
@ -36,9 +35,11 @@ transcoder_sources = [thirdparty_dir + "transcoder/basisu_transcoder.cpp"]
|
|||
|
||||
# Treat Basis headers as system headers to avoid raising warnings. Not supported on MSVC.
|
||||
if not env.msvc:
|
||||
env_basisu.Append(CPPFLAGS=["-isystem", Dir(thirdparty_dir).path])
|
||||
env_basisu.Append(
|
||||
CPPFLAGS=["-isystem", Dir(thirdparty_dir).path, "-isystem", Dir("#thirdparty/jpeg-compressor").path]
|
||||
)
|
||||
else:
|
||||
env_basisu.Prepend(CPPPATH=[thirdparty_dir])
|
||||
env_basisu.Prepend(CPPPATH=[thirdparty_dir, "#thirdparty/jpeg-compressor"])
|
||||
|
||||
if env["builtin_zstd"]:
|
||||
env_basisu.Prepend(CPPPATH=["#thirdparty/zstd"])
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
def can_build(env, platform):
|
||||
env.module_add_dependencies("basis_universal", ["jpg"])
|
||||
return True
|
||||
|
||||
|
||||
|
|
|
|||
13
modules/basis_universal/patches/external-jpgd.patch
Normal file
13
modules/basis_universal/patches/external-jpgd.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/thirdparty/basis_universal/encoder/basisu_enc.cpp b/thirdparty/basis_universal/encoder/basisu_enc.cpp
|
||||
index c431ceaf12..e87dd636a2 100644
|
||||
--- a/thirdparty/basis_universal/encoder/basisu_enc.cpp
|
||||
+++ b/thirdparty/basis_universal/encoder/basisu_enc.cpp
|
||||
@@ -409,7 +409,7 @@ namespace basisu
|
||||
bool load_jpg(const char *pFilename, image& img)
|
||||
{
|
||||
int width = 0, height = 0, actual_comps = 0;
|
||||
- uint8_t *pImage_data = jpgd::decompress_jpeg_image_from_file(pFilename, &width, &height, &actual_comps, 4, jpgd::jpeg_decoder::cFlagLinearChromaFiltering);
|
||||
+ uint8_t *pImage_data = jpgd::decompress_jpeg_image_from_file(pFilename, &width, &height, &actual_comps, 4, jpgd::jpeg_decoder::cFlagBoxChromaFiltering);
|
||||
if (!pImage_data)
|
||||
return false;
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue