Skip to content

Commit 940d629

Browse files
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 <[email protected]>
1 parent 3ac9843 commit 940d629

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+17258
-6737
lines changed

COPYRIGHT.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -515,8 +515,8 @@ License: Expat
515515
Files: ./thirdparty/vulkan/
516516
Comment: Vulkan Headers
517517
Copyright: 2014-2024, The Khronos Group Inc.
518-
2014-2023, Valve Corporation
519-
2014-2023, LunarG, Inc.
518+
2014-2024, Valve Corporation
519+
2014-2024, LunarG, Inc.
520520
License: Apache-2.0
521521

522522
Files: ./thirdparty/vulkan/vk_mem_alloc.h

drivers/vulkan/rendering_device_driver_vulkan.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -999,6 +999,10 @@ Error RenderingDeviceDriverVulkan::_initialize_allocator() {
999999
allocator_info.physicalDevice = physical_device;
10001000
allocator_info.device = vk_device;
10011001
allocator_info.instance = context_driver->instance_get();
1002+
const bool use_1_3_features = physical_device_properties.apiVersion >= VK_API_VERSION_1_3;
1003+
if (use_1_3_features) {
1004+
allocator_info.flags |= VMA_ALLOCATOR_CREATE_KHR_MAINTENANCE5_BIT;
1005+
}
10021006
VkResult err = vmaCreateAllocator(&allocator_info, &allocator);
10031007
ERR_FAIL_COND_V_MSG(err, ERR_CANT_CREATE, "vmaCreateAllocator failed with error " + itos(err) + ".");
10041008

thirdparty/README.md

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ See the patches in the `patches` directory.
344344
## glslang
345345

346346
- Upstream: https://github.com/KhronosGroup/glslang
347-
- Version: vulkan-sdk-1.3.275.0 (a91631b260cba3f22858d6c6827511e636c2458a, 2023)
347+
- Version: vulkan-sdk-1.3.283.0 (e8dd0b6903b34f1879520b444634c75ea2deedf5, 2024)
348348
- License: glslang
349349

350350
Version should be kept in sync with the one of the used Vulkan SDK (see `vulkan`
@@ -830,7 +830,7 @@ proposed by these libraries and better integrate them with Godot.
830830
## spirv-reflect
831831

832832
- Upstream: https://github.com/KhronosGroup/SPIRV-Reflect
833-
- Version: vulkan-sdk-1.3.275.0 (2f7460f0be0f73c9ffde719bc3e924b4250f4d98, 2024)
833+
- Version: vulkan-sdk-1.3.283.0 (ee5b57fba6a986381f998567761bbc064428e645, 2024)
834834
- License: Apache 2.0
835835

836836
Version should be kept in sync with the one of the used Vulkan SDK (see `vulkan`
@@ -923,15 +923,11 @@ folder.
923923
## volk
924924

925925
- Upstream: https://github.com/zeux/volk
926-
- Version: vulkan-sdk-1.3.275.0 (f2a16e3e19c2349b873343b2dc38a1d4c25af23a, 2024)
926+
- Version: vulkan-sdk-1.3.283.0 (3a8068a57417940cf2bf9d837a7bb60d015ca2f1, 2024)
927927
- License: MIT
928928

929-
Unless there is a specific reason to package a more recent version, please stick
930-
to tagged releases. All Vulkan libraries and headers should be kept in sync so:
931-
932-
- Update Vulkan SDK components to the matching tag (see "vulkan")
933-
- Update glslang (see "glslang")
934-
- Update spirv-reflect (see "spirv-reflect")
929+
Version should be kept in sync with the one of the used Vulkan SDK (see `vulkan`
930+
section).
935931

936932
Files extracted from upstream source:
937933

@@ -942,10 +938,16 @@ Files extracted from upstream source:
942938
## vulkan
943939

944940
- Upstream: https://github.com/KhronosGroup/Vulkan-Headers
945-
- Version: vulkan-sdk-1.3.275.0 (217e93c664ec6704ec2d8c36fa116c1a4a1e2d40, 2024)
941+
- Version: vulkan-sdk-1.3.283.0 (eaa319dade959cb61ed2229c8ea42e307cc8f8b3, 2024)
946942
- License: Apache 2.0
947943

948-
The vendored version should be kept in sync with volk, see above.
944+
Unless there is a specific reason to package a more recent version, please stick
945+
to tagged SDK releases. All Vulkan libraries and headers should be kept in sync so:
946+
947+
- Update Vulkan SDK components to the matching tag (see "vulkan")
948+
- Update volk (see "volk")
949+
- Update glslang (see "glslang")
950+
- Update spirv-reflect (see "spirv-reflect")
949951

950952
Files extracted from upstream source:
951953

@@ -956,8 +958,7 @@ Files extracted from upstream source:
956958
SDK release: https://github.com/KhronosGroup/Vulkan-Utility-Libraries/blob/main/include/vulkan/vk_enum_string_helper.h
957959

958960
`vk_mem_alloc.h` is taken from https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
959-
Version: git (38627f4e37d7a9b13214fd267ec60e0e877e3997, 2024), as advised by upstream:
960-
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/issues/318#issuecomment-1411804981
961+
Version: 3.1.0 (009ecd192c1289c7529bff248a16cfe896254816, 2024)
961962
`vk_mem_alloc.cpp` is a Godot file and should be preserved on updates.
962963

963964
Patches in the `patches` directory should be re-applied after updates.

thirdparty/glslang/SPIRV/GLSL.ext.KHR.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/*
22
** Copyright (c) 2014-2020 The Khronos Group Inc.
3+
** Copyright (C) 2022-2024 Arm Limited.
34
** Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved.
45
**
56
** Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -53,8 +54,12 @@ static const char* const E_SPV_KHR_terminate_invocation = "SPV_KHR_termi
5354
static const char* const E_SPV_KHR_workgroup_memory_explicit_layout = "SPV_KHR_workgroup_memory_explicit_layout";
5455
static const char* const E_SPV_KHR_subgroup_uniform_control_flow = "SPV_KHR_subgroup_uniform_control_flow";
5556
static const char* const E_SPV_KHR_fragment_shader_barycentric = "SPV_KHR_fragment_shader_barycentric";
57+
static const char* const E_SPV_KHR_quad_control = "SPV_KHR_quad_control";
5658
static const char* const E_SPV_AMD_shader_early_and_late_fragment_tests = "SPV_AMD_shader_early_and_late_fragment_tests";
5759
static const char* const E_SPV_KHR_ray_tracing_position_fetch = "SPV_KHR_ray_tracing_position_fetch";
5860
static const char* const E_SPV_KHR_cooperative_matrix = "SPV_KHR_cooperative_matrix";
61+
static const char* const E_SPV_KHR_maximal_reconvergence = "SPV_KHR_maximal_reconvergence";
62+
static const char* const E_SPV_KHR_subgroup_rotate = "SPV_KHR_subgroup_rotate";
63+
static const char* const E_SPV_KHR_expect_assume = "SPV_KHR_expect_assume";
5964

6065
#endif // #ifndef GLSLextKHR_H

thirdparty/glslang/SPIRV/GLSL.ext.NV.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,7 @@ const char* const E_SPV_NV_shader_invocation_reorder = "SPV_NV_shader_invocation
8787
//SPV_NV_displacement_micromap
8888
const char* const E_SPV_NV_displacement_micromap = "SPV_NV_displacement_micromap";
8989

90+
//SPV_NV_shader_atomic_fp16_vector
91+
const char* const E_SPV_NV_shader_atomic_fp16_vector = "SPV_NV_shader_atomic_fp16_vector";
92+
9093
#endif // #ifndef GLSLextNV_H

thirdparty/glslang/SPIRV/GLSL.ext.QCOM.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,7 @@ static const int GLSLextQCOMRevision = 1;
3737

3838
//SPV_QCOM_image_processing
3939
const char* const E_SPV_QCOM_image_processing = "SPV_QCOM_image_processing";
40+
//SPV_QCOM_image_processing2
41+
const char* const E_SPV_QCOM_image_processing2 = "SPV_QCOM_image_processing2";
4042

4143
#endif // #ifndef GLSLextQCOM_H

0 commit comments

Comments
 (0)