[FFmpeg-devel] [PATCH 1/5] avutil/hwcontext_vulkan: fixed validation error VUID 01387

Wu Jianhua jianhua.wu at intel.com
Sun Jan 2 16:51:38 EET 2022


This commit fixed the validation error that occurred on the Windows platform.

Validation Error: [ VUID-vkCreateDevice-ppEnabledExtensionNames-01387 ] Object 0: \
handle = 0x2ab1cfa0db0, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x12537a2c | \
Missing extension required by the device extension VK_EXT_hdr_metadata: VK_KHR_swapchain. \
The Vulkan spec states: All required device extensions for each extension in the \
VkDeviceCreateInfo::ppEnabledExtensionNames list must also be present in that list \
(https://vulkan.lunarg.com/doc/view/1.2.198.1/windows/1.2-extensions/vkspec.html#\
VUID-vkCreateDevice-ppEnabledExtensionNames-01387)

Signed-off-by: Wu Jianhua <jianhua.wu at intel.com>
---
 libavutil/hwcontext_vulkan.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index 83a7527198..a2a175a063 100644
--- a/libavutil/hwcontext_vulkan.c
+++ b/libavutil/hwcontext_vulkan.c
@@ -335,7 +335,11 @@ typedef struct VulkanOptExtension {
 } VulkanOptExtension;
 
 static const VulkanOptExtension optional_instance_exts[] = {
-    /* For future use */
+    /* Misc or required by other extensions */
+#ifdef _WIN32
+    { VK_KHR_WIN32_SURFACE_EXTENSION_NAME,                    FF_VK_EXT_NO_FLAG                },
+    { VK_KHR_SURFACE_EXTENSION_NAME,                          FF_VK_EXT_NO_FLAG                },
+#endif
 };
 
 static const VulkanOptExtension optional_device_exts[] = {
@@ -344,6 +348,9 @@ static const VulkanOptExtension optional_device_exts[] = {
     { VK_EXT_HDR_METADATA_EXTENSION_NAME,                     FF_VK_EXT_NO_FLAG                },
     { VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME,         FF_VK_EXT_NO_FLAG                },
     { VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME,                FF_VK_EXT_NO_FLAG                },
+#ifdef _WIN32
+    { VK_KHR_SWAPCHAIN_EXTENSION_NAME,                        FF_VK_EXT_NO_FLAG                },
+#endif
 
     /* Imports/exports */
     { VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME,               FF_VK_EXT_EXTERNAL_FD_MEMORY     },
-- 
2.25.1



More information about the ffmpeg-devel mailing list