Commit Graph

976 Commits

Author SHA1 Message Date
Riteo d46d8b1b5a libdecor: Update to 0.2.2 2024-02-15 20:20:04 +01:00
Jakub Marcowski 72b80b3cdf miniupnpc: Update to version 2.2.6 2024-02-13 16:06:52 +01:00
Martin Capitanio b5ec79906c ThorVG: update from v0.12.4 to v0.12.5
https://github.com/thorvg/thorvg/releases/tag/v0.12.5

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

Godot-related SVG bug fixes:

    + sw_engine: Improve image up-scaler quality.
      thorvg/thorvg#1960

    + renderer: Ensure canvas rendering continues
      despite invalid scene parts.
      thorvg/thorvg#1957

    + Portability: Fix compiler shadowing warning (patch)
      thorvg/thorvg#1975
2024-02-08 11:24:46 +01:00
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