diff options
author | Lynne <dev@lynne.ee> | 2024-09-01 00:33:47 +0000 |
---|---|---|
committer | Lynne <dev@lynne.ee> | 2024-09-09 07:05:45 +0200 |
commit | 0ffa967170352c4a5ba73c21f2ef096efef0ee59 (patch) | |
tree | c85daa1e1b5b230c257435018426b49df6f2f029 | |
parent | eb5088d28cdfd7f8001fa265ff975e7ee1fae85f (diff) | |
download | ffmpeg-0ffa967170352c4a5ba73c21f2ef096efef0ee59.tar.gz |
hwcontext_vulkan: ask for storage images by default
The issue is that we ask for storage images by default if
available, but because that is gated by the format supporting
storage images, and the check for the format supporting storage
images is gated by the usage, this resulted in a catch-22.
-rw-r--r-- | libavutil/hwcontext_vulkan.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 383e75397e..c4c6638369 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -2617,7 +2617,8 @@ static int vulkan_frames_init(AVHWFramesContext *hwfc) err = vkfmt_from_pixfmt2(hwfc->device_ctx, hwfc->sw_format, hwctx->tiling, NULL, NULL, NULL, &supported_usage, 0, - hwctx->usage & VK_IMAGE_USAGE_STORAGE_BIT); + !hwctx->usage || + (hwctx->usage & VK_IMAGE_USAGE_STORAGE_BIT)); if (err < 0) { av_log(hwfc, AV_LOG_ERROR, "Unsupported sw format: %s!\n", av_get_pix_fmt_name(hwfc->sw_format)); @@ -2628,7 +2629,8 @@ static int vulkan_frames_init(AVHWFramesContext *hwfc) hwctx->tiling, hwctx->format, NULL, NULL, &supported_usage, disable_multiplane, - hwctx->usage & VK_IMAGE_USAGE_STORAGE_BIT); + !hwctx->usage || + (hwctx->usage & VK_IMAGE_USAGE_STORAGE_BIT)); if (err < 0) return err; } |