@@ -211,11 +211,23 @@ static int create_vk_by_hwcontext(VkRenderer *renderer,
AVHWDeviceContext *dev;
AVVulkanDeviceContext *hwctx;
AVDictionary *dict = NULL;
+ void *get_proc_addr = SDL_Vulkan_GetVkGetInstanceProcAddr();
+ char *addr_buf = av_asprintf("0x%" PRIXPTR, (uintptr_t)get_proc_addr);
int ret;
- ret = add_instance_extension(ext, num_ext, opt, &dict);
+ if (!addr_buf)
+ return AVERROR(ENOMEM);
+
+ ret = av_dict_set(&dict, "get_proc_addr", addr_buf, AV_DICT_DONT_STRDUP_VAL);
if (ret < 0)
return ret;
+
+ ret = add_instance_extension(ext, num_ext, opt, &dict);
+ if (ret < 0) {
+ av_dict_free(&dict);
+ return ret;
+ }
+
ret = add_device_extension(opt, &dict);
if (ret) {
av_dict_free(&dict);
From: Zhao Zhili <zhilizhao@tencent.com> --- Maybe this patch should be squashed into the patch which add ffplay_renderer. fftools/ffplay_renderer.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)