summaryrefslogtreecommitdiff
path: root/thirdparty
AgeCommit message (Collapse)Author
2021-05-31Implement shader cachingreduz
* Shader compilation is now cached. Subsequent loads take less than a millisecond. * Improved game, editor and project manager startup time. * Editor uses .godot/shader_cache to store shaders. * Game uses user://shader_cache * Project manager uses $config_dir/shader_cache * Options to tweak shader caching in project settings. * Editor path configuration moved from EditorSettings to new class, EditorPaths, so it can be available early on (before shaders are compiled). * Reworked ShaderCompilerRD to ensure deterministic shader code creation (else shader may change and cache will be invalidated). * Added shader compression with SMOLV: https://github.com/aras-p/smol-v
2021-05-30Meshoptimizer: Sync with upstream commit f5d83e8Johannes Witt
2021-05-22Update with experimental mesh optimizer.K. S. Ernest (iFire) Lee
Normals being optimized has better quality now. Test simplify once and then use a slightly less tolerant error for the target error.
2021-05-21Merge pull request #48885 from JFonS/upgrade_embreeRémi Verschelde
Upgrade Embree to the latest official release (3.13.0).
2021-05-21Upgrade Embree to the latest official release.jfons
Since Embree v3.13.0 supports AARCH64, switch back to the official repo instead of using Embree-aarch64. `thirdparty/embree/patches/godot-changes.patch` should now contain an accurate diff of the changes done to the library.
2021-05-21Fix STL to Godot type convertion of polypartitionHaoyu Qiu
2021-05-17Use a DynamicFont for the default project themeHugo Locurcio
This makes font oversampling work out of the box, while also increasing the supported character set's size. The default font is now larger as well to better fit today's screen resolutions. The OpenSans SemiBold font was chosen for two reasons: - Small file size, yet its character set supports Latin-1 and Cyrillic text. - A heavier font weight looks better in most "game" scenarios and is more readable against mixed-color backgrounds. This is considered a breaking change as it changes the default font's metrics, which will likely affect how Control nodes are laid out in scenes (unless a custom font is in use).
2021-05-07basis_universal: Update to upstream commit from Apr 16, 2021Rémi Verschelde
BinomialLLC/basis_universal@ba1c3e40f1d434ebaf9a167b44e9b11d2bf0f765.
2021-05-06Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscoresHugo Locurcio
2021-05-03Assorted fixes to UV unwrapping and GPU lightmapperjfons
Various fixes to UV2 unwrapping and the GPU lightmapper. Listed here for context in case of git blame/bisect: * Fix UV2 unwrapping on import, also cleaned up the unwrap cache code. * Fix saving of RGBA images in EXR format. * Fixes to the GPU lightmapper: - Added padding between atlas elements, avoids bleeding. - Remove old SDF generation code. - Fix baked attenuation for Omni/Spot lights. - Fix baking of material properties onto UV2 (wireframe was wrongly used before). - Disable statically baked lights for objects that have a lightmap texture to avoid applying the same light twice. - Fix lightmap pairing in RendererSceneCull. - Fix UV2 array generated from `RenderingServer::mesh_surface_get_arrays()`. - Port autoexposure fix for OIDN from 3.x. - Save debug textures as EXR when using floating point format.
2021-04-28Merge pull request #48235 from Faless/feature/network-local-port-enet-salvagedRémi Verschelde
[Net] Implement NetworkedMultiplayerENet.get_local_port
2021-04-28Implement NetworkedMultiplayerENet.get_local_portFabio Alessandrelli
Allows retrieving the local port to which the peer is bound.
2021-04-28Merge pull request #48239 from akien-mga/goodbye-copymemRémi Verschelde
Core: Drop custom `copymem`/`zeromem` defines
2021-04-27Merge pull request #48050 from JFonS/occlusion_cullingRémi Verschelde
2021-04-27Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde
We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.
2021-04-27Merge pull request #47398 from Faless/feature/network-local-port-salvagedRémi Verschelde
2021-04-25Remove duplicate commentsDennis Brakhane
A few single line comments were duplicated, probably due to bad merges. This commit removes the obviously duplicate ones.
2021-04-23Add Embree-aarch64 thirdparty libraryjfons
2021-04-22ICU: Update to version 69.1, improve ICU data export process.bruvzg
2021-04-19Merge pull request #48002 from Geometror/update-meshoptimizerRémi Verschelde
update meshoptimizer to version 0.16
2021-04-18update meshoptimizer to 0.16Hendrik Brucker
2021-04-16Import: Cleanup and optimize etcpak compression methodRémi Verschelde
Avoid unnecessary allocation of temporary buffers for each mip, and creates only one Image with the compressed data. Also renames variable and reorders code for clarity. Clarify that squish is now only used for decompression. Documented which formats can be decompressed in Image.
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-04-12This renames PacketPeerUDP.listen to bind.Fabio Alessandrelli
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