[FFmpeg-cvslog] vulkan: parse instance list and add the DEBUG_UTILS extension

Lynne git at videolan.org
Fri Oct 4 11:28:35 EEST 2024


ffmpeg | branch: master | Lynne <dev at lynne.ee> | Fri Oct  4 01:27:46 2024 +0200| [356d1cc8ff8e401cecf5300c5a6174cc19204988] | committer: Lynne

vulkan: parse instance list and add the DEBUG_UTILS extension

Required to let users know whether debugging is active.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=356d1cc8ff8e401cecf5300c5a6174cc19204988
---

 libavfilter/vulkan_filter.c  | 2 ++
 libavutil/hwcontext_vulkan.c | 1 -
 libavutil/vulkan.c           | 2 ++
 libavutil/vulkan_loader.h    | 4 ++++
 4 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/libavfilter/vulkan_filter.c b/libavfilter/vulkan_filter.c
index 8d9b416d6a..85665b4d42 100644
--- a/libavfilter/vulkan_filter.c
+++ b/libavfilter/vulkan_filter.c
@@ -151,6 +151,8 @@ skip:
 
     s->extensions = ff_vk_extensions_to_mask(vk_dev->enabled_dev_extensions,
                                              vk_dev->nb_enabled_dev_extensions);
+    s->extensions |= ff_vk_extensions_to_mask(vk_dev->enabled_inst_extensions,
+                                              vk_dev->nb_enabled_inst_extensions);
 
     err = ff_vk_load_functions(device_ctx, &s->vkfn, s->extensions, 1, 1);
     if (err < 0) {
diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index 870e988578..033077178c 100644
--- a/libavutil/hwcontext_vulkan.c
+++ b/libavutil/hwcontext_vulkan.c
@@ -739,7 +739,6 @@ static int check_extensions(AVHWDeviceContext *ctx, int dev, AVDictionary *opts,
         if (found) {
             av_log(ctx, AV_LOG_VERBOSE, "Using %s extension %s\n", mod, tstr);
             ADD_VAL_TO_LIST(extension_names, extensions_found, tstr);
-            p->vkctx.extensions |= FF_VK_EXT_DEBUG_UTILS;
         } else {
             av_log(ctx, AV_LOG_ERROR, "Debug extension \"%s\" not found!\n",
                    tstr);
diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c
index ba1d18f4c6..4ee28ad839 100644
--- a/libavutil/vulkan.c
+++ b/libavutil/vulkan.c
@@ -2347,6 +2347,8 @@ int ff_vk_init(FFVulkanContext *s, void *log_parent,
 
     s->extensions = ff_vk_extensions_to_mask(s->hwctx->enabled_dev_extensions,
                                              s->hwctx->nb_enabled_dev_extensions);
+    s->extensions |= ff_vk_extensions_to_mask(s->hwctx->enabled_inst_extensions,
+                                              s->hwctx->nb_enabled_inst_extensions);
 
     err = ff_vk_load_functions(s->device, &s->vkfn, s->extensions, 1, 1);
     if (err < 0) {
diff --git a/libavutil/vulkan_loader.h b/libavutil/vulkan_loader.h
index 3dc27c159e..12e9884b8c 100644
--- a/libavutil/vulkan_loader.h
+++ b/libavutil/vulkan_loader.h
@@ -40,6 +40,10 @@ static inline uint64_t ff_vk_extensions_to_mask(const char * const *extensions,
         const char *name;
         FFVulkanExtensions flag;
     } extension_map[] = {
+        /* Instance extensions */
+        { VK_EXT_DEBUG_UTILS_EXTENSION_NAME,                         FF_VK_EXT_DEBUG_UTILS            },
+
+        /* Device extensions */
         { VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_EXTENSION_NAME, FF_VK_EXT_RELAXED_EXTENDED_INSTR },
         { VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME,   FF_VK_EXT_EXTERNAL_DMABUF_MEMORY },
         { VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME, FF_VK_EXT_DRM_MODIFIER_FLAGS     },



More information about the ffmpeg-cvslog mailing list