From 59e73a78bba3bc82a7fc77197ab52be0599f4b4a Mon Sep 17 00:00:00 2001 From: David Rosca Date: Fri, 9 May 2025 12:06:13 +0200 Subject: [PATCH] radeonsi/vce: Only send one task per IB There is no need to use second task for config when creating the session, also it doesn't work now as we don't set the next task offset in task info anymore. Fixes: 9ca1cda2bec ("radeonsi/vce: Cleanup") Reviewed-by: Ruijing Dong Part-of: (cherry picked from commit ad96031ec6332cde23b64908df03e2b6d29e1d99) --- .pick_status.json | 2 +- src/gallium/drivers/radeonsi/radeon_vce.c | 1 + src/gallium/drivers/radeonsi/radeon_vce_52.c | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 3061ece44db..546811c7305 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4224,7 +4224,7 @@ "description": "radeonsi/vce: Only send one task per IB", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "9ca1cda2bece5e834c7e53007aabe04ed1118554", "notes": null diff --git a/src/gallium/drivers/radeonsi/radeon_vce.c b/src/gallium/drivers/radeonsi/radeon_vce.c index d86a9594083..237214c2c4e 100644 --- a/src/gallium/drivers/radeonsi/radeon_vce.c +++ b/src/gallium/drivers/radeonsi/radeon_vce.c @@ -180,6 +180,7 @@ static void rvce_begin_frame(struct pipe_video_codec *encoder, struct pipe_video if (need_rate_control) { enc->session(enc); + enc->task_info(enc, 0x00000002, 0xffffffff); enc->config(enc); flush(enc, PIPE_FLUSH_ASYNC, NULL); } diff --git a/src/gallium/drivers/radeonsi/radeon_vce_52.c b/src/gallium/drivers/radeonsi/radeon_vce_52.c index fbc7152252f..0afe6d4e4af 100644 --- a/src/gallium/drivers/radeonsi/radeon_vce_52.c +++ b/src/gallium/drivers/radeonsi/radeon_vce_52.c @@ -510,7 +510,6 @@ static void rate_control(struct rvce_encoder *enc) static void config(struct rvce_encoder *enc) { - enc->task_info(enc, 0x00000002, 0xffffffff); enc->rate_control(enc); enc->config_extension(enc); enc->motion_estimation(enc);