1
0
Fork 0
Commit Graph

1235 Commits

Author SHA1 Message Date
Riteo 65c28ed31d Wayland: Add support for xdg-foreign-unstable-v2
The v1 version is deprecated and bound to be removed in the future from
all compositors. This patch adds a v1/v2 designator to everything
related to the protocol and prefers the v2 protocol if both are
available.

Additionally, renames the event handler to follow the Wayland interface
name, for consistency with the rest of the codebase.
2024-12-10 01:29:46 +01:00
Matias N. Goldberg c77cbf096b Improvements from TheForge (see description)
The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.

This is the most "risky" PR so far because the previous ones have been
miscellaneous stuff aimed at either [improve
debugging](https://github.com/godotengine/godot/pull/90993) (e.g. device
lost), [improve Android
experience](https://github.com/godotengine/godot/pull/96439) (add Swappy
for better Frame Pacing + Pre-Transformed Swapchains for slightly better
performance), or harmless [ASTC
improvements](https://github.com/godotengine/godot/pull/96045) (better
performance by simply toggling a feature when available).

However this PR contains larger modifications aimed at improving
performance or reducing memory fragmentation. With greater
modifications, come greater risks of bugs or breakage.

Changes introduced by this PR:

TBDR GPUs (e.g. most of Android + iOS + M1 Apple) support rendering to
Render Targets that are not backed by actual GPU memory (everything
stays in cache). This works as long as load action isn't `LOAD`, and
store action must be `DONT_CARE`. This saves VRAM (it also makes
painfully obvious when a mistake introduces a performance regression).
Of particular usefulness is when doing MSAA and keeping the raw MSAA
content is not necessary.

Some GPUs get faster when the sampler settings are hard-coded into the
GLSL shaders (instead of being dynamically bound at runtime). This
required changes to the GLSL shaders, PSO creation routines, Descriptor
creation routines, and Descriptor binding routines.

 - `bool immutable_samplers_enabled = true`

Setting it to false enforces the old behavior. Useful for debugging bugs
and regressions.

Immutable samplers requires that the samplers stay... immutable, hence
this boolean is useful if the promise gets broken. We might want to turn
this into a `GLOBAL_DEF` setting.

Instead of creating dozen/hundreds/thousands of `VkDescriptorSet` every
frame that need to be freed individually when they are no longer needed,
they all get freed at once by resetting the whole pool. Once the whole
pool is no longer in use by the GPU, it gets reset and its memory
recycled. Descriptor sets that are created to be kept around for longer
or forever (i.e. not created and freed within the same frame) **must
not** use linear pools. There may be more than one pool per frame. How
many pools per frame Godot ends up with depends on its capacity, and
that is controlled by
`rendering/rendering_device/vulkan/max_descriptors_per_pool`.

- **Possible improvement for later:** It should be possible for Godot
to adapt to how many descriptors per pool are needed on a per-key basis
(i.e. grow their capacity like `std::vector` does) after rendering a few
frames; which would be better than the current solution of having a
single global value for all pools (`max_descriptors_per_pool`) that the
user needs to tweak.

 - `bool linear_descriptor_pools_enabled = true`

Setting it to false enforces the old behavior. Useful for debugging bugs
and regressions.
Setting it to false is required when workarounding driver bugs (e.g.
Adreno 730).

A ridiculous optimization. Ridiculous because the original code
should've done this in the first place. Previously Godot was doing the
following:

  1. Create a command buffer **pool**. One per frame.
  2. Create multiple command buffers from the pool in point 1.
3. Call `vkBeginCommandBuffer` on the cmd buffer in point 2. This
resets the cmd buffer because Godot requests the
`VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT` flag.
  4. Add commands to the cmd buffers from point 2.
  5. Submit those commands.
6. On frame N + 2, recycle the buffer pool and cmd buffers from pt 1 &
2, and repeat from step 3.

The problem here is that step 3 resets each command buffer individually.
Initially Godot used to have 1 cmd buffer per pool, thus the impact is
very low.

But not anymore (specially with Adreno workarounds to force splitting
compute dispatches into a new cmd buffer, more on this later). However
Godot keeps around a very low amount of command buffers per frame.

The recommended method is to reset the whole pool, to reset all cmd
buffers at once. Hence the new steps would be:

  1. Create a command buffer **pool**. One per frame.
  2. Create multiple command buffers from the pool in point 1.
3. Call `vkBeginCommandBuffer` on the cmd buffer in point 2, which is
already reset/empty (see step 6).
  4. Add commands to the cmd buffers from point 2.
  5. Submit those commands.
6. On frame N + 2, recycle the buffer pool and cmd buffers from pt 1 &
2, call `vkResetCommandPool` and repeat from step 3.

**Possible issues:** @dariosamo added `transfer_worker` which creates a
command buffer pool:

```cpp
transfer_worker->command_pool =
driver->command_pool_create(transfer_queue_family,
RDD::COMMAND_BUFFER_TYPE_PRIMARY);
```

As expected, validation was complaining that command buffers were being
reused without being reset (that's good, we now know Validation Layers
will warn us of wrong use).
I fixed it by adding:

