On 2025-12-08 18:44, Melissa Wen wrote:
> We've seen some shimmer points on DCN32 when using the steamOS color
> pipeline for HDR on gaming. Looks like black values being wrongly mapped
> to red/blue/green values. Fiz that by using the exact number of
> hw_points computed in the LUT segmentation. Probably the whole logic
> that adds +1 to the latest points should be revisited.
>
> Signed-off-by: Melissa Wen <[email protected]>
I haven't had a chance to trace the hw_points logic but am
inclined to take the patch if it fixes things. My only concern
is that it reverts part of Kruno's change to increase the points
by 1 so I wonder if it could break something else subtly.
Alex Hung will follow up and get back on it.
Harry
> ---
> drivers/gpu/drm/amd/display/dc/dcn30/dcn30_cm_common.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_cm_common.c
> b/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_cm_common.c
> index 0690c346f2c5..ba20575be214 100644
> --- a/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_cm_common.c
> +++ b/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_cm_common.c
> @@ -225,7 +225,7 @@ bool cm3_helper_translate_curve_to_hw_format(
>
> // DCN3+ have 257 pts in lieu of no separate slope registers
> // Prior HW had 256 base+slope pairs
> - lut_params->hw_points_num = hw_points + 1;
> + lut_params->hw_points_num = hw_points;
>
> k = 0;
> for (i = 1; i < MAX_REGIONS_NUMBER; i++) {