aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorLynne <dev@lynne.ee>2023-10-25 01:32:20 +0200
committerLynne <dev@lynne.ee>2023-10-25 20:51:55 +0200
commit0b3616231d330ff25b28a20795394777a3f91b6d (patch)
tree84d31a3cf346b4e29578991892e81ff77ec0c4fc /libavcodec
parent467e4118393170ff11b7725ec4565350fd1da195 (diff)
downloadffmpeg-0b3616231d330ff25b28a20795394777a3f91b6d.tar.gz
vulkan_decode: fix another validation issue
Surprising no one, the insane usage rule has a catch.
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/vulkan_decode.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/vulkan_decode.c b/libavcodec/vulkan_decode.c
index c01eeb9cdc..7f575d1283 100644
--- a/libavcodec/vulkan_decode.c
+++ b/libavcodec/vulkan_decode.c
@@ -449,7 +449,8 @@ int ff_vk_decode_frame(AVCodecContext *avctx,
.srcAccessMask = VK_ACCESS_2_NONE,
.dstAccessMask = VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR,
.oldLayout = vkf->layout[0],
- .newLayout = vp->dpb_frame ? VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR :
+ .newLayout = (dec->layered_dpb && vp->dpb_frame) ?
+ VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR :
VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR, /* Spec, 07252 utter madness */
.srcQueueFamilyIndex = vkf->queue_family[0],
.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,