Commit Graph

973 Commits

Author SHA1 Message Date
Rémi Verschelde
d756169881
openxr: Sync with upstream 1.0.28 2023-07-11 09:13:16 +02:00
bruvzg
008d3de1e9
FreeType: Update to version 2.13.1 2023-07-10 12:04:02 +03:00
bruvzg
1061912c7f
ICU4C: Update to version 73.2 2023-07-10 11:37:51 +03:00
bruvzg
ad83a3194c
HarfBuzz: Update to version 8.0.0 2023-07-10 00:51:41 +03:00
Rémi Verschelde
d0c1dd16ee
Revert "Update RVO2 to git 2022.09"
This reverts commit c920881105.

Fixes #78826.
2023-06-29 12:50:49 +02:00
Rémi Verschelde
c79183817d
Revert "minimp3: Add a .cpp file to simplify building the single-header implementation"
This reverts commit 6fc0912137.
2023-06-19 13:34:56 +02:00
Rémi Verschelde
6fc0912137
minimp3: Add a .cpp file to simplify building the single-header implementation
Single-header libraries like this require passing a bunch of defines _once_
before including the header, but not multiple times. This can make it tricky
in user code to know when to request the implementation, if the header needs
to be included in multiple files.

So properly compiling a .cpp file for the implementation solves this, and
also enables us to properly disable warnings on thirdparty implementation code.
2023-06-15 13:50:27 +02:00
Rémi Verschelde
375156a637
Merge pull request #78099 from DeeJayLSP/rvo2023
Update RVO2 to git 2022.09
2023-06-14 09:25:10 +02:00
DeeJayLSP
c920881105 Update RVO2 to git 2022.09 2023-06-13 21:13:21 -03:00
Álex Román Núñez
938a837056 Disable NVIDIA's threaded optimization on Windows 2023-06-13 11:47:40 +02:00
Rémi Verschelde
e289cf7085
pcre2: Update to upstream version 10.42 (take two)
Changelog: https://github.com/PCRE2Project/pcre2/blob/pcre2-10.42/ChangeLog

This fixes support for RISC-V architectures in the sljit library, so we
enable the module's compilation for `rv64` too.
2023-06-12 15:12:15 +02:00
Rémi Verschelde
72b59325cf
Merge pull request #77960 from akien-mga/tinyexr-1.0.5
tinyexr: Sync with upstream 1.0.5
2023-06-07 16:07:06 +02:00
Rémi Verschelde
3c25dfe0e4
msdfgen: Sync with upstream 1.10 2023-06-07 15:55:29 +02:00
Rémi Verschelde
56d85149e5
tinyexr: Sync with upstream 1.0.5 2023-06-07 15:33:34 +02:00
Rémi Verschelde
1d6b28f867
Merge pull request #77898 from DeeJayLSP/vulkan-250
Update Vulkan and related libraries to 1.3.250.0
2023-06-07 13:31:57 +02:00
Rémi Verschelde
10676e78e3
Add missing stdint.h includes for GCC 13+
Fixes #77927.
2023-06-07 11:36:55 +02:00
DeeJayLSP
504e002224 Update certs (2023.06 revision) 2023-06-06 20:29:01 -03:00
DeeJayLSP
1b642d283c Update Vulkan and related libraries to 1.3.250.0 2023-06-06 12:40:04 -03:00
bitsawer
ca55c455ad tinyexr: Sync with upstream 1.0.4 2023-06-05 12:15:30 +03:00
Rémi Verschelde
09d3dc86c0
Merge pull request #77379 from bruvzg/update_ts_libs
Update HarfBuzz, ICU and FreeType
2023-05-23 19:15:08 +02:00
Rémi Verschelde
56a15a552d
Merge pull request #77350 from akien-mga/glad-2.0.4
glad: Re-generate files with glad 2.0.4
2023-05-23 19:14:55 +02:00
Rémi Verschelde
86d3f43063
Merge pull request #77348 from akien-mga/brotli-202302
brotli: Sync with upstream commit ed1995b6b
2023-05-23 19:14:51 +02:00
Rémi Verschelde
4d0ab5332b
Merge pull request #77346 from akien-mga/recastnavigation-1.6.0
recast: Update to upstream version 1.6.0
2023-05-23 19:14:47 +02:00
Rémi Verschelde
b50023ce6b
Merge pull request #77345 from akien-mga/wslay-202208
wslay: Sync with upstream 0e7d106ff
2023-05-23 19:14:44 +02:00
Rémi Verschelde
7f0488899e
Merge pull request #77344 from akien-mga/zstd-1.5.5
zstd: Update to upstream version 1.5.5
2023-05-23 19:14:41 +02:00
bruvzg
b64df2bf74
Update HarfBuzz, ICU and FreeType
HarfBuzz: Update to version 7.3.0
ICU4C: Update to version 73.1
FreeType: Update to version 2.13.0
2023-05-23 03:26:16 +03:00
Rémi Verschelde
b137695b4c
glad: Re-generate files with glad 2.0.4
No change, just making explicit that we're up to date with upstream.
2023-05-22 15:22:34 +02:00
Rémi Verschelde
7770e4447d
brotli: Sync with upstream commit ed1995b6b
ed1995b6bd
2023-05-22 15:05:48 +02:00
Rémi Verschelde
2058b63067
recast: Update to upstream version 1.6.0
Release notes:
- https://github.com/recastnavigation/recastnavigation/releases/tag/v1.6.0
2023-05-22 14:47:42 +02:00
Rémi Verschelde
adfc46db4d
wslay: Sync with upstream 0e7d106ff
0e7d106ff8

