summaryrefslogtreecommitdiff
path: root/thirdparty
AgeCommit message (Collapse)Author
2021-10-15Remove WebM support (and deps libvpx and opus)Rémi Verschelde
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-14mbedtls: Backport "Fix x86_64 assembly for bignum multiplication"Rémi Verschelde
Backports PR https://github.com/ARMmbed/mbedtls/pull/4948 to fix a regression with our macOS builds using Clang 12. Fixes #53297.
2021-10-06bullet: Fix UWP build by disabling TaskScheduler dynamic loadingRémi Verschelde
Cf. https://github.com/bulletphysics/bullet3/pull/3991 (cherry picked from commit cbe0cff53dadc29735977899c69a5231cb00eff9)
2021-10-04doctest: Update to 2.4.6Rémi Verschelde
2021-10-03Remove Scene dependency from the TextServer, use scalable hex box font ↵bruvzg
instead of built-in bitmap one.
2021-09-30Merge pull request #52544 from JFonS/lod_fixesJuan Linietsky
Auto LOD fixes and improvements
2021-09-30bullet: Sync with upstream 3.17Rémi Verschelde
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 b7901c773c2eaff26b5c3a5342773a70571b2648)
2021-09-27Auto LOD fixes and improvementsjfons
* 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-24Refactor and move easing equationskobewi
2021-09-24Merge pull request #53003 from KoBeWi/tween_0()Rémi Verschelde
2021-09-24Add a special case for 0-time interpolationskobewi
2021-09-22Merge pull request #52934 from akien-mga/etcpak-7c3cb6fRémi Verschelde
etcpak: Update to upstream commit 7c3cb6f (Jul 29, 2021)
2021-09-22Merge pull request #52933 from akien-mga/vulkan-1.2.190Rémi Verschelde
2021-09-22etcpak: Update to upstream commit 7c3cb6f (Jul 29, 2021)Rémi Verschelde
Adds a new `useHeuristics` compression mode for ETC2. Upstream defaults to enable it so we do the same.
2021-09-22Merge pull request #52932 from JFonS/upd_ebr_readmeRémi Verschelde
2021-09-22Vulkan: Update volk and Vulkan SDK components to 1.2.190Rémi Verschelde
2021-09-22Update thirdparty README for EmbreeJoan Fons
2021-09-22nanosvg: Sync with upstream ccdb199Rémi Verschelde
Includes fixes for a memory corruption bug (CVE-2019-1000032) and possible division by zero.
2021-09-20HarfBuzz: Update to version 3.0.0bruvzg
2021-09-13Upgrade Embree and enable ray packetsJoan Fons
Minor patch upgrade. Enabling ray packets results in faster processing of ray streams (i.e. occlusion culling buffer updates) at the cost of slightly larger binary sizes.
2021-09-09Replace stb_vorbis with libogg+libvorbisEllen Poe
2021-08-27Makes FontData importable resource.bruvzg
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-14Upgrade spirv-reflectPedro J. Estébanez
2021-08-13Upgrade Vulkan memory allocatorPedro J. Estébanez
2021-08-12Use "volk" instead of statically linked Vulkan loader.bruvzg
2021-08-11Update bundled Mozilla X.509 CA root certificatesMax Hilbrunner
Updated to latest upstream changes (2021-07-05 21:36:52 GMT), taken from https://github.com/bagder/ca-bundle/commit/8b263a18fca98ea371e54227837321c5cdaa1ba7
2021-07-29[Net] Implement lower level ENet wrappers.Fabio Alessandrelli
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-20mbedtls: Update to upstream version 2.16.11Rémi Verschelde
2021-07-19[Editor Fonts] Add Noto Sans Bold font variant for supported languages.bruvzg
2021-07-11Implement Specialization Constantsreduz
* 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-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-19Complete rewrite of TweensTomasz Chabora
* Tweens were changed from Node to RefCounted. New API is inspired by DOTween. * Tweens are created and managed by SceneTree, similar to SceneTreeTimer, which makes them ultra cheap to use a lot. * Animating with Tweens is done by creating sequences of Tweeners. You create them from code and they autostart by default (fire-and-forget). * There are 4 Tweeners that cover the former Tween functionality: PropertyTweener, IntervalTweener, CallbackTweener and MethodTweener. * The methods were simplified a lot. Long argument lists are replaced with chained calls on Tweens and Tweeners. * Tweeners by default execute in sequence, so it's easy to create complex chained animations. * You can bind a Tween to a node. Tween will be removed automatically when the bound node is freed.
2021-05-31Implement shader cachingreduz
* 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-30Meshoptimizer: Sync with upstream commit f5d83e8Johannes Witt
2021-05-22Update with experimental mesh optimizer.K. S. Ernest (iFire) Lee
Normals being optimized has better quality now. Test simplify once and then use a slightly less tolerant error for the target error.
2021-05-21Merge pull request #48885 from JFonS/upgrade_embreeRémi Verschelde
Upgrade Embree to the latest official release (3.13.0).
2021-05-21Upgrade Embree to the latest official release.jfons
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-21Fix STL to Godot type convertion of polypartitionHaoyu Qiu
2021-05-17Use a DynamicFont for the default project themeHugo Locurcio
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-07basis_universal: Update to upstream commit from Apr 16, 2021Rémi Verschelde
BinomialLLC/basis_universal@ba1c3e40f1d434ebaf9a167b44e9b11d2bf0f765.
2021-05-06Rename `IP_Unix`, `IP_Address` and `TCP_Server` to remove underscoresHugo Locurcio
2021-05-03Assorted fixes to UV unwrapping and GPU lightmapperjfons
Various fixes to UV2 unwrapping and the GPU lightmapper. Listed here for context in case of git blame/bisect: * Fix UV2 unwrapping on import, also cleaned up the unwrap cache code. * Fix saving of RGBA images in EXR format. * Fixes to the GPU lightmapper: - Added padding between atlas elements, avoids bleeding. - Remove old SDF generation code. - Fix baked attenuation for Omni/Spot lights. - Fix baking of material properties onto UV2 (wireframe was wrongly used before). - Disable statically baked lights for objects that have a lightmap texture to avoid applying the same light twice. - Fix lightmap pairing in RendererSceneCull. - Fix UV2 array generated from `RenderingServer::mesh_surface_get_arrays()`. - Port autoexposure fix for OIDN from 3.x. - Save debug textures as EXR when using floating point format.
2021-04-28Merge pull request #48235 from Faless/feature/network-local-port-enet-salvagedRémi Verschelde
[Net] Implement NetworkedMultiplayerENet.get_local_port
2021-04-28Implement NetworkedMultiplayerENet.get_local_portFabio Alessandrelli
Allows retrieving the local port to which the peer is bound.
2021-04-28Merge pull request #48239 from akien-mga/goodbye-copymemRémi Verschelde
Core: Drop custom `copymem`/`zeromem` defines
2021-04-27Merge pull request #48050 from JFonS/occlusion_cullingRémi Verschelde
2021-04-27Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde
We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.
2021-04-27Merge pull request #47398 from Faless/feature/network-local-port-salvagedRémi Verschelde
2021-04-25Remove duplicate commentsDennis Brakhane
A few single line comments were duplicated, probably due to bad merges. This commit removes the obviously duplicate ones.