summaryrefslogtreecommitdiffstats
path: root/thirdparty
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty')
-rw-r--r--thirdparty/README.md198
-rw-r--r--thirdparty/cvtt/etc_notes.txt27
-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