vulkan: Add vk_collect_dependency_info_src_stages

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37961>
This commit is contained in:
Mel Henning 2025-10-17 19:08:37 -04:00 committed by Marge Bot
parent fd2fa0fbc9
commit 90d17c0088
2 changed files with 17 additions and 0 deletions

View file

@ -89,6 +89,19 @@ vk_filter_dst_access_flags2(VkPipelineStageFlags2 stages,
(all_read_access | VK_ACCESS_2_HOST_WRITE_BIT);
}
VkPipelineStageFlags2
vk_collect_dependency_info_src_stages(const VkDependencyInfo* pDependencyInfo)
{
VkPipelineStageFlags2 stages = 0;
for (uint32_t i = 0; i < pDependencyInfo->memoryBarrierCount; i++)
stages |= pDependencyInfo->pMemoryBarriers[i].srcStageMask;
for (uint32_t i = 0; i < pDependencyInfo->bufferMemoryBarrierCount; i++)
stages |= pDependencyInfo->pBufferMemoryBarriers[i].srcStageMask;
for (uint32_t i = 0; i < pDependencyInfo->imageMemoryBarrierCount; i++)
stages |= pDependencyInfo->pImageMemoryBarriers[i].srcStageMask;
return stages;
}
VKAPI_ATTR void VKAPI_CALL
vk_common_CmdWriteTimestamp(
VkCommandBuffer commandBuffer,

View file

@ -85,6 +85,10 @@ VkAccessFlags2
vk_filter_dst_access_flags2(VkPipelineStageFlags2 stages,
VkAccessFlags2 access);
/** Union all the srcStageMasks on a VkDependencyInfo */
VkPipelineStageFlags2
vk_collect_dependency_info_src_stages(const VkDependencyInfo* pDependencyInfo);
#ifdef __cplusplus
}
#endif