aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Spencer <spencercw@gmail.com>2023-08-20 19:35:44 +0100
committerLynne <dev@lynne.ee>2023-08-20 22:47:09 +0200
commitf0b1cab53816aa53b78e63d3c53d02aa2a081820 (patch)
tree9550c4a6a1d33f6987c48ae19bcc9d263e815f95
parent8c789c5da3ce9dd721fb0ec14927c3809eca446d (diff)
downloadffmpeg-f0b1cab53816aa53b78e63d3c53d02aa2a081820.tar.gz
hwcontext_vulkan: always use create_pnext in vulkan_pool_alloc
Currently, create_pnext is only used if an applicable external memory extension is enabled. This will usually the case when used from the command line, but may not be when the Vulkan context is created manually. For images used in video decoding, create_pnext contains the video profile list, which is mandatory.[1] This fixes a GPU crash when using RADV. [1] https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageCreateInfo.html#VUID-VkImageCreateInfo-usage-04815 Signed-off-by: Chris Spencer <spencercw@gmail.com>
-rw-r--r--libavutil/hwcontext_vulkan.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index 75314f1407..54faf16a69 100644
--- a/libavutil/hwcontext_vulkan.c
+++ b/libavutil/hwcontext_vulkan.c
@@ -2179,7 +2179,8 @@ static AVBufferRef *vulkan_pool_alloc(void *opaque, size_t size)
}
err = create_frame(hwfc, &f, hwctx->tiling, hwctx->usage, hwctx->img_flags,
- hwctx->nb_layers, eiinfo.handleTypes ? &eiinfo : NULL);
+ hwctx->nb_layers,
+ eiinfo.handleTypes ? &eiinfo : hwctx->create_pnext);
if (err)
return NULL;