Commit Graph

973 Commits

Author SHA1 Message Date
Rémi Verschelde
0aa8fa3c05
Merge pull request #88011 from Chubercik/vulkan-1.3.275.0
vulkan: Update all components to Vulkan SDK 1.3.275.0
2024-02-08 10:53:53 +01:00
Rémi Verschelde
2e32b93165
thorvg: Re-enable thread support, made opt-in upstream
Fixes #87788.
Fixes #87962.
2024-02-07 12:11:13 +01:00
Rémi Verschelde
f3a5c615e2
Merge pull request #87984 from BlueCube3310/etcpak-update
etcpak: Sync with upstream
2024-02-07 11:03:15 +01:00
Rémi Verschelde
bbc1c221f2
Merge pull request #87982 from Chubercik/wayland-protocols-1.33
wayland-protocols: Update to 1.33
2024-02-07 11:02:29 +01:00
Jakub Marcowski
8350c88718 vulkan: Update all components to Vulkan SDK 1.3.275.0 2024-02-06 13:46:56 +01:00
Jakub Marcowski
292df42c3f wayland: Update to 1.22.0 2024-02-06 10:23:42 +01:00
BlueCube3310
becf5b1d23 [etcpak] Sync with upstream 2024-02-05 18:53:35 +01:00
Jakub Marcowski
ba1c5bf4bd wayland-protocols: Update to 1.33 2024-02-05 17:18:58 +01:00
Martin Capitanio
da42124efe ThorVG: update from v0.12.3 to v0.12.4
https://github.com/thorvg/thorvg/releases/tag/v0.12.4

+ Full Changelog:
  https://github.com/thorvg/thorvg/compare/v0.12.3...v0.12.4

Godot-related SVG bug fixes:

+ loader/svg: Apply specification of out-of-range elliptical arc parameters,
  fix zero check of arc's rx and ry.
    thorvg/thorvg#1938
