[FFmpeg-cvslog] avutil/vulkan: automatically enable shader device address usage bit
Niklas Haas
git at videolan.org
Wed May 28 19:17:10 EEST 2025
ffmpeg | branch: master | Niklas Haas <git at haasn.dev> | Sun May 18 13:52:46 2025 +0200| [0a4cdf8822e7388ca0930d71ac3cf90c9f2f9446] | committer: Niklas Haas
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.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0a4cdf8822e7388ca0930d71ac3cf90c9f2f9446
---
libavutil/vulkan.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c
index 5f2ac6267d..a989e080ab 100644
--- a/libavutil/vulkan.c
+++ b/libavutil/vulkan.c
@@ -989,6 +989,16 @@ int ff_vk_create_buf(FFVulkanContext *s, FFVkBuffer *buf, size_t size,
int use_ded_mem;
FFVulkanFunctions *vk = &s->vkfn;
+ /* Buffer usage flags corresponding to buffer descriptor types */
+ const VkBufferUsageFlags desc_usage =
+ VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT |
+ VK_BUFFER_USAGE_STORAGE_BUFFER_BIT |
+ VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT |
+ VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT;
+
+ if ((s->extensions & FF_VK_EXT_DESCRIPTOR_BUFFER) && (usage & desc_usage))
+ usage |= VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT;
+
VkBufferCreateInfo buf_spawn = {
.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO,
.pNext = pNext,
More information about the ffmpeg-cvslog
mailing list