```cpp
void RenderingDevice::_wait_for_transfer_worker(TransferWorker
*p_transfer_worker) {
	driver->fence_wait(p_transfer_worker->command_fence);
	driver->command_pool_reset(p_transfer_worker->command_pool); //
! New line !
```

**Secondary cmd buffers are subject to the same issue but I didn't alter
them. I talked this with Dario and he is aware of this.**
Secondary cmd buffers are currently disabled due to other issues (it's
disabled on master).

 - `bool RenderingDeviceCommons::command_pool_reset_enabled`

Setting it to false enforces the old behavior. Useful for debugging bugs
and regressions.

There's no other reason for this boolean. Possibly once it becomes well
tested, the boolean could be removed entirely.

Adds `command_bind_render_uniform_sets` and
`add_draw_list_bind_uniform_sets` (+ compute variants).

It performs the same as `add_draw_list_bind_uniform_set` (notice
singular vs plural), but on multiple consecutive uniform sets, thus
reducing graph and draw call overhead.

 - `bool descriptor_set_batching = true;`

Setting it to false enforces the old behavior. Useful for debugging bugs
and regressions.

There's no other reason for this boolean. Possibly once it becomes well
tested, the boolean could be removed entirely.

Godot currently does the following:

 1. Fill the entire cmd buffer with commands.
 2. `submit()`
    - Wait with a semaphore for the swapchain.
- Trigger a semaphore to indicate when we're done (so the swapchain
can submit).
 3. `present()`

The optimization opportunity here is that 95% of Godot's rendering is
done offscreen.
Then a fullscreen pass copies everything to the swapchain. Godot doesn't
practically render directly to the swapchain.

The problem with this is that the GPU has to wait for the swapchain to
be released **to start anything**, when we could start *much earlier*.
Only the final blit pass must wait for the swapchain.

TheForge changed it to the following (more complicated, I'm simplifying
the idea):

 1. Fill the entire cmd buffer with commands.
 2. In `screen_prepare_for_drawing` do `submit()`
    - There are no semaphore waits for the swapchain.
    - Trigger a semaphore to indicate when we're done.
3. Fill a new cmd buffer that only does the final blit to the
swapchain.
 4. `submit()`
    - Wait with a semaphore for the submit() from step 2.
- Wait with a semaphore for the swapchain (so the swapchain can
submit).
- Trigger a semaphore to indicate when we're done (so the swapchain
can submit).
 5. `present()`

Dario discovered this problem independently while working on a different
platform.

**However TheForge's solution had to be rewritten from scratch:** The
complexity to achieve the solution was high and quite difficult to
maintain with the way Godot works now (after Übershaders PR).
But on the other hand, re-implementing the solution became much simpler
because Dario already had to do something similar: To fix an Adreno 730
driver bug, he had to implement splitting command buffers. **This is
exactly what we need!**. Thus it was re-written using this existing
functionality for a new purpose.

To achieve this, I added a new argument, `bool p_split_cmd_buffer`, to
`RenderingDeviceGraph::add_draw_list_begin`, which is only set to true
by `RenderingDevice::draw_list_begin_for_screen`.

The graph will split the draw list into its own command buffer.

 - `bool split_swapchain_into_its_own_cmd_buffer = true;`

Setting it to false enforces the old behavior. This might be necessary
for consoles which follow an alternate solution to the same problem.
If not, then we should consider removing it.

PR #90993 added `shader_destroy_modules()` but it was not actually in
use.

