mbedTLS 2.28 is now EOL, and will no longer receive security updates.
This commit backports from Godot 4 the changes needed to update to
mbedTLS 3.6 (new LTS), including TLSv1.3 support.
GLOBAL_GET is an expensive operation which should not be used each frame / tick.
This PR adds macros which do a cheaper revision check, and only call the expensive GLOBAL_GET when project settings have changed.
Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).
(cherry picked from commit 81064cc239)
Added a map to keep track of external images during import, and used
that map to instance the textures using the resource loader instead of
creating a new texture from scratch
Check identifiers (const variables and unnamed enums) and named
enums when parsing dictionary literals whether the keys are not
duplicated.
In case of duplicate key is encountered, highlight the line with it
and print error message:
`Duplicate key "foo" found in Dictionary literal`
This commit is a logical continuation of the commit dab73c7 which
implemented such checks only for literal keys (which fixed#7034).
Apart from that, this commit also fixes the issue with the error
message itself, which was shown one line below the duplicated key
in case it was the last one in the dictionary literal and there
was no hanging comma.
Also, the format of the error message has been changed so that now
the error message also contains the value of the key which is duplicated.
Instead of `Duplicate key found in Dictionary literal`, it now prints
`Duplicate key "<value>" found in Dictionary literal`
Fixes#50971
libvpx arm32 build with NEON can be supported in theory (and it works
on Android armv7), but our SCons logic for it is super convoluted and
broken. It needs significant rework to be made less error prone, and
ensure we can compile `.s` files properly with cross-compilation
toolchains.
The demand to play WebM videos on older Pi3-style SoCs is likely low,
so for now this is a simple compromise.
Could be improved with some effort if someone is motivated.
Still paying the cost of not having refactored all architecture handling
in the 3.x branch so we have this broken hybrid of arch/bits which is
unreliable.