Commit Graph

35 Commits

Author SHA1 Message Date
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
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
Jakub Marcowski
8350c88718 vulkan: Update all components to Vulkan SDK 1.3.275.0 2024-02-06 13:46:56 +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
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
DeeJayLSP
1b642d283c Update Vulkan and related libraries to 1.3.250.0 2023-06-06 12:40:04 -03:00
Rémi Verschelde
b113e6d4ff
Vulkan: Fix VMA build with GCC 13
Fixes #74647.
2023-03-09 10:46:35 +01:00
Rémi Verschelde
0181d005c9
vulkan: Update all components to Vulkan SDK 1.3.231.1
Updates to volk, vulkan headers, `vk_enum_string_helper.h`, glslang,
spirv-reflect.

No update to VMA which still has 3.0.1 as it's last tagged release.
2022-11-03 12:20:46 +01:00
Cyberrebell
6a2bd6c936 updated vk_mem_alloc.h to fix startup issue with AMD 6000 series GPUs using SteamVR on Windows 2022-06-12 23:36:06 +02:00
Pedro J. Estébanez
171e31de68 vk_mem_alloc: Update to upstream + Replace use of deprecated items 2022-03-29 11:28:09 +02:00
Pedro J. Estébanez
801741e787 vk_mem_alloc: Update to upstream + Adapt approach to small objects pooling
This updates VMA and instead of using the custom small pool approach from 4e6c9d3ae9, lazily creates pools for the relevant memory type indices, which doesn't require patching VMA.

Also, patches already merged upstream or not needed any longer are removed.
2022-02-24 14:30:55 +01:00
Rémi Verschelde
09a61cdf53
Merge pull request #57989 from RandomShaper/update_vma
Update & patch VMA, and re-implement the small buffers optimization
2022-02-14 09:07:11 +01:00
Pedro J. Estébanez
4e6c9d3ae9 Add a separate pool for small allocations in Vulkan RD 2022-02-12 12:47:08 +01:00
Pedro J. Estébanez
648a10514b vk_mem_alloc: Update to latest commit 2022-02-12 12:45:28 +01:00
Rémi Verschelde
26b2defe0c
vulkan: Update volk, headers and glslang to 1.3.204 2022-02-11 18:42:51 +01:00
Rémi Verschelde
8f4793b225
Revert "vulkan: Update volk, headers and glslang to 1.3.204"
This reverts commit d233908fb6.
2022-02-11 17:50:22 +01:00
Rémi Verschelde
d233908fb6
vulkan: Update volk, headers and glslang to 1.3.204 2022-02-10 23:57:03 +01:00
Rémi Verschelde
fd641ac85c
Vulkan: Update volk and Vulkan SDK components to 1.2.190 2021-09-22 12:56:15 +02:00
Pedro J. Estébanez
7b7e17a626 Upgrade Vulkan memory allocator 2021-08-13 00:05:41 +02:00
bruvzg
d7957a2a20 Use "volk" instead of statically linked Vulkan loader. 2021-08-12 14:25:15 +03:00
jacobcoughenour
66d429576c Vulkan: loader, headers, and glslang updated to sdk-1.2.162.0
Updated glslang and Vulkan headers/loader following the instructions found in thirdparty/README.

glslang was updated to the 'known good' matching Vulkan SDK version 1.2.162.0.  Vulkan headers and loader were updated to the commit tagged with sdk-1.2.162.0.

'vk_mem_alloc.h' and 'vk_mem_alloc.c' are unchanged since there hasn't been a new tagged release since 2.3.0.

Here's the Vulkan release notes for this update:
https://vulkan.lunarg.com/doc/sdk/1.2.162.0/windows/release_notes.html

Reverted and removed the unnecessary fix-mingw-snprintf patch for glslang as well as the mention of it in thirdparty/README.md.
2020-12-21 20:28:49 -05:00
Rémi Verschelde
6a951267ae
vulkan: Backport build fix for MinGW-w64 8.0.0
Taken from https://github.com/KhronosGroup/Vulkan-Loader/pull/475.

