From ab91484fb0095033d0154dc09e88ada3b6255213 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Mon, 27 Apr 2026 12:04:31 +0200 Subject: [PATCH] vulkan: add missing VkMemoryRangeBarriersInfoKHR support This has been introduced by VK_KHR_device_address_commands and we missed it completely. Backport-to: 26.1 Signed-off-by: Samuel Pitoiset (cherry picked from commit ce60e18bce1a7564a8c8052d6a336c743f594270) Part-of: --- .pick_status.json | 2 +- src/vulkan/runtime/vk_synchronization.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 967c7fe62bb..618781ea57a 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -754,7 +754,7 @@ "description": "vulkan: add missing VkMemoryRangeBarriersInfoKHR support", "nominated": true, "nomination_type": 4, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/vulkan/runtime/vk_synchronization.c b/src/vulkan/runtime/vk_synchronization.c index 6767220e18f..bfd13ab09b8 100644 --- a/src/vulkan/runtime/vk_synchronization.c +++ b/src/vulkan/runtime/vk_synchronization.c @@ -99,6 +99,14 @@ vk_collect_dependency_info_src_stages(const VkDependencyInfo* pDependencyInfo) stages |= pDependencyInfo->pBufferMemoryBarriers[i].srcStageMask; for (uint32_t i = 0; i < pDependencyInfo->imageMemoryBarrierCount; i++) stages |= pDependencyInfo->pImageMemoryBarriers[i].srcStageMask; + + const VkMemoryRangeBarriersInfoKHR *mem_barriers_info = + vk_find_struct_const(pDependencyInfo->pNext, MEMORY_RANGE_BARRIERS_INFO_KHR); + if (mem_barriers_info) { + for (uint32_t i = 0; i < mem_barriers_info->memoryRangeBarrierCount; i++) + stages |= mem_barriers_info->pMemoryRangeBarriers[i].srcStageMask; + } + return stages; }