diff options
Diffstat (limited to 'thirdparty')
-rw-r--r-- | thirdparty/README.md | 198 | ||||
-rw-r--r-- | thirdparty/cvtt/etc_notes.txt | 27 | ||||
-rw-r--r-- | thirdparty/misc/patches/clipper-exceptions.patch (renamed from thirdparty/misc/clipper-exceptions.patch) | 0 | ||||
-rw-r--r-- | thirdparty/noise/LICENSE (renamed from thirdparty/noise/FastNoise-LICENSE) | 0 |
4 files changed, 109 insertions, 116 deletions
diff --git a/thirdparty/README.md b/thirdparty/README.md index 7b2b20ec84..8a0f36a384 100644 --- a/thirdparty/README.md +++ b/thirdparty/README.md @@ -94,8 +94,8 @@ Files extracted from upstream source: ## clipper2 - Upstream: https://github.com/AngusJohnson/Clipper2 -- Version: 1.2.2 (756c5079aacab5837e812a143c59dc48a09f22e7, 2023) -- License: Boost Software License 1.0 +- Version: 1.2.2 (756c5079aacab5837e812a143c59dc48a09f22e7, 2023) +- License: BSL 1.0 Files extracted from upstream source: @@ -111,7 +111,8 @@ Files extracted from upstream source: Files extracted from upstream source: -- all .cpp, .h, and .txt files except the folders MakeTables and etc2packer. +- All `.cpp` and `.h` files except the folders `MakeTables` and `etc2packer` +- `LICENSE.txt` Changes related to BC6H packing and unpacking made upstream in https://github.com/elasota/cvtt/commit/2e4b6b2747aec11f4cc6dd09ef43fa8ce769f6e2 @@ -139,7 +140,7 @@ Files extracted from upstream source: Files extracted from upstream: -- All cpp files listed in `modules/raycast/godot_update_embree.py` +- All `.cpp` files listed in `modules/raycast/godot_update_embree.py` - All header files in the directories listed in `modules/raycast/godot_update_embree.py` The `modules/raycast/godot_update_embree.py` script can be used to pull the @@ -153,26 +154,26 @@ commits. ## enet -- Upstream: http://enet.bespin.org +- Upstream: https://github.com/lsalzman/enet - Version: git (ea4607a90dbfbcf4da2669ea998585253d8e70b1, 2023) - License: MIT Files extracted from upstream source: -- all .c files in the main directory (except unix.c win32.c) -- the include/enet/ folder as enet/ (except unix.h win32.h) -- LICENSE file +- 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 -Important: enet.h, host.c, protocol.c have been slightly modified +Important: `enet.h`, `host.c`, `protocol.c` have been slightly modified to be usable by Godot's socket implementation and allow IPv6 and DTLS. Apply the patches in the `patches/` folder when syncing on newer upstream commits. -Three files (godot.cpp, enet/godot.h, enet/godot_ext.h) have been added to provide -enet socket implementation using Godot classes. +Three files (`godot.cpp`, `enet/godot.h`, `enet/godot_ext.h`) have been added to +provide ENet socket implementation using Godot classes. -It is still possible to build against a system wide ENet but doing so -will limit its functionality to IPv4 only. +It is still possible to build against a system wide ENet but doing so will limit +its functionality to IPv4 only. ## etcpak @@ -253,8 +254,12 @@ Files extracted from upstream source: * Upstream: https://fonts.google.com/specimen/Open+Sans * Version: 1.10 (downloaded from Google Fonts in February 2021) * License: Apache 2.0 -- All fonts are converted from the unhinted `.ttf` sources using `https://github.com/google/woff2` tool. -- Comment: Use UI font variant if available, because it has tight vertical metrics and good for UI. + +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 @@ -315,7 +320,7 @@ Files extracted from upstream source: - Run `cmake . && make` and copy generated `include/glslang/build_info.h` to `glslang/build_info.h` - `LICENSE.txt` -- Unnecessary files like `CMakeLists.txt`, `*.m4` and `updateGrammar` removed. +- Unnecessary files like `CMakeLists.txt`, `*.m4` and `updateGrammar` removed ## graphite @@ -326,8 +331,8 @@ Files extracted from upstream source: Files extracted from upstream source: -- the `include` folder -- the `src` folder (minus `CMakeLists.txt` and `files.mk`) +- The `include` folder +- The `src` folder (minus `CMakeLists.txt` and `files.mk`) - `COPYING` @@ -340,9 +345,9 @@ Files extracted from upstream source: Files extracted from upstream source: - `AUTHORS`, `COPYING`, `THANKS` -- from the `src` folder, recursively - - all the `*.c`, `*.cc`, `*.h`, `*.hh` files - - _except_ `main.cc`, `harfbuzz*.cc`, `failing-alloc.c`, `test*.cc`, `hb-wasm*.*` +- From the `src` folder, recursively: + - All the `.c`, `.cc`, `.h`, `.hh` files + - Except `main.cc`, `harfbuzz*.cc`, `failing-alloc.c`, `test*.cc`, `hb-wasm*.*` ## icu4c @@ -353,22 +358,24 @@ Files extracted from upstream source: Files extracted from upstream source: -- the `common` folder +- 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 `icudt73l.dat` built with the provided `godot_data.json` config file (see +- The `icudt73l.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 for instructions). -- Step 1: Download and extract both `icu4c-{version}-src.tgz` and `icu4c-{version}-data.zip` (replace `data` subfolder from the main source archive). -- Step 2: Build ICU with default options - `./runConfigureICU {PLATFORM} && make`. -- Step 3: Reconfigure ICU with custom data config - `ICU_DATA_FILTER_FILE={GODOT_SOURCE}/thirdparty/icu4c/godot_data.json ./runConfigureICU {PLATFORM} --with-data-packaging=common`. -- Step 4: Delete `data/out` folder and rebuild data - `cd data && rm -rf ./out && make`. -- Step 5: Copy `source/data/out/icudt73l.dat` to the `{GODOT_SOURCE}/thirdparty/icu4c/icudt73l.dat`. +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/icudt73l.dat` to the `{GODOT_SOURCE}/thirdparty/icu4c/icudt73l.dat` ## jpeg-compressor @@ -422,8 +429,8 @@ Files extracted from upstream source: Files extracted from upstream source: -- all .c and .h files of the main directory, except from - `example.c` and `pngtest.c` +- All `.c` and `.h` files of the main directory, except from `example.c` and + `pngtest.c` - `arm/`, `intel/` and `powerpc/` folders - `scripts/pnglibconf.h.prebuilt` as `pnglibconf.h` - `LICENSE` @@ -437,9 +444,9 @@ Files extracted from upstream source: Files extracted from upstream source: -- all .c, .h in lib/, except arm/ and c64x/ folders -- all .h files in include/theora/ as theora/ -- COPYING and LICENSE +- All `.c` and `.h` files in `lib/`, except `arm/` and `c64x/` folders +- All `.h` files in `include/theora/` as `theora/` +- `COPYING` and `LICENSE` ## libvorbis @@ -463,10 +470,11 @@ Files extracted from upstream source: Files extracted from upstream source: -- `src/` and `sharpyuv/` except from: `.am`, `.rc` and `.in` files +- `src/` and `sharpyuv/` except from `.am`, `.rc` and `.in` files - `AUTHORS`, `COPYING`, `PATENTS` -Patch `godot-node-debug-fix.patch` workarounds shadowing of godot's Node class in the MSVC debugger. +Patch `godot-node-debug-fix.patch` workarounds shadowing of Godot's Node class +in the MSVC debugger. ## mbedtls @@ -477,14 +485,17 @@ Patch `godot-node-debug-fix.patch` workarounds shadowing of godot's Node class i File extracted from upstream release tarball: -- All `*.h` from `include/mbedtls/` to `thirdparty/mbedtls/include/mbedtls/` except `config_psa.h` and `psa_util.h`. -- All `*.c` and `*.h` from `library/` to `thirdparty/mbedtls/library/` except those starting with `psa_*`. -- The `LICENSE` file. -- Applied the patch in `patches/windows-arm64-hardclock.diff`. - Applied the patch in `aesni-no-arm-intrinsics.patch` to fix MSVC ARM build. +- All `.h` from `include/mbedtls/` to `thirdparty/mbedtls/include/mbedtls/` + except `config_psa.h` and `psa_util.h` +- All `.c` and `.h` from `library/` to `thirdparty/mbedtls/library/` except + those starting with `psa_*` +- The `LICENSE` file +- Applied the patch in `patches/windows-arm64-hardclock.diff` + Applied the patch in `aesni-no-arm-intrinsics.patch` to fix MSVC ARM build - 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. + 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 ## meshoptimizer @@ -495,13 +506,13 @@ File extracted from upstream release tarball: Files extracted from upstream repository: -- All files in `src/`. -- `LICENSE.md`. +- All files in `src/` +- `LICENSE.md` An [experimental upstream feature](https://github.com/zeux/meshoptimizer/tree/simplify-attr), -has been backported. On top of that, it was modified to report only distance error metrics -instead of a combination of distance and attribute errors. Patches for both changes can be -found in the `patches` directory. +has been backported. On top of that, it was modified to report only distance +error metrics instead of a combination of distance and attribute errors. Patches +for both changes can be found in the `patches` directory. ## minimp3 @@ -571,10 +582,6 @@ Collection of single-file libraries used in Godot components. * Upstream: https://github.com/ariya/FastLZ * Version: 0.5.0 (4f20f54d46f5a6dd4fae4def134933369b7602d2, 2020) * License: MIT -- `hq2x.{cpp,h}` - * Upstream: https://github.com/brunexgeek/hqx - * Version: TBD, file structure differs - * License: Apache 2.0 - `ifaddrs-android.{cc,h}` * Upstream: https://chromium.googlesource.com/external/webrtc/stable/talk/+/master/base/ifaddrs-android.h * Version: git (5976650443d68ccfadf1dea24999ee459dd2819d, 2013) @@ -583,10 +590,6 @@ Collection of single-file libraries used in Godot components. * Upstream: https://archive.blender.org/wiki/index.php/Dev:Shading/Tangent_Space_Normal_Maps/ * Version: 1.0 (2011) * License: zlib -- `FastNoiseLite.h}` - * Upstream: https://github.com/Auburn/FastNoiseLite - * Version: git (6be3d6bf7fb408de341285f9ee8a29b67fd953f1, 2022) + custom changes - * License: MIT - `ok_color.h` * Upstream: https://github.com/bottosson/bottosson.github.io/blob/master/misc/ok_color.h * Version: git (d69831edb90ffdcd08b7e64da3c5405acd48ad2c, 2022) @@ -605,7 +608,7 @@ Collection of single-file libraries used in Godot components. * Version: git (7bdffb428b2b19ad1c43aa44c714dcc104177e84, 2021) * Modifications: Change from STL to Godot types (see provided patch). * License: MIT -- `r128.h` +- `r128.{c,h}` * Upstream: https://github.com/fahickman/r128 * Version: 1.4.4 (cf2e88fc3e7d7dfe99189686f914874cd0bda15e, 2020) * License: Public Domain or Unlicense @@ -614,7 +617,7 @@ Collection of single-file libraries used in Godot components. * Version: git (2f625846a775501fb69456567409a8b12f10ea25, 2012) * License: BSD-3-Clause * Modifications: use `const char*` instead of `char*` for input string -- `smolv.h` +- `smolv.{cpp,h}` * Upstream: https://github.com/aras-p/smol-v * Version: git (4b52c165c13763051a18e80ffbc2ee436314ceb2, 2020) * License: Public Domain or MIT @@ -637,17 +640,33 @@ Collection of single-file libraries used in Godot components. Files extracted from the upstream source: - `msdfgen.h` -- Files in `core/` folder. +- Files in `core/` folder - `LICENSE.txt` +## noise + +- Upstream: https://github.com/Auburn/FastNoiseLite +- Version: git (6be3d6bf7fb408de341285f9ee8a29b67fd953f1, 2022) +- License: MIT + +Files extracted from the upstream source: + +- `FastNoiseLite.h` +- `LICENSE` + +Some custom changes were made to fix compiler warnings, and can be re-applied +with the provided patch. + + ## nvapi - Upstream: http://download.nvidia.com/XFree86/nvapi-open-source-sdk - Version: R525 - License: MIT -- `nvapi_minimal.h` was created by using `nvapi.h` from upstream and removing unnecessary code. +- `nvapi_minimal.h` was created by using `nvapi.h` from upstream and removing + unnecessary code. ## openxr @@ -658,20 +677,21 @@ Files extracted from the upstream source: Files extracted from upstream source: -- include/ -- src/common/ -- src/loader/ -- src/*.{c,h} -- src/external/jsoncpp/include/ -- src/external/jsoncpp/src/lib_json/ -- LICENSE and COPYING.adoc +- `include/` +- `src/common/` +- `src/loader/` +- `src/*.{c,h}` +- `src/external/jsoncpp/include/` +- `src/external/jsoncpp/src/lib_json/` +- `LICENSE` and `COPYING.adoc` Exclude: -- src/external/android-jni-wrappers and src/external/jnipp (not used yet) -- 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} +- `src/external/android-jni-wrappers` and `src/external/jnipp` (not used yet) +- 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}` - All dotfiles @@ -683,12 +703,12 @@ Exclude: 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 -- src/sljit/ -- AUTHORS and LICENCE +- 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` +- `src/sljit/` +- `AUTHORS` and `LICENCE` A sljit patch from upstream was backported to fix macOS < 11.0 compilation in 10.40, it can be found in the `patches` folder. @@ -703,7 +723,7 @@ in 10.40, it can be found in the `patches` folder. Files extracted from upstream source: - `Recast/` folder without `CMakeLists.txt` -- License.txt +- `License.txt` ## rvo2 @@ -722,8 +742,8 @@ For 3D in `rvo2_3d` folder Files extracted from upstream source: -- All .cpp and .h files in the `src/` folder except for Export.h and RVO.h -- LICENSE +- 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 @@ -760,7 +780,7 @@ folder. Files extracted from upstream source: -- all .cpp, .h and .inl files +- All `.cpp`, `.h` and `.inl` files Important: Some files have Godot-made changes. They are marked with `// -- GODOT start --` and `// -- GODOT end --` @@ -819,9 +839,9 @@ folder. Unless there is a specific reason to package a more recent version, please stick to tagged releases. All Vulkan libraries and headers should be kept in sync so: -- Update Vulkan SDK components to the matching tag (see "vulkan"). -- Update glslang (see "glslang"). -- Update spirv-reflect (see "spirv-reflect"). +- Update Vulkan SDK components to the matching tag (see "vulkan") +- Update glslang (see "glslang") +- Update spirv-reflect (see "spirv-reflect") Files extracted from upstream source: @@ -861,11 +881,11 @@ Patches in the `patches` directory should be re-applied after updates. 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/` -- `wslay/wslay.h` has a small Godot addition to fix MSVC build. +- 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/` +- `wslay/wslay.h` has a small Godot addition to fix MSVC build See `patches/msvcfix.diff` - `COPYING` @@ -890,7 +910,7 @@ Files extracted from upstream source: Files extracted from upstream source: -- All `*.c` and `*.h` files, minus `infback.c` +- All `.c` and `.h` files, minus `infback.c` - `LICENSE` diff --git a/thirdparty/cvtt/etc_notes.txt b/thirdparty/cvtt/etc_notes.txt deleted file mode 100644 index bb041a8435..0000000000 --- a/thirdparty/cvtt/etc_notes.txt +++ /dev/null @@ -1,27 +0,0 @@ -The ETC1 compressor uses modified cluster fit: - -Assume that there exists an ideal base color and set of selectors for a given table. -For a given table and set of selectors, the ideal base color can be determined by subtracting the offsets from each pixel and averaging them. -Doing that is equivalent to subtracting the average offset from the average color. -Because positive and negative selectors of the same magnitude cancel out, the search space of possible average offsets is reduced: 57 unique offsets for the first table and 81 for the others. -Most of the offsets result in the same color as another average offset due to quantization of the base color, so those can be de-duplicated. -So: -- Start with a high-precision average color. -- Apply precomputed luma offsets to it. -- Quantize and de-duplicate the base colors. -- Find the ideal selectors for each base color. - -Differential mode is solved by just finding the best legal combination from those attempts. - -There are several scenarios where this is not ideal: -- Clamping behavior can sometimes be leveraged for a more accurate block. -- Differentials can sometimes be moved slightly closer to become legal. -- This only works when MSE is the error metric (i.e. not normal maps) -- This only works when pixel weights are of equal importance (i.e. not using weight by alpha or edge deblocking) - -T and H mode just work by generating clustering assignments by computing a chrominance line and splitting the block in half by the chrominance midpoint and using those to determine the averages. - -Planar mode is just solved algebraically. - -If you want to emulate etc2comp's default settings, add the flag ETC_UseFakeBT709 to use its modified Rec. 709 error coefficients. -Doing that will significantly slow down encoding because it requires much more complicated quantization math.
\ No newline at end of file diff --git a/thirdparty/misc/clipper-exceptions.patch b/thirdparty/misc/patches/clipper-exceptions.patch index 537afd59b3..537afd59b3 100644 --- a/thirdparty/misc/clipper-exceptions.patch +++ b/thirdparty/misc/patches/clipper-exceptions.patch diff --git a/thirdparty/noise/FastNoise-LICENSE b/thirdparty/noise/LICENSE index dd6df2c160..dd6df2c160 100644 --- a/thirdparty/noise/FastNoise-LICENSE +++ b/thirdparty/noise/LICENSE |