From f1ff697dbe123849fd499e01494432e52e47a39f Mon Sep 17 00:00:00 2001 From: "Chan, Roy" Date: Tue, 9 Dec 2025 20:07:36 -0500 Subject: [PATCH] amd/vpelib: add a new cap to differentiate scaler coeff handling [Why] Issue found when playing video with GDS. The caller doesn't know if external coefficient should be generated or not. To match mm shader handling, it was using external coefficients. New policy is to follow shared scaler handling with DCN. [How] - Introduce a new cap to tell if it is preferred to have external coefficients. - For Scaling limit, as supporting 6:1 was not conclusive with GDS, It is going to have the same behavior as before - 4:1 Acked-by: Chuanyu Tseng Signed-off-by: Roy Chan Part-of: --- src/amd/vpelib/inc/vpe_types.h | 2 ++ src/amd/vpelib/src/chip/vpe10/vpe10_resource.c | 3 +++ src/amd/vpelib/src/chip/vpe11/vpe11_resource.c | 3 +++ 3 files changed, 8 insertions(+) diff --git a/src/amd/vpelib/inc/vpe_types.h b/src/amd/vpelib/inc/vpe_types.h index 6b855c1063e..32b7c6b56c6 100644 --- a/src/amd/vpelib/inc/vpe_types.h +++ b/src/amd/vpelib/inc/vpe_types.h @@ -237,6 +237,8 @@ struct vpe_caps { uint32_t is_apu : 1; /**< is APU */ uint32_t bg_color_check_support : 1; /**< background color check support */ + uint32_t prefer_external_scaler_coef : 1; /**< prefer external scaler coeff */ + /** resource capability */ struct { uint32_t num_dpp; /**< num of dpp */ diff --git a/src/amd/vpelib/src/chip/vpe10/vpe10_resource.c b/src/amd/vpelib/src/chip/vpe10/vpe10_resource.c index d50c3d10906..ff84171f930 100644 --- a/src/amd/vpelib/src/chip/vpe10/vpe10_resource.c +++ b/src/amd/vpelib/src/chip/vpe10/vpe10_resource.c @@ -149,6 +149,9 @@ static struct vpe_caps .v_mirror_support = 0, .is_apu = 1, .bg_color_check_support = 0, + + .prefer_external_scaler_coef = 1, + .resource_caps = { .num_dpp = 1, diff --git a/src/amd/vpelib/src/chip/vpe11/vpe11_resource.c b/src/amd/vpelib/src/chip/vpe11/vpe11_resource.c index 795fbec7c36..33c855a68d9 100644 --- a/src/amd/vpelib/src/chip/vpe11/vpe11_resource.c +++ b/src/amd/vpelib/src/chip/vpe11/vpe11_resource.c @@ -86,6 +86,9 @@ static struct vpe_caps .v_mirror_support = 0, .is_apu = 1, .bg_color_check_support = 0, + + .prefer_external_scaler_coef = 1, + .resource_caps = { .num_dpp = 1,