Commit Graph

321 Commits

Author SHA1 Message Date
bruvzg 08579bb971
Fix FreeType crashing in GCC + LTO builds. 2022-06-08 13:48:24 +03:00
Rémi Verschelde 52da1bcdca rvo2: Sync with upstream commit bfc0486
bfc048670a
(cherry picked from commit 86cdf1f2cf)
2022-05-19 15:25:43 +02:00
Rémi Verschelde e317b7efbb rvo2: Re-sync with upstream, properly document Godot-specific changes
Still tracking the `v1.0.1` tag for now, just reverting all the unnecessary
style changes that created a diff with upstream.

(cherry picked from commit 6c78170d8c)
2022-05-19 15:25:43 +02:00
Rémi Verschelde f33899d5bf pcre2: Fix support for macOS < 11.0 by making JIT conditional at runtime
(cherry picked from commit 24a06a6d4a)
2022-05-18 11:57:15 +02:00
Rémi Verschelde 393c09cae8 xatlas: Sync with upstream 16ace528a
Just cleaning up unused but set variables.

16ace528ac
(cherry picked from commit 10c99d7b41)
2022-05-17 23:36:21 +02:00
Rémi Verschelde 6be616bd16 Recast: Update to upstream commit 5a870d4 (2022)
(cherry picked from commit 4635f24322)
2022-05-17 23:35:49 +02:00
Rémi Verschelde a5ee5011ca pcre2: Update to upstream version 10.40
Changelog: https://github.com/PCRE2Project/pcre2/blob/pcre2-10.40/ChangeLog
(cherry picked from commit fd6eb2c2d2)
2022-05-17 23:28:45 +02:00
Rémi Verschelde 0f3aff2d77
Merge pull request #61131 from akien-mga/3.x-freetype-2.12.1 2022-05-17 23:15:21 +02:00
bruvzg 98c7db745b FreeType: Update to version 2.12.1
(cherry picked from commit 93fba7ead3)
2022-05-17 22:28:10 +02:00
Rémi Verschelde 8e12c755d1 nanosvg: Sync with upstream 4c8f013 2022-05-17 22:17:54 +02:00
Rémi Verschelde 7515b47e8e bullet: Sync with upstream 3.24
Remove upstreamed patch.
2022-05-17 11:45:52 +02:00
Haoyu Qiu 153dc4d57e Backport the new Tween system as SceneTreeTween
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2022-04-29 20:01:12 +08:00
Rémi Verschelde e1beca0232 zlib/minizip: Update to version 1.2.12
Security update, fixes CVE-2018-25032 in zlib.

Preliminary assessment doesn't show Godot as affected since we don't
seem to call `deflate` with the problematic parameters, but the extent
of the vulnerability is not fully clear upstream yet.

(cherry picked from commit 420d0d50bc)
2022-04-13 11:43:49 +02:00
bruvzg fd2fba7c2c
Add binary MO translation file support. Add brotli decoder and WOFF2 support.
Use smaller .mo files instead of .po, if gettext is available.
Convert editor fonts to .woff2 format.
2022-03-25 19:51:39 +02:00
jfons e66003b09a Upgrade stb_rect_pack to 1.01
Enables large rectangle support by default.

(cherry picked from commit 0395b5e414)
2022-03-02 11:00:26 +01:00
Rémi Verschelde 72e338e8e7
libwebp: Sync with upstream 1.2.2
Changes: https://chromium.googlesource.com/webm/libwebp/+/1.2.2/NEWS
(cherry picked from commit 339dcd80ae)
2022-02-11 09:50:57 +01:00
Rémi Verschelde 4f1e33b556
freetype: Update to upstream version 2.11.1
(cherry picked from commit f615926d3c)
2022-01-19 14:03:38 +01:00
Fabio Alessandrelli d76a26e086
Bump mbedTLS version to 2.28.0 (new LTS).
Keep applying the windows entropy patch (UWP support).
Remove no longer needed padlock patch.
Update thirdparty README to reflect changes, and new source inclusion
criteria.

