Commit Graph

818 Commits

Author SHA1 Message Date
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
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