From: Zhao Zhili <[email protected]>
VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME is required on macOS,
and VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR flag should
be set.
---
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 8481427b42..9fbf61ee70 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,14 @@ static int create_instance(AVHWDeviceContext *ctx,
AVDictionary *opts)
inst_props.pNext = &validation_features;
}
+ 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;
+ }
+ }
+
/* Try to create the instance */
ret = vk->CreateInstance(&inst_props, hwctx->alloc, &hwctx->inst);
--
2.42.0
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".