(cherry picked from commit e375cbd094)
2022-01-19 14:03:03 +01:00
Rémi Verschelde 305d7bd49e
bullet: Sync with upstream 3.21
Remove upstreamed patches. Add a new patch to fix a new warning.
2022-01-06 23:51:45 +01:00
Jake Young 09bc9eb101
Backport NavigationServer with RVO2 to `3.x`
Change the entire navigation system.
Remove editor prefix from nav mesh generator class. It is now used for baking
at runtime as well.
Navigation supports obstacle avoidance now with the RVO2 library.
Nav system will also automatically link all nav meshes together to form one
overall complete nav map.
2022-01-05 16:00:56 +01:00
Fabio Alessandrelli a40b88dc2c
Bump mbedtls to 2.16.12
Remove upstreamed patches.
Re-apply padlock and uwp patches.

NOTE: We could replace our padloack patch with mbedtls 3452.
(cherry picked from commit 36d316876b)
2021-12-21 11:20:53 +01:00
Vincent 8a4c583538
Fix crash when loading an invalid mp3 file
(cherry picked from commit 2d0068d1cb)
2021-12-01 16:47:30 +01:00
Rémi Verschelde 5c6e39b2a6
wslay: Sync with upstream 45d22583b
45d22583b4

Mostly style changes, a couple new methods and fixes.
Tweak file structure a bit.

(cherry picked from commit a706ef3272)
2021-11-20 11:50:59 +01:00
Rémi Verschelde 38c5ba85ab
libvorbis: Sync with upstream 1.3.7
Fixes various bugs, including several ones with security relevance.

Changes: https://github.com/xiph/vorbis/releases/tag/v1.3.7
(cherry picked from commit 28ad2e8c72)
2021-11-20 11:50:45 +01:00
Rémi Verschelde 724c207005
libwebp: Sync with upstream 1.2.1
Changes: https://chromium.googlesource.com/webm/libwebp/+/1.2.1/NEWS
(cherry picked from commit 41ce417847)
2021-11-20 11:50:34 +01:00
Rémi Verschelde d085385e60
zstd: Update to upstream version 1.5.0
Release notes: https://github.com/facebook/zstd/releases/tag/v1.5.0

(cherry picked from commit 5bea1370f0)
2021-11-20 11:50:17 +01:00
Rémi Verschelde 322ff1f646
xatlas: Sync with upstream ec707faea
ec707faeac
(cherry picked from commit 0b84b26b2e)
2021-11-20 11:49:46 +01:00
Rémi Verschelde 86ab8b2613
pcre2: Update to upstream version 10.39
Changelog: https://github.com/PhilipHazel/pcre2/blob/pcre2-10.39/ChangeLog
(cherry picked from commit 914b7f825d)
2021-11-20 11:49:36 +01:00
Rémi Verschelde 6b04e3e3f0
libogg: Update to upstream 1.3.5
Mostly a cosmetic update, we were already on a commit close to what
ended up being tagged as 1.3.5. Adds an extra buffer overflow fix.

(cherry picked from commit 77efd406bf)
2021-11-20 11:49:25 +01:00
Rémi Verschelde 31dbc59c39
tinyexr: Sync with upstream 1.0.1
Removes miniz as a bundled dependency, relies on our own zlib instead.

Includes a couple commits ahead of `v1.0.1` tag to fix MinGW builds.

(cherry picked from commit 46d3effa99)
2021-11-20 11:48:49 +01:00
Rémi Verschelde 72427737ae
mbedtls: Backport PR 4819 to fix certs parsing speed
Fixes engine startup time regression described here:
https://github.com/godotengine/godot/issues/43351#issuecomment-847466783

(cherry picked from commit 52a535c030)
2021-10-25 21:16:04 +02:00
Rémi Verschelde 5bcba2b825
mbedtls: Backport "Fix x86_64 assembly for bignum multiplication"
Backports PR https://github.com/ARMmbed/mbedtls/pull/4948 to fix a regression
with our macOS builds using Clang 12.

Fixes #53297.

(cherry picked from commit 4cf3056ca6)
2021-10-15 12:51:42 +02:00
Rémi Verschelde cbe0cff53d
bullet: Fix UWP build by disabling TaskScheduler dynamic loading
Cf. https://github.com/bulletphysics/bullet3/pull/3991
2021-10-06 07:44:30 +02:00
Rémi Verschelde b7901c773c
bullet: Sync with upstream 3.17
Stop include Bullet headers using `-isystem` for GCC/Clang as it misleads
SCons into not properly rebuilding all files when headers change.

