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

Git pushed a commit to branch master
in repository ffmpeg.

commit dd0ac641a5c165faee2787072e7f8b10e667a252
Author:     Lynne <[email protected]>
AuthorDate: Fri May 22 22:40:28 2026 +0900
Commit:     Lynne <[email protected]>
CommitDate: Fri May 22 23:06:38 2026 +0900

    vulkan: properly check if the internally synchronized queue extension is 
supported
    
    libplacebo enables the extension string but does not enable the extension 
flag
    if it's unsupported.
---
 libavutil/vulkan.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c
index c868ad9141..460c704507 100644
--- a/libavutil/vulkan.c
+++ b/libavutil/vulkan.c
@@ -477,6 +477,17 @@ int ff_vk_exec_pool_init(FFVulkanContext *s, 
AVVulkanDeviceQueueFamily *qf,
 
     pool->pool_size = nb_contexts;
 
+#ifdef VK_KHR_internally_synchronized_queues
+    /* Check if the extension and its flag are actually enabled */
+    int internal_queue_sync = 0;
+    if (s->extensions & FF_VK_EXT_INTERNAL_QUEUE_SYNC) {
+        const VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR *iqs;
+        iqs = ff_vk_find_struct(s->hwctx->device_features.pNext,
+                                
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR);
+        internal_queue_sync = iqs && iqs->internallySynchronizedQueues;
+    }
+#endif
+
     /* Init contexts */
     for (int i = 0; i < pool->pool_size; i++) {
         FFVkExecContext *e = &pool->contexts[i];
@@ -510,9 +521,8 @@ int ff_vk_exec_pool_init(FFVulkanContext *s, 
AVVulkanDeviceQueueFamily *qf,
         VkDeviceQueueInfo2 qinfo = {
             .sType            = VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2,
 #ifdef VK_KHR_internally_synchronized_queues
-            .flags            = (s->extensions & FF_VK_EXT_INTERNAL_QUEUE_SYNC)
-                                    ? 
VK_DEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR
-                                    : 0,
+            .flags            = internal_queue_sync ?
+                                
VK_DEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR : 0,
 #endif
             .queueFamilyIndex = qf->idx,
             .queueIndex       = e->qi,

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

Reply via email to