Just a couple style fixes. Updating only so we know we don't have to review changes
since upstream development seems dormant.
2023-05-22 14:42:26 +02:00
Rémi Verschelde
6100b4bd33
zstd: Update to upstream version 1.5.5
Release notes:
- https://github.com/facebook/zstd/releases/tag/v1.5.3
- https://github.com/facebook/zstd/releases/tag/v1.5.4
- https://github.com/facebook/zstd/releases/tag/v1.5.5
2023-05-22 14:32:14 +02:00
Rémi Verschelde
c5834eb972
tinyexr: Sync with upstream 1.0.2
Fixes a bunch of bugs, notably addressing fuzzer reports (crashes).
https://github.com/syoyo/tinyexr/releases/tag/v1.0.2
2023-05-22 11:20:48 +02:00
Rémi Verschelde
b4584c08f9
Merge pull request #75769 from lyuma/msvc_node_debug_fix
Fix libwebp Node struct shadowing Godot's Node class in MSVC debugger
2023-05-19 10:10:13 +02:00
bonjorno7
283cac859c Make ok_color functions static
It needs to be a class to prevent build errors, but the functions can at least be static, so you don't have to instance the class.
2023-05-13 16:57:19 +02:00
Fabio Alessandrelli
eeac6f8c7f [TLS] Fix crashes trying to use TLS when not available.
If no StreamPeerTLS implementation is available, HTTPClient and
WebSocketPeer will now correctly refuse to connect using TLS returning
ERR_UNAVAILABLE.

Similarly, ENetConnection will refuse to setup DTLS when PacketPeerDTLS
is not available.
2023-05-12 20:08:10 +02:00
Rémi Verschelde
a1a102299a
Merge pull request #76952 from akien-mga/certs-2023-03
certs: Sync with Mozilla bundle as of Mar 23, 2023
2023-05-12 11:41:32 +02:00
Rémi Verschelde
bf86b7b2ec
Merge pull request #76951 from akien-mga/basisu-1.16.4
basis_universal: Update to 1.16.4
2023-05-12 11:41:08 +02:00
Rémi Verschelde
ce4f9ddf9c
Merge pull request #76949 from akien-mga/astcenc-4.4.0
astcenc: Update to 4.4.0
2023-05-12 11:40:45 +02:00
Rémi Verschelde
e1bd14b4c7
Merge pull request #76948 from akien-mga/doctest-2.4.11
doctest: Update to 2.4.11
2023-05-12 11:40:22 +02:00
Martin Capitanio
5db751832d Update ThorVG to v0.9.0
https://github.com/thorvg/thorvg/releases/tag/v0.9.0
Fixes #72478
2023-05-12 00:34:40 +02:00
Rémi Verschelde
d1c59b47e4
certs: Sync with Mozilla bundle as of Mar 23, 2023
8bcd1092d2
2023-05-11 14:50:17 +02:00
Rémi Verschelde
0ff337d20f
basis_universal: Update to 1.16.4
Almost no change in practice since the previous commit we tracked,
but now this is a tagged release.
2023-05-11 14:42:19 +02:00
Rémi Verschelde
5a3f955e05
astcenc: Update to 4.4.0
> The 4.4.0 release is a minor release with image quality improvements,
> a small performance boost, a few new quality-of-life features, and a
> few minor fixes for uncommon build configurations.

https://github.com/ARM-software/astc-encoder/releases/tag/4.4.0
2023-05-11 14:32:47 +02:00
Rémi Verschelde
3091c6e9e9
doctest: Update to 2.4.11 2023-05-11 14:24:23 +02:00
Rémi Verschelde
9e9b07ffd3
rvo2: Include cstdint for uint32_t
Fixes #76907.
2023-05-10 15:48:07 +02:00
Fabio Alessandrelli
024a4b1f2a mbedTLS: disable weak crypto and TLS versions.
This commit adds a new mbedTLS configuration header to customize the
built-in library (and can be optionally replaced by a platform-specific
one).