This PR adds several places where `shader_destroy_modules()` is called
after initialization to free up memory of SPIR-V structures that are no
longer needed.
2024-12-09 11:49:28 -03:00
Jakub Marcowski 2481632b3c
thorvg: Regenerate and apply patches 2024-12-07 13:11:37 +01:00
Thaddeus Crews 4b91e98656
Merge pull request #99959 from fire/vsk-csg-error-and-ctd
Print better manifold errors and avoid crash on non manifold csg input.
2024-12-05 14:12:25 -06:00
Thaddeus Crews b34a643404
Merge pull request #96346 from DeeJayLSP/qoa-opt
Use `qoa.c` and custom compress procedure
2024-12-05 14:12:15 -06:00
Thaddeus Crews 30b32396de
Merge pull request #100053 from bruvzg/font_change
Change default Arabic font to Vazirmatn.
2024-12-05 14:12:14 -06:00
Thaddeus Crews 49e033f8e2
Merge pull request #100047 from MBCX/fix-freebsd-compilation
Make Godot compile on `FreeBSD`
2024-12-05 14:12:11 -06:00
Thaddeus Crews ec7ffdcb15
Merge pull request #100008 from Chubercik/thorvg-0.15.5
thorvg: Update to 0.15.5
2024-12-05 14:11:50 -06:00
Thaddeus Crews 755f600173
Merge pull request #99999 from akien-mga/ufbx-0.15.0
ufbx: Update to upstream 0.15.0
2024-12-05 14:11:46 -06:00
MBCX 6bc80effbb Make Godot compile on FreeBSD 2024-12-05 12:33:55 -04:00
DeeJayLSP afd68d785b Use `qoa.c` and custom compress procedure 2024-12-05 13:20:09 -03:00
Pāvels Nadtočajevs 06cae04b87 Change default Arabic font to Vazirmatn. 2024-12-05 16:26:52 +02:00
Jakub Marcowski 5318008ce6
thorvg: Update to 0.15.5 2024-12-04 17:24:43 +01:00
K. S. Ernest (iFire) Lee 6cf1d3c13e Print better manifold errors and avoid crash on non manifold csg input.
* Manifold does not have a snap property.
* Tolerance means simplification amount.
* CSG snap has been removed
* Add better error messages.
* Verbose print manifold meshgl64 properties as json.
* Update manifold for error fixes
2024-12-03 20:19:47 -08:00
Rémi Verschelde 4051b43879
ufbx: Update to upstream 0.15.0 2024-12-04 02:19:04 +01:00
Rémi Verschelde d5e4d2f942
tinyexr: Update to upstream 1.0.9 2024-12-04 02:16:59 +01:00
Rémi Verschelde 56922db85b
mbedtls: Update to upstream 3.6.2 2024-12-04 02:14:05 +01:00
Rémi Verschelde d471210eba
libpng: Update to upstream 1.6.44 2024-12-04 00:47:54 +01:00
Pāvels Nadtočajevs 84650f2018 Implement `DisplayServer.beep`. 2024-12-03 12:43:26 +02:00
Rémi Verschelde d14672863b
Merge pull request #99556 from ArchercatNEO/miniupnpc-include
Fix broken includes when compiling with `builtin_miniupnpc=false`
2024-11-29 22:02:10 +01:00
Rémi Verschelde c814493e95
Merge pull request #94321 from fire/vsk-csg-manifold-update-4.3
Fix mesh corruption of CSG by using elalish/manifold
2024-11-29 22:01:44 +01:00
K. S. Ernest (iFire) Lee fda444bb01 Add csg boolean operators using elalish/manifold.
Uses MeshGL64 for more floating point precision.

Co-Authored-By: 31 <31eee384@gmail.com>
Co-Authored-By: Claudio Z <120678869+cloudofoz@users.noreply.github.com>
2024-11-28 06:26:52 -08:00
ArchercatNEO 84bf1cc7ac Fix broken includes when compiling with builtin_miniupnpc=false
Fixes #99196
Supersedes #99218
2024-11-27 15:37:54 +00:00
Jakub Marcowski 1bd52fed76
clipper2: Update to 1.4.0 2024-11-26 17:23:06 +01:00
Yevhen Babiichuk (DustDFG) b607997bfc Delete unused files of thirparty libs (zlib, mbedtls)
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-11-07 18:54:57 +02:00
Rémi Verschelde eb41ff0fee
certs: Sync with Mozilla bundle as of Oct 19, 2024
4d3fe6683f

