Commit graph

524 commits

Author SHA1 Message Date
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
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
kobewi
11e7963a14 Refactor and move easing equations 2021-09-24 13:47:13 +02:00
Rémi Verschelde
a09547450a
Merge pull request #52934 from akien-mga/etcpak-7c3cb6f
etcpak: Update to upstream commit 7c3cb6f (Jul 29, 2021)
2021-09-22 13:48:16 +02:00
Rémi Verschelde
b7ad29d574
Merge pull request #52933 from akien-mga/vulkan-1.2.190 2021-09-22 13:47:52 +02:00
Rémi Verschelde
3691cb0ca4
etcpak: Update to upstream commit 7c3cb6f (Jul 29, 2021)
Adds a new `useHeuristics` compression mode for ETC2.
Upstream defaults to enable it so we do the same.
2021-09-22 13:17:07 +02:00
Rémi Verschelde
a48dc10103
Merge pull request #52932 from JFonS/upd_ebr_readme 2021-09-22 12:56:34 +02:00
Rémi Verschelde
fd641ac85c
Vulkan: Update volk and Vulkan SDK components to 1.2.190 2021-09-22 12:56:15 +02:00
Joan Fons
eb0f67a541 Update thirdparty README for Embree 2021-09-22 12:29:35 +02:00
Rémi Verschelde
05b28b66ea
nanosvg: Sync with upstream ccdb199
Includes fixes for a memory corruption bug (CVE-2019-1000032)
and possible division by zero.
2021-09-22 12:14:57 +02:00
bruvzg
3061e3859d HarfBuzz: Update to version 3.0.0 2021-09-20 09:52:45 +03:00
Ellen Poe
f5d9c7b487 Replace stb_vorbis with libogg+libvorbis 2021-09-09 19:39:04 -07:00
bruvzg
4c3f7d1290 Makes FontData importable resource.
Adds multi-channel SDF font texture generation and rendering support.
Adds per-font oversampling support.
Adds FontData import plugins (for dynamic fonts, BMFonts and monospaced image fonts), font texture cache pre-generation and loading.
Adds BMFont binary format and outline support.
2021-08-27 15:43:18 +03:00
Pedro J. Estébanez
d29a0d5753 Upgrade spirv-reflect 2021-08-14 15:12:07 +02:00
Pedro J. Estébanez
7b7e17a626 Upgrade Vulkan memory allocator 2021-08-13 00:05:41 +02:00
bruvzg
d7957a2a20 Use "volk" instead of statically linked Vulkan loader. 2021-08-12 14:25:15 +03:00
Max Hilbrunner
d9005912c1 Update bundled Mozilla X.509 CA root certificates
Updated to latest upstream changes (2021-07-05 21:36:52 GMT), taken from 8b263a18fc
2021-08-11 14:13:31 +02:00
Rémi Verschelde
cd7b25588b
mbedtls: Update to upstream version 2.16.11 2021-07-20 12:32:46 +02:00
bruvzg
e5b956dc2d [Editor Fonts] Add Noto Sans Bold font variant for supported languages. 2021-07-19 23:08:05 +03:00
reduz
b2f6db7aa8
Implement Specialization Constants
* Added support to our local copy of SpirV Reflect (which does not support it).
* Pass them on render or compute pipeline creation.
* Not implemented in our shaders yet.
2021-07-11 23:16:09 +02:00
reduz
0d2e02945b Implement shader caching
* 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-31 10:13:09 +02:00
Johannes Witt
9f37456743
Meshoptimizer: Sync with upstream commit f5d83e8 2021-05-30 00:26:13 +02:00
K. S. Ernest (iFire) Lee
fc8ea1d828 Update with experimental mesh optimizer.
Normals being optimized has better quality now.

