From 2f76bdf35dc8d079ad30fed5d13754089d300a71 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Sun, 29 Dec 2024 10:13:23 +0100 Subject: [PATCH] radeonsi/vcn: Change required FW version for rc_per_pic_ex on VCN3 It only works correctly on 29 and newer. Also change the old FW message to one time warning. Cc: mesa-stable Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12353 Reviewed-by: David (Ming Qiang) Wu Part-of: --- src/gallium/drivers/radeonsi/radeon_vcn_enc.c | 2 +- src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_enc.c b/src/gallium/drivers/radeonsi/radeon_vcn_enc.c index 3eb6b198e8a..5c850c402d6 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_enc.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_enc.c @@ -2014,7 +2014,7 @@ struct pipe_video_codec *radeon_create_encoder(struct pipe_context *context, radeon_enc_4_0_init(enc); } else if (sscreen->info.vcn_ip_version >= VCN_3_0_0) { - if (sscreen->info.vcn_enc_minor_version >= 24) + if (sscreen->info.vcn_enc_minor_version >= 29) enc->enc_pic.use_rc_per_pic_ex = true; radeon_enc_3_0_init(enc); } diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c b/src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c index b1ec27ed7ea..86653e6988c 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c @@ -1175,8 +1175,8 @@ static void radeon_enc_intra_refresh(struct radeon_encoder *enc) static void radeon_enc_rc_per_pic(struct radeon_encoder *enc) { - fprintf(stderr, "Warning: Obsoleted rate control is being used due to outdated VCN firmware on system.\n"); - fprintf(stderr, "Updating VCN firmware is highly recommended.\n"); + debug_warn_once("Obsoleted rate control is being used due to outdated VCN firmware on system. " + "Updating VCN firmware is highly recommended."); RADEON_ENC_BEGIN(enc->cmd.rc_per_pic); RADEON_ENC_CS(enc->enc_pic.rc_per_pic.qp_obs); RADEON_ENC_CS(enc->enc_pic.rc_per_pic.min_qp_app_obs);