Currently, it disables most weak cryptographic functions (with the
notable exceptions of MD5 and SHA-1), along with removing support for
TLS versions 1.0 and 1.1 (making TLSv1.2 the only supported one).
2023-05-10 11:13:19 +02:00
smix8
a6ac305f96 Rework Navigation Avoidance
Rework Navigation Avoidance.
2023-05-10 05:01:58 +02:00
Rémi Verschelde
1c7a62d2c0
Merge pull request #76092 from ChibiDenDen/shader_cache_gles3
Add shader cache to gles3
2023-05-09 10:45:10 +02:00
ChibiDenDen
6441210177 Add ARB_get_program_binary to glad to support shader cache over desktop GL 2023-05-06 00:20:37 +03:00
Rémi Verschelde
1fde2092d0
mbedtls: Update to upstream version 2.28.3
Rediff patch from PR 1453, lstrlenW is no longer used upstream so
that part of the patch was dropped.
2023-04-18 10:38:24 +02:00
Lyuma
b3a83b7c4e Fix Node class in MSVC debugger for dev_build 2023-04-06 14:31:20 -07:00
Pedro J. Estébanez
abc13dbd0b Update HarfBuzz to 7.1.0 2023-04-03 09:13:48 +02:00
RedworkDE
cfed867da1 Update thorvg to 0.8.4 2023-03-31 00:05:21 +02:00
Rémi Verschelde
b113e6d4ff
Vulkan: Fix VMA build with GCC 13
Fixes #74647.
2023-03-09 10:46:35 +01:00
clayjohn
f7e72d1f3d Remove CVTT upstream changes to packing unpacking of BC6H formats
This fixes the quality regression without impacting performance
2023-02-22 13:20:26 -08:00
Rémi Verschelde
e2fc0acd36
Fix includes of thirdparty libs which can be unbundled on Linux
Changes `builtin_icu` and `builtin_recast` to match the folder names in
`thirdparty`.
2023-02-16 15:52:13 +01:00
RedworkDE
071499ac0d Fix ZIPReader failing to open empty zip files 2023-02-14 20:43:11 +01:00
Rémi Verschelde
ac68330130
Merge pull request #72045 from DeeJayLSP/update_libwebp
libwebp: Sync with upstream 1.3.0
2023-02-10 18:44:23 +01:00
Rémi Verschelde
cf9df3b5d4 meshoptimizer: Sync with upstream commit 4a287848f
4a287848fd
2023-01-31 22:27:49 -08:00
Fabio Alessandrelli
adba870534 [NET] Refactor TLS configuration.
Use a TLSOptions configuration object which is created via static
functions.

- "TLSOptions.client": uses the standard CA and common name verification.
- "TLSOptions.client_unsafe": uses optional CA verification (i.e. if specified)
- "TLSOptions.server": is the standard server configuration (chain + key)

This will allow us to expand the TLS configuration options to include
e.g. mutual authentication without bloating the classes that uses
StreamPeerTLS and PacketPeerDTLS as underlying peers.
2023-01-28 11:08:02 +01:00
DeeJayLSP
d8e8517d11 libwebp: Sync with upstream 1.3.0 2023-01-25 10:38:03 -03:00
Riteo
acb78384d8 Fix builtin alsa headers building on musl
For some reason it doesn't use the POSIX `poll.h`, instead resorting to
`sys/poll.h`. Musl doesn't really like this at all, throwing a warning
and, thus, halting compilation.
2023-01-23 20:31:22 +01:00
bruvzg
5c4fe6339b
[Linux/BSD] Include headers for dynamically loaded libraries to simplify build dependencies. 2023-01-23 16:37:43 +02:00
Rémi Verschelde
53dcdf5401
astcenc: Fix build with SSE3 but no SSSE3
Fixes #71700.
Patch submitted upstream.
2023-01-19 23:56:05 +01:00
K. S. Ernest (iFire) Lee
696346f4cc
Add ASTC compression and decompression with Arm astcenc.
Co-authored-by: Gordon A Macpherson <gordon.a.macpherson@gmail.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-19 16:27:59 +01:00
DeeJayLSP
93409b8e64
zlib/minizip: Update to version 1.2.13, remove zlib from freetype
Security update, fixes CVE-2022-37434 in zlib.

Only applications exposing/using `inflateGetHeader()` seem to be affected,
which is not our case, so this is not critical for Godot.

Remove duplicated copy of zlib in freetype sources to force using the updated
version in `thirdparty/zlib/`.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-07 13:03:06 +01:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Rémi Verschelde
d0398f62f0
Revert "pcre2: Update to upstream version 10.42"
This reverts commit 62c3e4ab9c.

Needs more work, see comments about `_regex_free` errors in #70447.
2022-12-23 11:29:11 +01:00
Rémi Verschelde
62c3e4ab9c
pcre2: Update to upstream version 10.42
Changelog: https://github.com/PCRE2Project/pcre2/blob/pcre2-10.42/ChangeLog

