Commit Graph

706 Commits

Author SHA1 Message Date
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
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
Bastiaan Olij 3747cf2ffa Updated thirdparty OpenXR library to 1.0.33 2024-01-09 11:47:45 +11: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
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
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
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
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
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
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
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
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 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 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
Rémi Verschelde d756169881
openxr: Sync with upstream 1.0.28 2023-07-11 09:13:16 +02:00
bruvzg 008d3de1e9
FreeType: Update to version 2.13.1 2023-07-10 12:04:02 +03:00
bruvzg 1061912c7f
ICU4C: Update to version 73.2 2023-07-10 11:37:51 +03:00
bruvzg ad83a3194c
HarfBuzz: Update to version 8.0.0 2023-07-10 00:51:41 +03:00
Rémi Verschelde d0c1dd16ee
Revert "Update RVO2 to git 2022.09"
This reverts commit c920881105.

Fixes #78826.
2023-06-29 12:50:49 +02:00
Rémi Verschelde c79183817d
Revert "minimp3: Add a .cpp file to simplify building the single-header implementation"
This reverts commit 6fc0912137.
2023-06-19 13:34:56 +02:00
Rémi Verschelde 6fc0912137
minimp3: Add a .cpp file to simplify building the single-header implementation
Single-header libraries like this require passing a bunch of defines _once_
before including the header, but not multiple times. This can make it tricky
in user code to know when to request the implementation, if the header needs
to be included in multiple files.

So properly compiling a .cpp file for the implementation solves this, and
also enables us to properly disable warnings on thirdparty implementation code.
2023-06-15 13:50:27 +02:00
Rémi Verschelde 375156a637
Merge pull request #78099 from DeeJayLSP/rvo2023
Update RVO2 to git 2022.09
2023-06-14 09:25:10 +02:00
DeeJayLSP c920881105 Update RVO2 to git 2022.09 2023-06-13 21:13:21 -03:00
Álex Román Núñez 938a837056 Disable NVIDIA's threaded optimization on Windows 2023-06-13 11:47:40 +02:00
Rémi Verschelde e289cf7085
pcre2: Update to upstream version 10.42 (take two)
Changelog: https://github.com/PCRE2Project/pcre2/blob/pcre2-10.42/ChangeLog

This fixes support for RISC-V architectures in the sljit library, so we
enable the module's compilation for `rv64` too.
2023-06-12 15:12:15 +02:00
Rémi Verschelde 72b59325cf
Merge pull request #77960 from akien-mga/tinyexr-1.0.5
tinyexr: Sync with upstream 1.0.5
2023-06-07 16:07:06 +02:00
Rémi Verschelde 3c25dfe0e4
msdfgen: Sync with upstream 1.10 2023-06-07 15:55:29 +02:00
Rémi Verschelde 56d85149e5
tinyexr: Sync with upstream 1.0.5 2023-06-07 15:33:34 +02:00
Rémi Verschelde 1d6b28f867
Merge pull request #77898 from DeeJayLSP/vulkan-250
Update Vulkan and related libraries to 1.3.250.0
2023-06-07 13:31:57 +02:00
DeeJayLSP 504e002224 Update certs (2023.06 revision) 2023-06-06 20:29:01 -03:00
DeeJayLSP 1b642d283c Update Vulkan and related libraries to 1.3.250.0 2023-06-06 12:40:04 -03:00
bitsawer ca55c455ad tinyexr: Sync with upstream 1.0.4 2023-06-05 12:15:30 +03:00
Rémi Verschelde 09d3dc86c0
Merge pull request #77379 from bruvzg/update_ts_libs
Update HarfBuzz, ICU and FreeType
2023-05-23 19:15:08 +02:00
Rémi Verschelde 56a15a552d
Merge pull request #77350 from akien-mga/glad-2.0.4
glad: Re-generate files with glad 2.0.4
2023-05-23 19:14:55 +02:00
Rémi Verschelde 86d3f43063
Merge pull request #77348 from akien-mga/brotli-202302
brotli: Sync with upstream commit ed1995b6b
2023-05-23 19:14:51 +02:00