@@ -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 },
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@intel.com> --- libavutil/hwcontext_vulkan.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)