Supersedes and reverts #43119 since the upstream change removes the need for
that custom define.
2020-10-29 12:47:35 +01:00
Rémi Verschelde
9000db505e
vulkan: Re-add Windows patch to fix static library use
Fixes #43105.
2020-10-26 23:30:47 +01:00
Rémi Verschelde
148ad49c93
vulkan: Sync loader, headers and glslang to sdk-1.2.154.0
Actually sdk-1.2.154.1 for Vulkan-Loader.

glslang is updated to bacaef3237c515e40d1a24722be48c0a0b30f75f which is the
known-good version for Vulkan-ValidationLayers 1.2.154.0.

COPYRIGHT.txt was synced with the current version of the glslang LICENSE.txt,
and `glslang/register_types.cpp` now uses the upstream definition for its
default builtin resource instead of hardcoding it.
2020-10-15 12:29:42 +02:00
Sergey Minakov
6e0d4e21ff Thirdparty Vulkan: patch VMA to fix assets
Applies VMA master branch patch that removes incorrect asserts:
issue: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/issues/102
patch: 39aeff7a43
2020-07-25 21:55:05 +02:00
PouleyKetchoupp
802bbe87ad Fix extra warnings in Android build 2020-04-10 11:06:11 +02:00
Rémi Verschelde
516b3bb88f Fix Clang warnings on Windows
Fixes #37490.
2020-04-01 16:28:20 +02:00
Rémi Verschelde
d744d3046e vulkan: Re-add option to build Vulkan-Loader statically
Upstream removed the option in KhronosGroup/Vulkan-Loader#260, which
breaks our current use case.
This commit reverts KhronosGroup/Vulkan-Loader#260 is our vendored
loader.

We may need to re-evaluate how we link the loader, but until then,
reverting this PR fixes Windows support after the upgrade to a recent
SDK version in #36932.
2020-03-09 15:25:54 +01:00
Rémi Verschelde
214bc9e5a1 Update Vulkan loader and headers to sdk-1.2.131.2
(Headers are actually sdk-1.2.131.1, they did not get a re-release.)

Also synced VMA 2.3.0 again, fixing unwanted clang-formatting of
thirdparty code.
2020-03-09 09:36:37 +01:00
bruvzg
4cc439922a
Update VulkanMemoryAllocator to 2.3.0 (Fixes build for 32-bit Windows and Linux). 2020-02-11 19:05:50 +02:00
Rémi Verschelde
db81928e08 Vulkan: Move thirdparty code out of drivers, style fixes
- `vk_enum_string_helper.h` is a generated file taken from the SDK
  (Vulkan-ValidationLayers).
- `vk_mem_alloc.h` is a library from GPUOpen:
  https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
2020-02-11 14:08:44 +01:00
bruvzg
7bf72ed14e Update Vulkan loader to 1.1.127 2020-02-11 12:05:27 +01:00
Rémi Verschelde
511f65214f SCons: Streamline Vulkan buildsystem + fixups
- Renamed option to `builtin_vulkan`, since that's the name of the
  library and if we were to add new components, we'd likely use that
  same option.
- Merge `vulkan_loader/SCsub` in `vulkan/SCsub`.
- Accordingly, don't use built-in Vulkan headers when not building
  against the built-in loader library.
- Drop Vulkan registry which we don't appear to need currently.
- Style and permission fixes.
2020-02-11 11:59:04 +01:00
Rémi Verschelde
ae3ce08982 VulkanLoader: Make Windows includes lowercase for MinGW
MinGW-w64 ships all Windows SDK headers as lowercase, which prevents
cross-compiling this code from Linux.

Windows filesystems are case insensitive so it should work fine with
lowercase includes.

PR'ed upstream: https://github.com/KhronosGroup/Vulkan-Loader/pull/212
2020-02-11 11:58:54 +01:00
bruvzg
eb48be51db Add static Vulkan loader.
Initial Vulkan support for Windows.
Initial Vulkan support for macOS.
2020-02-11 11:57:11 +01:00