This means we also need to make sure Bullet builds without warning, and
current version fares fairly well, there were just a couple to fix (patch
included).

Increase minimum version for distro packages to 2.90 (this was never released
as the "next" version after 2.89 was 3.05... but that covers it too).
2021-09-29 16:30:34 +02:00
Rémi Verschelde 4f734c15a4
nanosvg: Sync with upstream ccdb199
Includes fixes for a memory corruption bug (CVE-2019-1000032)
and possible division by zero.

(cherry picked from commit 05b28b66ea)
2021-09-27 17:59:04 +02:00
Max Hilbrunner 8190746066
Update bundled Mozilla X.509 CA root certificates
Updated to latest upstream changes (2021-07-05 21:36:52 GMT), taken from 8b263a18fc

(cherry picked from commit d9005912c1)
2021-08-12 16:42:17 +02:00
Rémi Verschelde 96f5ffdcc1
mbedtls: Update to upstream version 2.16.11
(cherry picked from commit cd7b25588b)
2021-07-20 13:05:28 +02:00
jfons a69cc9f13d
Upgrade Embree to the latest official release.
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.

(cherry picked from commit 767e374dce)
2021-05-22 15:14:07 +02:00
JFonS 73e2ccd603 Switch to embree-aarch64 2021-05-04 18:59:00 +02:00
Fabio Alessandrelli 6daa1643b0
[Net] Fix miniupnpc UWP build.
The patch has already been upstreamed, and custom patching won't be
needed during next version update.

(cherry picked from commit 8d5df826cb)
2021-03-24 13:13:59 +01:00
Rémi Verschelde 33628c482f
miniupnpc: Update to version 2.2.2
(cherry picked from commit 69486b1059)
2021-03-17 15:16:59 +01:00
Fabio Alessandrelli 50f0f51604 [Net] Fix miniupnpc when no interface is specified
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:
388adac947

One of those PR when the explanation is much longer then code changes
:).
2021-03-15 18:12:05 +01:00
Fabio Alessandrelli 2f1a8ae751
Bump mbedtls to version 2.16.10.
(cherry picked from commit 18bc1f2a8f)
2021-03-13 21:56:31 +01:00
JFonS 7d7d7ef16d CPU lightmapper formatting and minor fixes. 2021-01-14 18:08:33 +01:00
JFonS 112b416056 Implement new CPU lightmapper
Completely re-write the lightmap generation code:
- Follow the general lightmapper code structure from 4.0.
- Use proper path tracing to compute the global illumination.
- Use atlassing to merge all lightmaps into a single texture (done by @RandomShaper)
- Use OpenImageDenoiser to improve the generated lightmaps.
- Take into account alpha transparency in material textures.
- Allow baking environment lighting.
- Add bicubic lightmap filtering.

There is some minor compatibility breakage in some properties and methods
in BakedLightmap, but lightmaps generated in previous engine versions
should work fine out of the box.

The scene importer has been changed to generate `.unwrap_cache` files
next to the imported scene files. These files *SHOULD* be added to any
version control system as they guarantee there won't be differences when
re-importing the scene from other OSes or engine versions.

This work started as a Google Summer of Code project; Was later funded by IMVU for a good amount of progress;
Was then finished and polished by me on my free time.

Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
2021-01-14 18:05:56 +01:00
JFonS a80e4a6158 Add Embree thirdparty library 2021-01-14 18:02:07 +01:00
JFonS ad8abef74c Add OpenImageDenoise thirdparty library 2021-01-14 18:02:07 +01:00
Rémi Verschelde 52e674ded1
pcre2: Update to upstream version 10.36
Changelog: https://vcs.pcre.org/pcre2/code/tags/pcre2-10.36/ChangeLog?view=markup
(cherry picked from commit 951ad29c0f)
2021-01-13 16:17:08 +01:00
Rémi Verschelde 08efd1c908
COPYRIGHT: Update with recent additions, cleanup
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.

(cherry picked from commit c6802a65c6)
2021-01-13 16:17:08 +01:00
Rémi Verschelde d044c57069
enet: Sync with upstream 1.3.17
(cherry picked from commit d8495d41ca)
2021-01-13 16:17:08 +01:00