Age | Commit message (Collapse) | Author |
|
Core: Drop custom `copymem`/`zeromem` defines
|
|
|
|
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.
|
|
|
|
A few single line comments were duplicated, probably due to bad merges.
This commit removes the obviously duplicate ones.
|
|
|
|
|
|
update meshoptimizer to version 0.16
|
|
|
|
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.
|
|
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.
|
|
For MinGW this is tricky to do as a two-step process like it was implemented,
as `std::thread::native_handle()` is implementation-defined and depending on
the MinGW distribution, it may or may not be a pthread handle.
With mingw-gcc as packaged in Linux distros with pthread support it worked
fine, but with llvm-mingw it was problematic.
Setting the name in the thread directly as done for Apple platforms is simpler
and works fine.
Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
|
|
- `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>
|
|
|
|
The patch has already been upstreamed, and custom patching won't be
needed during next version update.
|
|
|
|
|
|
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:
e85330231c729a88d5a478de2bbe4a61e5edeae3
One of those PR when the explaination is much longer then code changes
:).
|
|
|
|
Drop unused xpmfix.sh script.
|
|
|
|
Switch to simplify sloppy for another try.
Update to meshoptimizer e3f53f66e7a35b9b8764bee478589d79e34fa698.
|
|
spirv-reflect: Update to upstream commit c0ce03a (Jan 6, 2021)
|
|
pcre2: Update to upstream version 10.36
|
|
|
|
Changelog: https://vcs.pcre.org/pcre2/code/tags/pcre2-10.36/ChangeLog?view=markup
|
|
|
|
enet: Sync with upstream 1.3.17
|
|
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.
|
|
|
|
zstd: Update to upstream version 1.4.8
|
|
Make ClassDB test macros enforce their msg to be constructed as String,
since doctest 2.4.2 changes the message passing to vararg.
|
|
|
|
Happy new year to the wonderful Godot community!
2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.
We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)
Here's to a great year 2021 for all Godot users 🎆
|
|
Meshoptimizer Update: Restrict edge collapses to avoid triangle flipping
|
|
|
|
|
|
|
|
|
|
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.
|
|
ICU: Update to upstream release 68.2
|
|
mbedtls: Update to upstream version 2.16.9
|
|
-Do not bind attributes that are not needed
-Improve a bit more how meshoptimizer interacts with Godot
|
|
|
|
|
|
-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
|
|
|
|
Since we clone the environments to build thirdparty code, we don't get an
explicit dependency on the build objects produced by that environment.
So when we update thirdparty code, Godot code using it is not necessarily
rebuilt (I think it is for changed headers, but not for changed .c/.cpp files),
which can lead to an invalid compilation output (linking old Godot .o files
with a newer, potentially ABI breaking version of thirdparty code).
This was only seen as really problematic with bullet updates (leading to
crashes when rebuilding Godot after a bullet update without cleaning .o files),
but it's safer to fix it everywhere, even if it's a LOT of hacky boilerplate.
|