Test simplify once and then use a slightly less tolerant 
error for the target error.
2021-05-22 08:58:50 -07:00
jfons
767e374dce 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.
2021-05-21 17:00:24 +02:00
Hugo Locurcio
d211c05111
Use a DynamicFont for the default project theme
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-17 15:19:13 +02:00
Rémi Verschelde
2d133177e9
basis_universal: Update to upstream commit from Apr 16, 2021
BinomialLLC/basis_universal@ba1c3e40f1.
2021-05-07 17:26:11 +02:00
jfons
34b3e8f9e2 Add Embree-aarch64 thirdparty library 2021-04-23 15:57:28 +02:00
bruvzg
b56241f22f
ICU: Update to version 69.1, improve ICU data export process. 2021-04-22 16:56:53 +03:00
Rémi Verschelde
698c7d26f9
Merge pull request #48002 from Geometror/update-meshoptimizer
update meshoptimizer to version 0.16
2021-04-19 10:37:20 +02:00
Hendrik Brucker
9d18610190 update meshoptimizer to 0.16 2021-04-18 18:00:15 +02:00
Rémi Verschelde
0ab928e060
Import: Cleanup and optimize etcpak compression method
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-16 17:08:36 +02:00
Rémi Verschelde
638cfec853
etcpak: We only need the compression code, remove rest of etcpak app
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-14 16:50:02 +02:00
K. S. Ernest (iFire) Lee
d840165a32
Add etcpak library for faster ETC/ETC2/S3TC imports.
- `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-13 00:12:12 +02:00
Fabio Alessandrelli
8d5df826cb [Net] Fix miniupnpc UWP build.
The patch has already been upstreamed, and custom patching won't be
needed during next version update.
2021-03-24 12:53:43 +01:00
bruvzg
b79e8c22f0
HarfBuzz: Update to version 2.8.0 2021-03-16 19:56:52 +02:00
Rémi Verschelde
69486b1059
miniupnpc: Update to version 2.2.2 2021-03-16 10:54:38 +01:00
Fabio Alessandrelli
163fc125cd [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:
e85330231c

One of those PR when the explaination is much longer then code changes
:).
2021-03-15 17:33:26 +01:00
Fabio Alessandrelli
18bc1f2a8f Bump mbedtls to version 2.16.10. 2021-03-12 18:37:34 +01:00
Aaron Franke
ddd6fb37e8
Update PolyPartition / Triangulator library 2021-01-12 13:46:16 -05:00
K. S. Ernest (iFire) Lee
59b61a1f64 Scale error in mesh optimizer so it uses absolute scale.
Switch to simplify sloppy for another try.

Update to meshoptimizer e3f53f66e7a35b9b8764bee478589d79e34fa698.
2021-01-11 06:07:54 -08:00
Rémi Verschelde
98ccaa1bad
Merge pull request #45021 from akien-mga/spirv-reflect-c0ce03a
spirv-reflect: Update to upstream commit c0ce03a (Jan 6, 2021)
2021-01-08 14:48:01 +01:00
Rémi Verschelde
7a0a5f0a00
Merge pull request #45020 from akien-mga/pcre-10.36
pcre2: Update to upstream version 10.36
2021-01-08 14:47:47 +01:00
Rémi Verschelde
07e89131c6
spirv-reflect: Update to upstream commit c0ce03a (Jan 6, 2021) 2021-01-08 14:30:44 +01:00
Rémi Verschelde
951ad29c0f
pcre2: Update to upstream version 10.36
Changelog: https://vcs.pcre.org/pcre2/code/tags/pcre2-10.36/ChangeLog?view=markup
2021-01-08 14:10:32 +01:00
Rémi Verschelde
1899bb6254
r128: Update to upstream 1.4.4, fixes warnings 2021-01-08 13:56:21 +01:00
Fabio Alessandrelli
9241aebecd
Merge pull request #45013 from akien-mga/enet-1.3.17
enet: Sync with upstream 1.3.17
2021-01-08 13:55:03 +01:00
Rémi Verschelde
c6802a65c6
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.
2021-01-08 13:37:16 +01:00
Rémi Verschelde
d8495d41ca
enet: Sync with upstream 1.3.17 2021-01-08 12:02:03 +01:00
Rémi Verschelde
b72ad9d97b
Merge pull request #45012 from akien-mga/zstd-1.4.8
zstd: Update to upstream version 1.4.8
2021-01-08 11:57:20 +01:00
Rémi Verschelde
7917cb12df
doctest: Update to 2.4.4
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-08 11:37:36 +01:00
Rémi Verschelde
3645c9c80c
zstd: Update to upstream version 1.4.8 2021-01-08 11:21:43 +01:00
Rémi Verschelde
6010c49424
Merge pull request #44740 from fire/mesh-opt-collapse
Meshoptimizer Update: Restrict edge collapses to avoid triangle flipping
2020-12-30 16:40:44 +01:00
K. S. Ernest (iFire) Lee
8b69f9c18a Meshoptimizer update library 2020-12-30 06:30:25 -08:00
Rémi Verschelde
e495c2cb21
bullet: Sync with upstream 3.08 2020-12-30 13:39:14 +01:00
bruvzg
86006ce476
HarfBuzz: Update to upstream version 2.7.4 2020-12-27 10:38:37 +02:00
Rémi Verschelde
727faf9b48
Merge pull request #44540 from jacobcoughenour/vulkan-sdk-1.2.126.0
Vulkan: loader, headers, and glslang updated to sdk-1.2.162.0
2020-12-23 01:13:18 +01:00
Gordon MacPherson
5b5fdb0adf remove assimp pending fbx upgrade 2020-12-22 21:31:06 +00:00
jacobcoughenour
66d429576c Vulkan: loader, headers, and glslang updated to sdk-1.2.162.0
Updated glslang and Vulkan headers/loader following the instructions found in thirdparty/README.

glslang was updated to the 'known good' matching Vulkan SDK version 1.2.162.0.  Vulkan headers and loader were updated to the commit tagged with sdk-1.2.162.0.

'vk_mem_alloc.h' and 'vk_mem_alloc.c' are unchanged since there hasn't been a new tagged release since 2.3.0.

Here's the Vulkan release notes for this update:
https://vulkan.lunarg.com/doc/sdk/1.2.162.0/windows/release_notes.html

Reverted and removed the unnecessary fix-mingw-snprintf patch for glslang as well as the mention of it in thirdparty/README.md.
2020-12-21 20:28:49 -05:00
Rémi Verschelde
0923494c78
Merge pull request #44507 from bruvzg/icu_update_68_2
ICU: Update to upstream release 68.2
2020-12-21 12:36:47 +01:00
bruvzg
bf5ca85d61
ICU: Update to upstream release 68.2 2020-12-18 23:03:46 +02:00
Rémi Verschelde
2872006039
mbedtls: Update to upstream version 2.16.9 2020-12-18 21:43:21 +01:00
reduz
d2302f53d6 Implement automatic LOD (Level of Detail)
-Happens on import by default for all models
-Just works (tm)
-Biasing can be later adjusted per node or per viewport (as well as globally)
-Disabled AABB.get_support test because its broken
2020-12-18 15:48:03 +01:00
Rémi Verschelde
3cbf8bde84
bullet: Sync with upstream 3.07 2020-12-18 13:41:11 +01:00
reduz
77a045e902 Rework Mesh handling on scene importing.
-Reworked how meshes are treated by importer by using EditorSceneImporterMesh and EditorSceneImporterMeshNode. Instead of Mesh and MeshInstance, this allows more efficient processing of meshes before they are actually registered in the RenderingServer.
-Integrated MeshOptimizer
-Reworked internals of SurfaceTool to use arrays, making it more performant and easy to run optimizatons on.
2020-12-13 21:29:51 -03:00
Sacha Waked
7e2b88a7eb Updated open-simplex to have const noise functions
"open-simplex-noise-in-c" now updated to master and "opensimplex" module refactored accordingly
2020-12-04 11:26:05 +01:00
Adam Brown
23c754360a xatlas: Sync with upstream 5571fc7
Fixes #44017 by changing the `normalize()` function to check for non-negative rather than non-zero via an epsilon check.
2020-12-02 00:17:45 -08:00
bruvzg
b9f441e81e
[Complex Text Layouts] Add third-party TextServer dependencies (ICU, HarfBuzz, Graphite). 2020-11-26 13:55:27 +02:00
bruvzg
493da99269
[Complex Text Layouts] Implement TextServer interface. Implement Fallback TextServer. 2020-11-26 13:55:26 +02:00
Rémi Verschelde
932c6ff3fb
Merge pull request #43719 from akien-mga/nanosvg-3e403ec
nanosvg: Sync with upstream 3e403ec
2020-11-20 18:42:43 +01:00
Andrii Doroshenko (Xrayez)
282ac09eef doctest: Update to 2.4.1
Includes a patch for breakpoint inline assembly for macOS.
2020-11-20 13:50:07 +02:00
Rémi Verschelde
1bb6491992
nanosvg: Sync with upstream 3e403ec
Includes some loop condition fixes after fuzzing.

The previously identified regression (#43641) is now fixed upstream.
2020-11-20 12:01:29 +01:00
Rémi Verschelde
cd6afc05d1
Revert "nanosvg: Sync with upstream cc6c08d"
This reverts commit f697e7879b.

Part of the update introduced a regression:
https://github.com/memononen/nanosvg/issues/188.

We could include a local revert of the problematic commit but let's just do a
full revert to our previous version, and I'll re-update once the regression
is fixed upstream.

Fixes #43641.
2020-11-18 13:23:17 +01:00
Rémi Verschelde
f697e7879b
nanosvg: Sync with upstream cc6c08d
Includes some loop condition fixes after fuzzing.
2020-11-18 08:21:46 +01:00
bruvzg
70bdf0ecf2
Update "open-simplex-noise-in-c" to fix undefined signed overflow. 2020-11-09 14:31:12 +02:00
Rémi Verschelde
825ab3b784
Merge pull request #42817 from akien-mga/vulkan-sdk-1.2.154.0
vulkan: Sync loader, headers and glslang to sdk-1.2.154.0
2020-10-26 15:15:19 +01:00
volzhs
42959d54ff Update freetype to 2.10.4 2020-10-22 01:47:48 +09:00
Rémi Verschelde
148ad49c93
vulkan: Sync loader, headers and glslang to sdk-1.2.154.0
Actually sdk-1.2.154.1 for Vulkan-Loader.

glslang is updated to bacaef3237c515e40d1a24722be48c0a0b30f75f which is the
known-good version for Vulkan-ValidationLayers 1.2.154.0.

COPYRIGHT.txt was synced with the current version of the glslang LICENSE.txt,
and `glslang/register_types.cpp` now uses the upstream definition for its
default builtin resource instead of hardcoding it.
2020-10-15 12:29:42 +02:00
Rémi Verschelde
914591c9ae
zstd: Update to upstream version 1.4.5 2020-09-18 21:47:12 +02:00
Rémi Verschelde
fa35f53dd2
tinyexr: Sync with upstream 1.0.0 2020-09-09 22:07:24 +02:00
Fabio Alessandrelli
a905764e3d Update mbedTLS to version 2.16.8 (+ patch). 2020-09-07 15:47:38 +02:00
Rémi Verschelde
33b2070d2e Remove obsolete GLES2 backend code
This code currently isn't compiled (and cannot compile).

We plan to re-add OpenGL ES-based renderer(s) in Godot 4.0 alongside Vulkan
(probably ES 3.0, possibly also a low-end ES 2.0), but the code will be quite
different so it's not relevant to keep this old Godot 3.2 code.

The `drivers/gles2` code from the `3.2` branch can be used as a reference for
a potential new implementation.
2020-08-13 10:04:53 +02:00
bruvzg
09f301029a
[macOS / ARM64] Remove "-msse2" flag from ARM64 release export template build. Add ARM64 breakpoint inline assembly to "doctest". 2020-07-24 17:54:34 +03:00
RevoluPowered
579342810f t Add unit testing to Godot using DocTest and added to GitHub Actions CI
Implements exit codes into the engine so tests can return their statuses.
Ideally we don't do this, and we use FIXUP logic to 'begin' and 'end' the engine execution for tests specifically.

Since realistically we're initialising the engine here we don't want to do that, since String should not require an engine startup to test a single header.

This lowers the complexity of running the unit tests and even for
physics should be possible to implement such a fix.
2020-07-24 13:05:33 +01:00
Rémi Verschelde
8dffca4196 stb_vorbis: Update to upstream version 1.20
Upstreams our crash fixes from #38422 and #40174.
2020-07-20 11:18:26 +02:00
Rémi Verschelde
c85a51cf87
Merge pull request #40058 from Faless/wslay/1.1.1
Update to wslay 1.1.1 .
2020-07-02 23:25:17 +02:00
Fabio Alessandrelli
d988b0d1a3 Update to wslay 1.1.1 .
A minor fix, but let's stay in sync.
2020-07-02 16:00:56 +02:00
Fabio Alessandrelli
8ddf9fe4b0 Update to mbedtls 2.16.7 2020-07-02 15:53:50 +02:00
Rémi Verschelde
38a200f1e3 oidn: Fix build for VS 2017
Backporting this upstream patch:
1e42e6db81

Fixes #39186.
2020-06-06 21:27:32 +02:00
jfons
dd79d1ce78 Upgrade OpenImageDenoise to v1.1.0
Upgrade OIDN to 1.1.0, the latest stable version that doesn't need
the ISPC compiler.

Documented the changes made during the removal of TBB and added a patch
file for them.
2020-06-06 19:03:16 +02:00
Rémi Verschelde
59780fd046 xatlas: Sync with upstream 470576d 2020-05-20 13:51:15 +02:00
Pedro J. Estébanez
abe03ff1f0 Remove no longer needed patches to jpgd.cpp 2020-05-18 14:38:28 +02:00
Marcel Admiraal
8efd1ca9f7 Update r128.h to include latest fix for mingw-64 32 bit builds. 2020-05-16 10:30:51 +01:00
Rémi Verschelde
83b630b8c2 thirdparty: Cleanup after #38386, document provenance and copyright
Also renamed `delaunay.h` to `delaunay_2d.h` to match the class name.
2020-05-11 14:50:06 +02:00
Rémi Verschelde
9c1b20eab6 freetype: Update to upstream version 2.10.2 2020-05-09 13:24:14 +02:00
Rémi Verschelde
a928a10e83
Merge pull request #38422 from RandomShaper/fix_stb_vorbis
Fix crash in stb_vorbis.c
2020-05-03 09:52:35 +02:00
Pedro J. Estébanez
d259094c3a Fix crash in stb_vorbis.c 2020-05-03 02:22:33 +02:00
Rémi Verschelde
959ffd5979 thirdparty: List release years in README.md
And expand commit hashes to full hashes instead of shortened ones.
2020-05-01 10:50:19 +02:00
Rémi Verschelde
092a1cfb39
Merge pull request #38365 from akien-mga/tinyexr-4dbd05a
tinyexr: Sync with upstream 4dbd05a + enable C++11 threaded loading
2020-04-30 17:58:17 +02:00
Rémi Verschelde
41ac6cfac1
Merge pull request #38364 from akien-mga/recast-57610fa
Recast: Update to upstream commit 57610fa (2019)
2020-04-30 17:57:55 +02:00
Rémi Verschelde
f870118323
Merge pull request #38363 from akien-mga/pcre2-10.34
pcre2: Update to upstream version 10.34
2020-04-30 16:36:39 +02:00
Rémi Verschelde
69f5665ceb
Merge pull request #38361 from akien-mga/stb_vorbis-1.19
stb_vorbis: Update to upstream version 1.19
2020-04-30 16:28:49 +02:00
Rémi Verschelde
8e819ae4c1
Merge pull request #38360 from akien-mga/drop-unused-curl_hostcheck
Drop now unused curl_hostcheck.c
2020-04-30 16:26:24 +02:00
Rémi Verschelde
3a80fce8be tinyexr: Sync with upstream 4dbd05a 2020-04-30 15:24:46 +02:00
Rémi Verschelde
6ba546f98b Recast: Update to upstream commit 57610fa (2019) 2020-04-30 15:16:13 +02:00
Rémi Verschelde
824736d271 pcre2: Update to upstream version 10.34
Changelog: https://vcs.pcre.org/pcre2/code/tags/pcre2-10.34/ChangeLog?view=markup
2020-04-30 15:09:03 +02:00
Rémi Verschelde
8ce7dce511 stb_vorbis: Update to upstream version 1.19
1.19 - 2020-02-05 - warnings
1.18 - 2020-02-02 - fix seek bugs; parse header comments; misc
                    warnings etc.
2020-04-30 14:56:33 +02:00
Rémi Verschelde
05cf8b7c63 Drop now unused curl_hostcheck.c
One less thirdparty library to document \o/
2020-04-30 14:35:25 +02:00
Rémi Verschelde
5167c9186a FastLZ: Update to upstream version 0.5.0
Upstream development restarted after 13 years. Changes:

2020-02-02: Version 0.5.0

    Minor speed improvement on the decompressor.
    Prevent memory violation when decompressing corrupted input.

2020-01-10: Version 0.4.0

    Only code & infrastructure clean-up, no new functionality.
2020-04-30 14:25:00 +02:00
Rémi Verschelde
d29514acce
Merge pull request #38073 from akien-mga/enet-1.3.15
enet: Update to upstream version 1.3.15
2020-04-30 10:33:39 +02:00
PouleyKetchoupp
3e7db60d56 Update to bullet master (2.90) 2020-04-27 11:37:47 +02:00
Pedro J. Estébanez
1e5a93a416 Fix compilation of jpgd.cpp on MSVC 2017 2020-04-21 21:12:09 +02:00
Rémi Verschelde
ebe38044fd enet: Update to upstream version 1.3.15 2020-04-21 12:27:11 +02:00
Rémi Verschelde
1061cf9f66
Merge pull request #38072 from akien-mga/jpgd-fuzzed
jpgd: Upgrade to upstream 2.00, fuzzed with zzuf and afl
2020-04-21 12:27:06 +02:00
Rémi Verschelde
c842ddcf76 jpgd: Upgrade to upstream 2.00, fuzzed with zzuf and afl 2020-04-21 11:38:29 +02:00
Rémi Verschelde
6b00357d53 mbedtls: Update to upstream version 2.16.6
Fixes https://tls.mbed.org/tech-updates/security-advisories/mbedtls-security-advisory-2020-04
2020-04-21 10:37:14 +02:00
Rémi Verschelde
516b3bb88f Fix Clang warnings on Windows
Fixes #37490.
2020-04-01 16:28:20 +02:00
Rémi Verschelde
60d486acc8 Fix copyright headers for recently added files 2020-03-28 13:29:29 +01:00
Fabio Alessandrelli
87d50da9fc Fix basis_universal to not include tool main file.
Avoid build error due to duplicate `main` symbol definition.
2020-03-11 16:06:28 +01:00
Rémi Verschelde
8189abd64a mbedtls: Re-add patch to disable VIA padlock
The comment mentioned a conflict with libwebsockets, but we actually
still get this conflict even now that we don't use libwebsockets.
Not sure what component is clashing but we should basically just keep
this patch.

Follow-up to #36823.
2020-03-10 09:15:00 +01:00
Rémi Verschelde
d744d3046e vulkan: Re-add option to build Vulkan-Loader statically
Upstream removed the option in KhronosGroup/Vulkan-Loader#260, which
breaks our current use case.
This commit reverts KhronosGroup/Vulkan-Loader#260 is our vendored
loader.

We may need to re-evaluate how we link the loader, but until then,
reverting this PR fixes Windows support after the upgrade to a recent
SDK version in #36932.
2020-03-09 15:25:54 +01:00
Rémi Verschelde
da1f80c1f2 Revert "assimp: Sync with upstream 0201fc5"
This reverts commit 78b22393a8.

It caused a regression in FBX import leading to crashes.
Fixes #36908.
2020-03-09 10:42:18 +01:00
Rémi Verschelde
1231c2ecfc glslang: Sync with upstream 4fc7a33 for Vulkan SDK 1.2.131
Fixes #36888.
2020-03-09 09:36:38 +01:00
Rémi Verschelde
214bc9e5a1 Update Vulkan loader and headers to sdk-1.2.131.2
(Headers are actually sdk-1.2.131.1, they did not get a re-release.)

Also synced VMA 2.3.0 again, fixing unwanted clang-formatting of
thirdparty code.
2020-03-09 09:36:37 +01:00
CodeforEvolution
0c37c4021b miniupnpc: Sync with upstream master (4436632) 2020-03-06 16:29:50 -06:00
Rémi Verschelde
78b22393a8 assimp: Sync with upstream 0201fc5 2020-03-06 14:43:31 +01:00
Rémi Verschelde
9d8a9ea826 assimp: Clean and document buildsystem, prepare for unbundling
- Improve the SCsub to allow unbundling and remove unnecessary code.
- Move files around to match upstream source.
- Re-sync with upstream commit 308db73d0b3c2d1870cd3e465eaa283692a4cf23
  to ensure we don't have local modifications.
- Doesn't actually build against current version 5.0.1 due to the lack
  of the new ArmaturePopulate API that Gordon authored. We'll have to
  wait for a public release with that API (5.1?) to enable unbundling.
2020-03-06 14:37:52 +01:00
Rémi Verschelde
e435bed847 mbedtls: Update to upstream version 2.16.5
Fixes https://tls.mbed.org/tech-updates/security-advisories/mbedtls-security-advisory-2020-02

Drop patch to disable VIA padlock since we no longer use libwebsockets,
so there's no conflict anymore.
2020-03-05 16:12:50 +01:00
Rémi Verschelde
b6d684ec65 basis_universal: Update to upstream commit from Jan 4, 2020
BinomialLLC/basis_universal@895ee8ee7e.
2020-02-13 16:09:00 +01:00
Rémi Verschelde
8c73e81313
Merge pull request #36102 from bruvzg/rvo2_mingw_fix
[MinGW] Remove unused WinAPI includes/defines from RVO2.
2020-02-11 16:32:26 +01:00
Rémi Verschelde
db81928e08 Vulkan: Move thirdparty code out of drivers, style fixes
- `vk_enum_string_helper.h` is a generated file taken from the SDK
  (Vulkan-ValidationLayers).
- `vk_mem_alloc.h` is a library from GPUOpen:
  https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
2020-02-11 14:08:44 +01:00
bruvzg
d544baf174
Remove unused WinAPI includes/defines to fix MinGW cross-build. 2020-02-11 14:49:12 +02:00
bruvzg
7bf72ed14e Update Vulkan loader to 1.1.127 2020-02-11 12:05:27 +01:00
Rémi Verschelde
7458a601ce basis_universal: Fix py3 build and document license and provenance
Also drop unneeded files.

Fix build with MinGW. Closes #32384.
2020-02-11 12:02:45 +01:00
Rémi Verschelde
511f65214f SCons: Streamline Vulkan buildsystem + fixups
- Renamed option to `builtin_vulkan`, since that's the name of the
  library and if we were to add new components, we'd likely use that
  same option.
- Merge `vulkan_loader/SCsub` in `vulkan/SCsub`.
- Accordingly, don't use built-in Vulkan headers when not building
  against the built-in loader library.
- Drop Vulkan registry which we don't appear to need currently.
- Style and permission fixes.
2020-02-11 11:59:04 +01:00
bruvzg
eb48be51db Add static Vulkan loader.
Initial Vulkan support for Windows.
Initial Vulkan support for macOS.
2020-02-11 11:57:11 +01:00
Duroxxigar
383c583a0b Documented the new NavigationServer and all its associated nodes (2D and 3D) 2020-02-10 15:24:06 +01:00
Andrea Catania
e6be3f68da - Integrated NavigationServer and Navigation2DServer.
- Added Navigation Agents and Obstacles.
- Integrated Collision Avoidance.

This work has been kindly sponsored by IMVU.
2020-02-10 14:38:52 +01:00
Fabio Alessandrelli
e85330231c Fix UPNP on windows after #30205.
The problem could be related to different byte ordering when copying
the interface address over the binding address.
2020-02-06 16:26:02 +01:00
Rémi Verschelde
724487b3c1 mbedtls: Update to upstream version 2.16.4
Fixes CVE-2019-18222.

`include/mbedtls/version.h` was modified to include the forgotten
version bump to 2.16.4, fixed upstream by ARMmbed/mbedtls#2992.
2020-01-26 18:19:29 +01:00
volzhs
65f2ab1b61 Update libwebp to 1.1.0 2020-01-17 03:49:31 +09:00
Rémi Verschelde
29e07dfa4e bullet: Sync with upstream 2.89
This allows distro unbundling again for distros that ship Bullet 2.89+.
2020-01-08 18:05:43 +01:00
Fabio Alessandrelli
141da69c84
Merge pull request #34843 from akien-mga/enet-1.3.14
enet: Sync with upstream 1.3.14
2020-01-06 17:30:36 +01:00
Rémi Verschelde
c35f461445 enet: Sync with upstream 1.3.14
We still have local modifications necessary for IPv6 support
and using Godot sockets.
2020-01-05 19:19:56 +01:00
Rémi Verschelde
571c713a5e enet: Resync with upstream we forked at, add patch
Before rebasing on the newly released enet 1.3.14, let's resync with the actual
commit we initially imported, which seems to be:
f46fee0acc
2020-01-05 19:15:23 +01:00
Rémi Verschelde
84a3d3b981 xatlas: Sync with upstream e12ea82 2019-12-22 11:23:44 +01:00
Rémi Verschelde
f111d1aaed Drop b2d_convexdecomp. no longer necessary.
We now use `thirdparty/misc/triangulator.h` for all physics-related
(collision, navigation) triangulation needs.

Follow-up to #34293.
2019-12-13 23:29:52 +01:00
Rémi Verschelde
46ae64cd60 Revert "Update opus to 1.3.1 and opusfile to 0.11"
This reverts commit e00426c512.

The way we handle platform-specific intrinsics is not good, so the
current state will not compile on armv8. This commit also requires
SSE4.1 support, which is likely not a good idea for portable binaries.

We'll have to redo this with more caution after 3.2 is released, or
we might simply drop opus as we're only using it as dependency for
theora right now.

Fixes #33606.
2019-11-18 09:56:48 +01:00
Rémi Verschelde
7d836a7cc3
Merge pull request #33565 from akien-mga/vhacd-b07958e
vhacd: Sync with upstream b07958e
2019-11-12 09:57:10 +01:00
Rémi Verschelde
466e867d77
Merge pull request #33563 from akien-mga/tinyexr-656bb61
tinyexr: Sync with upstream 656bb61
2019-11-12 09:53:40 +01:00
Rémi Verschelde
cbc5d9405f
Merge pull request #33562 from akien-mga/nanosvg-25241c5
nanosvg: Sync with upstream c1f6e20
2019-11-12 09:52:47 +01:00
Rémi Verschelde
604891a87d
Merge pull request #33561 from akien-mga/miniupnpc-0ab1d67
miniupnpc: Sync with upstream master (0ab1d67)
2019-11-12 09:49:45 +01:00
Rémi Verschelde
f6e62f1147
Merge pull request #33560 from akien-mga/mbedtls-2.16.3
mbedtls: Update to upstream version 2.16.3
2019-11-12 09:49:38 +01:00
Rémi Verschelde
424d2fcfb4 vhacd: Sync with upstream b07958e
Nothing to see here, it is just a cosmetic sync to confirm
that we have the latest upstream changes.
2019-11-12 09:24:09 +01:00
Rémi Verschelde
6a2c2e5062 tinyexr: Sync with upstream 656bb61 2019-11-12 09:17:05 +01:00
Rémi Verschelde
097b746fdd nanosvg: Sync with upstream c1f6e20
Now formally unmaintained, so probably no further sync to expect
from this repository.
2019-11-12 09:12:11 +01:00
Rémi Verschelde
e2fbfb1ded miniupnpc: Sync with upstream master (0ab1d67) 2019-11-12 09:06:31 +01:00
Rémi Verschelde
a3d77be53b mbedtls: Update to upstream version 2.16.3 2019-11-12 08:56:18 +01:00
Rémi Verschelde
92c3b6c85e glad: Sync with upstream 0.1.33 2019-11-12 08:45:51 +01:00
Rémi Verschelde
ba4c808721
Merge pull request #33311 from SneakyFish5/update-opus
Update opus to 1.3.1 and opusfile to 0.11
2019-11-12 07:55:25 +01:00
Rémi Verschelde
01e24447a5
Merge pull request #33524 from SneakyFish5/update-std-vorbis
Update stb_vorbis to 1.17
2019-11-10 18:08:31 +01:00
Jonathan Mannancheril
97af5569d9 Update stb_vorbis to 1.17 2019-11-10 10:31:24 -06:00
Jonathan Mannancheril
55afd6e784 Update zstd to 1.4.4 2019-11-09 23:20:49 -06:00
unknown
e00426c512 Update opus to 1.3.1 and opusfile to 0.11 2019-11-09 13:06:56 -06:00
RevoluPowered
5fb160c7c6 Updated assimp to 308db73 from https://github.com/assimp/assimp/ 2019-11-05 20:38:26 +00:00
Rémi Verschelde
68dc6c6c62
Merge pull request #33254 from SneakyFish5/update-zstd
Update zstd to 1.4.3
2019-11-03 18:07:34 +01:00
unknown
61ad365fc9 Update zstd to 1.4.3 2019-11-03 10:37:48 -06:00
Jonathan Mannancheril
e70e894433
Add new file in libogg readme 2019-10-31 17:30:36 -05:00
Jonathan Mannancheril
6eb8c11d32 Update libogg to upstream c8fca6b 2019-10-30 19:03:26 -05:00
volzhs
074d421dca Update libwebp to 1.0.3 2019-10-27 21:29:43 +09:00
Hugo Locurcio
379e1789dd
Remove unused stb_truetype-based DynamicFont implementation
The DynamicFont implementation currently in use is based on
FreeType, which provides much better visual quality.

This old implementation wasn't exposed anywhere, so this shouldn't
break compatibility.

This decreases binary sizes by a few kilobytes.
2019-10-03 01:19:02 +02:00
K. S. Ernest Lee
c3c805aff8 Tweak xatlas and import new version b4b5426
* Avoid xatlas crash
* Enable alignment and disable bruteforce for speedups
* Update xatlas to b4b5426
* Delete old patches
2019-08-28 01:12:56 -07:00
RevoluPowered
243f400ee2 Updated assimp to commit 1d565b0 with iFire
Signed-off-by: RevoluPowered <gordon@gordonite.tech>
Signed-off-by: K. S. Ernest (iFIre) Lee <ernest.lee@chibifire.com>
2019-07-30 18:59:29 +01:00
Rémi Verschelde
b81fa47f38 zstd: Update to upstream version 1.4.1 2019-07-20 20:47:07 +02:00
K. S. Ernest (iFIre) Lee
a04e99ce4d Update xatlas to f65a664.
xatlas is now multicore.
2019-07-16 14:35:56 -07:00
Rémi Verschelde
eb98c5e047
Merge pull request #30129 from fire/xatlas_update
[WIP] Update xatlas to latest upstream commit (1efe581).
2019-07-11 19:44:55 +02:00
Rémi Verschelde
41c28aae9a
Merge pull request #30514 from akien-mga/pcre2-10.33
pcre2: Update to upstream version 10.33
2019-07-11 13:45:27 +02:00
Rémi Verschelde
60c6cf9f71
Merge pull request #30513 from akien-mga/stb_vorbis-1.16
stb_vorbis: Update to upstream version 1.16
2019-07-11 13:45:14 +02:00
Rémi Verschelde
36d587fc7f
Merge pull request #30512 from akien-mga/glad-0.1.31
glad: Sync with upstream 0.1.31
2019-07-11 13:45:02 +02:00
Rémi Verschelde
af5c02def8
Merge pull request #30511 from akien-mga/freetype-2.10.1
freetype: Update to upstream version 2.10.1
2019-07-11 13:44:52 +02:00
Rémi Verschelde
3e727bc659 stb_vorbis: Update to upstream version 1.16 2019-07-11 10:37:28 +02:00
Rémi Verschelde
ca71f7d3d0 freetype: Update to upstream version 2.10.1 2019-07-11 10:36:54 +02:00
Rémi Verschelde
2bbcc521b6 glad: Sync with upstream 0.1.31 2019-07-11 10:36:32 +02:00
Rémi Verschelde
518e23424e pcre2: Update to upstream version 10.33 2019-07-11 10:35:39 +02:00
Rémi Verschelde
6321cc8da3 mbedtls: Update to upstream version 2.16.2 2019-07-11 08:32:07 +02:00
K. S. Ernest (iFire) Lee
d81d29dcbf Update xatlas to b7d7bb. 2019-07-09 15:24:10 -07:00
Fabio Alessandrelli
9233edd344 Godot addition to wslay, fixes MSVC build 2019-07-04 15:03:04 +02:00
Fabio Alessandrelli
aae6c075aa Remove libwebsocket. No longer used, yay! 2019-07-04 15:03:04 +02:00
Fabio Alessandrelli
9e303ef71c WebSocket module now uses wslay library.
Both client and server are supported on native builds (as usual).

SSL server is still not supported, but will soon be possible with this
new library.

The API stays the same, we just need to work out potential issues due to
this big library switch.
2019-07-04 15:03:04 +02:00
Fabio Alessandrelli
564d93ff10 CryptoCore class to access to base crypto utils.
Godot core needs MD5/SHA256/AES/Base64 which used to be provided by
separate libraries.
Since we bundle mbedtls in most cases, and we can easily only include
the needed sources if we so desire, let's use it.

To simplify library changes in the future, and better isolate header
dependencies all functions have been wrapped around inside a class in
`core/math/crypto_base.h`.

If the mbedtls module is disabled, we only bundle the needed source
files independently of the `builtin_mbedtls` option.
If the module is enabled, the `builtin_mbedtls` option works as usual.

Also remove some unused headers from StreamPeerMbedTLS which were
causing build issues.
2019-07-02 12:36:27 +02:00
Fabio Alessandrelli
78907d91f1 Update miniupnpc library to latest master 2019-06-30 17:49:40 +02:00
Rémi Verschelde
99acec63f1 bullet: Sync with current upstream master branch
This updates our local copy to commit 5ec8339b6fc491e3f09a34a4516e82787f053fcc.
We need a recent master commit for some new features that we use in Godot
(see #25543 and #28909).

To avoid warnings generated by Bullet headers included in our own module,
we include those headers with -isystem on GCC and Clang.

Fixes #29503.
2019-06-11 13:19:42 +02:00
Andrii Doroshenko (Xrayez)
9bf48db891 Build Clipper with tools=no and patch it to auto-disable exceptions
Reverts "Build polygon clipper only in tools builds" (see #17319)
which allows to build Clipper with tools disabled (release) and because
of that, Clipper has to be patched to optionally disable exceptions in
order to be built on some platforms.

Patched Clipper 6.4.2 to be compiled with exceptions enabled/disabled.
and ensure that Clipper-specific exception macros are defined: don't use
exceptions by default unless exception handling is detected.

Compilation with exceptions will be determined by various
C++ exceptions defines:

* ` __cpp_exceptions` is part of C++ feature testing macros (since C++98);
* `__EXCEPTIONS` is used by some GNU compilers;
* `_CPPUNWIND` is used by MSVC.

The user can override specific exceptions behavior via corresponding
`*_USER` macros (i.e. compiling for embedded systems).
2019-05-22 13:12:21 +03:00
Fabio Alessandrelli
be414e4476 Revert "Update libwebsockets to 3.1 (plus UWP patch)"
This reverts commit 90210c4862.
2019-05-01 14:41:47 +02:00
Rémi Verschelde
12cc760538
Merge pull request #26051 from 20kdc/videofix
webm/theora/yuv2rgb/libsimplewebm: Fix colour issues I could find.
2019-04-30 13:38:44 +02:00
Rémi Verschelde
225b61ab2a libpng: Update to upstream 1.6.37
Fixes CVE-2019-7317.
2019-04-26 10:37:22 +02:00
Rémi Verschelde
1e67f214c5
Merge pull request #27817 from fire/assimp_d3d98a
Update Assimp to master at d3d98a7ec0c8d38e1952b46dfe53f7e9233dc92d
2019-04-22 12:00:06 +02:00
Rémi Verschelde
5899972049
Merge pull request #27554 from volzhs/freetype-2.10.0
Update freetype to 2.10.0
2019-04-20 20:00:56 +02:00