From 079ff0a9df9508d71b1ad1791cf837b71aae6a52 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Mon, 30 Sep 2024 14:15:26 +0200 Subject: [PATCH] radeonsi: Enable VIDEO_CAP_ENC_SUPPORTS_ASYNC_OPERATION on VCE/UVD Reviewed-by: Ruijing Dong Part-of: --- src/gallium/drivers/radeonsi/si_get.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c index 7e94791918d..cf05f370c8d 100644 --- a/src/gallium/drivers/radeonsi/si_get.c +++ b/src/gallium/drivers/radeonsi/si_get.c @@ -758,7 +758,16 @@ static int si_get_video_param(struct pipe_screen *screen, enum pipe_video_profil return 0; case PIPE_VIDEO_CAP_ENC_SUPPORTS_ASYNC_OPERATION: - return (sscreen->info.vcn_ip_version >= VCN_1_0_0) ? 1 : 0; + if (sscreen->info.vcn_ip_version >= VCN_1_0_0) + return 1; + + /* dual instance */ + if (codec == PIPE_VIDEO_FORMAT_MPEG4_AVC && + sscreen->info.family >= CHIP_TONGA && + sscreen->info.vce_harvest_config == 0) + return 0; + + return 1; case PIPE_VIDEO_CAP_ENC_MAX_SLICES_PER_FRAME: return (sscreen->info.vcn_ip_version >= VCN_1_0_0) ? 128 : 1;