radv: turn video decode/encode on for VCN4 with latest fw

With the latest fw in the linux-firmware repo, navi3x passes
all the CTS tests.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30837>
This commit is contained in:
Dave Airlie
2024-08-26 07:14:53 +10:00
committed by Marge Bot
parent 4255bbd958
commit 7db16e7cdd
2 changed files with 15 additions and 0 deletions
+9
View File
@@ -253,6 +253,15 @@ radv_probe_video_decode(struct radv_physical_device *pdev)
const struct radv_instance *instance = radv_physical_device_instance(pdev);
pdev->video_decode_enabled = false;
if (pdev->info.vcn_ip_version >= VCN_4_0_0) {
if (pdev->info.vcn_enc_major_version > 1)
pdev->video_decode_enabled = true;
/* VCN 4 FW 1.22 has all the necessary pieces to pass CTS */
/* VCN 4 has unified fw so use the enc versions */
if (pdev->info.vcn_enc_major_version == 1 && pdev->info.vcn_enc_minor_version >= 22)
pdev->video_decode_enabled = true;
}
if (instance->perftest_flags & RADV_PERFTEST_VIDEO_DECODE) {
pdev->video_decode_enabled = true;
}
+6
View File
@@ -118,6 +118,12 @@ radv_probe_video_encode(struct radv_physical_device *pdev)
return;
if (pdev->info.vcn_enc_minor_version < RENCODE_V4_FW_INTERFACE_MINOR_VERSION)
return;
/* VCN 4 FW 1.22 has all the necessary pieces to pass CTS */
if (pdev->info.vcn_enc_minor_version >= 22) {
pdev->video_encode_enabled = true;
return;
}
} else if (pdev->info.vcn_ip_version >= VCN_3_0_0) {
if (pdev->info.vcn_enc_major_version != RENCODE_V3_FW_INTERFACE_MAJOR_VERSION)
return;