[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