From 519c96f3c8200b080b120a50015820d275164113 Mon Sep 17 00:00:00 2001 From: Boyuan Zhang Date: Thu, 15 Feb 2024 14:00:52 -0500 Subject: [PATCH] radeonsi/vcn: only use multi slices reflist when available Some frontends interface doesn't provide ref pic lists for HEVC. Therefore ONLY enabling multislices reflist for frontends that support direct ref pic list by checking the flag. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10599 Cc: mesa-stable Signed-off-by: Boyuan Zhang Reviewed-by: Leo Liu Part-of: (cherry picked from commit 0db2d13af1a7f04f8461691db062b9111efae6df) --- .pick_status.json | 2 +- src/gallium/drivers/radeonsi/radeon_vcn_dec.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index baa2c3f0468..a5c5f882397 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -3034,7 +3034,7 @@ "description": "radeonsi/vcn: only use multi slices reflist when available", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c index c6fa84af78a..6d19d84c47f 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c @@ -307,15 +307,15 @@ static rvcn_dec_message_hevc_t get_h265_msg(struct radeon_decoder *dec, result.sps_info_flags |= pic->pps->sps->separate_colour_plane_flag << 8; if (((struct si_screen *)dec->screen)->info.family == CHIP_CARRIZO) result.sps_info_flags |= 1 << 9; - if (pic->UseRefPicList == true) + if (pic->UseRefPicList == true) { result.sps_info_flags |= 1 << 10; + result.sps_info_flags |= 1 << 12; + } if (pic->UseStRpsBits == true && pic->pps->st_rps_bits != 0) { result.sps_info_flags |= 1 << 11; result.st_rps_bits = pic->pps->st_rps_bits; } - result.sps_info_flags |= 1 << 12; - result.chroma_format = pic->pps->sps->chroma_format_idc; result.bit_depth_luma_minus8 = pic->pps->sps->bit_depth_luma_minus8; result.bit_depth_chroma_minus8 = pic->pps->sps->bit_depth_chroma_minus8;