From b0d1db940661d19b1d26b5183c91503d49e8a216 Mon Sep 17 00:00:00 2001 From: dancingmirrors Date: Fri, 3 Jul 2026 14:54:12 +0000 Subject: [PATCH] hasvk: Work around FFmpeg commit 24db09a881c9e0eb5b36dcf693c6ac17e9d56be8. This is mostly for old versions of the VVL. Assisted-by: Claude --- src/intel/vulkan_hasvk/anv_image.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/intel/vulkan_hasvk/anv_image.c b/src/intel/vulkan_hasvk/anv_image.c index 94524d3..34fd7a0 100644 --- a/src/intel/vulkan_hasvk/anv_image.c +++ b/src/intel/vulkan_hasvk/anv_image.c @@ -2488,6 +2488,16 @@ anv_CreateImageView(VkDevice _device, if (iview == NULL) return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY); + /* Workaround for FFmpeg commit 24db09a881c9e0eb5b36dcf693c6ac17e9d56be8. */ + const VkImageUsageFlags video_coincide_usage = + VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR | + VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR; + if ((image->vk.usage & video_coincide_usage) == video_coincide_usage && + (iview->vk.usage & VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR) && + !(iview->vk.usage & VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR)) { + iview->vk.usage |= VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR; + } + iview->image = image; iview->n_planes = anv_image_aspect_get_planes(iview->vk.aspects);