This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit 9fe5758da5c826fa747db6dac2d3730c5af3ec79
Author:     Niklas Haas <[email protected]>
AuthorDate: Thu May 28 21:05:12 2026 +0200
Commit:     Niklas Haas <[email protected]>
CommitDate: Tue Jun 2 13:32:43 2026 +0200

    avutil/hwcontext_vulkan: publicly expose queue device creation flags
    
    These are needed for interop with e.g. libplacebo, which needs to know the
    correct flags to call vkGetDeviceQueue2.
    
    Signed-off-by: Niklas Haas <[email protected]>
---
 doc/APIchanges               |  3 +++
 libavutil/hwcontext_vulkan.c | 12 ++++++------
 libavutil/hwcontext_vulkan.h |  3 +++
 libavutil/version.h          |  2 +-
 4 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index 4695a38e8a..58a9b483a6 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2025-03-28
 
 API changes, most recent first:
 
+2026-06-xx - xxxxxxxxxxx - lavu 60.32.100 - hwcontext_vulkan.h
+  Add AVVulkanDeviceContext.queue_flags.
+
 2026-05-xx - xxxxxxxxxx - lavf 62.19.100 - avformat.h
   Add AVStreamGroupLayeredVideo
   Add AVStreamGroup.params.layered_video
diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index bfb00f59e9..c56f21c063 100644
--- a/libavutil/hwcontext_vulkan.c
+++ b/libavutil/hwcontext_vulkan.c
@@ -1633,6 +1633,11 @@ static int setup_queue_families(AVHWDeviceContext *ctx, 
VkDeviceCreateInfo *cd)
     }
 
     hwctx->nb_qf = 0;
+    hwctx->queue_flags = 0;
+#ifdef VK_KHR_internally_synchronized_queues
+    if (p->vkctx.extensions & FF_VK_EXT_INTERNAL_QUEUE_SYNC)
+        hwctx->queue_flags |= 
VK_DEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR;
+#endif
 
     /* Pick each queue family to use. */
 #define PICK_QF(type, vid_op)                                            \
@@ -1727,14 +1732,9 @@ static int setup_queue_families(AVHWDeviceContext *ctx, 
VkDeviceCreateInfo *cd)
             weights[j] = 1.0;
 
         pc = (VkDeviceQueueCreateInfo *)cd->pQueueCreateInfos;
-        VkDeviceQueueCreateFlags qflags = 0;
-#ifdef VK_KHR_internally_synchronized_queues
-        if (p->vkctx.extensions & FF_VK_EXT_INTERNAL_QUEUE_SYNC)
-            qflags |= VK_DEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR;
-#endif
         pc[cd->queueCreateInfoCount++] = (VkDeviceQueueCreateInfo) {
             .sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
-            .flags = qflags,
+            .flags = hwctx->queue_flags,
             .queueFamilyIndex = hwctx->qf[i].idx,
             .queueCount = hwctx->qf[i].num,
             .pQueuePriorities = weights,
diff --git a/libavutil/hwcontext_vulkan.h b/libavutil/hwcontext_vulkan.h
index b9a841a197..2bd6d50198 100644
--- a/libavutil/hwcontext_vulkan.h
+++ b/libavutil/hwcontext_vulkan.h
@@ -199,6 +199,9 @@ typedef struct AVVulkanDeviceContext {
      */
     AVVulkanDeviceQueueFamily qf[64];
     int nb_qf;
+
+    /* Queue creation flags, for vkGetDeviceQueue2. */
+    VkDeviceQueueCreateFlags queue_flags;
 } AVVulkanDeviceContext;
 
 /**
diff --git a/libavutil/version.h b/libavutil/version.h
index 07c47da803..e7aeab9995 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -79,7 +79,7 @@
  */
 
 #define LIBAVUTIL_VERSION_MAJOR  60
-#define LIBAVUTIL_VERSION_MINOR  31
+#define LIBAVUTIL_VERSION_MINOR  32
 #define LIBAVUTIL_VERSION_MICRO 100
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \

_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to