From 5018676dfd7babcc9af2e8bbc87d58966c090319 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Thu, 7 Nov 2024 09:15:44 +0100 Subject: [PATCH] radeonsi: Update minimum supported encode size for VCN5 Cc: mesa-stable Reviewed-by: David (Ming Qiang) Wu (cherry picked from commit 6115cf93b0a60e7f5f0c606dee68cffce4eae77f) Part-of: --- .pick_status.json | 2 +- src/gallium/drivers/radeonsi/si_get.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 8ab4c0e7525..a2bbdbd0b29 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -194,7 +194,7 @@ "description": "radeonsi: Update minimum supported encode size for VCN5", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c index b23ad67684e..a88601df760 100644 --- a/src/gallium/drivers/radeonsi/si_get.c +++ b/src/gallium/drivers/radeonsi/si_get.c @@ -683,8 +683,18 @@ static int si_get_video_param(struct pipe_screen *screen, enum pipe_video_profil case PIPE_VIDEO_CAP_NPOT_TEXTURES: return 1; case PIPE_VIDEO_CAP_MIN_WIDTH: + if (sscreen->info.vcn_ip_version >= VCN_5_0_0) { + if (codec == PIPE_VIDEO_FORMAT_MPEG4_AVC) + return 96; + else if (codec == PIPE_VIDEO_FORMAT_HEVC) + return 384; + else if (codec == PIPE_VIDEO_FORMAT_AV1) + return 320; + } return (codec == PIPE_VIDEO_FORMAT_HEVC) ? 130 : 128; case PIPE_VIDEO_CAP_MIN_HEIGHT: + if (sscreen->info.vcn_ip_version >= VCN_5_0_0 && codec == PIPE_VIDEO_FORMAT_MPEG4_AVC) + return 32; return 128; case PIPE_VIDEO_CAP_MAX_WIDTH: if (codec != PIPE_VIDEO_FORMAT_UNKNOWN && QUERYABLE_KERNEL)