Commit graph

720 commits

Author SHA1 Message Date
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
Rémi Verschelde
cb7f28ad95
thorvg: Fix missing <cstring> includes for MinGW
Fixes #56894.
2022-01-18 12:31:18 +01:00
Hugo Locurcio
40be15920f
Remove support for PVRTC texture encoding and decoding
On the only platform where PVRTC is supported (iOS),
ETC2 generally supersedes PVRTC in every possible way. The increased
memory usage is not really a problem thanks to modern iOS' devices
processing power being higher than its Android counterparts.
2022-01-14 21:08:22 +01:00
K. S. Ernest (iFire) Lee
8d02759c72
Use ThorVG instead of NanoSVG for importing SVGs
ThorVG is a platform-independent portable library for drawing vector-based
scene and animation.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-01-14 15:49:39 +01:00
Rémi Verschelde
f615926d3c
freetype: Update to upstream version 2.11.1 2022-01-13 08:40:18 +01:00
Rémi Verschelde
8c76ad188b
glslang: Fix support for building against public/system library
Fix include paths to support both vendored and system-installed glslang.

Remove usage of the private `StandAlone` bits.
Requires us to vendor a copy of `DefaultTBuiltInResource` (or provide our own
customized one) as glslang doesn't provide it in its public API.
Also removes unused C interface as it's not well encapsulated and depends on
`StandAlone`.

Fixes #56307.
2022-01-12 14:36:02 +01:00
bruvzg
b63aced768
HarfBuzz: Update to version 3.2.0 2022-01-12 10:17:30 +02:00
Rémi Verschelde
a074ceefcd
Merge pull request #56130 from Faless/mbedtls/2.28.0 2022-01-11 15:03:28 +01:00
Hugo Locurcio
b5f88b1efc
Use JetBrains Mono as the editor's default code font
This recently released font has been gaining popularity thanks to
its readability and aesthetics. It also features font ligatures
(enabled by default, but can be disabled in the Editor Settings).

Its character set isn't as extensive as Hack's, but it should be
sufficient for most uses.

More information at <https://www.jetbrains.com/lp/mono/>.

This also reorders the third-party font notices to be in
alphabetical order.
2022-01-05 01:35:50 +01:00
Rémi Verschelde
fe52458154
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
Fabio Alessandrelli
e375cbd094 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.
2021-12-21 13:26:02 +01:00
Fabio Alessandrelli
36d316876b 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.
2021-12-20 13:58:54 +01:00
Aaron Franke
368c0bc0ac
Misc build system fixes 2021-12-10 12:14:27 -06:00
Rémi Verschelde
256406a0bc
Merge pull request #55505 from bruvzg/hb_312 2021-12-02 09:35:45 +01:00
Vincent
2d0068d1cb Fix crash when loading an invalid mp3 file 2021-12-01 14:30:38 +01:00
bruvzg
371010c5f9
HarfBuzz: Update to version 3.1.2 2021-12-01 09:37:48 +02:00
Je06jm
20deb0917d Implemented AMD's FSR as a computer shader for upscaling 3D scenes 2021-11-23 14:16:03 -07:00
Gergely Kis
a1a3e79ea5 Fix debug build for iphone
printf() does not have a version that accepts std::string
as format string parameter.
2021-11-23 16:48:52 +01:00
Rémi Verschelde
2b287509eb
Merge pull request #55128 from akien-mga/meshoptimizer-f4c356d79 2021-11-22 12:22:59 +01:00
Rémi Verschelde
a74e2c5058
Merge pull request #55136 from akien-mga/basisu-646a9f826 2021-11-20 10:47:29 +01:00
Rémi Verschelde
bf18965a51
Merge pull request #55126 from akien-mga/wslay-45d22583b 2021-11-20 10:47:20 +01:00
Rémi Verschelde
58443f73fe
Merge pull request #55129 from akien-mga/libvorbis-1.3.7 2021-11-20 10:47:09 +01:00
Rémi Verschelde
e97634f56d
Merge pull request #55127 from akien-mga/libwebp-1.2.1 2021-11-20 10:47:00 +01:00
Rémi Verschelde
bd896bf915
Merge pull request #55122 from akien-mga/zstd-1.5.0 2021-11-20 10:46:41 +01:00
Rémi Verschelde
0a76ddc3dd
Merge pull request #55123 from akien-mga/xatlas-ec707faea 2021-11-20 10:46:33 +01:00
Rémi Verschelde
4f444cc815
Merge pull request #55120 from akien-mga/pcre2-10.39 2021-11-20 10:46:24 +01:00
Rémi Verschelde
3924aa6e8f
Merge pull request #55119 from akien-mga/libogg-1.3.5 2021-11-20 10:46:15 +01:00
Rémi Verschelde
882d61791b
Merge pull request #55118 from akien-mga/graphite-80c52493e 2021-11-20 10:46:06 +01:00
Rémi Verschelde
e6fd2d550e
Merge pull request #55115 from akien-mga/tinyexr-1.0.1 2021-11-20 10:45:56 +01:00
Rémi Verschelde
07f8996b1c
certs: Sync with Mozilla bundle as of Nov 1, 2021
edd798d35a
2021-11-19 18:45:10 +01:00
Rémi Verschelde
2c22caccc5
basis_universal: Sync with upstream 646a9f826
646a9f8261
2021-11-19 18:40:08 +01:00
Rémi Verschelde
a706ef3272
wslay: Sync with upstream 45d22583b
45d22583b4