This should also fix support for RISC-V architectures, at least in the sljit
library.
2022-12-22 16:34:29 +01:00
Rémi Verschelde
27b637ce38
Merge pull request #70395 from akien-mga/mbedtls-2.28.2
mbedtls: Update to upstream version 2.28.2
2022-12-21 18:38:27 +01:00
Rémi Verschelde
6e65244b6b
mbedtls: Update to upstream version 2.28.2 2022-12-21 12:05:54 +01:00
Rémi Verschelde
925ad18e1a
libpng: Update to upstream 1.6.39 2022-12-21 11:47:53 +01:00
bruvzg
d4fbe1ef06
HarfBuzz: Update to version 6.0.0 2022-12-17 00:19:09 +02:00
Rémi Verschelde
cb7984e411
Merge pull request #70010 from akien-mga/graphite-mit
graphite: Update to latest Git, switch to MIT license
2022-12-13 10:13:16 +01:00
Rémi Verschelde
0ee6ffb257
graphite: Update to latest Git, switch to MIT license
Graphite is now available under:
MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later

We pick MIT which is the same as Godot's main license for simplicity.

Remove define to skip deprecation warnings, upstream fixed those.
2022-12-13 10:06:00 +01:00
Bastiaan Olij
b8b5e6ecd0 Update to OpenXR 1.0.26 2022-12-13 12:11:36 +11:00
Rémi Verschelde
a20aabf84a
Web: Fix side module build with Embree
Using `EM_ASM` here would cause this error in template builds:
```
EM_ASM is not supported in side modules
```
We use our own method for this since it already handles this properly.
2022-12-09 08:02:03 +01:00
Rémi Verschelde
d7905b3c0b
basis_universal: Sync with upstream a91e94c84
a91e94c849
2022-12-08 13:49:45 +01:00
Rémi Verschelde
d47daf0187
Merge pull request #69344 from DeeJayLSP/update_thorvg
Update thorvg to 0.8.3
2022-12-01 23:51:33 +01:00
DeeJayLSP
f592f6ba0c Update miniupnpc to 2.2.4 2022-11-30 10:30:23 -03:00
DeeJayLSP
88b7d5c3c5 Update thorvg to 0.8.3 2022-11-30 09:14:34 -03:00
DeeJayLSP
a81c1e8a58 Update CA certificates to 2022.10 revision 2022-11-29 12:45:41 -03:00
Rémi Verschelde
ceca460783
Merge pull request #69189 from grahamboree/updated-recast
Update Recast integration to fix crash in NavigationMesh baking
2022-11-28 11:03:05 +01:00
Graham Pentheny
36de150c74 Updated Recast to 4fef044
In some cases Godot can generate input parameters to Recast that cause it to crash.  Specifically when baking NavigationMeshes for input meshes that have axis extents less than half the NavigationMesh CellSize.

This has been fixed upstream in Recast (in 3901c5854c).  Updating Godot's Recast integration fixes this crash issue in Godot as well.
2022-11-27 19:22:33 -05:00
DeeJayLSP
5e4158eb48
Update embree to 3.13.5 2022-11-25 13:09:04 +01:00
DeeJayLSP
f30219627d Update cvtt to GIT 2022 2022-11-23 15:15:06 -03:00
Rémi Verschelde
c52d8369ce
Merge pull request #66516 from DeeJayLSP/update_theora
Update libtheora to GIT (2020.10)
2022-11-15 16:25:05 +01:00
Riteo Siuga
dc2919d57b Load GLX dynamically with GLAD
This is accomplished through the addition of a GLAD GLX loader in the
`thirdparty` directory.

This is another step towards a nice Wayland/X11 interoperation.
2022-11-15 13:55:30 +01:00
Riteo
f6397bffb1 Regenerate GL loader code with GLAD 2
GLAD 1 creates unusable loaders for EGL, while the newly released GLAD 2
does not, so for consistency I thought that it would be a good idea to
uniform things beforehand. While it had some API changes some renames
were all that was needed and everything works like before, at least on
the Wayland branch.

I've kept the structure identical, although this new generator has quite
a few hefty features, such as a single header mode.

I've also added GLAD to `thirdparty/README.md`, but I haven't specified
that in the commit title because it's a very small "fix".
2022-11-14 21:48:01 +01:00
Rémi Verschelde
0181d005c9
vulkan: Update all components to Vulkan SDK 1.3.231.1
Updates to volk, vulkan headers, `vk_enum_string_helper.h`, glslang,
spirv-reflect.

No update to VMA which still has 3.0.1 as it's last tagged release.
2022-11-03 12:20:46 +01:00
Rémi Verschelde
d43364e3cc
Merge pull request #67968 from bruvzg/icu72.1
ICU: Update to version 72.1
2022-10-31 14:25:37 +01:00
Rémi Verschelde
a7f67d4a79
Merge pull request #67702 from bruvzg/hb351
HarfBuzz: Update to version 5.3.1
2022-10-31 14:25:28 +01:00
bruvzg
4e44a271f0
ICU: Update to version 72.1 2022-10-28 09:11:55 +03:00
David Snopek
398ee08375 Add multiview to the opengl3 driver 2022-10-21 21:00:32 -05:00
bruvzg
7afd76bba6
HarfBuzz: Update to version 5.3.1 2022-10-21 11:35:13 +03:00
DeeJayLSP
b87584a070 Update libtheora to GIT (2020.10) 2022-10-18 21:15:13 -03:00
Rémi Verschelde
99b450762b thorvg: Sync with 0.8.2, cleanup SCsub and fix includes
We were compiling `src/loaders/external_png` but using the header from
`src/loaders/png`, leading to `-Wodr` warnings.