2024-02-02 13:58:59 +01:00
bruvzg
edb21e0573
[Wayland] Add support for native file dialogs. 2024-01-31 14:13:19 +02:00
Rémi Verschelde
313f623b9d
Merge pull request #87738 from akien-mga/mbedtls-2.28.7
mbedtls: Update to upstream version 2.28.7
2024-01-30 19:35:09 +01:00
Riteo
7e0f7d3abd Add Wayland support
Not everything is yet implemented, either for Godot or personal
limitations (I don't have all hardware in the world). A brief list of
the most important issues follows:

- Single-window only: the `DisplayServer` API doesn't expose enough
information for properly creating XDG shell windows.

- Very dumb rendering loop: this is very complicated, just know that
the low consumption mode is forced to 2000 Hz and some clever hacks are
in place to overcome a specific Wayland limitation. This will be
improved to the extent possible both downstream and upstream.

- Features to implement yet: IME, touch input, native file dialog,
drawing tablet (commented out due to a refactor), screen recording.

- Mouse passthrough can't be implement through a poly API, we need a
rect-based one.

- The cursor doesn't yet support fractional scaling.

- Auto scale is rounded up when using fractional scaling as we don't
have a per-window scale query API (basically we need
`DisplayServer::window_get_scale`).

- Building with `x11=no wayland=yes opengl=yes openxr=yes` fails.

This also adds a new project property and editor setting for selecting the
default DisplayServer to start, to allow this backend to start first in
exported projects (X11 is still the default for now). The editor setting
always overrides the project setting.

Special thanks to Drew Devault, toger5, Sebastian Krzyszkowiak, Leandro
Benedet Garcia, Subhransu, Yury Zhuravlev and Mara Huldra.
2024-01-30 16:44:47 +01:00
Rémi Verschelde
dec635119e
mbedtls: Update to upstream version 2.28.7 2024-01-30 14:09:13 +01:00
Rémi Verschelde
15c78ae8cc
Merge pull request #87612 from capnm/240126_thorvg_from_v0.12.1_to_0.12.3
ThorVG: update from v0.12.1 to v0.12.3
2024-01-29 13:17:29 +01:00
Rémi Verschelde
44b92ec85f
Merge pull request #86313 from BlueCube3310/etc2-r-rg
Implement `ETC2_R` and `ETC2_RG` compression to `etcpak`
2024-01-29 13:16:34 +01:00
Martin Capitanio
73589f6db6 ThorVG: update from v0.12.1 to v0.12.3
https://github.com/thorvg/thorvg/releases/tag/v0.12.3

+ Full Changelog:
  https://github.com/thorvg/thorvg/compare/v0.12.1...v0.12.3

Godot-related SVG bug fixes:

+ svg_loader: Add missing transform functions skewX and skewY.
  thorvg/thorvg#1928
+ sw_engine: Rectified dash line drawing issue.
  thorvg/thorvg#1932
2024-01-26 12:09:26 +01:00
Yuri Sizov
5034478611 Merge pull request #87581 from akien-mga/certs-2023-12
certs: Sync with Mozilla bundle as of Dec 13, 2023
2024-01-25 16:27:32 +01:00
Rémi Verschelde
e0dc23367c
Remove now unused year member from version.py
We changed copyright to use "present" for the current year, so we no
longer need to hardcode this and (like now) forget to bump it yearly.
2024-01-25 15:08:34 +01:00
Rémi Verschelde
c6e829b4c6
certs: Sync with Mozilla bundle as of Dec 13, 2023
bef37a977c
2024-01-25 13:47:18 +01:00
Rémi Verschelde
8ead8d2ddb
zlib/minizip: Update to version 1.3.1
Minizip includes previously backported fix for CVE-2023-45853,
and a Debian patch for CVE-2014-9485 was also upstreamed.
2024-01-24 11:32:38 +01:00
Rémi Verschelde
7af1df0894
Merge pull request #87105 from capnm/240112_horvg_from_v0.12.0_to_0.12.1
ThorVG: update from v0.12.0 to v0.12.1
2024-01-15 13:29:26 +01:00
Martin Capitanio
0650e72f87 ThorVG: update from v0.12.0 to v0.12.1
https://github.com/thorvg/thorvg/releases/tag/v0.12.1

Godot-related SVG bug fixes:

+ [SVG] XML parser workaround for quote checks within quotes.
      thorvg/thorvg#1892

Fixes »dancing errors« with such SVG images inside the project folder.
2024-01-12 09:38:52 +01:00
DeeJayLSP
7e48a7420c vulkan: Update components to Vulkan SDK 1.3.268.0 2024-01-11 20:27:30 -03:00
Rémi Verschelde
27509a6027
Merge pull request #86980 from BastiaanOlij/openxr_1_0_33
Updated thirdparty OpenXR library to 1.0.33
2024-01-09 11:29:59 +01:00
Bastiaan Olij
3747cf2ffa Updated thirdparty OpenXR library to 1.0.33 2024-01-09 11:47:45 +11:00
Dario
cc4d39b0c1 Acyclic Command Graph for RenderingDevice.
Adds a new system to automatically reorder commands, perform layout transitions and insert synchronization barriers based on the commands issued to RenderingDevice.
2024-01-08 14:54:56 -03:00
Martin Capitanio
e090b112ef ThorVG: update from v0.11.6 to v0.12.0
https://github.com/thorvg/thorvg/releases/tag/v0.12.0

Godot-related SVG bug fixes:

+ [SwEngine] Fixed a linear filling scaling issue.
      thorvg/thorvg#1834
+ [SwEngine] Path data not invalid even though
      it doesn't start with MoveTo.
      thorvg/thorvg#1848

Fixes #86128 Gradient issue.
2024-01-08 09:59:43 +01:00
Rémi Verschelde
9b2686c333
Merge pull request #84289 from bruvzg/icu741
ICU4C: Update to version 74.1
2024-01-03 15:41:59 +01:00
Rémi Verschelde
2d90ebd3e4
Merge pull request #86623 from capnm/231229_horvg_from_v0.11.2_to_0.11.6
ThorVG: update from v0.11.2 to v0.11.6
2024-01-03 10:13:26 +01:00
Martin Capitanio
74ed6d63bf ThorVG: update from v0.11.2 to v0.11.6
https://github.com/thorvg/thorvg/releases/tag/v0.11.6

Godot related:
    + [Renderer] Improved the internal structure for compact
      scene-hierarchy traversing.
    + [SwEngine] Improved trigonometric & image scaler performance.
    + [SwEngine] Fixed a loss of image pixels during image down-scaling.
    + [Renderer/Engine] Improved safety measures.
    + [SwEngine] Resolved a bug causing strokes to be improperly
      invisible due to clipping.
      thorvg/thorvg#1785
    + [Renderer] Rectified the precision of rounded rectangle corners.
      thorvg/thorvg#1824
    + [Portability] Resolved compiler shadowing warnings.
      thorvg/thorvg#1811

    Fixes godotengine#85465 Clipped strokes from outside the canvas.
    Fixes godotengine#86012 Rounded rectangles in SVG files rendering incorrectly.
2023-12-31 16:14:44 +01:00
Kacper Gibas
3e91264582 Fix linuxbsd_headers/README.md 2023-12-30 15:04:28 +01:00
Yuri Sizov
3a8524dd92
Merge pull request #83452 from RandomShaper/rd_common
Split `RenderingDevice` into API-agnostic and `RenderingDeviceDriver` parts
2023-12-20 20:09:18 +01:00
Pedro J. Estébanez
12a519bae2 Split RenderingDevice into API-agnostic and RenderingDeviceDriver parts
Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-12-20 19:18:08 +01:00
BlueCube3310
50d33aac6c Implement ETC2_R and ETC2_RG compression to etcpak 2023-12-19 17:49:05 +01:00
BlueCube3310
e87fadfad0 Mention etcpak changes in thirdparty/README.md 2023-12-17 10:05:16 +01:00
Yuri Sizov
671f59f9be Merge pull request #85842 from BlueCube3310/rgtc-compression
Improve normal map VRAM Compression with RGTC
2023-12-16 17:49:51 +01:00
Rémi Verschelde
41365c6c8b
Merge pull request #70315 from RandomShaper/d3d12_mesa
Direct3D 12 Rendering Driver (Mesa NIR approach)
2023-12-12 21:58:57 +01:00
Pedro J. Estébanez
2f47c57385 Add Direct3D 12 RenderingDevice implementation 2023-12-12 19:10:04 +01:00
Rémi Verschelde
5352490cc9
Merge pull request #84384 from zeux/meshopt-update
meshoptimizer: Update to v0.20 (with a reduced patch)
2023-12-12 10:39:28 +01:00
Arseny Kapoulkine
1f95053aeb Update thirdparty licenses & copyright files per review 2023-12-11 22:35:28 -08:00
BlueCube3310
433a2a6ea2 Fix squish RGTC_R decompression corruption 2023-12-07 13:26:34 +01:00
BlueCube3310
5837e1fe3f Improve normal map VRAM Compression with RGTC 2023-12-06 15:28:18 +01:00
Rémi Verschelde
c8dee05bf0
minizip: Backport patch to fix CVE-2023-45853 2023-11-29 15:16:26 +01:00
Pedro J. Estébanez
205066ad3a Avoid conflict between mingw-std-threads and Clang's own 2023-11-22 14:56:38 +01:00
Pedro J. Estébanez
fe4850c0d0 Use mingw-std-threads in MinGW builds 2023-11-18 11:56:05 +01:00
Andreia Gaita
8fad157dbb r128: Update to include latest fix for intrinsics being incorrect included.
https://github.com/fahickman/r128/pull/15 is needed to build on platforms
that define R128_STDC_ONLY
2023-11-06 18:09:20 +01:00
Arseny Kapoulkine
be2b0fcddc Update thirdparty/meshoptimizer with distance-only error metric
This change replicates the distance-only metric patch which is now much
smaller and cleaner, as upstream simplifier already tracks distance and
attribute quadrics separately - it just doesn't store both errors in the
collapse structures.

The old two patches were removed as they are no longer needed.
2023-11-02 14:12:35 -07:00
Arseny Kapoulkine
c5f73a1783 Update thirdparty/meshoptimizer to v0.20
Note: this change completely overwrites the meshoptimizer library source
(from git SHA c21d3be6ddf627f8ca852ba4b6db9903b0557858)
without including any patches; a distance error metric patch is still
needed and will be reapplied in the next commit.

The changes elsewhere are due to a signature change for
meshopt_simplifyWithAttributes.
2023-11-02 14:10:39 -07:00
bruvzg
5e55c6c611
ICU4C: Update to version 74.1 2023-11-01 08:56:12 +02:00
Rémi Verschelde
868392faed
Merge pull request #84042 from akien-mga/mbedtls-backport-windows-entropy-bcrypt
mbedtls: Backport Windows fix to use bcrypt for entropy
2023-10-31 20:15:06 +01:00
bruvzg
07c3d56e45
HarfBuzz: Update to version 8.2.2 2023-10-27 23:21:25 +03:00
Rémi Verschelde
b9d008de3d
mbedtls: Backport Windows fix to use bcrypt for entropy
We had a slightly older version of it for UWP, as the wincrypt API isn't allowed there.
We removed this with UWP in #81416, but since this was enabled inconditionally before,
this actually changed behavior for Windows compared to Godot 4.1 and earlier.

This change is also needed to properly supported Windows Store.
2023-10-27 10:25:50 +02:00
Rémi Verschelde
f0b6677906
openxr: Sync with upstream 1.0.31, don't build obsolete dispatch table 2023-10-26 10:01:48 +02:00
Rémi Verschelde
adc4566b1e
Merge pull request #83829 from akien-mga/openxr-revert-1.0.28-fix-mingw-crash
openxr: Revert to 1.0.28, newer versions crash on Windows/Mingw-GCC
2023-10-24 10:54:38 +02:00
Rémi Verschelde
34adb2abdb
Merge pull request #82580 from akien-mga/brotli-1.1.0
brotli: Sync with upstream 1.1.0
2023-10-24 10:53:52 +02:00
Rémi Verschelde
2079bbabfd
openxr: Revert to 1.0.28, newer versions crash on Windows/Mingw-GCC
Reverts #82582.
Works around #83674.

Users tested 1.0.29, 1.0.30, and 1.0.31, which all triggered the same issue,
with both mingw-gcc from Fedora 36 and Fedora 39.
2023-10-23 11:10:31 +02:00
Fabio Alessandrelli
5333365593 mbedTLS: Update to version 2.18.5 2023-10-21 14:34:58 +02:00
Martin Capitanio
2ed51e3bc2 ThorVG: update to v0.11.2
https://github.com/thorvg/thorvg/releases/tag/v0.11.2

Godot related:
+ [JPG] Fixed a regression bug that previously disrupted image decoding.
+ [SwEngine] Resolved a default alpha blending bug.

Fixes #83611 alpha blending.
2023-10-20 07:55:51 +02:00
Rémi Verschelde
94810115fe
openxr: Sync with upstream 1.0.30 2023-10-17 15:46:01 +02:00
Martin Capitanio
0983022e0c ThorVG: Update to v0.11.1
https://github.com/thorvg/thorvg/releases/tag/v0.11.1

Godot related:
+ [SwEngine] Enhanced the quality of the dash line corners.
+ [SVG] Fixed a regression bug related to maskContentUnit,
	userSpaceOnUse/objectBoundingBox.

Fixes #82982 icons.
Fixes #83198 svg ← png/jpg.
2023-10-16 13:48:22 +02:00
Rémi Verschelde
dff6752ac8
Cleanup various repository documentation files
- Reformat logo license as a plain text file.
- Fix outdated links or references to SFC or Visual Script.
- Tweak contents of `CONTRIBUTING.md` to highlight contributor docs more
  prominently, and make it easier to parse.
- Tweak formatting and contents in `thirdparty/README.md` for consistency.
2023-10-10 13:58:13 +02:00
A Thousand Ships
f18aa00e85 Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-10-08 17:23:33 +02:00
Rémi Verschelde
0402205ce6
brotli: Sync with upstream 1.1.0
https://github.com/google/brotli/releases/tag/v1.1.0
2023-09-30 12:52:40 +02:00
Martin Capitanio
aab650f2ef ThorVG: update to v0.11.0 release.
See https://github.com/thorvg/thorvg/releases/tag/v0.11.0

+ Infrastructure
    Repository folder structure was make it more intuitive and coherent.
        "thorvg/src/lib" -> "thorvg/src/common"
            (providing essential common functionalities
                used internally among the renderer and sub-modules)
        "thorvg/src/lib" -> "thorvg/src/renderer"
            (for vector drawing features)

+ SVG related
    Fix stroke regression https://github.com/thorvg/thorvg/issues/1670
    Support stroke dash offset function https://github.com/thorvg/thorvg/issues/1591#issuecomment-1681319321
    Support Focal property in Radial Gradient https://github.com/thorvg/thorvg/issues/1558
2023-09-29 19:50:19 +02:00
Yuri Sizov
aa82cccc41 Merge pull request #81659 from DarioSamo/nlm-denoiser
Replace OIDN denoiser in Lightmapper with a JNLM denoiser compute shader.
2023-09-27 19:08:01 +02:00
Rémi Verschelde
81949c2cd2
thorvg: Update to 0.10.7
Fixes #81618.
2023-09-26 22:43:44 +02:00
A Thousand Ships
517e9f8aef [Modules] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-26 16:44:52 +02:00
Rémi Verschelde
b45933931b
Merge pull request #81219 from akien-mga/vulkan-sdk-1.3.261.1
vulkan: Update all components to Vulkan SDK 1.3.261.1
2023-09-26 08:18:23 +02:00
Dario
ab65effed0 Remove denoise module and thirdparty OIDN.
This is replaced by a much lighter weight and faster JNLM denoiser. OIDN is still much more accurate, and may be provided as an optional backend in the future, but the JNLM denoiser seems good enough for most use cases and removing OIDN reduces the build system complexity, binary size, and build times very significantly.
2023-09-25 14:53:45 -03:00
smix8
0ee7e3102b Add 2D navigation mesh baking
Adds 2D navigation mesh baking.
2023-09-25 19:48:14 +02:00
Dario
057367bf4f Add FidelityFX Super Resolution 2.2 (FSR 2.2.1) support.
Introduces support for FSR2 as a new upscaler option available from the project settings. Also introduces an specific render list for surfaces that require motion and the ability to derive motion vectors from depth buffer and camera motion.
2023-09-25 10:37:47 -03:00
bruvzg
1887a9df19
[macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add EGL_ANDROID_blob_cache caching.
Co-authored-by: Riteo <riteo@posteo.net>
2023-09-21 14:21:00 +03:00
DeeJayLSP
56cfeda7d2 libwebp: Sync with upstream 1.3.2 2023-09-14 15:56:42 -03:00
Rémi Verschelde
8de6405288
UWP: Remove platform port, needs to be redone from scratch for 4.x
The UWP platform port was never ported to the Godot 4.0+ API,
and it's now accumulating bitrot as it doesn't compile, and thus
we no longer propagate platform changes in it.

So we finally remove to acknowledge this state. There's still some
interest in reviving the UWP port eventually, especially as support
for Direct3D 12 will soon be merged, but when that happens it will
be easiest to redo it from scratch.
2023-09-07 15:01:59 +02:00
Rémi Verschelde
d63c1a3953
mbedtls: Fix MSVC ARM build after 2.28.3 enabled AES-NI intrinsics 2023-09-07 10:59:26 +02:00
Yuri Sizov
59d3a36fbe Merge pull request #81327 from bruvzg/hb811
HarfBuzz: Update to version 8.1.1
2023-09-05 15:14:33 +02:00
bruvzg
afbba19f5d
HarfBuzz: Update to version 8.1.1 2023-09-05 08:27:29 +03:00
bruvzg
ab33613a13
Update and properly list versions of the built-in fonts. 2023-09-05 08:17:24 +03:00
Rémi Verschelde
a47729d16b
Merge pull request #81111 from akien-mga/zlib-1.3
zlib/minizip: Update to version 1.3
2023-09-01 16:02:11 +02:00
Rémi Verschelde
728dbeab69
vulkan: Update all components to Vulkan SDK 1.3.261.1
Updates to volk, vulkan headers, `vk_enum_string_helper.h`, VMA,
glslang, spirv-reflect.

VMA doesn't tag SDK releases specifically, and still hasn't had a tagged
release since 3.0.1, but the Vulkan SDK now seems to ship a recent master
commit, so we do the same.
2023-09-01 11:23:48 +02:00
Rémi Verschelde
e0e1f2e4a2
zlib/minizip: Update to version 1.3
Upstreams the fix from #73310, so we can remove that patch.
Remove `infback.c` which we stopped compiling after #79273.

The `OF` macro was also removed so I can drop the patch where I yell
at Gentoo developers.
2023-08-29 11:02:34 +02:00
Rémi Verschelde
54c4c8dfa5
FreeType: Update to version 2.13.2
Remove freetype's copy of zlib again, as we don't use it.
2023-08-29 10:42:26 +02:00
Rémi Verschelde
969a35ae2b
SCons: Make ktx module require basis_universal
Fixes #80786.
2023-08-19 16:49:29 +02:00
acazuc
a00cf02241 Add support for KTX & KTX2 image format
Add support glTF KHR_texture_basisu extension
2023-08-19 10:27:29 +02:00
Martin Capitanio
ac9e259d3e Update ThorVG to v0.10.0
- Release Notes: https://github.com/thorvg/thorvg/releases/tag/v0.10.0
- API change ARGB8888_STRAIGHT -> ARGB8888S
- SVG-SCsub: Enable static ThorVG object linking
- SVG-SCsub: avoid building unused ThorVG parts
- update-thorvg.sh: add v0.10.0 and copy only the Godot relevant code
2023-08-09 17:15:59 +02:00
Rémi Verschelde
310553f2a3
Merge pull request #80384 from akien-mga/tinyexr-1.0.7
tinyexr: Sync with upstream 1.0.7
2023-08-08 17:00:22 +02:00
Rémi Verschelde
8984be0042
Merge pull request #80383 from akien-mga/libwebp-1.3.1
libwebp: Sync with upstream 1.3.1
2023-08-08 16:59:58 +02:00
Rémi Verschelde
b70e2af3b7
tinyexr: Sync with upstream 1.0.7 2023-08-07 18:25:37 +02:00
Rémi Verschelde
2529ad6a64
libwebp: Sync with upstream 1.3.1
https://chromium.googlesource.com/webm/libwebp/+/1.3.1/NEWS
2023-08-07 18:12:39 +02:00
Rémi Verschelde
74f21cb666
miniupnpc: Update to version 2.2.5
No change for the files we ship, so just bumping the version number.
2023-08-07 17:51:28 +02:00
Rémi Verschelde
a528197a00
Merge pull request #80263 from akien-mga/mbedtls-2.28.4
mbedtls: Update to upstream version 2.28.4
2023-08-07 14:52:22 +02:00
Rémi Verschelde
1f6340bc46
mbedtls: Update to upstream version 2.28.4 2023-08-07 14:39:49 +02:00
Rémi Verschelde
0baca62734
libpng: Update to upstream 1.6.40 2023-08-04 17:04:49 +02:00
Rémi Verschelde
2c9b7fc7a8
libpng: Enable intrinsics on x86/SSE2, ppc64/VSX, and all arm/NEON 2023-08-04 14:57:21 +02:00
Fabio Alessandrelli
35b70681e7 [ENet] Update to upstream master. 2023-07-20 12:20:14 +02:00
Yuri Sizov
a55e714b56 Merge pull request #79273 from bruvzg/ft2131
FreeType: Update to version 2.13.1
2023-07-12 21:03:07 +02:00
Yuri Sizov
30e951603c Merge pull request #79272 from bruvzg/icu732
ICU4C: Update to version 73.2
2023-07-12 21:03:02 +02:00
Yuri Sizov
da88468c7c Merge pull request #79260 from bruvzg/hb800
HarfBuzz: Update to version 8.0.0
2023-07-12 21:02:57 +02:00
Yuri Sizov
8a19e21b6c Merge pull request #78335 from akien-mga/openxr-1.0.27
openxr: Sync with upstream 1.0.28
2023-07-12 17:16:18 +02:00
Yuri Sizov
2c8d61cd9b Merge pull request #73310 from RedworkDE/zip-empty
Fix `ZIPReader` failing to open empty zip files
2023-07-12 17:15:32 +02:00