thirdparty/README.md
Please keep categories (## level) listed alphabetically and matching their
respective folder names. Use two empty lines to separate categories for
readability.
Files extracted from upstream source:
accesskit.hLICENSE-MITFiles extracted from upstream source:
ffx_a.h and ffx_fsr1.h from ffx-fsrlicense.txtFiles extracted from upstream source:
ffx_*.cpp and ffx_*.h from src/ffx-fsr2-apishaders folder from src/ffx-fsr2-api with ffx_*.hlsl files excludedLICENSE.txtPatches:
0001-build-fixes.patch (GH-81197)0002-godot-fsr2-options.patch (GH-81197)Files extracted from upstream source:
include/*LICENSEFiles extracted from upstream source:
astcenc_* and astcenc.h files from SourceLICENSE.txtFiles extracted from upstream source:
encoder/ and transcoder/ folders, with the following files removed from encoder:
3rdparty/{qoi.h,tinydds.h,tinyexr.cpp,tinyexr.h}LICENSEPatches:
0001-external-zstd-pr344.patch (GH-73441)0002-external-tinyexr.patch (GH-97582)0003-remove-tinydds-qoi.patch (GH-97582)0004-ambiguous-calls.patch (GH-103968)0005-msvc-include-ctype.patch (GH-106155)Files extracted from upstream source:
common/, dec/ and include/ folders from c/,
minus the dictionary.bin* filesLICENSEFiles extracted from upstream source:
ca-bundle.crt renamed to ca-certificates.crtFiles extracted from upstream source:
CPP/Clipper2Lib/ folder (in root)LICENSEPatches:
0001-disable-exceptions.patch (GH-80796)Files extracted from upstream source:
.cpp and .h files except the folders MakeTables and etc2packerLICENSE.txtPatches:
0001-revert-bc6h-reorg.patch (GH-73715)Files extracted from upstream source:
src/D3D12MemAlloc.cpp, src/D3D12MemAlloc.natvisinclude/D3D12MemAlloc.hLICENSE.txt, NOTICES.txtPatches:
0001-mingw-support.patch (GH-83452)Files extracted from upstream source:
include/directx/*.hinclude/dxguids/*.hLICENSEPatches:
0001-mingw-pragma.patch (GH-83452)0002-win7-8-dynamic-load.patch (GH-88496)Files extracted from upstream source:
doctest/doctest.h as doctest.hLICENSE.txtPatches:
0001-ciso646-version.patch (GH-105913)Files extracted from upstream:
.cpp files listed in modules/raycast/godot_update_embree.pymodules/raycast/godot_update_embree.pymodules/raycast/godot_update_embree.pyLICENSE.txtPatches:
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)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.
Files extracted from upstream source:
.c files in the main directory (except unix.c and win32.c)include/enet/ folder as enet/ (except unix.h and win32.h)LICENSE fileenet_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.
Files extracted from upstream source:
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
DecodeRGB.{cpp.hpp} are based on the code from the original repository.AUTHORS.txt and LICENSE.txtPatches:
0001-remove-bc7enc.patch (GH-101362)DroidSans*.woff2:
JetBrainsMono_Regular.woff2:
NotoSans*.woff2:
NotoSansBengali*.woff2:
NotoSansDevanagari*.woff2:
NotoSansGeorgian*.woff2:
NotoSansHebrew*.woff2:
NotoSansMalayalam*.woff2:
NotoSansOriya*.woff2:
NotoSansSinhala*.woff2:
NotoSansTamil*.woff2:
NotoSansTelugu*.woff2:
NotoSansThai*.woff2:
OpenSans_SemiBold.woff2:
Vazirmatn*.woff2:
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.
Files extracted from upstream source:
src/ folder, minus the dlg and tools subfolders
.dat, .diff, .mk, .rc, README*src/gzip/, keep only ftgzip.cinclude/ folder, minus the dlg subfolderLICENSE.TXT and docs/FTL.TXTFiles extracted from upstream source:
Files extracted from upstream source:
LICENSEFiles generated from upstream web instance:
EGL/eglplatform.hKHR/khrplatform.hegl.cglad/egl.hgl.cglad/gl.hglx.cglad/glx.hSee 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)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
CInterface/ folders, files matching "*_c[_\.]*"cmake . && make and copy generated include/glslang/build_info.h
to glslang/build_info.hLICENSE.txtCMakeLists.txt or updateGrammar removedPatches:
0001-apple-disable-absolute-paths.patch (GH-92010)0002-gcc15-include-fix.patch (GH-102022)Files extracted from upstream source:
include foldersrc folder (minus CMakeLists.txt and files.mk)COPYINGFiles extracted from upstream source:
src/to_chars.cpp file renamed to grisu2.h and slightly modified.Patches:
0001-godot-changes.patch (GH-98750)Files extracted from upstream source:
AUTHORS, COPYING, THANKSsrc folder, recursively:
.cc, .h, .hh filesmain.cc, harfbuzz*.cc, failing-alloc.c, test*.cc, hb-wasm*.*, hb-harfrust.cc, wasm/*, ms-use/*, rust/*Files extracted from upstream source:
thirdparty/sdl/update-sdl.shThe source code of this library is being bundled with SDL's source code files.
The files of hidapi are stored in thirdparty/sdl/hidapi/ folder.
Files extracted from upstream source:
common folderscriptset.*, ucln_in.*, uspoof.cpp and uspoof_impl.* from the i18n folderuspoof.h from the i18n/unicode folderLICENSEFiles generated from upstream source:
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
for instructions).icu4c-{version}-src.tgz and icu4c-{version}-data.zip
(replace data subfolder from the main source archive)./runConfigureICU {PLATFORM} && makeICU_DATA_FILTER_FILE={GODOT_SOURCE}/thirdparty/icu4c/godot_data.json ./runConfigureICU {PLATFORM} --with-data-packaging=commondata/out folder and rebuild data: cd data && rm -rf ./out && makesource/data/out/icudt{ICU_VERSION}l.dat to the {GODOT_SOURCE}/thirdparty/icu4c/icudt_godot.datFiles extracted from upstream source:
Jolt/, except Jolt/Jolt.cmake and any files dependent on ENABLE_OBJECT_STREAM, as seen in Jolt/Jolt.cmakeLICENSEFiles 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.cLICENSEPatches:
0001-big-files-support.patch (GH-100281)Files extracted from upstream source:
src/*.{c,h} except for:
cdjpeg.c cjpeg.c djpeg.c example.c jcdiffct.c jclhuff.c jclossls.c jcstest.c jddiffct.c jdlhuff.c jdlossls.c jlossls.h jpegtran.c rdbmp.c rdcolmap.c rdgif.c rdjpgcom.c rdppm.c rdswitch.c rdtarga.c strtest.c tjbench.c tjcomp.c tjdecomp.c tjtran.c tjunittest.c tjutil.c wrbmp.c wrgif.c wrjpgcom.c wrppm.c wrtarga.cLICENSE.mdREADME.ijgPatches:
0001-cmake-generated-headers.patch (GH-104347)0002-disable-16bitlossless.patch (GH-104347)0003-remove-bmp-ppm-support.patch (GH-104347)Files extracted from upstream source:
LICENSE.mdinclude/ minus .clang-formatexternal/dfdutils/LICENSE.adoc as LICENSE.dfdutils.adoc (in root)external/dfdutils/LICENSES/Apache-2.0.txt as Apache-2.0.txt (in root)external/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/utils/unused.hPatches:
0001-external-basisu.patch (GH-76572)0002-disable-astc-block-ext.patch (GH-76572)0003-basisu-1.60.patch (GH-103968)Files extracted from upstream source:
src/*.{c,h}include/ogg/*.h in ogg/ (run configure to generate config_types.h)COPYINGFiles extracted from upstream source:
.c and .h files of the main directory, apart from example.c and pngtest.carm/, intel/, loongarch/, and powerpc/ folders, except arm/filter_neon.S and .editorconfig filesscripts/pnglibconf.h.prebuilt as pnglibconf.hLICENSEPatches:
0001-add-png.patch (Redot GH-937)Files extracted from upstream source:
.c and .h files in lib/, except arm/ and c64x/ folders.h files in include/theora/ as theora/COPYING and LICENSEFiles extracted from upstream source:
lib/* except from: lookups.pl, Makefile.*include/vorbis/*.h as vorbis/COPYINGFiles extracted from upstream source:
src/ and sharpyuv/ except from .am, .rc and .in filesAUTHORS, COPYING, PATENTSPatches:
0001-msvc-node-debug-rename.patch0002-msvc-arm64-fpstrict.patch0003-clang-cl-sse2-sse41.patchSee linuxbsd_headers/README.md.
File extracted from upstream source:
src/ and include/, except from CMakeLists.txt, cross_section.h and meshIO.{cpp,h}AUTHORS, LICENSEFile extracted from upstream release tarball:
.h from include/mbedtls/ to thirdparty/mbedtls/include/mbedtls/
and all .h from include/psa/ to thirdparty/mbedtls/include/psa/library/ to thirdparty/mbedtls/library/:
.c and .h filesbignum_mod.c, block_cipher.c, ecp_curves_new.c, lmots.c,
lms.cLICENSE file (edited to keep only the Apache 2.0 variant)godot_core_mbedtls_platform.c and godot_core_mbedtls_config.h
providing configuration for light bundling with coregodot_module_mbedtls_config.h and threading_alt.h
to customize the build configuration when bundling the full libraryPatches:
0001-msvc-2019-psa-redeclaration.patch (GH-90535)Files extracted from upstream repository:
src/LICENSE.mdFiles extracted from upstream repository:
LICENSEmingw.condition_variable.hmingw.invoke.hmingw.mutex.hmingw.shared_mutex.hmingw.thread.hPatches:
0001-disable-exceptions.patch (GH-85039)0002-clang-std-replacements-leak.patch (GH-85208)Files extracted from upstream repository:
minimp3.hminimp3_ex.hLICENSEPatches:
0001-msvc-arm.patch (GH-64921)0002-msvc-warnings.patch (GH-66545)Files extracted from upstream source:
miniupnpc/src/ as src/miniupnpc/include/ as include/miniupnpc/listdevices.c,minihttptestserver.c,miniupnpcmodule.c,upnpc.c,upnperrors.*,test*LICENSEsrc/miniupnpcstrings.h was created manually for Godot (it is usually generated
by CMake). Bump the version number for miniupnpc in that file when upgrading.Files extracted from the upstream source:
contrib/minizip:
{crypt.h,ioapi.{c,h},unzip.{c,h},zip.{c,h}}
MiniZip64_info.txtPatches:
0001-godot-seek.patch (GH-10428)Collection of single-file libraries used in Godot components.
bcdec.h
cubemap_coeffs.h
fastlz.{c,h}
FastNoiseLite.h
FastNoiseLite-0001-namespace-warnings.patch (GH-88526)ifaddrs-android.{cc,h}
ifaddrs-android-0001-complete-struct.patch (GH-34101)mikktspace.{c,h}
nvapi_minimal.h
nvapi.h by removing unnecessary code.ok_color.h
ok_color_shader.h
pcg.{cpp,h}
polypartition.{cpp,h}
src/polypartition.{cpp,h})polypartition-0001-godot-types.patch (2185c018f)polypartition-0002-shadow-warning.patch (GH-66808)qoa.{c,h}
qoa.c.r128.{c,h}
smaz.{c,h}
smaz-0001-write-string-warning.patch (GH-8572)smolv.{cpp,h}
stb_rect_pack.h
yuv2rgb.h
Files extracted from the upstream source:
msdfgen.hcore/ folderLICENSE.txtFiles extracted from upstream source:
include/src/common/src/loader/src/*.{c,h}src/external/jsoncpp/include/src/external/jsoncpp/src/lib_json/src/external/jsoncpp/{AUTHORS,LICENSE}LICENSE and COPYING.adocExclude:
src/external/android-jni-wrappers and src/external/jnipp (not used yet)src/xr_generated_dispatch_table.{c,h}cmake/, CMakeLists.txt and *.cmake*gradle*, AndroidManifest.xml.license files):
*.{def,expsym,in,json,map,pom,rc,txt}Files extracted from upstream source:
NON-AUTOTOOLS-BUILD steps 1-4.h files in src/ apart from pcre2posix.hsrc/pcre2_jit_match.csrc/pcre2_jit_misc.csrc/pcre2_ucptables.cdeps/sljit/sljit_srcAUTHORS.md and LICENCE.mdPatches:
0001-fix-format-enumerate.patch (GH-114766)0002-fix-duplicate-symbols.patch (GH-114766)Files extracted from upstream source:
Recast/ folder without CMakeLists.txtLicense.txtFor 2D in rvo2_2d folder
For 3D in rvo2_3d folder
Files extracted from upstream source:
.cpp and .h files in the src/ folder except for Export.h and RVO.hLICENSEImportant: 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.
Files extracted from upstream source:
LICENSEScripts folderFiles extracted from upstream source:
thirdparty/sdl/update-sdl.shPatches:
0001-remove-unnecessary-subsystems.patch (GH-106218)0002-msvc-constants-fpstrict.patch (GH-106218)0003-std-include.patch (GH-108144)0004-errno-include.patch (GH-108354)0005-fix-libudev-dbus.patch (GH-108373)0006-fix-cs-environ.patch (GH-109283)The SDL source code folder includes hidapi library inside of folder thirdparty/sdl/hidapi/.
Its version and license is described in this file under hidapi.
Files extracted from upstream source:
.cpp, .hpp and .h files, minus main.cpp, spirv_cross_c.*, spirv_hlsl.*, spirv_cpp.*include/ folderLICENSE and LICENSES/ folder, minus CC-BY-4.0.txtVersions of this SDK do not have to match the vulkan section, as this SDK is required
to generate Metal source from Vulkan SPIR-V.
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.cinclude/ folderLICENSEPatches:
0001-specialization-constants.patch (GH-50325)0002-zero-size-for-sc-sized-arrays.patch (GH-94985)Files extracted from upstream source:
include/common/include/swappy/{swappy_common.h,swappyVk.h}LICENSEFiles extracted from upstream source:
thorvg/update-thorvg.sh for extraction instructions.
Set the version number and run the script.Patches:
0001-revert-tvglines-bezier-precision.patch (GH-96658)0002-use-heap-alloc.patch (GH-109530)Files extracted from upstream source:
tinyexr.{cc,h}Patches:
0001-external-zlib.patch (GH-55115)Files extracted from upstream source:
ufbx.{c,h}LICENSEFiles extracted from upstream source:
src/VHACD_Lib/: inc, public and srcLICENSEPatches:
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)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.cLICENSE.mdUnless 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:
Files extracted from upstream source:
include/LICENSE.mdvk_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)
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)Files extracted from upstream source:
protocol/wayland.xmlCOPYINGFiles extracted from upstream source:
stable/viewporter/READMEstable/viewporter/viewporter.xmlstable/xdg-shell/READMEstable/xdg-shell/xdg-shell.xmlstaging/fractional-scale/READMEstaging/fractional-scale/fractional-scale-v1.xmlstaging/xdg-activation/READMEstaging/xdg-activation/xdg-activation-v1.xmlstaging/xdg-system-bell/xdg-system-bell-v1.xmlunstable/idle-inhibit/READMEunstable/idle-inhibit/idle-inhibit-unstable-v1.xmlunstable/pointer-constraints/READMEunstable/pointer-constraints/pointer-constraints-unstable-v1.xmlunstable/pointer-gestures/READMEunstable/pointer-gestures/pointer-gestures-unstable-v1.xmlunstable/primary-selection/READMEunstable/primary-selection/primary-selection-unstable-v1.xmlunstable/relative-pointer/READMEunstable/relative-pointer/relative-pointer-unstable-v1.xmlunstable/tablet/READMEunstable/tablet/tablet-unstable-v2.xmlunstable/text-input/READMEunstable/text-input/text-input-unstable-v3.xmlunstable/xdg-decoration/READMEunstable/xdg-decoration/xdg-decoration-unstable-v1.xmlunstable/xdg-foreign/READMEunstable/xdg-foreign/xdg-foreign-unstable-v1.xmlCOPYINGFile extracted from upstream release tarball:
cmake . to generate config.h and wslayver.h
Contents might need tweaking for Godot, review diff.c and .h files from lib/.h in lib/includes/wslay/ as wslay/COPYINGPatches:
0001-msvc-build-fix.patch (GH-30263)Files extracted from upstream source:
source/xatlas/xatlas.{cpp,h}LICENSEFiles extracted from upstream source:
.c and .h files, except gz*.c and infback.cLICENSEFiles extracted from upstream source:
lib/{common/,compress/,decompress/,zstd.h,zstd_errors.h}LICENSE