Commit 6f39dee9 authored by Zhao Zhili's avatar Zhao Zhili

avutil/hwcontext_vulkan: fix run on macOS

VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME is required on macOS,
and VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR flag should
be set.
Signed-off-by: 's avatarZhao Zhili <zhilizhao@tencent.com>
parent f16900bd
......@@ -405,7 +405,6 @@ typedef struct VulkanOptExtension {
} VulkanOptExtension;
static const VulkanOptExtension optional_instance_exts[] = {
/* Pointless, here avoid zero-sized structs */
{ VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
};
......@@ -784,6 +783,16 @@ static int create_instance(AVHWDeviceContext *ctx, AVDictionary *opts)
inst_props.pNext = &validation_features;
}
#ifdef __APPLE__
for (int i = 0; i < inst_props.enabledExtensionCount; i++) {
if (!strcmp(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME,
inst_props.ppEnabledExtensionNames[i])) {
inst_props.flags |= VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR;
break;
}
}
#endif
/* Try to create the instance */
ret = vk->CreateInstance(&inst_props, hwctx->alloc, &hwctx->inst);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment