[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