Remove unused bundled lodepng code since we use `external_png` (libpng).

Whitespace changes are from upstream, will attempt PR'ing a cleanup there for
future updates.
2022-10-13 17:05:41 +02:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
Rémi Verschelde
d8268aae30 Fix MSVC warnings C4324, C4389, C4456, and C4459
Part of #66537.
2022-09-28 16:43:09 +02:00
Rémi Verschelde
09d1ebb7ae Merge pull request #66004 from bruvzg/hb52
Update to version 5.2.0, add new Unicode 15 blocks and scripts.
2022-09-18 00:43:49 +02:00
bruvzg
ec8084d87f
HarfBuzz: Update to version 5.2.0, add new Unicode 15 blocks and scripts. 2022-09-17 23:19:11 +03:00
Rémi Verschelde
0f2dc5c5e1 libpng: Update to upstream 1.6.38 2022-09-16 21:09:44 +02:00
Bastiaan Olij
70d3935bf9 Update OpenXR to 1.0.25 2022-09-14 11:20:54 +10:00
bruvzg
8dab4a2aa3
[Windows] Improve build environment detection, add support for Windows on ARM. 2022-08-27 16:10:53 +03:00
Rémi Verschelde
04ec0de37a
Merge pull request #64855 from RandomShaper/spv_ref_zero_alloc
Avoid spurious alloc error in SPIRV-Reflect
2022-08-25 07:32:10 +02:00
Pedro J. Estébanez
aed350072f Avoid spurious alloc error in SPIRV-Reflect 2022-08-24 22:53:28 +02:00
Rémi Verschelde
e5e34f21fc libwebp: Sync with upstream 1.2.4
Changes: https://chromium.googlesource.com/webm/libwebp/+/1.2.4/NEWS
2022-08-23 19:05:53 +02:00
Pedro J. Estébanez
5020a545d1 Patch glslang to avoid build errors on certain platforms 2022-08-23 10:54:27 +02:00
Rémi Verschelde
557953d844
Merge pull request #62847 from RandomShaper/upgrade_spirv_reflect
spirv-reflect: Update to latest commit
2022-08-06 09:24:53 +02:00
Rémi Verschelde
d8c8ecb148 certs: Sync with Mozilla bundle as of Jul 19, 2022
7f33e7eb84
2022-08-05 03:02:38 +02:00
bruvzg
2980c0d60c
HarfBuzz: Update to version 5.1.0, use new FLAG_SAFE_TO_INSERT_TATWEEL flag to improve justification. 2022-08-04 09:10:16 +03:00
bruvzg
4373a0bb86
[TextServer] Add ICU Unicode security and spoofing detection. 2022-08-02 15:37:49 +03:00
bruvzg
5f5a9f256c
HarfBuzz: Update to version 5.0.1 2022-07-24 23:05:03 +03:00
Fabio Alessandrelli
baa261cdc8 Bump mbedtls to 2.18.1 (headers). 2022-07-18 18:25:29 +02:00
Fabio Alessandrelli
9403a68853 Bump mbedtls to version 2.18.1, update LICENSE.
Keep applying windows entropy patch.

