summaryrefslogtreecommitdiff
path: root/thirdparty
AgeCommit message (Collapse)Author
2021-04-14etcpak: We only need the compression code, remove rest of etcpak appRémi Verschelde
We do our own image loading, threading, and memory management in Godot already, so the only components we need from etcpak (at least as of now) are the `Compress*` methods defined in `ProcessDxtc.cpp` and `ProcessRGB.cpp`. So we don't need to compile or vendor the rest.
2021-04-13etcpak: Fix handling of pthread naming API for Linux and MinGWRémi Verschelde
For MinGW this is tricky to do as a two-step process like it was implemented, as `std::thread::native_handle()` is implementation-defined and depending on the MinGW distribution, it may or may not be a pthread handle. With mingw-gcc as packaged in Linux distros with pthread support it worked fine, but with llvm-mingw it was problematic. Setting the name in the thread directly as done for Apple platforms is simpler and works fine. Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-04-13Add `etcpak` library for faster ETC/ETC2/S3TC imports.K. S. Ernest (iFire) Lee
- `etc` module was renamed to `etcpak` and modified to use the new library. - PKM importer is removed in the process, it's obsolete. - Old library `etc2comp` is removed. - S3TC compression no longer done via `squish` (but decompression still is). - Slight modifications to etcpak sources for MinGW compatibility, to fix LLVM `-Wc++11-narrowing` errors, and to allow using vendored or system libpng. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-03-24[Net] Fix miniupnpc UWP build.Fabio Alessandrelli
The patch has already been upstreamed, and custom patching won't be needed during next version update.
2021-03-16HarfBuzz: Update to version 2.8.0bruvzg
2021-03-16miniupnpc: Update to version 2.2.2Rémi Verschelde
2021-03-15[Net] Fix miniupnpc when no interface is specifiedFabio Alessandrelli
This is a tricky one, it used to work, but it was wrong, because in such a scenario instead of passing NULL as required by the API, it would pass a buffer containing the `\0` terminator. This stopped working on a specific miniupnpc version, when they fixed some network endianess issue on Windows, to which we made a workaround, which in turn would probably result in failures when the interface is specified. This commit address the issue properly, by checking the specified interface string size, and correctly passing NULL instead of the empty string when necessary. Also reverts the commit that introduced the bogus workaround: e85330231c729a88d5a478de2bbe4a61e5edeae3 One of those PR when the explaination is much longer then code changes :).
2021-03-12Bump mbedtls to version 2.16.10.Fabio Alessandrelli
2021-01-19Cleanup: Remove executable bit from files which don't need itRémi Verschelde
Drop unused xpmfix.sh script.
2021-01-12Update PolyPartition / Triangulator libraryAaron Franke
2021-01-11Scale error in mesh optimizer so it uses absolute scale.K. S. Ernest (iFire) Lee
Switch to simplify sloppy for another try. Update to meshoptimizer e3f53f66e7a35b9b8764bee478589d79e34fa698.
2021-01-08Merge pull request #45021 from akien-mga/spirv-reflect-c0ce03aRémi Verschelde
spirv-reflect: Update to upstream commit c0ce03a (Jan 6, 2021)
2021-01-08Merge pull request #45020 from akien-mga/pcre-10.36Rémi Verschelde
pcre2: Update to upstream version 10.36
2021-01-08spirv-reflect: Update to upstream commit c0ce03a (Jan 6, 2021)Rémi Verschelde
2021-01-08pcre2: Update to upstream version 10.36Rémi Verschelde
Changelog: https://vcs.pcre.org/pcre2/code/tags/pcre2-10.36/ChangeLog?view=markup
2021-01-08r128: Update to upstream 1.4.4, fixes warningsRémi Verschelde
2021-01-08Merge pull request #45013 from akien-mga/enet-1.3.17Fabio Alessandrelli
enet: Sync with upstream 1.3.17
2021-01-08COPYRIGHT: Update with recent additions, cleanupRémi Verschelde
Also include public domain assets in `COPYRIGHT.txt` with Unlicence text or dual-licensing scheme. And document commit hashes for most thirdparty code in `thirdparty/README.md` for clarity, and in case there's no tag matching the included version numbers.
2021-01-08enet: Sync with upstream 1.3.17Rémi Verschelde
2021-01-08Merge pull request #45012 from akien-mga/zstd-1.4.8Rémi Verschelde
zstd: Update to upstream version 1.4.8
2021-01-08doctest: Update to 2.4.4Rémi Verschelde
Make ClassDB test macros enforce their msg to be constructed as String, since doctest 2.4.2 changes the message passing to vararg.
2021-01-08zstd: Update to upstream version 1.4.8Rémi Verschelde
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-12-30Merge pull request #44740 from fire/mesh-opt-collapseRémi Verschelde
Meshoptimizer Update: Restrict edge collapses to avoid triangle flipping
2020-12-30Meshoptimizer update libraryK. S. Ernest (iFire) Lee
2020-12-30bullet: Sync with upstream 3.08Rémi Verschelde
2020-12-28Rename empty() to is_empty()Marcel Admiraal
2020-12-27HarfBuzz: Update to upstream version 2.7.4bruvzg
2020-12-23Merge pull request #44540 from jacobcoughenour/vulkan-sdk-1.2.126.0Rémi Verschelde
Vulkan: loader, headers, and glslang updated to sdk-1.2.162.0
2020-12-22remove assimp pending fbx upgradeGordon MacPherson
2020-12-21Vulkan: loader, headers, and glslang updated to sdk-1.2.162.0jacobcoughenour
Updated glslang and Vulkan headers/loader following the instructions found in thirdparty/README. glslang was updated to the 'known good' matching Vulkan SDK version 1.2.162.0. Vulkan headers and loader were updated to the commit tagged with sdk-1.2.162.0. 'vk_mem_alloc.h' and 'vk_mem_alloc.c' are unchanged since there hasn't been a new tagged release since 2.3.0. Here's the Vulkan release notes for this update: https://vulkan.lunarg.com/doc/sdk/1.2.162.0/windows/release_notes.html Reverted and removed the unnecessary fix-mingw-snprintf patch for glslang as well as the mention of it in thirdparty/README.md.
2020-12-21Merge pull request #44507 from bruvzg/icu_update_68_2Rémi Verschelde
ICU: Update to upstream release 68.2
2020-12-19Merge pull request #44505 from akien-mga/mbedtls-2.16.9Rémi Verschelde
mbedtls: Update to upstream version 2.16.9
2020-12-18Improved shadow rendering efficiencyreduz
-Do not bind attributes that are not needed -Improve a bit more how meshoptimizer interacts with Godot
2020-12-18ICU: Update to upstream release 68.2bruvzg
2020-12-18mbedtls: Update to upstream version 2.16.9Rémi Verschelde
2020-12-18Implement automatic LOD (Level of Detail)reduz
-Happens on import by default for all models -Just works (tm) -Biasing can be later adjusted per node or per viewport (as well as globally) -Disabled AABB.get_support test because its broken
2020-12-18bullet: Sync with upstream 3.07Rémi Verschelde
2020-12-18SCons: Add explicit dependencies on thirdparty code in cloned envRémi Verschelde
Since we clone the environments to build thirdparty code, we don't get an explicit dependency on the build objects produced by that environment. So when we update thirdparty code, Godot code using it is not necessarily rebuilt (I think it is for changed headers, but not for changed .c/.cpp files), which can lead to an invalid compilation output (linking old Godot .o files with a newer, potentially ABI breaking version of thirdparty code). This was only seen as really problematic with bullet updates (leading to crashes when rebuilding Godot after a bullet update without cleaning .o files), but it's safer to fix it everywhere, even if it's a LOT of hacky boilerplate.
2020-12-13Rework Mesh handling on scene importing.reduz
-Reworked how meshes are treated by importer by using EditorSceneImporterMesh and EditorSceneImporterMeshNode. Instead of Mesh and MeshInstance, this allows more efficient processing of meshes before they are actually registered in the RenderingServer. -Integrated MeshOptimizer -Reworked internals of SurfaceTool to use arrays, making it more performant and easy to run optimizatons on.
2020-12-08Fix some easing equations' undefined behaviours.Fabio Alessandrelli
Spotted via -Wunsequenced. Easing equations had different behaviours depending on the toolchain due to its abusing of inline assignments.
2020-12-07Merge pull request #43007 from DeleteSystem32/mp3-supportRémi Verschelde
Add MP3 import and playback support
2020-12-04Updated open-simplex to have const noise functionsSacha Waked
"open-simplex-noise-in-c" now updated to master and "opensimplex" module refactored accordingly
2020-12-03add mp3 import and playback supportVincent
2020-12-02xatlas: Sync with upstream 5571fc7Adam Brown
Fixes #44017 by changing the `normalize()` function to check for non-negative rather than non-zero via an epsilon check.
2020-11-26[Complex Text Layouts] Refactor Font class, default themes and controls to ↵bruvzg
use Text Server interface. Implement interface mirroring. Add TextLine and TextParagraph classes. Handle UTF-16 input on macOS and Windows.
2020-11-26[Complex Text Layouts] Add third-party TextServer dependencies (ICU, ↵bruvzg
HarfBuzz, Graphite).
2020-11-26[Complex Text Layouts] Implement TextServer interface. Implement Fallback ↵bruvzg
TextServer.
2020-11-20Merge pull request #43719 from akien-mga/nanosvg-3e403ecRémi Verschelde
nanosvg: Sync with upstream 3e403ec
2020-11-20doctest: Update to 2.4.1Andrii Doroshenko (Xrayez)
Includes a patch for breakpoint inline assembly for macOS.