This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

The following commit(s) were added to refs/heads/master by this push:
     new b7e835e069 vulkan_decode: keep DRM modifiers off the DPB pool when 
DISTINCT is set
b7e835e069 is described below

commit b7e835e06913e4374a4567003fe8c75cebfffb98
Author:     Jack Boykin <[email protected]>
AuthorDate: Sun Oct 11 09:49:15 2026 -0500
Commit:     Lynne <[email protected]>
CommitDate: Sat Oct 17 02:55:30 2026 +0000

    vulkan_decode: keep DRM modifiers off the DPB pool when DISTINCT is set
    
    With DPB_AND_OUTPUT_DISTINCT, DPB images never leave the decoder, but the
    pool still copied the output's DRM modifier list and tiling. Drivers
    needn't support modifier tiling for DPB-only usage, and radv doesn't, so
    the pool broke VUID-VkImageCreateInfo-pNext-06811.
    
    Regression since: 25e187f849
    Assisted-by: Claude Opus 5.5
---
 libavcodec/vulkan_decode.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/vulkan_decode.c b/libavcodec/vulkan_decode.c
index 34ca4dc565..5cf338b0d3 100644
--- a/libavcodec/vulkan_decode.c
+++ b/libavcodec/vulkan_decode.c
@@ -1343,12 +1343,12 @@ int ff_vk_decode_init(AVCodecContext *avctx)
         VkImageTiling tiling = VK_IMAGE_TILING_OPTIMAL;
         void *create_pnext = (void 
*)ff_vk_find_struct(ctx->s.hwfc->create_pnext,
                                                        
VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR);
-        /* Reference (DPB) images use the same tiling and pNext chain as 
output.
-         * If VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR is 0, 
the
-         * driver does not support separate output and DPB with different 
layouts/tiling. */
+        /* With DPB_AND_OUTPUT_DISTINCT, DPB images never leave the decoder,
+         * so they don't need the output's DRM modifiers. */
         void *drm_create_pnext = (void 
*)ff_vk_find_struct(ctx->s.hwfc->create_pnext,
                                                            
VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT);
-        if (drm_create_pnext) {
+        if (drm_create_pnext &&
+            !(ctx->dec_caps.flags & 
VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR)) {
             create_pnext = drm_create_pnext;
             tiling       = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT;
             av_assert2(ff_vk_find_struct(drm_create_pnext, 
VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR));

-- 
To stop receiving notification emails like this one, please contact
[email protected].
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to