Update thirdparty/README with correct version information.
2022-07-18 14:58:08 +02:00
Pedro J. Estébanez
02e102911f spirv-reflect: Update to latest commit 2022-07-08 22:18:51 +02:00
bruvzg
6c27d9d624
HarfBuzz: Update to version 4.4.1 2022-07-04 09:12:19 +03:00
Rémi Verschelde
de75085c7f etcpak: Fix Android ARMv7 build with NDK r23
Fix merged upstream.
Fixes #62516.
2022-06-29 14:31:57 +02:00
Rémi Verschelde
39ed39900e zstd: Update to upstream version 1.5.2
Release notes:
- https://github.com/facebook/zstd/releases/tag/v1.5.1
- https://github.com/facebook/zstd/releases/tag/v1.5.2
2022-06-28 14:10:07 +02:00
Bastiaan Olij
a740a6eda1 Update OpenXR to 1.0.23 2022-06-23 17:07:22 +10:00
Rémi Verschelde
40c360b870
Merge pull request #62122 from reduz/implement-movie-writer
Implement a Movie Maker mode
2022-06-21 14:24:14 +02:00
reduz
5786516d4d Implement Running Godot as Movie Writer
* Allows running the game in "movie writer" mode.
* It ensures entirely stable framerate, so your run can be saved stable and with proper sound (which is impossible if your CPU/GPU can't sustain doing this in real-time).
* If disabling vsync, it can save movies faster than the game is run, but if you want to control the interaction it can get difficult.
* Implements a simple, default MJPEG writer.

This new features has two main use cases, which have high demand:
* Saving game videos in high quality and ensuring the frame rate is *completely* stable, always.
* Using Godot as a tool to make movies and animations (which is ideal if you want interaction, or creating them procedurally. No other software is as good for this).

**Note**: This feature **IS NOT** for capturing real-time footage. Use something like OBS, SimpleScreenRecorder or FRAPS to achieve that, as they do a much better job at intercepting the compositor than Godot can probably do using Vulkan or OpenGL natively. If your game runs near real-time when capturing, you can still use this feature but it will play no sound (sound will be saved directly).

Usage:

$ godot --write-movie movie.avi [scene_file.tscn]

Missing:

* Options for configuring video writing via GLOBAL_DEF
* UI Menu for launching with this mode from the editor.
* Add to list of command line options.
* Add a feature tag to override configurations when movie writing (fantastic for saving videos with highest quality settings).
2022-06-21 11:28:47 +02:00
Rémi Verschelde
bcd783fa9a doctest: Update to 2.4.9 2022-06-19 10:41:56 +02:00
Cyberrebell
6a2bd6c936 updated vk_mem_alloc.h to fix startup issue with AMD 6000 series GPUs using SteamVR on Windows 2022-06-12 23:36:06 +02:00
Rémi Verschelde
e297ddf656
Merge pull request #61891 from akien-mga/meshoptimizer-20220601 2022-06-10 13:14:45 +02:00
Rémi Verschelde
a3195dd4eb meshoptimizer: Sync with upstream commit ea4558d1c
ea4558d1c0
2022-06-10 12:46:50 +02:00
Rémi Verschelde
776418942c etcpak: Update to upstream release 1.0 (June 4, 2022)
No change compared to our previous commit, just documentation update
and a release tag we can track.
2022-06-10 12:36:45 +02:00
bruvzg
efb5d7adf0
Fix FreeType crashing in GCC + LTO builds. 2022-06-08 13:59:13 +03:00
K. S. Ernest (iFire) Lee
1b776a6e7a Allow picking similar colours using OKHSL. 2022-06-07 05:53:27 -07:00
Rémi Verschelde
fb67a685a9 thorvg: Sync a couple fixes from upstream
We're still formally tracking v0.8.1, those fixes don't impact the
library features. I didn't bother documenting them with patches as
they will likely soon make their way to either a v0.8.2 or v0.9.0.
2022-05-23 19:44:13 +02:00
Rémi Verschelde
4f43739684
Merge pull request #61310 from marxin/gcc13-fix-vhacd 2022-05-23 19:19:14 +02:00
Martin Liska
a648d831a9 Fix building VHACD with GCC 13.
Fixes the following error:
thirdparty/vhacd/inc/vhacdICHull.h:46:31: error: 'uint32_t' does not name a type
   46 |     ICHullError Process(const uint32_t nPointsCH, const double minVolume = 0.0);
      |                               ^~~~~~~~

Note the upstream version of the third party library is not affected.
2022-05-23 18:52:27 +02:00
bruvzg
797ccd3ef8
HarfBuzz: Update to version 4.3.0 2022-05-23 13:18:11 +03:00
Rémi Verschelde
86cdf1f2cf rvo2: Sync with upstream commit bfc0486
bfc048670a
2022-05-18 14:53:52 +02:00
Rémi Verschelde
6c78170d8c 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.
2022-05-18 14:40:34 +02:00
Rémi Verschelde
24a06a6d4a pcre2: Fix support for macOS < 11.0 by making JIT conditional at runtime 2022-05-18 11:41:09 +02:00
Rémi Verschelde
b052835ca3
Merge pull request #61137 from akien-mga/meshoptimizer-20220424 2022-05-17 23:49:50 +02:00
Rémi Verschelde
fa0c9c951f
Merge pull request #61136 from akien-mga/xatlas-20220318
xatlas: Sync with upstream 16ace528a
2022-05-17 23:36:10 +02:00
Rémi Verschelde
e2d0aa3779
Merge pull request #61135 from akien-mga/recast-20220320 2022-05-17 23:35:37 +02:00
Rémi Verschelde
7e4a02d66c
Merge pull request #61120 from akien-mga/doctest-2.4.8 2022-05-17 23:25:14 +02:00
Rémi Verschelde
e4e61df438 meshoptimizer: Sync with upstream commit 8a7d69caa
8a7d69caa6
2022-05-17 23:24:52 +02:00
Rémi Verschelde
0c1429da0d
Merge pull request #61132 from akien-mga/freetype-cleanup
FreeType: Cleanup some unused files
2022-05-17 23:19:29 +02:00
Rémi Verschelde
10c99d7b41 xatlas: Sync with upstream 16ace528a
Just cleaning up unused but set variables.

16ace528ac
2022-05-17 23:03:23 +02:00
Rémi Verschelde
4635f24322 Recast: Update to upstream commit 5a870d4 (2022) 2022-05-17 22:59:40 +02:00
Rémi Verschelde
03ff10de8a FreeType: Cleanup some unused files 2022-05-17 22:31:05 +02:00
Rémi Verschelde
eb9fd57f76 doctest: Update to 2.4.8 2022-05-17 21:53:32 +02:00
Rémi Verschelde
fd6eb2c2d2 pcre2: Update to upstream version 10.40
Changelog: https://github.com/PCRE2Project/pcre2/blob/pcre2-10.40/ChangeLog
2022-05-17 21:37:20 +02:00
Rémi Verschelde
f1ef582036
Merge pull request #61118 from akien-mga/certs-update 2022-05-17 21:24:35 +02:00
bruvzg
93fba7ead3
Update HarfBuzz, ICU and FreeType.
HarfBuzz: Update to version 4.2.1
FreeType: Update to version 2.12.1
ICU: Update to version 71.1
2022-05-17 18:39:31 +03:00
Rémi Verschelde
be6db612a1 certs: Sync with Mozilla bundle as of Mar 31, 2022
39c6ac0550
2022-05-17 16:23:01 +02:00
reduz
746dddc067 Replace most uses of Map by HashMap
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
  (order matters) but use is discouraged.

There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
Rémi Verschelde
e8520044e7
Merge pull request #61047 from akien-mga/thorvg-0.8.1 2022-05-15 16:04:05 +02:00
Rémi Verschelde
154d081212 thorvg: Sync with upstream 0.8.1
And backport fix for FreeBSD support.

Fixes #60003.
2022-05-15 11:45:42 +02:00
bruvzg
71cc26f55e
etcpak: Update to upstream commit f128369 (May 13, 2022) 2022-05-13 15:58:53 +03:00
Rémi Verschelde
9570f3bf45 etcpak: Update to upstream commit 10fc4ce (May 12, 2022)
Fixes support for ARMv7+NEON.
2022-05-12 14:13:47 +02:00
Hendrik Brucker
e41e2a1103 Fix GCC warning with -Waggressive-loop-optimizations due to overflow 2022-04-30 16:43:16 +02:00
Hendrik Brucker
bde6fc9c82 Restructure and refine the noise module 2022-04-19 19:49:48 +02:00
Casper Beyer
d3dde0727c Normalize thirdparty readme formatting 2022-04-01 15:26:17 +08:00
Rémi Verschelde
420d0d50bc 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.
2022-03-31 15:19:11 +02:00
bruvzg
56544d8013
HarfBuzz: Update to version 4.2.0 2022-03-31 13:03:43 +03:00
Rémi Verschelde
e9b928b42a
Merge pull request #59524 from RandomShaper/update_vma 2022-03-29 13:07:01 +02:00
Pedro J. Estébanez
171e31de68 vk_mem_alloc: Update to upstream + Replace use of deprecated items 2022-03-29 11:28:09 +02:00
Rémi Verschelde
8c12dfe099
Merge pull request #56718 from Geometror/noise-overhaul 2022-03-28 21:59:18 +02:00
Rémi Verschelde
c21215628d
Merge pull request #59510 from bruvzg/use_woff2_fonts 2022-03-25 11:25:42 +01:00
bruvzg
78051f93a3
Convert the editor and default theme fonts to WOFF2 format to save space. 2022-03-25 11:45:55 +02:00
K. S. Ernest (iFire) Lee
3529141b4b Update basis universal to version 1.16.3.
Enable basis universal uastc internal storage instead of etc1s for better quality.
2022-03-24 22:41:23 -07:00
Rémi Verschelde
2a116f601b
Merge pull request #59275 from bruvzg/ft_brotli 2022-03-22 12:47:00 +01:00
Hendrik Brucker
2a55f10e8b Add FastNoiseLite / general noise overhaul
- replace OpenSimplexNoise

Co-authored-by: Cory Petkovsek <tinmanjuggernaut@users.noreply.github.com>
2022-03-20 14:53:45 +01:00
bruvzg
e07a8f0aa6
Add brotli decoder and WOFF2 support. 2022-03-18 15:09:38 +02:00
bruvzg
94a365e94b
HarfBuzz: Update to version 4.0.1 2022-03-18 14:50:57 +02:00
Rémi Verschelde
3a305d31f0 thorvg: Fix MinGW build by adding explicit <cstring> include
Fixes #59044.
2022-03-16 15:47:23 +01:00
Rémi Verschelde
3d7f155586 Remove unused Bullet module and thirdparty code
It has been disabled in `master` since one year (#45852) and our plan
is for Bullet, and possibly other thirdparty physics engines, to be
implemented via GDExtension so that they can be selected by the users
who need them.
2022-03-09 21:45:47 +01:00
K. S. Ernest (iFire) Lee
f7a809603c ThorVG: Sync with upstream 0.8.0 2022-03-08 06:30:31 -08:00
bruvzg
9b0fbfa06d
HarfBuzz: Update to version 4.0.0 2022-03-02 10:48:37 +02:00
Rémi Verschelde
90d16a3210
Merge pull request #58497 from JFonS/stb_rect_pack_upgrade 2022-02-25 12:31:40 +01:00
Pedro J. Estébanez
801741e787 vk_mem_alloc: Update to upstream + Adapt approach to small objects pooling
This updates VMA and instead of using the custom small pool approach from 4e6c9d3ae9, lazily creates pools for the relevant memory type indices, which doesn't require patching VMA.

Also, patches already merged upstream or not needed any longer are removed.
2022-02-24 14:30:55 +01:00
jfons
0395b5e414 Upgrade stb_rect_pack to 1.01
Enables large rectangle support by default.
2022-02-24 13:15:41 +01:00
Pedro J. Estébanez
6a35864a6d Really update volk to 1.3.204 2022-02-24 12:48:36 +01:00
Bastiaan Olij
65bae5a341 Add OpenXR 1.0.22 to thirdparty libraries
Will be compiled and used in the next commit.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-02-23 11:50:45 +01:00
Nova
36ae916c09 Fixed issue with Godot modifications to polypartition.cpp third-party file 2022-02-21 14:10:15 -05:00
Fabio Alessandrelli
ee7b67e135 [Crypto] Implement CryptoCore::RandomGenerator.
As a cryptographically secure random generator.

Internally it uses mbedTLS CTR-DRBG implementation which gets re-seeded
with entropy from OS::get_entropy when needed.

CryptoCore now additionally depends on `ctr_drbg.c` and `entropy.c`
thirdparty mbedtls files.
2022-02-14 10:45:50 +01:00
Rémi Verschelde
09a61cdf53
Merge pull request #57989 from RandomShaper/update_vma
Update & patch VMA, and re-implement the small buffers optimization
2022-02-14 09:07:11 +01:00
Pedro J. Estébanez
4e6c9d3ae9 Add a separate pool for small allocations in Vulkan RD 2022-02-12 12:47:08 +01:00
Pedro J. Estébanez
648a10514b vk_mem_alloc: Update to latest commit 2022-02-12 12:45:28 +01:00
Rémi Verschelde
84d7a69570
spirv-reflect: Update to latest commit, adds SPIRV 1.6 support 2022-02-11 18:42:51 +01:00
Rémi Verschelde
26b2defe0c
vulkan: Update volk, headers and glslang to 1.3.204 2022-02-11 18:42:51 +01:00
Rémi Verschelde
8f4793b225
Revert "vulkan: Update volk, headers and glslang to 1.3.204"
This reverts commit d233908fb6.
2022-02-11 17:50:22 +01:00
Rémi Verschelde
e11f0d9bfd
Revert "spirv-reflect: Update to latest commit, adds SPIRV 1.6 support"
This reverts commit 912c2062e6.
2022-02-11 17:49:45 +01:00
Rémi Verschelde
912c2062e6
spirv-reflect: Update to latest commit, adds SPIRV 1.6 support 2022-02-11 00:05:17 +01:00
Rémi Verschelde
d233908fb6
vulkan: Update volk, headers and glslang to 1.3.204 2022-02-10 23:57:03 +01:00
bruvzg
346a4b4f50
msdfgen: Update to version 1.9.2 2022-02-09 14:24:26 +02:00
bruvzg
c768189bd2
HarfBuzz: Update to version 3.3.2 2022-02-09 14:22:04 +02:00
K. S. Ernest (iFire) Lee
419b342a9a Faster CVTT by reducing quality.
Make BC6 and BC7 CVTT faster while still having better quality than DXT5.
2022-02-04 15:15:26 -08:00
Rémi Verschelde
e223bad86d
Core: Move Vector2i to its own vector2i.h header
Also reduce interdependencies and clean up a bit.
2022-02-04 16:32:21 +01:00
Rémi Verschelde
6acbd5f774
Merge pull request #57102 from akien-mga/libwebp-1.2.2 2022-02-03 15:16:57 +01:00
Rémi Verschelde
339dcd80ae
libwebp: Sync with upstream 1.2.2
Changes: https://chromium.googlesource.com/webm/libwebp/+/1.2.2/NEWS
2022-02-02 23:29:30 +01:00
bruvzg
5676b3c022
HarfBuzz: Update to version 3.3.1 2022-02-02 22:29:31 +02:00
Anilforextra
3382e0304d ThorVG: Sync with upstream 0.7.1
Changes: https://github.com/Samsung/thorvg/releases/tag/v0.7.1
2022-01-31 23:39:25 +05:45
Rémi Verschelde
04d283dc23
Merge pull request #36198 from Calinou/code-font-jetbrains-mono 2022-01-20 21:43:17 +01:00
Rémi Verschelde
9c4c541bca
thorvg: Fix usage of min/max breaking on VS 2017
Fixes https://github.com/godotengine/godot/issues/56894#issuecomment-1015956706.
2022-01-20 08:07:53 +01:00