forked from Minki/linux
drm/amd/display: Check scaling ration not viewports params.
In case of roation, width and height in viewport is difference between viewport and h_active and v_active, while this is not scaling. The right way is check ratios in scaling data, to determine it is a scaling case or not. Signed-off-by: Yongqiang Sun <yongqiang.sun@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Acked-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
bf28c2e205
commit
b6c3053a8f
@ -145,10 +145,10 @@ static bool dpp_get_optimal_number_of_taps(
|
||||
pixel_width = scl_data->viewport.width;
|
||||
|
||||
/* Some ASICs does not support FP16 scaling, so we reject modes require this*/
|
||||
if (scl_data->viewport.width != scl_data->h_active &&
|
||||
scl_data->viewport.height != scl_data->v_active &&
|
||||
if (scl_data->format == PIXEL_FORMAT_FP16 &&
|
||||
dpp->caps->dscl_data_proc_format == DSCL_DATA_PRCESSING_FIXED_FORMAT &&
|
||||
scl_data->format == PIXEL_FORMAT_FP16)
|
||||
scl_data->ratios.horz.value != dc_fixpt_one.value &&
|
||||
scl_data->ratios.vert.value != dc_fixpt_one.value)
|
||||
return false;
|
||||
|
||||
if (scl_data->viewport.width > scl_data->h_active &&
|
||||
|
Loading…
Reference in New Issue
Block a user