godot/thirdparty/README.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

1161 lines
32 KiB
Markdown
Raw Normal View History

# Third party libraries
Please keep categories (`##` level) listed alphabetically and matching their
respective folder names. Use two empty lines to separate categories for
readability.
## amd-fsr
2022-04-01 15:24:56 +08:00
- Upstream: https://github.com/GPUOpen-Effects/FidelityFX-FSR
- Version: 1.0.2 (a21ffb8f6c13233ba336352bdff293894c706575, 2021)
- License: MIT
Files extracted from upstream source:
- `ffx_a.h` and `ffx_fsr1.h` from `ffx-fsr`
- `license.txt`
## amd-fsr2
- Upstream: https://github.com/GPUOpen-Effects/FidelityFX-FSR2
- Version: 2.2.1 (1680d1edd5c034f88ebbbb793d8b88f8842cf804, 2023)
- License: MIT
Files extracted from upstream source:
- `ffx_*.cpp` and `ffx_*.h` from `src/ffx-fsr2-api`
- `shaders` folder from `src/ffx-fsr2-api` with `ffx_*.hlsl` files excluded
- `LICENSE.txt`
Patches:
- `0001-build-fixes.patch` (GH-81197)
- `0002-godot-fsr2-options.patch` (GH-81197)
## angle
- Upstream: https://chromium.googlesource.com/angle/angle/
- Version: git (chromium/5907, 430a4f559cbc2bcd5d026e8b36ee46ddd80e9651, 2023)
- License: BSD-3-Clause
Files extracted from upstream source:
- `include/*`
- `LICENSE`
## astcenc
- Upstream: https://github.com/ARM-software/astc-encoder
- Version: 4.8.0 (0d6c9047c5ad19640e2d60fdb8f11a16675e7938, 2024)
- License: Apache 2.0
Files extracted from upstream source:
- `astcenc_*` and `astcenc.h` files from `Source`
- `LICENSE.txt`
## basis_universal
- Upstream: https://github.com/BinomialLLC/basis_universal
- Version: 1.50.0 (051ad6d8a64bb95a79e8601c317055fd1782ad3e, 2024)
- License: Apache 2.0
Files extracted from upstream source:
- `encoder/` and `transcoder/` folders, with the following files removed from `encoder`:
`jpgd.{cpp,h}`, `3rdparty/{qoi.h,tinydds.h,tinyexr.cpp,tinyexr.h}`
- `LICENSE`
Patches:
- `0001-external-zstd-pr344.patch` (GH-73441)
- `0002-external-jpgd.patch` (GH-88508)
- `0003-external-tinyexr.patch` (GH-97582)
- `0004-remove-tinydds-qoi.patch` (GH-97582)
2022-03-16 15:58:35 +02:00
## brotli
- Upstream: https://github.com/google/brotli
- Version: 1.1.0 (ed738e842d2fbdf2d6459e39267a633c4a9b2f5d, 2023)
2022-03-16 15:58:35 +02:00
- License: MIT
Files extracted from upstream source:
- `common/`, `dec/` and `include/` folders from `c/`,
minus the `dictionary.bin*` files
2022-03-16 15:58:35 +02:00
- `LICENSE`
## certs
- Upstream: Mozilla, via https://github.com/bagder/ca-bundle
- Version: git (4d3fe6683f651d96be1bbef316b201e9b33b274d, 2024),
generated from mozilla-release changeset b8ea2342548b8571e58f9176d9555ccdb5ec199f
- License: MPL 2.0
Files extracted from upstream source:
- `ca-bundle.crt` renamed to `ca-certificates.crt`
## clipper2
- Upstream: https://github.com/AngusJohnson/Clipper2
2024-08-22 18:23:26 +02:00
- Version: 1.4.0 (736ddb0b53d97fd5f65dd3d9bbf8a0993eaf387c, 2024)
- License: BSL 1.0
Files extracted from upstream source:
2024-03-01 00:42:06 +01:00
- `CPP/Clipper2Lib/` folder (in root)
- `LICENSE`
Patches:
- `0001-disable-exceptions.patch` (GH-80796)
- `0002-llvm-disable-int1280-math.patch` (GH-95964)
2024-03-01 00:42:06 +01:00
2018-08-21 22:56:04 -04:00
## cvtt
- Upstream: https://github.com/elasota/ConvectionKernels
2022-11-23 14:59:14 -03:00
- Version: git (350416daa4e98f1c17ffc273b134d0120a2ef230, 2022)
2018-08-21 22:56:04 -04:00
- License: MIT
Files extracted from upstream source:
- All `.cpp` and `.h` files except the folders `MakeTables` and `etc2packer`
- `LICENSE.txt`
2018-08-21 22:56:04 -04:00
Patches:
- `0001-revert-bc6h-reorg.patch` (GH-73715)
2018-08-21 22:56:04 -04:00
## d3d12ma
- Upstream: https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator
- Version: 2.1.0-development (4d16e802e0b9451c9d3c27cd308928c13b73acd6, 2023)
- License: MIT
Files extracted from upstream source:
- `src/D3D12MemAlloc.cpp`, `src/D3D12MemAlloc.natvis`
- `include/D3D12MemAlloc.h`
- `LICENSE.txt`, `NOTICES.txt`
Patches:
- `0001-mingw-support.patch` (GH-83452)
## directx_headers
- Upstream: https://github.com/microsoft/DirectX-Headers
- Version: 1.611.1 (48f23952bc08a6dce0727339c07cedbc4797356c, 2023)
- License: MIT
Files extracted from upstream source:
- `include/directx/*.h`
- `include/dxguids/*.h`
- `LICENSE`
Patches:
- `0001-mingw-pragma.patch` (GH-83452)
- `0002-win7-8-dynamic-load.patch` (GH-88496)
## doctest
- Upstream: https://github.com/onqtam/doctest
2023-05-11 14:22:41 +02:00
- Version: 2.4.11 (ae7a13539fb71f270b87eb2e874fbac80bc8dda2, 2023)
- License: MIT
2022-05-17 16:25:53 +02:00
Files extracted from upstream source:
- `doctest/doctest.h` as `doctest.h`
- `LICENSE.txt`
## embree
2021-04-20 18:38:09 +02:00
- Upstream: https://github.com/embree/embree
2024-02-24 12:40:55 +01:00
- Version: 4.3.1 (daa8de0e714e18ad5e5c9841b67c1950d9c91c51, 2024)
2021-04-20 18:38:09 +02:00
- License: Apache 2.0
Files extracted from upstream:
- All `.cpp` files listed in `modules/raycast/godot_update_embree.py`
2021-04-20 18:38:09 +02:00
- All header files in the directories listed in `modules/raycast/godot_update_embree.py`
2024-02-24 12:40:55 +01:00
- All config files listed in `modules/raycast/godot_update_embree.py`
- `LICENSE.txt`
2021-04-20 18:38:09 +02:00
Patches:
2021-04-20 18:38:09 +02:00
- `0001-disable-exceptions.patch` (GH-48050)
- `0002-godot-config.patch` (GH-88783)
- `0003-emscripten-nthreads.patch` (GH-69799)
- `0004-mingw-no-cpuidex.patch` (GH-92488)
- `0005-mingw-llvm-arm64.patch` (GH-93364)
- `0006-include-order-dllexport.patch` (GH-94256)
The `modules/raycast/godot_update_embree.py` script can be used to pull the
relevant files from the latest Embree release and apply patches automatically.
2021-04-20 18:38:09 +02:00
## enet
- Upstream: https://github.com/lsalzman/enet
- Version: 1.3.18 (2662c0de09e36f2a2030ccc2c528a3e4c9e8138a, 2024)
- License: MIT
Files extracted from upstream source:
- All `.c` files in the main directory (except `unix.c` and `win32.c`)
- The `include/enet/` folder as `enet/` (except `unix.h` and `win32.h`)
- `LICENSE` file
- Added 3 files `enet_godot.cpp`, `enet/enet_godot.h`, and `enet/enet_godot_ext.h`,
providing ENet socket implementation using Godot classes, allowing IPv6 and DTLS.
Patches:
- `0001-godot-socket.patch` (GH-7985)
Important: Building against a system wide ENet is possible, but will limit its
functionality to IPv4 only and no DTLS. We recommend against it.
## etcpak
- Upstream: https://github.com/wolfpld/etcpak
2025-01-09 19:20:35 +01:00
- Version: 2.0 (a43d6925bee49277945cf3e311e4a022ae0c2073, 2024)
- License: BSD-3-Clause
Files extracted from upstream source:
- Only the files relevant for compression (i.e. `Process*.cpp` and their deps):
```
Dither.{cpp,hpp} ForceInline.hpp Math.hpp ProcessCommon.hpp ProcessRGB.{cpp,hpp}
ProcessDxtc.{cpp,hpp} Tables.{cpp,hpp} Vector.hpp
```
2024-02-09 18:46:05 +01:00
- The files `DecodeRGB.{cpp.hpp}` are based on the code from the original repository.
- `AUTHORS.txt` and `LICENSE.txt`
Patches:
- `0001-remove-bc7enc.patch` (GH-101362)
## fonts
- `DroidSans*.woff2`:
* Upstream: https://android.googlesource.com/platform/frameworks/base/+/master/data/fonts/
* Version: ? (pre-2014 commit when DroidSansJapanese.ttf was obsoleted)
* License: Apache 2.0
- `JetBrainsMono_Regular.woff2`:
* Upstream: https://github.com/JetBrains/JetBrainsMono
* Version: 2.304 (cd5227bd1f61dff3bbd6c814ceaf7ffd95e947d9, 2023)
* License: OFL-1.1
- `NotoSans*.woff2`:
* Upstream: https://github.com/notofonts/latin-greek-cyrillic
* Version: 2.012 (9ea0c8d37bff0c0067b03777f40aa04f2bf78f99, 2023)
* License: OFL-1.1
- `NotoSansBengali*.woff2`:
* Upstream: https://github.com/notofonts/bengali
* Version: 2.003 (020a5701f6fc6a363d5eccbae45e37714c0ad686, 2022)
* License: OFL-1.1
- `NotoSansDevanagari*.woff2`:
* Upstream: https://github.com/notofonts/devanagari
* Version: 2.004 (f8f27e49da0ec9e5e38ecf3628671f05b24dd955, 2023)
* License: OFL-1.1
- `NotoSansGeorgian*.woff2`:
* Upstream: https://github.com/notofonts/georgian
* Version: 2.002 (243ec9aa1d4ec58cc42120d30faac1a102fbfeb9, 2022)
* License: OFL-1.1
- `NotoSansHebrew*.woff2`:
* Upstream: https://github.com/notofonts/hebrew
* Version: 2.003 (caa7ab0614fb5b37cc003d9bf3d7d3e765331110, 2022)
* License: OFL-1.1
- `NotoSansMalayalam*.woff2`:
* Upstream: https://github.com/notofonts/malayalam
* Version: 2.104 (0fd65e553a6af3dc1c09ed39dfe8933e01c17b32, 2023)
* License: OFL-1.1
- `NotoSansOriya*.woff2`:
* Upstream: https://github.com/notofonts/oriya
* Version: 2.005 (9377f242b247df12d0bf4cecd93b9c4b18036fbd, 2023)
* License: OFL-1.1
- `NotoSansSinhala*.woff2`:
* Upstream: https://github.com/notofonts/sinhala
* Version: 2.006 (66e5a2ed9797e575222d6e7c5b3710c7bf68be79, 2022)
* License: OFL-1.1
- `NotoSansTamil*.woff2`:
* Upstream: https://github.com/notofonts/tamil
* Version: 2.004 (f34a08d1ae3fa810581f63410296d971bdcd62dc, 2023)
* License: OFL-1.1
- `NotoSansTelugu*.woff2`:
* Upstream: https://github.com/notofonts/telugu
* Version: 2.004 (68a6a8170cba5b2e9b45029ef36994961e8f614c, 2023)
* License: OFL-1.1
- `NotoSansThai*.woff2`:
* Upstream: https://github.com/notofonts/thai
* Version: 2.001 (09af528011390f35abf15cf86068dae208f512c4, 2022)
* License: OFL-1.1
- `OpenSans_SemiBold.woff2`:
* Upstream: https://fonts.google.com/specimen/Open+Sans
* Version: 1.10 (downloaded from Google Fonts in February 2021)
* License: Apache 2.0
- `Vazirmatn*.woff2`:
* Upstream: https://github.com/rastikerdar/vazirmatn
* Version: 33.003 (83629f877e8f084cc07b47030b5d3a0ff06c76ec, 2022)
* License: OFL-1.1
All fonts are converted from the unhinted `.ttf` sources using the
`https://github.com/google/woff2` tool.
Use UI font variant if available, because it has tight vertical metrics and good
for UI.
## freetype
- Upstream: https://www.freetype.org
- Version: 2.13.2 (920c5502cc3ddda88f6c7d85ee834ac611bb11cc, 2023)
- License: FreeType License (BSD-like)
Files extracted from upstream source:
2022-05-17 22:31:05 +02:00
- `src/` folder, minus the `dlg` and `tools` subfolders
* These files can be removed: `.dat`, `.diff`, `.mk`, `.rc`, `README*`
* In `src/gzip/`, keep only `ftgzip.c`
2022-05-17 22:31:05 +02:00
- `include/` folder, minus the `dlg` subfolder
- `LICENSE.TXT` and `docs/FTL.TXT`
## glad
- Upstream: https://github.com/Dav1dde/glad
- Version: 2.0.4 (d08b1aa01f8fe57498f04d47b5fa8c48725be877, 2023)
- License: CC0 1.0 and Apache 2.0
Files extracted from upstream source:
- `LICENSE`
Files generated from [upstream web instance](https://gen.glad.sh/):
- `EGL/eglplatform.h`
- `KHR/khrplatform.h`
- `egl.c`
- `glad/egl.h`
- `gl.c`
- `glad/gl.h`
- `glx.c`
- `glad/glx.h`
See the permalinks in `glad/gl.h` and `glad/glx.h` to regenerate the files with
a new version of the web instance.
Patches:
- `0001-enable-both-gl-and-gles.patch` (GH-72831)
## glslang
- Upstream: https://github.com/KhronosGroup/glslang
- Version: vulkan-sdk-1.3.283.0 (e8dd0b6903b34f1879520b444634c75ea2deedf5, 2024)
- License: glslang
Version should be kept in sync with the one of the used Vulkan SDK (see `vulkan`
section).
Files extracted from upstream source:
- `glslang/` folder (except the `glslang/HLSL` and `glslang/ExtensionHeaders`
subfolders), `SPIRV/` folder
* Remove C interface code: `CInterface/` folders, files matching `"*_c[_\.]*"`
- Run `cmake . && make` and copy generated `include/glslang/build_info.h`
to `glslang/build_info.h`
- `LICENSE.txt`
- Unnecessary files like `CMakeLists.txt` or `updateGrammar` removed
Patches:
- `0001-apple-disable-absolute-paths.patch` (GH-92010)
- `0002-gcc15-include-fix.patch` (GH-102022)
## graphite
- Upstream: https://github.com/silnrsi/graphite
- Version: 1.3.14 (27572742003b93dc53dc02c01c237b72c6c25f54, 2022)
- License: MIT
Files extracted from upstream source:
- The `include` folder
- The `src` folder (minus `CMakeLists.txt` and `files.mk`)
- `COPYING`
## harfbuzz
- Upstream: https://github.com/harfbuzz/harfbuzz
2025-01-09 21:04:11 +01:00
- Version: 10.1.0 (9ef44a2d67ac870c1f7f671f6dc98d08a2579865, 2024)
- License: MIT
Files extracted from upstream source:
2021-09-19 23:31:36 +03:00
- `AUTHORS`, `COPYING`, `THANKS`
- From the `src` folder, recursively:
2024-04-05 10:35:10 +02:00
- All the `.cc`, `.h`, `.hh` files
2025-01-09 21:04:11 +01:00
- Except `main.cc`, `harfbuzz*.cc`, `failing-alloc.c`, `test*.cc`, `hb-wasm*.*`, `wasm/*`
## icu4c
- Upstream: https://github.com/unicode-org/icu
2024-10-24 22:09:23 +03:00
- Version: 76.1 (8eca245c7484ac6cc179e3e5f7c1ea7680810f39, 2024)
- License: Unicode
Files extracted from upstream source:
- The `common` folder
- `scriptset.*`, `ucln_in.*`, `uspoof.cpp"` and `uspoof_impl.cpp` from the `i18n` folder
- `uspoof.h` from the `i18n/unicode` folder
- `LICENSE`
Files generated from upstream source:
- The `icudt_godot.dat` built with the provided `godot_data.json` config file (see
https://github.com/unicode-org/icu/blob/master/docs/userguide/icu_data/buildtool.md
2021-10-28 09:15:28 +03:00
for instructions).
1. Download and extract both `icu4c-{version}-src.tgz` and `icu4c-{version}-data.zip`
(replace `data` subfolder from the main source archive)
2. Build ICU with default options: `./runConfigureICU {PLATFORM} && make`
3. Reconfigure ICU with custom data config:
`ICU_DATA_FILTER_FILE={GODOT_SOURCE}/thirdparty/icu4c/godot_data.json ./runConfigureICU {PLATFORM} --with-data-packaging=common`
4. Delete `data/out` folder and rebuild data: `cd data && rm -rf ./out && make`
5. Copy `source/data/out/icudt{ICU_VERSION}l.dat` to the `{GODOT_SOURCE}/thirdparty/icu4c/icudt_godot.dat`
## jolt_physics
- Upstream: https://github.com/jrouwe/JoltPhysics
- Version: 5.2.1 (f094082aa2bbfcbebc725dbe8b8f65c7d5152886, 2024)
- License: MIT
Files extracted from upstream source:
- All files in `Jolt/`, except `Jolt/Jolt.cmake` and any files dependent on `ENABLE_OBJECT_STREAM`, as seen in `Jolt/Jolt.cmake`
- `LICENSE`
## jpeg-compressor
- Upstream: https://github.com/richgel999/jpeg-compressor
- Version: 2.00 (aeb7d3b463aa8228b87a28013c15ee50a7e6fcf3, 2020)
- License: Public domain or MIT
Files extracted from upstream source:
- `jpgd*.{c,h}`
Implement Running Godot as Movie Writer * Allows running the game in "movie writer" mode. * It ensures entirely stable framerate, so your run can be saved stable and with proper sound (which is impossible if your CPU/GPU can't sustain doing this in real-time). * If disabling vsync, it can save movies faster than the game is run, but if you want to control the interaction it can get difficult. * Implements a simple, default MJPEG writer. This new features has two main use cases, which have high demand: * Saving game videos in high quality and ensuring the frame rate is *completely* stable, always. * Using Godot as a tool to make movies and animations (which is ideal if you want interaction, or creating them procedurally. No other software is as good for this). **Note**: This feature **IS NOT** for capturing real-time footage. Use something like OBS, SimpleScreenRecorder or FRAPS to achieve that, as they do a much better job at intercepting the compositor than Godot can probably do using Vulkan or OpenGL natively. If your game runs near real-time when capturing, you can still use this feature but it will play no sound (sound will be saved directly). Usage: $ godot --write-movie movie.avi [scene_file.tscn] Missing: * Options for configuring video writing via GLOBAL_DEF * UI Menu for launching with this mode from the editor. * Add to list of command line options. * Add a feature tag to override configurations when movie writing (fantastic for saving videos with highest quality settings).
2022-06-17 00:55:19 +02:00
- `jpge*.{c,h}`
Patches:
- `0001-clang-fortify-fix.patch` (GH-101927)
## libbacktrace
- Upstream: https://github.com/ianlancetaylor/libbacktrace
- Version: git (4d2dd0b172f2c9192f83ba93425f868f2a13c553, 2022)
- License: BSD-3-Clause
Files extracted from upstream source:
- `*.{c,h}` files for Windows platform, i.e. remove the following:
* `allocfail.c`, `instrumented_alloc.c`, `*test*.{c,h}`
* `elf.c`, `macho.c`, `mmap.c`, `mmapio.c`, `nounwind.c`, `unknown.c`, `xcoff.c`
- `LICENSE`
Patches:
- `0001-big-files-support.patch` (GH-100281)
## libktx
- Upstream: https://github.com/KhronosGroup/KTX-Software
2024-04-05 10:44:32 +02:00
- Version: 4.3.2 (91ace88675ac59a97e55d0378a6602a9ae6b98bd, 2024)
- License: Apache-2.0
Files extracted from upstream source:
- `LICENSE.md`
2024-04-05 10:44:32 +02:00
- `include/`
2024-02-07 19:55:27 +01:00
- `lib/dfdutils/LICENSE.adoc` as `LICENSE.dfdutils.adoc` (in root)
- `lib/dfdutils/LICENSES/Apache-2.0.txt` as `Apache-2.0.txt` (in root)
2024-04-05 10:44:32 +02:00
- `lib/dfdutils/{KHR/,dfd.h,colourspaces.c,createdfd.c,interpretdfd.c,printdfd.c,queries.c,dfd2vk.inl,vk2dfd.*}`
- `lib/{basis_sgd.h,formatsize.h,gl_format.h,ktxint.h,uthash.h,vk_format.h,vkformat_enum.h,checkheader.c,swap.c,hashlist.c,vkformat_check.c,vkformat_typesize.c,basis_transcode.cpp,miniz_wrapper.cpp,filestream.*,memstream.*,texture*}`
- `other_include/KHR/`
2024-02-07 19:55:27 +01:00
- `utils/unused.h`
Patches:
- `0001-external-basisu.patch` (GH-76572)
- `0002-disable-astc-block-ext.patch` (GH-76572)
## libogg
- Upstream: https://www.xiph.org/ogg
- Version: 1.3.5 (e1774cd77f471443541596e09078e78fdc342e4f, 2021)
- License: BSD-3-Clause
Files extracted from upstream source:
2019-10-31 17:30:36 -05:00
- `src/*.{c,h}`
- `include/ogg/*.h` in `ogg/` (run `configure` to generate `config_types.h`)
- `COPYING`
## libpng
- Upstream: http://libpng.org/pub/png/libpng.html
2025-01-09 14:59:15 +01:00
- Version: 1.6.45 (51f5bd68b9b806d2c92b4318164d28b49357da31, 2024)
- License: libpng/zlib
Files extracted from upstream source:
2024-03-09 15:10:17 +01:00
- All `.c` and `.h` files of the main directory, apart from `example.c` and
`pngtest.c`
2025-01-09 14:59:15 +01:00
- `arm/` (minus `filter_neon.S`), `intel/`, `loongarch/`, and `powerpc/` (minus `.editorconfig`) folders
- `scripts/pnglibconf.h.prebuilt` as `pnglibconf.h`
- `LICENSE`
## libtheora
- Upstream: https://www.theora.org
2022-09-27 21:18:11 -03:00
- Version: git (7180717276af1ebc7da15c83162d6c5d6203aabf, 2020)
- License: BSD-3-Clause
Files extracted from upstream source:
- All `.c` and `.h` files in `lib/`, except `arm/` and `c64x/` folders
- All `.h` files in `include/theora/` as `theora/`
- `COPYING` and `LICENSE`
## libvorbis
- Upstream: https://www.xiph.org/vorbis
- Version: 1.3.7 (0657aee69dec8508a0011f47f3b69d7538e9d262, 2020)
- License: BSD-3-Clause
Files extracted from upstream source:
- `lib/*` except from: `lookups.pl`, `Makefile.*`
- `include/vorbis/*.h` as `vorbis/`
- `COPYING`
## libwebp
- Upstream: https://chromium.googlesource.com/webm/libwebp/
- Version: 1.4.0 (845d5476a866141ba35ac133f856fa62f0b7445f, 2024)
- License: BSD-3-Clause
Files extracted from upstream source:
- `src/` and `sharpyuv/` except from `.am`, `.rc` and `.in` files
- `AUTHORS`, `COPYING`, `PATENTS`
Patches:
- `0001-msvc-node-debug-rename.patch`
- `0002-msvc-arm64-fpstrict.patch`
- `0003-clang-cl-sse2-sse41.patch`
## linuxbsd_headers
See `linuxbsd_headers/README.md`.
## manifold
- Upstream: https://github.com/elalish/manifold
2025-01-09 16:13:03 +01:00
- Version: 3.0.1 (98b8142519d35c13e0e25cfa9fd6e3a271403be6, 2024)
- License: Apache 2.0
File extracted from upstream source:
2025-01-09 16:13:03 +01:00
- `src/` and `include/`, except from `CMakeLists.txt`, `cross_section.cpp` and `meshIO.{cpp,h}`
- `AUTHORS`, `LICENSE`
## mbedtls
- Upstream: https://github.com/Mbed-TLS/mbedtls
2024-12-04 02:14:05 +01:00
- Version: 3.6.2 (107ea89daaefb9867ea9121002fbbdf926780e98, 2024)
- License: Apache 2.0
2020-07-02 15:13:55 +02:00
File extracted from upstream release tarball:
- All `.h` from `include/mbedtls/` to `thirdparty/mbedtls/include/mbedtls/`
and all `.h` from `include/psa/` to `thirdparty/mbedtls/include/psa/`
- All `.c` and `.h` from `library/` to `thirdparty/mbedtls/library/`
- From `library/` to `thirdparty/mbedtls/library/`:
- All `.c` and `.h` files
- Except `bignum_mod.c`, `block_cipher.c`, `ecp_curves_new.c`, `lmots.c`,
`lms.c`
- The `LICENSE` file (edited to keep only the Apache 2.0 variant)
- Added 2 files `godot_core_mbedtls_platform.c` and `godot_core_mbedtls_config.h`
providing configuration for light bundling with core
- Added the file `godot_module_mbedtls_config.h` to customize the build
configuration when bundling the full library
Patches:
- `0001-msvc-2019-psa-redeclaration.patch` (GH-90535)
- `0002-pr-9981-defragment-incoming-tls-handshake-messages.patch` (GH-103247)
## meshoptimizer
- Upstream: https://github.com/zeux/meshoptimizer
- Version: 0.22 (4affad044571506a5724c9a6f15424f43e86f731, 2024)
- License: MIT
Files extracted from upstream repository:
- All files in `src/`
- `LICENSE.md`
Patches:
- `0001-simplifier-distance-only-error.patch` (GH-98529)
2023-11-17 20:44:38 +01:00
## mingw-std-threads
- Upstream: https://github.com/meganz/mingw-std-threads
- Version: git (c931bac289dd431f1dd30fc4a5d1a7be36668073, 2023)
- License: BSD-2-clause
Files extracted from upstream repository:
- `LICENSE`
- `mingw.condition_variable.h`
- `mingw.invoke.h`
- `mingw.mutex.h`
- `mingw.shared_mutex.h`
- `mingw.thread.h`
Patches:
- `0001-disable-exceptions.patch` (GH-85039)
- `0002-clang-std-replacements-leak.patch` (GH-85208)
2023-11-17 20:44:38 +01:00
## minimp3
- Upstream: https://github.com/lieff/minimp3
- Version: git (afb604c06bc8beb145fecd42c0ceb5bda8795144, 2021)
- License: CC0 1.0
Files extracted from upstream repository:
- `minimp3.h`
- `minimp3_ex.h`
- `LICENSE`
Patches:
- `0001-msvc-arm.patch` (GH-64921)
- `0002-msvc-warnings.patch` (GH-66545)
## miniupnpc
2021-03-14 12:07:28 +01:00
- Upstream: https://github.com/miniupnp/miniupnp
- Version: 2.2.8 (b55145ec095652289a59c33603f3abafee898273, 2024)
- License: BSD-3-Clause
Files extracted from upstream source:
- `miniupnpc/src/` as `src/`
- `miniupnpc/include/` as `include/miniupnpc/`
2021-03-14 12:07:28 +01:00
- Remove the following test or sample files:
2024-02-13 15:38:30 +01:00
`listdevices.c,minihttptestserver.c,miniupnpcmodule.c,upnpc.c,upnperrors.*,test*`
2021-03-14 12:07:28 +01:00
- `LICENSE`
- `src/miniupnpcstrings.h` was created manually for Godot (it is usually generated
by CMake). Bump the version number for miniupnpc in that file when upgrading.
## minizip
- Upstream: https://www.zlib.net
- Version: 1.3.1 (zlib contrib, 2024)
- License: zlib
Files extracted from the upstream source:
- From `contrib/minizip`:
`{crypt.h,ioapi.{c,h},unzip.{c,h},zip.{c,h}}`
`MiniZip64_info.txt`
Patches:
- `0001-godot-seek.patch` (GH-10428)
## misc
Collection of single-file libraries used in Godot components.
- `bcdec.h`
* Upstream: https://github.com/iOrange/bcdec
2024-09-29 10:25:48 +02:00
* Version: git (3b29f8f44466c7d59852670f82f53905cf627d48, 2024)
* License: MIT
- `cubemap_coeffs.h`
* Upstream: https://research.activision.com/publications/archives/fast-filtering-of-reflection-probes
File coeffs_const_8.txt (retrieved April 2020)
* License: MIT
- `fastlz.{c,h}`
* Upstream: https://github.com/ariya/FastLZ
* Version: 0.5.0 (4f20f54d46f5a6dd4fae4def134933369b7602d2, 2020)
* License: MIT
- `FastNoiseLite.h`
* Upstream: https://github.com/Auburn/FastNoiseLite
* Version: 1.1.0 (f7af54b56518aa659e1cf9fb103c0b6e36a833d9, 2023)
* License: MIT
* Patches:
- `FastNoiseLite-0001-namespace-warnings.patch` (GH-88526)
- `ifaddrs-android.{cc,h}`
* Upstream: https://chromium.googlesource.com/external/webrtc/stable/talk/+/master/base/ifaddrs-android.h
* Version: git (5976650443d68ccfadf1dea24999ee459dd2819d, 2013)
* License: BSD-3-Clause
* Patches:
- `ifaddrs-android-0001-complete-struct.patch` (GH-34101)
- `mikktspace.{c,h}`
* Upstream: https://archive.blender.org/wiki/index.php/Dev:Shading/Tangent_Space_Normal_Maps/
* Version: 1.0 (2011)
* License: zlib
- `nvapi_minimal.h`
* Upstream: http://download.nvidia.com/XFree86/nvapi-open-source-sdk
* Version: R525
* License: MIT
* Modifications: Created from upstream `nvapi.h` by removing unnecessary code.
- `ok_color.h`
* Upstream: https://github.com/bottosson/bottosson.github.io/blob/master/misc/ok_color.h
* Version: git (d69831edb90ffdcd08b7e64da3c5405acd48ad2c, 2022)
* License: MIT
* Modifications: License included in header.
- `ok_color_shader.h`
* https://www.shadertoy.com/view/7sK3D1
* Version: 2021-09-13
* License: MIT
- `pcg.{cpp,h}`
* Upstream: http://www.pcg-random.org
2017-11-28 16:18:22 +01:00
* Version: minimal C implementation, http://www.pcg-random.org/download.html
* License: Apache 2.0
- `polypartition.{cpp,h}`
* Upstream: https://github.com/ivanfratric/polypartition (`src/polypartition.{cpp,h}`)
* Version: git (7bdffb428b2b19ad1c43aa44c714dcc104177e84, 2021)
* License: MIT
* Patches:
- `polypartition-0001-godot-types.patch` (2185c018f)
- `polypartition-0002-shadow-warning.patch` (GH-66808)
- `qoa.{c,h}`
* Upstream: https://github.com/phoboslab/qoa
* Version: git (a2d927f8ce78a85e903676a33e0f956e53b89f7d, 2024)
* License: MIT
* Modifications: Added implementation through `qoa.c`.
- `r128.{c,h}`
* Upstream: https://github.com/fahickman/r128
* Version: git (6fc177671c47640d5bb69af10cf4ee91050015a1, 2023)
* License: Public Domain or Unlicense
Split thirdparty smaz.c out of compressed_translation.cpp Code comes from https://github.com/antirez/smaz/blob/150e125cbae2e8fd20dd332432776ce13395d4d4/smaz.c With a small modification to match Godot expectations: ``` diff --git a/thirdparty/core/smaz.c b/thirdparty/core/smaz.c index 9b1ebc2..555dfea 100644 --- a/thirdparty/core/smaz.c +++ b/thirdparty/core/smaz.c @@ -14,7 +14,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND #include <string.h> /* Our compression codebook, used for compression */ -static char *Smaz_cb[241] = { +static const char *Smaz_cb[241] = { "\002s,\266", "\003had\232\002leW", "\003on \216", "", "\001yS", "\002ma\255\002li\227", "\003or \260", "", "\002ll\230\003s t\277", "\004fromg\002mel", "", "\003its\332", "\001z\333", "\003ingF", "\001>\336", @@ -89,7 +89,7 @@ static char *Smaz_rcb[254] = { "e, ", " it", "whi", " ma", "ge", "x", "e c", "men", ".com" }; -int smaz_compress(char *in, int inlen, char *out, int outlen) { +int smaz_compress(const char *in, int inlen, char *out, int outlen) { unsigned int h1,h2,h3=0; int verblen = 0, _outlen = outlen; char verb[256], *_out = out; @@ -167,7 +167,7 @@ out: return out-_out; } -int smaz_decompress(char *in, int inlen, char *out, int outlen) { +int smaz_decompress(const char *in, int inlen, char *out, int outlen) { unsigned char *c = (unsigned char*) in; char *_out = out; int _outlen = outlen; @@ -192,7 +192,7 @@ int smaz_decompress(char *in, int inlen, char *out, int outlen) { inlen -= 2+len; } else { /* Codebook entry */ - char *s = Smaz_rcb[*c]; + const char *s = Smaz_rcb[*c]; int len = strlen(s); if (outlen < len) return _outlen+1; diff --git a/thirdparty/core/smaz.h b/thirdparty/core/smaz.h index a547d89..a9d8a33 100644 --- a/thirdparty/core/smaz.h +++ b/thirdparty/core/smaz.h @@ -14,7 +14,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND #ifndef _SMAZ_H #define _SMAZ_H -int smaz_compress(char *in, int inlen, char *out, int outlen); -int smaz_decompress(char *in, int inlen, char *out, int outlen); +int smaz_compress(const char *in, int inlen, char *out, int outlen); +int smaz_decompress(const char *in, int inlen, char *out, int outlen); #endif ```
2017-04-28 19:00:11 +02:00
- `smaz.{c,h}`
* Upstream: https://github.com/antirez/smaz
* Version: git (2f625846a775501fb69456567409a8b12f10ea25, 2012)
* License: BSD-3-Clause
* Modifications: License included in header.
* Patches:
- `smaz-0001-write-string-warning.patch` (GH-8572)
- `smolv.{cpp,h}`
* Upstream: https://github.com/aras-p/smol-v
* Version: git (9dd54c379ac29fa148cb1b829bb939ba7381d8f4, 2024)
* License: Public Domain or MIT
- `stb_rect_pack.h`
* Upstream: https://github.com/nothings/stb
* Version: 1.01 (af1a5bc352164740c1cc1354942b1c6b72eacb8a, 2021)
* License: Public Domain or Unlicense or MIT
- `yuv2rgb.h`
* Upstream: http://wss.co.uk/pinknoise/yuv2rgb/ (to check)
* Version: ?
* License: BSD
2017-12-15 09:04:51 +02:00
## msdfgen
- Upstream: https://github.com/Chlumsky/msdfgen
2025-01-09 21:16:08 +01:00
- Version: 1.12 (85e8b3d47b3d1a42e4a5ebda0a24fb1cc2e669e0, 2024)
- License: MIT
Files extracted from the upstream source:
- `msdfgen.h`
- Files in `core/` folder
2023-06-07 15:36:35 +02:00
- `LICENSE.txt`
## openxr
- Upstream: https://github.com/KhronosGroup/OpenXR-SDK
2024-09-27 14:34:43 +10:00
- Version: 1.1.41 (7d1c0961351bac61fd7bb72d402649d5ac3f2935, 2024)
- License: Apache 2.0
Files extracted from upstream source:
- `include/`
- `src/common/`
- `src/loader/`
- `src/*.{c,h}`
- `src/external/jsoncpp/include/`
- `src/external/jsoncpp/src/lib_json/`
2023-09-30 13:01:45 +02:00
- `src/external/jsoncpp/{AUTHORS,LICENSE}`
- `LICENSE` and `COPYING.adoc`
Exclude:
- `src/external/android-jni-wrappers` and `src/external/jnipp` (not used yet)
- Obsolete `src/xr_generated_dispatch_table.{c,h}`
- All CMake stuff: `cmake/`, `CMakeLists.txt` and `*.cmake`
- All Gradle stuff: `*gradle*`, `AndroidManifest.xml`
- All following files (and their `.license` files):
`*.{def,expsym,in,json,map,pom,rc,txt}`
2023-07-11 09:13:16 +02:00
- All dotfiles
Patches:
- `0001-glad-egl.patch` (GH-98824)
## pcre2
- Upstream: http://www.pcre.org
2024-03-11 03:15:07 +01:00
- Version: 10.43 (3864abdb713f78831dd12d898ab31bbb0fa630b6, 2024)
- License: BSD-3-Clause
Files extracted from upstream source:
- Files listed in the file `NON-AUTOTOOLS-BUILD` steps 1-4
- All `.h` files in `src/` apart from `pcre2posix.h`
- `src/pcre2_jit_match.c`
- `src/pcre2_jit_misc.c`
2024-03-11 03:15:07 +01:00
- `src/pcre2_ucptables.c`
- `src/sljit/`
- `AUTHORS` and `LICENCE`
2017-09-13 19:24:43 +02:00
## recastnavigation
2017-02-28 12:10:29 +00:00
- Upstream: https://github.com/recastnavigation/recastnavigation
- Version: 1.6.0 (6dc1667f580357e8a2154c28b7867bea7e8ad3a7, 2023)
2017-09-13 19:24:43 +02:00
- License: zlib
Files extracted from upstream source:
- `Recast/` folder without `CMakeLists.txt`
- `License.txt`
## rvo2
For 2D in `rvo2_2d` folder
- Upstream: https://github.com/snape/RVO2
- Version: git (f7c5380235f6c9ac8d19cbf71fc94e2d4758b0a3, 2021)
- License: Apache 2.0
For 3D in `rvo2_3d` folder
- Upstream: https://github.com/snape/RVO2-3D
- Version: git (bfc048670a4e85066e86a1f923d8ea92e3add3b2, 2021)
- License: Apache 2.0
Files extracted from upstream source:
- All `.cpp` and `.h` files in the `src/` folder except for `Export.h` and `RVO.h`
- `LICENSE`
Important: Nearly all files have Godot-made changes and renames
to make the 2D and 3D rvo libraries compatible with each other
and solve conflicts and also enrich the feature set originally
proposed by these libraries and better integrate them with Godot.
## spirv-cross
- Upstream: https://github.com/KhronosGroup/SPIRV-Cross
- Version: git (6173e24b31f09a0c3217103a130e74c4ddec14a6, 2024)
- License: Apache 2.0
Files extracted from upstream source:
- All `.cpp`, `.hpp` and `.h` files, minus `main.cpp`, `spirv_cross_c.*`, `spirv_hlsl.*`, `spirv_cpp.*`
- `include/` folder
- `LICENSE` and `LICENSES/` folder, minus `CC-BY-4.0.txt`
Versions of this SDK do not have to match the `vulkan` section, as this SDK is required
to generate Metal source from Vulkan SPIR-V.
## spirv-reflect
- Upstream: https://github.com/KhronosGroup/SPIRV-Reflect
- Version: vulkan-sdk-1.3.283.0 (ee5b57fba6a986381f998567761bbc064428e645, 2024)
- License: Apache 2.0
Version should be kept in sync with the one of the used Vulkan SDK (see `vulkan`
section).
Files extracted from upstream source:
- `spirv_reflect.h`, `spirv_reflect.c`
- `include/` folder
- `LICENSE`
Patches:
- `0001-specialization-constants.patch` (GH-50325)
- `0002-zero-size-for-sc-sized-arrays.patch` (GH-94985)
## thorvg
- Upstream: https://github.com/thorvg/thorvg
2025-02-14 12:57:55 +01:00
- Version: 0.15.10 (bca94d244c67f573c6eddc27d783d9a6b1ef2f1b, 2025)
- License: MIT
Files extracted from upstream source:
- See `thorvg/update-thorvg.sh` for extraction instructions.
Set the version number and run the script.
Patches:
- `0001-revert-tvglines-bezier-precision.patch` (GH-96658)
## tinyexr
- Upstream: https://github.com/syoyo/tinyexr
- Version: 1.0.9 (5fcb4dcb6e3abf96214b67e5c54db1ceec6a455c, 2024)
- License: BSD-3-Clause
Files extracted from upstream source:
- `tinyexr.{cc,h}`
Patches:
- `0001-external-zlib.patch` (GH-55115)
2024-12-07 13:11:37 +01:00
## ufbx
- Upstream: https://github.com/ufbx/ufbx
2024-12-04 02:19:04 +01:00
- Version: 0.15.0 (24eea6f40929fe0f679b7950def378edb003afdb, 2024)
- License: MIT
Files extracted from upstream source:
- `ufbx.{c,h}`
- `LICENSE`
## vhacd
- Upstream: https://github.com/kmammou/v-hacd
- Version: git (1a49edf29c69039df15286181f2f27e17ceb9aef, 2020)
- License: BSD-3-Clause
Files extracted from upstream source:
- From `src/VHACD_Lib/`: `inc`, `public` and `src`
- `LICENSE`
Patches:
- `0001-bullet-namespace.patch` (GH-27929)
- `0002-fpermissive-fix.patch` (GH-27929)
- `0003-fix-musl-build.patch` (GH-34250)
- `0004-fix-msvc-arm-build.patch` (GH-34331)
- `0005-fix-scale-calculation.patch` (GH-38506)
- `0006-gcc13-include-fix.patch` (GH-77949)
## volk
- Upstream: https://github.com/zeux/volk
- Version: vulkan-sdk-1.3.283.0 (3a8068a57417940cf2bf9d837a7bb60d015ca2f1, 2024)
- License: MIT
Version should be kept in sync with the one of the used Vulkan SDK (see `vulkan`
section).
Files extracted from upstream source:
- `volk.h`, `volk.c`
- `LICENSE.md`
## vulkan
- Upstream: https://github.com/KhronosGroup/Vulkan-Headers
- Version: vulkan-sdk-1.3.283.0 (eaa319dade959cb61ed2229c8ea42e307cc8f8b3, 2024)
- License: Apache 2.0
Unless there is a specific reason to package a more recent version, please stick
to tagged SDK releases. All Vulkan libraries and headers should be kept in sync so:
- Update Vulkan SDK components to the matching tag (see "vulkan")
- Update volk (see "volk")
- Update glslang (see "glslang")
- Update spirv-reflect (see "spirv-reflect")
Files extracted from upstream source:
- `include/`
- `LICENSE.md`
`vk_enum_string_helper.h` is taken from the matching `Vulkan-Utility-Libraries`
SDK release: https://github.com/KhronosGroup/Vulkan-Utility-Libraries/blob/main/include/vulkan/vk_enum_string_helper.h
`vk_mem_alloc.h` is taken from https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
Version: 3.1.0 (009ecd192c1289c7529bff248a16cfe896254816, 2024)
2021-08-13 00:02:20 +02:00
`vk_mem_alloc.cpp` is a Godot file and should be preserved on updates.
Patches:
- `0001-VKEnumStringHelper-godot-vulkan.patch` (GH-97510)
- `0002-VMA-godot-vulkan.patch` (GH-97510)
- `0003-VMA-add-vmaCalculateLazilyAllocatedBytes.patch` (GH-99257)
## wayland
- Upstream: https://gitlab.freedesktop.org/wayland/wayland
2024-02-05 16:42:24 +01:00
- Version: 1.22.0 (b2649cb3ee6bd70828a17e50beb16591e6066288, 2023)
- License: MIT
Files extracted from upstream source:
- `protocol/wayland.xml`
- `COPYING`
# wayland-protocols
- Upstream: https://gitlab.freedesktop.org/wayland/wayland-protocols
2024-02-05 17:18:58 +01:00
- Version: 1.33 (54346071a5f211f2c482889f2c8ee3b5ecda63ab, 2024)
- License: MIT
Files extracted from upstream source:
- `stable/viewporter/README`
- `stable/viewporter/viewporter.xml`
- `stable/xdg-shell/README`
- `stable/xdg-shell/xdg-shell.xml`
- `staging/fractional-scale/README`
- `staging/fractional-scale/fractional-scale-v1.xml`
- `staging/xdg-activation/README`
- `staging/xdg-activation/xdg-activation-v1.xml`
2024-11-17 22:40:39 +02:00
- `staging/xdg-system-bell/xdg-system-bell-v1.xml`
2024-02-05 17:18:58 +01:00
- `unstable/idle-inhibit/README`
- `unstable/idle-inhibit/idle-inhibit-unstable-v1.xml`
- `unstable/pointer-constraints/README`
- `unstable/pointer-constraints/pointer-constraints-unstable-v1.xml`
- `unstable/pointer-gestures/README`
- `unstable/pointer-gestures/pointer-gestures-unstable-v1.xml`
- `unstable/primary-selection/README`
- `unstable/primary-selection/primary-selection-unstable-v1.xml`
- `unstable/relative-pointer/README`
- `unstable/relative-pointer/relative-pointer-unstable-v1.xml`
- `unstable/tablet/README`
- `unstable/tablet/tablet-unstable-v2.xml`
2024-06-11 12:24:54 +03:00
- `unstable/text-input/README`
- `unstable/text-input/text-input-unstable-v3.xml`
- `unstable/xdg-decoration/README`
- `unstable/xdg-decoration/xdg-decoration-unstable-v1.xml`
- `unstable/xdg-foreign/README`
- `unstable/xdg-foreign/xdg-foreign-unstable-v1.xml`
- `COPYING`
2019-07-20 20:47:07 +02:00
## wslay
- Upstream: https://github.com/tatsuhiro-t/wslay
- Version: 1.1.1+git (0e7d106ff89ad6638090fd811a9b2e4c5dda8d40, 2022)
2019-07-20 20:47:07 +02:00
- License: MIT
File extracted from upstream release tarball:
- Run `cmake .` to generate `config.h` and `wslayver.h`
Contents might need tweaking for Godot, review diff
- All `.c` and `.h` files from `lib/`
- All `.h` in `lib/includes/wslay/` as `wslay/`
- `COPYING`
2019-07-20 20:47:07 +02:00
Patches:
- `0001-msvc-build-fix.patch` (GH-30263)
2019-07-20 20:47:07 +02:00
## xatlas
- Upstream: https://github.com/jpcy/xatlas
- Version: git (f700c7790aaa030e794b52ba7791a05c085faf0c, 2022)
- License: MIT
Files extracted from upstream source:
- `source/xatlas/xatlas.{cpp,h}`
2019-12-22 11:23:44 +01:00
- `LICENSE`
## zlib
- Upstream: https://www.zlib.net
- Version: 1.3.1 (2024)
- License: zlib
Files extracted from upstream source:
- All `.c` and `.h` files, except `gz*.c` and `infback.c`
- `LICENSE`
## zstd
- Upstream: https://github.com/facebook/zstd
- Version: 1.5.6 (794ea1b0afca0f020f4e57b6732332231fb23c70, 2024)
- License: BSD-3-Clause
Files extracted from upstream source:
- `lib/{common/,compress/,decompress/,zstd.h,zstd_errors.h}`
- `LICENSE`