ffmpeg | branch: master | Zhao Zhili <zhiliz...@tencent.com> | Tue Nov 7 23:44:45 2023 +0800| [6f39dee9747144106c6f4d6be9ebf9fe50491162] | committer: 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: Zhao Zhili <zhiliz...@tencent.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6f39dee9747144106c6f4d6be9ebf9fe50491162 --- libavutil/hwcontext_vulkan.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 8481427b42..521ad76690 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -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); _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".