[FFmpeg-devel] [PATCH v2] hwcontext_vulkan: workaround MoltenVK's bug which leads to segmentation fault
Lynne
dev at lynne.ee
Thu Jan 27 11:07:22 EET 2022
27 Jan 2022, 09:38 by quinkblack at foxmail.com:
> MoltenVK doesn't reset instance when CreateInstance() failed,
> then DestroyInstance() leads to segmentation fault. MoltenVK's bug
> has been fixed by [1], which doesn't available on homebrew yet.
> Regardless MoltenVK's bug, we shouldn't call DestroyInstance()
> in the case of CreateInstance() failed, so reset instance making
> sense.
>
> [1] https://github.com/KhronosGroup/MoltenVK/commit/86a1fbdb8
> ---
> libavutil/hwcontext_vulkan.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
> index 2e219511c9..d3bd37a6a7 100644
> --- a/libavutil/hwcontext_vulkan.c
> +++ b/libavutil/hwcontext_vulkan.c
> @@ -719,6 +719,8 @@ static int create_instance(AVHWDeviceContext *ctx, AVDictionary *opts)
> if (ret != VK_SUCCESS) {
> av_log(ctx, AV_LOG_ERROR, "Instance creation failure: %s\n",
> vk_ret2str(ret));
> + /* Workaround MoltenVK's bug which doesn't reset instance. */
> + hwctx->inst = VK_NULL_HANDLE;
> err = AVERROR_EXTERNAL;
> goto fail;
> }
>
Not a fan of working around this implementation bug.
Couldn't homebrew just update?
More information about the ffmpeg-devel
mailing list