mirror of
https://gitlab.freedesktop.org/monado/monado.git
synced 2025-02-12 00:38:04 +00:00
aux/vk: Add helper to translate usage bits to Vulkan bits
This commit is contained in:
parent
fe734bb6e2
commit
f81f568931
src/xrt/auxiliary/vk
|
@ -1036,6 +1036,37 @@ vk_get_access_flags(VkImageLayout layout)
|
|||
return 0;
|
||||
}
|
||||
|
||||
VkAccessFlags
|
||||
vk_swapchain_access_flags(enum xrt_swapchain_usage_bits bits)
|
||||
{
|
||||
VkAccessFlags result = 0;
|
||||
if ((bits & XRT_SWAPCHAIN_USAGE_UNORDERED_ACCESS) != 0) {
|
||||
result |= VK_ACCESS_INPUT_ATTACHMENT_READ_BIT;
|
||||
if ((bits & XRT_SWAPCHAIN_USAGE_COLOR) != 0) {
|
||||
result |= VK_ACCESS_COLOR_ATTACHMENT_READ_BIT;
|
||||
}
|
||||
if ((bits & XRT_SWAPCHAIN_USAGE_DEPTH_STENCIL) != 0) {
|
||||
result |= VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT;
|
||||
}
|
||||
}
|
||||
if ((bits & XRT_SWAPCHAIN_USAGE_COLOR) != 0) {
|
||||
result |= VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
|
||||
}
|
||||
if ((bits & XRT_SWAPCHAIN_USAGE_DEPTH_STENCIL) != 0) {
|
||||
result |= VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
|
||||
}
|
||||
if ((bits & XRT_SWAPCHAIN_USAGE_TRANSFER_SRC) != 0) {
|
||||
result |= VK_ACCESS_TRANSFER_READ_BIT;
|
||||
}
|
||||
if ((bits & XRT_SWAPCHAIN_USAGE_TRANSFER_DST) != 0) {
|
||||
result |= VK_ACCESS_TRANSFER_WRITE_BIT;
|
||||
}
|
||||
if ((bits & XRT_SWAPCHAIN_USAGE_SAMPLED) != 0) {
|
||||
result |= VK_ACCESS_SHADER_READ_BIT;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
bool
|
||||
vk_init_descriptor_pool(struct vk_bundle *vk,
|
||||
const VkDescriptorPoolSize *pool_sizes,
|
||||
|
|
|
@ -416,6 +416,9 @@ vk_submit_cmd_buffer(struct vk_bundle *vk, VkCommandBuffer cmd_buffer);
|
|||
VkAccessFlags
|
||||
vk_get_access_flags(VkImageLayout layout);
|
||||
|
||||
VkAccessFlags
|
||||
vk_swapchain_access_flags(enum xrt_swapchain_usage_bits bits);
|
||||
|
||||
bool
|
||||
vk_init_descriptor_pool(struct vk_bundle *vk,
|
||||
const VkDescriptorPoolSize *pool_sizes,
|
||||
|
|
Loading…
Reference in a new issue