Mostly style changes, a couple new methods and fixes.
Tweak file structure a bit.
2021-11-19 15:47:20 +01:00
Rémi Verschelde
28ad2e8c72
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
2021-11-19 14:08:06 +01:00
Rémi Verschelde
2410f5de03
meshoptimizer: Sync with upstream commit f4c356d79
f4c356d79f
2021-11-19 14:02:49 +01:00
Rémi Verschelde
41ce417847
libwebp: Sync with upstream 1.2.1
Changes: https://chromium.googlesource.com/webm/libwebp/+/1.2.1/NEWS
2021-11-19 13:55:13 +01:00
Rémi Verschelde
5bea1370f0
zstd: Update to upstream version 1.5.0
Release notes: https://github.com/facebook/zstd/releases/tag/v1.5.0
2021-11-19 13:01:58 +01:00
Rémi Verschelde
0b84b26b2e
xatlas: Sync with upstream ec707faea
ec707faeac
2021-11-19 12:59:01 +01:00
Rémi Verschelde
914b7f825d
pcre2: Update to upstream version 10.39
Changelog: https://github.com/PhilipHazel/pcre2/blob/pcre2-10.39/ChangeLog
2021-11-19 12:47:40 +01:00
Rémi Verschelde
77efd406bf
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.
2021-11-19 12:33:13 +01:00
Rémi Verschelde
d1360895ee
graphite: Update to upstream commit 80c52493e
80c52493ef

Includes a fix for inaccurate slice range calculation for bases with diacritics.

Also removes unnecessary ChangeLog, and updated unrelated vhacd commit to match
currently used one.
2021-11-19 12:23:54 +01:00
Rémi Verschelde
432ac521ef
miniupnpc: Update to version 2.2.3
Library code and public headers are now properly separated, we can fix include paths
to remove the redundant subfolder.
2021-11-19 12:00:37 +01:00
Rémi Verschelde
46d3effa99
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.
2021-11-19 11:25:14 +01:00
bruvzg
da8aedfc17 HarfBuzz: Update to version 3.1.1 2021-11-08 13:26:21 +02:00
lawnjelly
e3491a3744
Add GLES2 2D renderer + Linux display manager
First implementation with Linux display manager.

- Add single-threaded mode for EditorResourcePreview (needed for OpenGL).

Co-authored-by: clayjohn <claynjohn@gmail.com>
Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2021-10-30 02:05:48 +02:00
bruvzg
44a241b241 ICU: Update to version 70.1 2021-10-28 09:15:28 +03:00
Rémi Verschelde
52a535c030
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
2021-10-25 17:59:47 +02:00
Rémi Verschelde
ae74e78909
Remove WebM support (and deps libvpx and opus)
We've had many issues with WebM support and specifically the libvpx library
over the years, mostly due to its poor integration in Godot's buildsystem,
but without anyone really interested in improving this state.

With the new GDExtensions in Godot 4.0, we intend to move video decoding to
first-party extensions, and this would likely be done using something like
libvlc to expose more codecs.

Removing the `webm` module means we can remove libsimplewebm, libvpx and
opus, which we were only used for that purpose. Both libvpx and opus were
fairly complex pieces of the buildsystem, so this is a nice cleanup.

This also removes the compile-time dependency on `yasm`.

Fixes lots of compilation or non-working WebM issues which will be linked
in the PR.
2021-10-15 12:09:11 +02:00
Rémi Verschelde
4cf3056ca6
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.
2021-10-14 11:03:03 +02:00
Rémi Verschelde
b04b3064ec
bullet: Fix UWP build by disabling TaskScheduler dynamic loading
Cf. https://github.com/bulletphysics/bullet3/pull/3991

(cherry picked from commit cbe0cff53d)
2021-10-06 08:18:19 +02:00
Rémi Verschelde
8d5475bd28
doctest: Update to 2.4.6 2021-10-04 11:20:19 +02:00
bruvzg
27e9d07f11 Remove Scene dependency from the TextServer, use scalable hex box font instead of built-in bitmap one. 2021-10-03 00:22:10 +03:00
Juan Linietsky
c370b4c4d0
Merge pull request #52544 from JFonS/lod_fixes
Auto LOD fixes and improvements
2021-09-30 14:49:11 -03:00
Rémi Verschelde
71f8b809b2
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).

Fixes #43868.

(cherry picked from commit b7901c773c)
2021-09-30 10:45:40 +02:00
jfons
9e1810695c Auto LOD fixes and improvements
* Fixed LODs for shadow meshes.
* Added a merging step before simplification. This helps with tesselated
  meshes that were previously left untouched. The angle difference at
  wich edges ar considered "hard" can be tweaked as an import setting.
* LODs will now start with the highest decimation possible and keep
  doubling (approximately) the number of triangles from there. This
  makes sure that very low triangle counts are included when possible.
* Given more weight to normal preservation.
* Modified MeshOptimizer to report distance-based error instead of
  including attributes in the reported metrics.
* Added attribute transference between the original mesh and the
  various LODs. Right now only normals are taken into account,
  but it could be expanded to other attributes in the future.
2021-09-27 17:04:56 +02:00