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 <David.Wu3@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32796>
This commit is contained in:
David Rosca
2024-12-29 10:13:23 +01:00
committed by Marge Bot
parent 3da2d96bc5
commit 2f76bdf35d
2 changed files with 3 additions and 3 deletions

View File

@@ -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);
}

View File

@@ -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);