From e90c776fa004ee42dcdd777f2a5ba2f444c4a557 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Sat, 9 Nov 2024 10:35:55 +0100 Subject: [PATCH] radv/video: Fix DPB tier2 surface params Fixes: 3e2c768aa86 ("radv/vcn: enable dynamic dpb tier 2 for h264/h265 on navi21+") Reviewed-by: Dave Airlie (cherry picked from commit 8dabb480e26e45e4e171493a1186f7a0a56dee42) Part-of: --- .pick_status.json | 2 +- src/amd/vulkan/radv_video.c | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 0275eacb6d6..60bedb19b8c 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -434,7 +434,7 @@ "description": "radv/video: Fix DPB tier2 surface params", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "3e2c768aa860f96074df73cd3171960e76f5c312", "notes": null diff --git a/src/amd/vulkan/radv_video.c b/src/amd/vulkan/radv_video.c index 3905998f7a2..aa252d46ef1 100644 --- a/src/amd/vulkan/radv_video.c +++ b/src/amd/vulkan/radv_video.c @@ -2085,13 +2085,14 @@ rvcn_dec_message_decode(struct radv_cmd_buffer *cmd_buffer, struct radv_video_se decode->decode_flags = 1; dynamic_dpb_t2->dpbConfigFlags = 0; - dynamic_dpb_t2->dpbLumaPitch = luma->surface.u.gfx9.surf_pitch; - dynamic_dpb_t2->dpbLumaAlignedHeight = luma->surface.u.gfx9.surf_height; - dynamic_dpb_t2->dpbLumaAlignedSize = luma->surface.u.gfx9.surf_slice_size; - dynamic_dpb_t2->dpbChromaPitch = chroma->surface.u.gfx9.surf_pitch; - dynamic_dpb_t2->dpbChromaAlignedHeight = chroma->surface.u.gfx9.surf_height; - dynamic_dpb_t2->dpbChromaAlignedSize = chroma->surface.u.gfx9.surf_slice_size; + dynamic_dpb_t2->dpbLumaPitch = dpb->planes[0].surface.u.gfx9.surf_pitch; + dynamic_dpb_t2->dpbLumaAlignedHeight = dpb->planes[0].surface.u.gfx9.surf_height; + dynamic_dpb_t2->dpbLumaAlignedSize = dpb->planes[0].surface.u.gfx9.surf_slice_size; + + dynamic_dpb_t2->dpbChromaPitch = dpb->planes[1].surface.u.gfx9.surf_pitch; + dynamic_dpb_t2->dpbChromaAlignedHeight = dpb->planes[1].surface.u.gfx9.surf_height; + dynamic_dpb_t2->dpbChromaAlignedSize = dpb->planes[1].surface.u.gfx9.surf_slice_size; return true; }