From 8594a95ca1c0819fdf7b04f57542787c5f574223 Mon Sep 17 00:00:00 2001
From: Lynne <dev@lynne.ee>
Date: Wed, 25 Oct 2023 01:32:20 +0200
Subject: [PATCH 2/2] vulkan_decode: fix another validation issue
Surprising no one, the insane usage rule has a catch.
---
libavcodec/vulkan_decode.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
@@ -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,
--
2.42.0