On 06/03/2026 00:13, Alex Hung wrote:
From: Harry Wentland <[email protected]>

When luma is unscaled we also want chroma to be pixel-perfect.
When luma taps are > 1 the result will be a blurred luma plane,
even when the image isn't scaled.

This makes WIP IGT tests for CSC colorop pass.

Co-developed by Claude Sonnet 4.5.
Nitpick: I understand this should be an `Assisted-by:` tag [1]

Same for other patches in this series with similar sentence.

[1] https://docs.kernel.org/process/coding-assistants.html

Reviewed-by: Alex Hung <[email protected]>
Signed-off-by: Harry Wentland <[email protected]>
Signed-off-by: Alex Hung <[email protected]>
---
  drivers/gpu/drm/amd/display/dc/dpp/dcn10/dcn10_dpp.c | 8 ++++++--
  drivers/gpu/drm/amd/display/dc/dpp/dcn30/dcn30_dpp.c | 8 ++++++--
  2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dpp/dcn10/dcn10_dpp.c 
b/drivers/gpu/drm/amd/display/dc/dpp/dcn10/dcn10_dpp.c
index ce91e5d28956..0e70ffc784b1 100644
--- a/drivers/gpu/drm/amd/display/dc/dpp/dcn10/dcn10_dpp.c
+++ b/drivers/gpu/drm/amd/display/dc/dpp/dcn10/dcn10_dpp.c
@@ -172,10 +172,14 @@ bool dpp1_get_optimal_number_of_taps(
                scl_data->taps.h_taps_c = in_taps->h_taps_c;
if (!dpp->ctx->dc->debug.always_scale) {
-               if (IDENTITY_RATIO(scl_data->ratios.horz))
+               if (IDENTITY_RATIO(scl_data->ratios.horz)) {
                        scl_data->taps.h_taps = 1;
-               if (IDENTITY_RATIO(scl_data->ratios.vert))
+                       scl_data->taps.h_taps_c = 1;
+               }
+               if (IDENTITY_RATIO(scl_data->ratios.vert)) {
                        scl_data->taps.v_taps = 1;
+                       scl_data->taps.v_taps_c = 1;
+               }
                if (IDENTITY_RATIO(scl_data->ratios.horz_c))
                        scl_data->taps.h_taps_c = 1;
                if (IDENTITY_RATIO(scl_data->ratios.vert_c))
diff --git a/drivers/gpu/drm/amd/display/dc/dpp/dcn30/dcn30_dpp.c 
b/drivers/gpu/drm/amd/display/dc/dpp/dcn30/dcn30_dpp.c
index c7923531da83..8a146968ee15 100644
--- a/drivers/gpu/drm/amd/display/dc/dpp/dcn30/dcn30_dpp.c
+++ b/drivers/gpu/drm/amd/display/dc/dpp/dcn30/dcn30_dpp.c
@@ -524,10 +524,14 @@ bool dpp3_get_optimal_number_of_taps(
                scl_data->taps.v_taps_c = max_taps_c;
if (!dpp->ctx->dc->debug.always_scale) {
-               if (IDENTITY_RATIO(scl_data->ratios.horz))
+               if (IDENTITY_RATIO(scl_data->ratios.horz)) {
                        scl_data->taps.h_taps = 1;
-               if (IDENTITY_RATIO(scl_data->ratios.vert))
+                       scl_data->taps.h_taps_c = 1;
+               }
+               if (IDENTITY_RATIO(scl_data->ratios.vert)) {
                        scl_data->taps.v_taps = 1;
+                       scl_data->taps.v_taps_c = 1;
+               }
                if (IDENTITY_RATIO(scl_data->ratios.horz_c))
                        scl_data->taps.h_taps_c = 1;
                if (IDENTITY_RATIO(scl_data->ratios.vert_c))

Reply via email to