diff options
| author | clack <git@a.tagmail.org> | 2026-07-13 10:19:00 +1000 |
|---|---|---|
| committer | Nguyễn Gia Phong <cnx@loang.net> | 2026-07-15 15:15:44 +0900 |
| commit | 0add6cc7e9739aee3a45f010822f486a0a30f809 (patch) | |
| tree | 1794af7855233d85d79948ad7df499f923372b69 /gnu | |
| parent | 058701d7ad329cfa7292998699baa3dfb8955752 (diff) | |
gnu: vkmark: Fix compatibility with vulkan-headers 1.4.333.
* gnu/packages/patches/vkmark-2025.1-fix-vulkan-headers-1.4.333.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/benchmark.scm (vkmark)[source]<patches>: Add it.
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/local.mk | 1 | ||||
| -rw-r--r-- | gnu/packages/benchmark.scm | 3 | ||||
| -rw-r--r-- | gnu/packages/patches/vkmark-2025.1-fix-vulkan-headers-1.4.333.patch | 58 |
3 files changed, 61 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 8d795b82458..a71dc5b68c1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk | |||
| @@ -2629,6 +2629,7 @@ dist_patch_DATA = \ | |||
| 2629 | %D%/packages/patches/vcmi-disable-privacy-breach.patch \ | 2629 | %D%/packages/patches/vcmi-disable-privacy-breach.patch \ |
| 2630 | %D%/packages/patches/vinagre-newer-freerdp.patch \ | 2630 | %D%/packages/patches/vinagre-newer-freerdp.patch \ |
| 2631 | %D%/packages/patches/vinagre-newer-rdp-parameters.patch \ | 2631 | %D%/packages/patches/vinagre-newer-rdp-parameters.patch \ |
| 2632 | %D%/packages/patches/vkmark-2025.1-fix-vulkan-headers-1.4.333.patch \ | ||
| 2632 | %D%/packages/patches/vsearch-unbundle-cityhash.patch \ | 2633 | %D%/packages/patches/vsearch-unbundle-cityhash.patch \ |
| 2633 | %D%/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch \ | 2634 | %D%/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch \ |
| 2634 | %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ | 2635 | %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ |
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index 906021e314f..926daca2a87 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm | |||
| @@ -899,7 +899,8 @@ user-provided Lua scripts. | |||
| 899 | (commit version))) | 899 | (commit version))) |
| 900 | (file-name (git-file-name name version)) | 900 | (file-name (git-file-name name version)) |
| 901 | (sha256 | 901 | (sha256 |
| 902 | (base32 "0mpxyfwln1627zzi11fb6lgv7x1jz1p2w16w1mhhkdz1xsln6fj6")))) | 902 | (base32 "0mpxyfwln1627zzi11fb6lgv7x1jz1p2w16w1mhhkdz1xsln6fj6")) |
| 903 | (patches (search-patches "vkmark-2025.1-fix-vulkan-headers-1.4.333.patch")))) | ||
| 903 | (build-system meson-build-system) | 904 | (build-system meson-build-system) |
| 904 | (arguments | 905 | (arguments |
| 905 | (list | 906 | (list |
diff --git a/gnu/packages/patches/vkmark-2025.1-fix-vulkan-headers-1.4.333.patch b/gnu/packages/patches/vkmark-2025.1-fix-vulkan-headers-1.4.333.patch new file mode 100644 index 00000000000..7779954290f --- /dev/null +++ b/gnu/packages/patches/vkmark-2025.1-fix-vulkan-headers-1.4.333.patch | |||
| @@ -0,0 +1,58 @@ | |||
| 1 | From: Philipp Zabel <p.zabel@pengutronix.de> | ||
| 2 | Date: Wed, 10 Dec 2025 10:59:49 +0100 | ||
| 3 | Subject: Register custom dispatcher with isDispatchLoader | ||
| 4 | Upstream-status: https://github.com/vkmark/vkmark/pull/80 | ||
| 5 | |||
| 6 | Since Vulkan 1.4.333, custom dispatch loaders must be registered | ||
| 7 | with isDispatchLoader to be recognized. | ||
| 8 | |||
| 9 | diff --git a/src/vulkan_state.cpp b/src/vulkan_state.cpp | ||
| 10 | index a36b299..3dbb48b 100644 | ||
| 11 | --- a/src/vulkan_state.cpp | ||
| 12 | +++ b/src/vulkan_state.cpp | ||
| 13 | @@ -65,6 +65,18 @@ class DebugUtilsDispatcher | ||
| 14 | |||
| 15 | } | ||
| 16 | |||
| 17 | +#if VK_HEADER_VERSION >= 333 && VK_HEADER_VERSION <= 337 | ||
| 18 | +namespace vk::detail { | ||
| 19 | + | ||
| 20 | +template <> | ||
| 21 | +struct isDispatchLoader<::DebugUtilsDispatcher> | ||
| 22 | +{ | ||
| 23 | + static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | ||
| 24 | +}; | ||
| 25 | + | ||
| 26 | +} | ||
| 27 | +#endif | ||
| 28 | + | ||
| 29 | VulkanState::VulkanState(VulkanWSI& vulkan_wsi, ChoosePhysicalDeviceStrategy const& pd_strategy, bool debug) | ||
| 30 | : debug_enabled(debug) | ||
| 31 | { | ||
| 32 | diff --git a/src/ws/kms_window_system.cpp b/src/ws/kms_window_system.cpp | ||
| 33 | index 4bf7838..d378778 100644 | ||
| 34 | --- a/src/ws/kms_window_system.cpp | ||
| 35 | +++ b/src/ws/kms_window_system.cpp | ||
| 36 | @@ -474,6 +474,22 @@ class GetFormatProperties2Dispatcher | ||
| 37 | PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR; | ||
| 38 | }; | ||
| 39 | |||
| 40 | +} | ||
| 41 | + | ||
| 42 | +#if VK_HEADER_VERSION >= 333 && VK_HEADER_VERSION <= 337 | ||
| 43 | +namespace vk::detail { | ||
| 44 | + | ||
| 45 | +template <> | ||
| 46 | +struct isDispatchLoader<::GetFormatProperties2Dispatcher> | ||
| 47 | +{ | ||
| 48 | + static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true; | ||
| 49 | +}; | ||
| 50 | + | ||
| 51 | +} | ||
| 52 | +#endif | ||
| 53 | + | ||
| 54 | +namespace { | ||
| 55 | + | ||
| 56 | std::vector<uint64_t> vk_get_supported_mods_for_format(VulkanState& vulkan, | ||
| 57 | vk::Format format) | ||
| 58 | { | ||