Document matching mozilla-release changeset.
2024-11-05 20:42:42 +01:00
Thaddeus Crews 0a2a259ad5
Merge pull request #98771 from stuartcarnie/update_smolv
smol-v: update to 2024 to support SPIR-V 1.6
2024-11-04 21:51:59 -06:00
David Snopek 09e09d9335 Patch the OpenXR headers to get EGL from GLAD if we're using it 2024-11-04 10:43:07 -06:00
Stuart Carnie dd8582a319
smol-v: update to 2024 to support SPIR-V 1.6 2024-11-03 07:14:16 +11:00
Thaddeus Crews 49cf7996e1
Merge pull request #98496 from bruvzg/icu761
Update ICU to 76.1
2024-10-29 19:25:49 -05:00
Clay John 748f4079e3
Merge pull request #96439 from darksylinc/matias-TheForge-pr03-rebased
Add Swappy & Pre-Transformed Swapchain
2024-10-29 12:34:40 -07:00
Matias N. Goldberg aaa0e2fddf Add Swappy & Pre-Transformed Swapchain
- Adds Swappy for Android for stable frame pacing
- Implements pre-transformed Swapchain so that Godot's compositor is in
charge of rotating the screen instead of Android's compositor
(performance optimization for phones that don't have HW rotator)

============================

The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.

Changes from original PR:

- Removed "display/window/frame_pacing/android/target_frame_rate" option
to use Engine::get_max_fps instead.
- Target framerate can be changed at runtime using Engine::set_max_fps.
- Swappy is enabled by default.
- Added documentation.
- enable_auto_swap setting is replaced with swappy_mode.
2024-10-28 18:55:37 -03:00
Arseny Kapoulkine e2cc0e484e Update meshoptimizer to 0.22
The Godot-specific patch is just a single line now; removing this patch
will likely require adjusting Godot importer code to handle error limits
better.

This also adds new SIMPLIFY_ options; Godot is currently not using any
of these but might use SIMPLIFY_PRUNE and SIMPLIFY_SPARSE in the future.
2024-10-26 07:26:07 -07:00
bruvzg e698870caa
Update ICU to 76.1 2024-10-24 22:47:59 +03:00
Thaddeus Crews 56ed76a372
Merge pull request #97582 from BlueCube3310/basisu-hdr
BasisU: Update to 1.50.0 and add HDR support
2024-10-14 14:09:57 -05:00
Thaddeus Crews a1e768c508
Merge pull request #97295 from BlueCube3310/betsy-bc4
Betsy: Implement BC4 compression
2024-10-14 14:09:56 -05:00
BlueCube3310 200ed0971a BasisU: Update to 1.50.0 and add HDR support 2024-10-12 18:02:44 +02:00
Rémi Verschelde 991b741f6c
Merge pull request #97677 from bruvzg/hb1001
Update HarfBuzz to 10.0.1
2024-10-02 15:01:23 +02:00
Rémi Verschelde dec83d5088
Merge pull request #97611 from BlueCube3310/bcdec-update
Update bcdec to latest version
2024-10-01 17:31:24 +02:00
bruvzg b6a369de79
Update HarfBuzz to 10.0.1 2024-10-01 08:20:45 +03:00
Gergely Kis 146ba4106f Move Vulkan includes to a central godot_vulkan.h header
Also fixes Vulkan build problem with recent Clang.
2024-09-29 17:53:18 +02:00
BlueCube3310 529897cb0c Update bcdec to latest version 2024-09-29 10:25:48 +02:00
Rémi Verschelde 422306ef87
Merge pull request #97325 from BlueCube3310/bcdec
Replace squish with bcdec for BC decompression
2024-09-29 00:47:02 +02:00
Bastiaan Olij e0478fe3a3 Update thirdparty OpenXR to 1.1.41 2024-09-27 14:34:43 +10:00
Fabio Alessandrelli 8ffb7699af [mbedTLS] Enable TLS 1.3 support
Move library initialization to module registration functions.

Only set library debug threshold when verbose output is enabled.

TLSv1.3 functions seems to be a bit more verbose then expected, and
generate a lot of noise. Yet, some level of debugging without
recompiling the engine would be nice. We should discuss this upstream.
2024-09-26 17:37:38 +02:00
BlueCube3310 2167157aaf Replace squish with bcdec for BC decompression 2024-09-26 14:42:54 +02:00
BlueCube3310 95fd45d9a5 Betsy: Implement BC4 compression 2024-09-22 10:16:37 +02:00
Rémi Verschelde 4c72d599f0
miniupnpc: Update to 2.2.8 (new major 18)
Keep support for major 17 by using a version check for the changed API.

Fixes #93907.
2024-09-18 11:50:54 +02:00
Rémi Verschelde 0c0336f704
thorvg: Update to 0.14.10
More fixes to rendering of SVG files with broken text tags.

Also backports upstream patch to fix #97078.
2024-09-17 08:53:52 +02:00
BlueCube3310 606eedb0c9 Betsy: Add caching and BC1 compression support 2024-09-11 23:48:29 +02:00
Rémi Verschelde a6ab039f2b
thorvg: Update to 0.14.9
Fixes #96491.

Update fix for #96262 to a simple revert of the problematic commit,
as the upstream fix is still being debated and caused other issues.

Also include fix for upstream regression 2715 added in 0.14.9.
2024-09-06 22:08:02 +02:00
Rémi Verschelde 9c2263366b
Merge pull request #96385 from Faless/mbedtls/3.6.1
[mbedTLS] Update to 3.6.1
2024-09-02 12:13:38 +02:00
Rémi Verschelde 7375f9b923
thorvg: Update to 0.14.8, and workaround Bezier precision regression
Fixes #96262 by backporting https://github.com/thorvg/thorvg/pull/2702.
2024-09-02 11:59:54 +02:00
Fabio Alessandrelli 4ac1f9c08a [mbedTLS] Update to 3.6.1 2024-08-31 15:35:37 +02:00
Alula 346cbc7f1f
Add support for compiling with VS clang-cl toolset 2024-08-28 13:30:44 -05:00
Rémi Verschelde 5a11abc899
Merge pull request #96198 from DeeJayLSP/qoa-leak
ResourceImporterWAV: Fix memory leak on QOA import
2024-08-28 13:14:27 +02:00
DeeJayLSP e67cc73463 Fix memory leak on QOA import 2024-08-28 08:04:20 -03:00
Rémi Verschelde f16d4af342
thorvg: Update to 0.14.7
Fixes #95861.
2024-08-27 15:54:10 +02:00
Rémi Verschelde 4b8946102b
Merge pull request #91535 from BlueCube3310/betsy-bc6h
Add Betsy to speed up BC6 compression
2024-08-21 06:38:03 +02:00
Stuart Carnie 2d0165574d
Add Metal support for macOS (arm64) and iOS 2024-08-20 12:11:06 +02:00
Jakub Marcowski e3ffcb3289
ufbx: Update to 0.14.3 2024-08-20 02:30:45 +02:00
BlueCube3310 394ea653aa Add Betsy to speed up BC6 compression 2024-08-18 11:14:05 +02:00
Rémi Verschelde 5cb01a0e09
Merge pull request #95227 from BastiaanOlij/openxr_1_1_38
Update OpenXR thirdparty library to 1.1.38
2024-08-17 00:46:27 +02:00
Rémi Verschelde 55c8fd85ed
Merge pull request #94985 from RandomShaper/sc_sized_array
Report shader arrays sized after spec constants as zero-sized
2024-08-16 10:35:06 +02:00
Bastiaan Olij 1371b35b6e Update OpenXR thirdparty library to 1.1.38, changed OpenXR init to stay on 1.0.x 2024-08-07 13:58:05 +10:00
Fabio Alessandrelli 764b7abe82 [ENet] Better handle disconnected peers in DTLS server
The ENetDTLSServer socket implementation should avoid reporting errors
during send and receive operations, unless the socket is effectively no
longer usable (and thus ENet should close it).
2024-08-02 16:07:37 +02:00
Rémi Verschelde 3c7eb6a4a9
Merge pull request #94256 from alvinhochun/embree-include-order-dllexport-fix
embree: Fix include order causing unwanted dllexport symbols
2024-08-01 00:06:31 +02:00
Pedro J. Estébanez 90679f1dcf Report shader arrays sized after spec constants as zero-sized
This effectively disables validation of the size of the data provided.
2024-07-31 20:07:53 +02:00
bruvzg 52a2836861 Disable FP contraction. 2024-07-23 14:33:51 +03:00
Martin Capitanio bf444545be ThorVG: Update to 0.14.2
+ Fixes SVG: Graphical objects stored in <defs> shouldn't be rendered directly.
2024-07-12 12:37:42 +02:00
Alvin Wong 54851f2333 embree: Fix include order causing unwanted dllexport symbols 2024-07-12 17:57:02 +08:00
Rémi Verschelde 79a24fa7e0
thorvg: Update to 0.14.1 2024-07-08 23:20:55 +02:00
Martin Capitanio 10406c8685 ThorVG: Update to 0.14.0
+ Fixes the v0.13.8 svg text error issue.
+ See https://github.com/thorvg/thorvg/releases/tag/v0.14.0
2024-06-27 11:26:44 +02:00
Rémi Verschelde 1f134f3865
Merge pull request #93378 from akien-mga/thorvg-0.13.8
thorvg: Update to 0.13.8
2024-06-21 10:14:32 +02:00
bruvzg 04d70c11fc [Windows/ARM64] Fix raycast/embree ARM64 build with LLVM/MinGW. 2024-06-20 15:52:04 +03:00
Rémi Verschelde e94df6f535
thorvg: Update to 0.13.8 2024-06-20 09:43:02 +02:00
Rémi Verschelde 38716b94db
thorvg: Fix unintended use of `float_t` type, again 2024-06-19 11:43:27 +02:00
Rémi Verschelde 4e01d8663e
Merge pull request #93021 from bruvzg/wl_ime
[Wayland] Implement IME support.
2024-06-19 10:10:09 +02:00
Fabio Alessandrelli c95bd2d264 [Web] Disable thorvg threads on the Web
They're of little help, and just adds to the possibility of causing
deadlocks.
2024-06-14 16:03:56 +02:00
Rémi Verschelde e15c2e051e
Merge pull request #92663 from Riteo/holy-egl-batman
EGL: Use `EGL_EXT_platform_base` whenever possible
2024-06-13 17:19:17 +02:00
bruvzg be25e60f61
[Wayland] Implement IME support. 2024-06-11 12:24:54 +03:00
Rémi Verschelde 4223444d87
Merge pull request #92993 from capnm/240610-embree-error-hotfix
CI: Hotfix for build error with newer clang++
2024-06-11 10:49:07 +02:00
Rémi Verschelde 4ac7a27e43
Merge pull request #92905 from DeeJayLSP/qoa-ups
qoa: Apply upstream patches
2024-06-11 10:48:55 +02:00
Daniel Opitz c24ea0ecca CI: Hotfix for build error with newer clang++
It will be included in the next release at some point.
- https://github.com/RenderKit/embree/issues 486
  "fix output operator"

[ 30%] Compiling thirdparty/embree/kernels/common/accelset.cpp ...
In file included from thirdparty/embree/kernels/common/device.cpp:12:
In file included from thirdparty/embree/kernels/common/scene_curves.h:10:
thirdparty/embree/kernels/common/../subdiv/bezier_curve.h:138:56:
error: no member named 'u' in 'QuadraticBezierCurve<V>'
  138 |         return cout << "QuadraticBezierCurve ( (" << a.u.lower << ", "
  << a.u.upper << "), " << a.v0 << ", " << a.v1 << ", " << a.v2 << ")";
 ...
2024-06-10 19:14:01 +02:00
Martin Capitanio 18650de06a ThorVG: Update to 0.13.7 2024-06-08 20:19:53 +02:00
DeeJayLSP 63bb754fc8 qoa: Apply upstream patches 2024-06-08 11:57:40 -03:00
Rémi Verschelde f9c5cdf360
Merge pull request #92819 from alula/patch-1
Fix building glslang on platforms without `<filesystem>`
2024-06-07 23:30:35 +02:00
Rémi Verschelde 688f9561dc
Merge pull request #92488 from TCROC/fix-cpuidex-mingw
Fix use of undeclared identifier `__cpuidex` error on MinGW
2024-06-07 23:29:32 +02:00
alula 3cc3c0bd95
fix building glslang on platforms without <filesystem> 2024-06-06 01:54:54 +02:00
Travis Lange 093718899f Fixed use of undeclared identifier '__cpuidex' error on mingw 2024-06-04 16:16:53 -04:00
Riteo 8f69f29694 EGL: Use EGL_EXT_platform_base whenever possible
This avoids any assumption from the driver, which would otherwise select
a specific platform and potentially mess up everything, resulting
usually in a display server failure.
2024-06-04 08:43:34 +02:00
Rémi Verschelde 940d629070
vulkan: Update all components to Vulkan SDK 1.3.183.0
Pass `VMA_ALLOCATOR_CREATE_KHR_MAINTENANCE5_BIT` to VMA when using Vulkan 1.3
features.

Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
2024-06-03 10:25:46 +02:00
Rémi Verschelde 2518d169af
thorvg: Update to 0.13.5
Includes https://github.com/thorvg/thorvg/pull/2338 hotfix.
2024-05-30 22:07:51 +02:00
Thaddeus Crews 96d1e61ee6
CI: Fix incorrect executable perms 2024-05-17 10:47:40 -05:00
Rémi Verschelde c4889e4793
Merge pull request #91901 from akien-mga/scons-thorvg-webp-loader-opt-out
thorvg: Disable webp loader if corresponding module is disabled
2024-05-17 11:14:00 +02:00
Rémi Verschelde 82fb849678
Merge pull request #91943 from akien-mga/libwebp-1.4.0
libwebp: Update to 1.4.0
2024-05-15 22:41:52 +02:00
bruvzg 7db29efa7d
Update HarfBuzz to 8.5.0 2024-05-14 21:47:44 +03:00
Rémi Verschelde 08a921a940
Merge pull request #91942 from akien-mga/enet-1.3.18
enet: Update to 1.3.18
2024-05-14 18:10:11 +02:00
Rémi Verschelde 09bd34df93
libwebp: Update to 1.4.0
https://chromium.googlesource.com/webm/libwebp/+/refs/tags/v1.4.0/NEWS
2024-05-14 13:01:07 +02:00
Rémi Verschelde 2a7e2ef530
enet: Update to 1.3.18
No change, just properly tagging the version we were using.
2024-05-14 12:55:21 +02:00
Rémi Verschelde 7ceed18790
astcenc: Update to 4.8.0
https://github.com/ARM-software/astc-encoder/releases/tag/4.8.0
2024-05-14 12:51:49 +02:00
bruvzg e74fea2864
Update ICU to 75.1 2024-05-14 12:38:52 +03:00
Rémi Verschelde 831ebda806
thorvg: Disable webp loader if corresponding module is disabled
Fixes #91873.
2024-05-13 13:01:34 +02:00
Rémi Verschelde 1cf9f37589
thorvg: Update to 0.13.3, add webp loader
Remove embedded png loader, we use the external (libpng) one.
2024-05-10 09:30:57 +02:00
bqqbarbhg 5cd7ae198d Update ufbx to v0.14.0 2024-05-07 14:27:21 +03:00
Rémi Verschelde 9cb3a16a8e
Merge pull request #91014 from DeeJayLSP/qoa-wav-playback
Add QOA (Quite OK Audio) as a WAV compression mode
2024-05-02 12:46:32 +02:00
DeeJayLSP b9cbf2c96f Add QOA (Quite OK Audio) as a WAV compression mode 2024-05-01 19:05:14 -03:00
Rémi Verschelde 13b42d9755
mbedtls: Disable AESCE on Linux ARM32, doesn't compile on our target arch
Our current Linux SDK for ARM32 from https://github.com/godotengine/buildroot
targets a relatively conservative baseline of neon-fp-armv8, and (at least based
on build issues I got) this doesn't seem to include hardware AES support.

Fixes #91352.
2024-04-30 10:40:32 +02:00
Rémi Verschelde beb798d01a
Revert "glad: Re-generate files with glad 2.0.6"
This reverts commit 0f96251afe.

Fixes #90879.
2024-04-29 13:37:39 +02:00
Rémi Verschelde 2bf4509353
Merge pull request #91208 from akien-mga/gcc-14-Wtemplate-id-cdtor-warning
Fix GCC 14 `-Wtemplate-id-cdtor` warnings
2024-04-29 10:10:06 +02:00
Rémi Verschelde a8ff47b6d6
Fix GCC 14 -Wtemplate-id-cdtor warnings
Fixes #91206.
2024-04-26 11:41:09 +02:00
bruvzg c1b34672f9
[Windows] Enable crash reporter on MinGW builds, use libbacktrace to generate stack trace from DWARF symbols. 2024-04-22 16:19:37 +03:00
Ricardo Buring 8a28f816d0 Replace Clipper1 library by Clipper2 library 2024-04-20 13:37:59 +02:00
Fabio Alessandrelli 060097bbf8 mbedTLS: Fix build without the module on MinGW
The `include/mbedtls/check_config.h` header file has a generic check
which requires `MBEDTLS_PLATFORM_C` to be defined on Windows when
building with MinGW and ancient MSVC versions.

The few mbedTLS files we include in builds without the module don't
really require anything from the mbedTLS platform file beside the
`mbedtls_platform_zeroize` function which we already override with a
custom one by defining `MBEDTLS_PLATFORM_ZEROIZE_ALT`.

So we simply add the same check and force the define in such case.
2024-04-15 16:05:54 +02:00
Fabio Alessandrelli c985b74d89 mbedTLS: Add patch to fix build errors with some MSVC versions 2024-04-11 16:11:54 +02:00
Lyuma 40fa684c18 mbedTLS: Update to new LTS v3.6.0
Keep module compatibility with mbedtls 2.x (old LTS branch).

A patch has been added to allow compiling after removing all the `psa_*`
files from the library folder (will look into upstreaming it).

Note: mbedTLS 3.6 finally enabled TLSv1.3 by default, but it requires
some module changes, and to enable PSA crypto (new "standard" API
specification), so it might be best done in a separate commit/PR.
2024-04-10 21:19:22 +02:00
Rémi Verschelde 4d2e8e4cab
Merge pull request #90253 from akien-mga/zstd-1.5.6
zstd: Update to upstream version 1.5.6
2024-04-08 15:03:25 +02:00
Rémi Verschelde 0e7c9d5338
Merge pull request #90250 from akien-mga/miniupnpc-2.2.7
miniupnpc: Update to 2.2.7
2024-04-08 15:03:22 +02:00
Rémi Verschelde 18b6adee9c
Merge pull request #90248 from akien-mga/libktx-4.3.2
libktx: Update to 4.3.2
2024-04-08 15:03:19 +02:00
Rémi Verschelde 746756d0af
Merge pull request #90243 from akien-mga/thorvg-0.12.10
thorvg: Update to 0.12.10
2024-04-08 15:03:16 +02:00
Rémi Verschelde d3e8b6c6b8
Merge pull request #90209 from akien-mga/mbedtls-2.28.8
mbedtls: Update to upstream version 2.28.8
2024-04-08 15:03:09 +02:00
Rémi Verschelde 6640e4179d
Merge pull request #90247 from akien-mga/harfbuzz-8.4.0
harfbuzz: Update to 8.4.0
2024-04-08 11:21:11 +02:00
Rémi Verschelde d58b316ccf
Merge pull request #90245 from akien-mga/glad-2.0.6
glad: Re-generate files with glad 2.0.6
2024-04-08 11:21:08 +02:00
Rémi Verschelde a8e7688b67
Merge pull request #90251 from akien-mga/squish-cleanup
squish: Clean up patches, add LICENSE.txt
2024-04-05 17:22:57 +02:00
Rémi Verschelde 1765f08aee
Merge pull request #90244 from akien-mga/enet-2024-03
enet: Sync with upstream commit c44b7d0
2024-04-05 17:22:54 +02:00
Rémi Verschelde d402f5ecf2
libktx: Update to 4.3.2 2024-04-05 12:18:00 +02:00
Rémi Verschelde a88b4a4d56
zstd: Update to upstream version 1.5.6
Release notes:
- https://github.com/facebook/zstd/releases/tag/v1.5.6
2024-04-05 11:22:55 +02:00
Rémi Verschelde 594d165f64
squish: Clean up patches, add LICENSE.txt
Confirmed that there's no changes in upstream r110 worth including
compared to our r104 tagged version.
2024-04-05 11:12:03 +02:00
Rémi Verschelde afe64bb517
miniupnpc: Update to 2.2.7
No change for the files we include.
2024-04-05 10:51:27 +02:00
Rémi Verschelde 8fcc7a52dc
harfbuzz: Update to 8.4.0 2024-04-05 10:35:10 +02:00
Rémi Verschelde 0f96251afe
glad: Re-generate files with glad 2.0.6 2024-04-05 10:20:13 +02:00
Rémi Verschelde 360a1a4568
enet: Sync with upstream commit c44b7d0
c44b7d0f7f
2024-04-05 10:12:29 +02:00
Rémi Verschelde 8de1cf566d
thorvg: Update to 0.12.10 2024-04-05 09:53:39 +02:00
Rémi Verschelde fd61a42e04
certs: Sync with Mozilla bundle as of Mar 11, 2024
c5a419971b
2024-04-04 18:17:21 +02:00
Rémi Verschelde 915ca4dd45
mbedtls: Update to upstream version 2.28.8 2024-04-04 18:05:30 +02:00
Jakub Mateusz Marcowski c43eab55a4
embree: Update to 4.3.1 2024-03-27 22:10:35 +01:00
Jakub Marcowski 6afea9c30d
thorvg: Update to 0.12.9 2024-03-24 01:56:32 +01:00
Jakub Marcowski 4bbb20f43a
State `meshoptimzer`'s version explicitly in the `thirdparty/README.md` file 2024-03-16 00:10:39 +01:00
Rémi Verschelde 739fcd1b8c
pcre2: Remove unused sjlit files after last update
Follow-up to #89371.
2024-03-15 09:38:45 +01:00
bruvzg 0d02568ff8
Update ICU and msdfgen. 2024-03-13 09:12:50 +02:00
Rémi Verschelde a2edcf83ab
Merge pull request #89371 from Chubercik/pcre2-10.43
pcre2: Update to 10.43
2024-03-11 14:02:39 +01:00
Rémi Verschelde befc738b44
Merge pull request #89304 from Chubercik/harfbuzz-8.3.0
harfbuzz: Update to 8.3.0
2024-03-11 14:02:34 +01:00
Jakub Marcowski dab95993c6
pcre2: Update to 10.43 2024-03-11 11:42:02 +01:00
Jakub Marcowski ac4cc07301
harfbuzz: Update to 8.3.0 2024-03-10 21:24:30 +01:00
Rémi Verschelde 6fa77e0f14
thorvg: Update to 0.12.7 2024-03-09 23:58:59 +01:00
Jakub Marcowski 41268d7faa
libpng: Update to 1.6.43 2024-03-09 15:10:17 +01:00
Rémi Verschelde 7755079f39
Merge pull request #89025 from Chubercik/clipper2-1.3.0
clipper2: Update to 1.3.0
2024-03-08 13:09:21 +01:00
Rémi Verschelde 5d20628c31
Merge pull request #88496 from bruvzg/d3d12_dyn_load
[Windows] Make D3D12 loading dynamic to support pre-Windows 10 versions.
2024-03-05 09:55:41 +01:00
Jakub Marcowski 973448ec4c
clipper2: Update to 1.3.0 2024-03-01 11:12:59 +01:00
Rémi Verschelde 82f20cdcc0
astcenc: Update to 4.7.0
https://github.com/ARM-software/astc-encoder/releases/tag/4.5.0
https://github.com/ARM-software/astc-encoder/releases/tag/4.6.0
https://github.com/ARM-software/astc-encoder/releases/tag/4.7.0
2024-02-29 18:36:40 +01:00
Rémi Verschelde 991394230b
Merge pull request #88574 from Malcolmnixon/openxr_1_0_34
OpenXR: Update to version 1.0.34
2024-02-27 10:17:25 +01:00
K. S. Ernest (iFire) Lee 04d43947bf
Add ufbx for FBX importing
This update introduces a new import method for FBX files using ufbx. If the fbx2gltf import fails, it will use the most recently cached scene from the ufbx import. The process is sped up by introducing threads to load the ufbx portion.

Key changes include:

- Support for importing geometry helper nodes in FBX files.
- Addition of cameras and lights with updated names.
- Removal of the fbx importer manager.
- Introduction of ModelDocument3D and updates to its methods.
- Changes to FBX import options and visibility.
- Updating the documentation and handling some errors.
- Store the original non-unique node, mesh and animation names in FBX and glTF.

Co-Authored-By: bqqbarbhg <bqqbarbhg@gmail.com>
2024-02-23 22:33:04 +01:00
Jakub Mateusz Marcowski ab14dec952 tinyexr: Update to 1.0.8 2024-02-23 12:17:27 +01:00
Jakub Marcowski 1be2fe1f7b
libktx: Update to 4.3.1 2024-02-22 12:25:27 +01:00
Rémi Verschelde fb8f0daf70
Merge pull request #88526 from akien-mga/fastnoiselite-cleanup
FastNoiseLite: Sync with 1.1.0, clean up SCsub
2024-02-20 17:13:32 +01:00
Malcolm Nixon 3e8a794832 OpenXR: Update to version 1.0.34 2024-02-19 18:41:58 -05:00
bruvzg f4ca6a856a
[Windows] Make D3D12 loading dynamic to support pre Windows 10 versions. 2024-02-19 15:08:04 +02:00
Rémi Verschelde a5c52c1e38
FastNoiseLite: Sync with 1.1.0, clean up SCsub
Doesn't fix the LTO warning about `-Waggressive-loop-optimizations`
due to GCC bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80922.
2024-02-19 01:03:38 +01:00
Rémi Verschelde 48ed0474e2
basis_universal: Unbundle jpgd, use our newer copy 2024-02-18 18:55:40 +01:00
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
🔗 GHA / 📊 Static checks (push) Failing after 26m8s Details
🔗 GHA / 🤖 Android (push) Has been skipped Details
🔗 GHA / 🍏 iOS (push) Has been skipped Details
🔗 GHA / 🐧 Linux (push) Has been skipped Details
🔗 GHA / 🍎 macOS (push) Has been skipped Details
🔗 GHA / 🏁 Windows (push) Has been skipped Details
🔗 GHA / 🌐 Web (push) Has been skipped Details
🔗 GHA / 🪲 Godot CPP (push) Has been skipped Details
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