Skip to content

Commit 0a4cdf8

Browse files
committed
avutil/vulkan: automatically enable shader device address usage bit
We require this internally when using descriptor buffers, so it makes sense to enable it internally, also.
1 parent c2521c0 commit 0a4cdf8

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

libavutil/vulkan.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -989,6 +989,16 @@ int ff_vk_create_buf(FFVulkanContext *s, FFVkBuffer *buf, size_t size,
989989
int use_ded_mem;
990990
FFVulkanFunctions *vk = &s->vkfn;
991991

992+
/* Buffer usage flags corresponding to buffer descriptor types */
993+
const VkBufferUsageFlags desc_usage =
994+
VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT |
995+
VK_BUFFER_USAGE_STORAGE_BUFFER_BIT |
996+
VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT |
997+
VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT;
998+
999+
if ((s->extensions & FF_VK_EXT_DESCRIPTOR_BUFFER) && (usage & desc_usage))
1000+
usage |= VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT;
1001+
9921002
VkBufferCreateInfo buf_spawn = {
9931003
.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO,
9941004
.pNext = pNext,

0 commit comments

Comments
 (0)