drm/amd/display: Don't use ROM for output TF if GAMMA_CS_TFM_1D
authorHugo Hu <hugo.hu@amd.com>
Fri, 3 May 2019 07:36:29 +0000 (15:36 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 31 May 2019 15:39:29 +0000 (10:39 -0500)
We can’t use hardcoded SRGB ROM for output TF if we have GAMMA_CS_TFM_1D
(unless we know 1D LUT is identity), so we never want to return here early.
We apply the LUT part of ColorTransform3x4 only in apply_lut_1d() which is
called near the end of that function.

Signed-off-by: Hugo Hu <hugo.hu@amd.com>
Reviewed-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com>
Acked-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/modules/color/color_gamma.c

index 8601d371776e6ea3a0a89767f5c42f67fa872b8d..369a89071217384f42b08427418653ea9f898c88 100644 (file)
@@ -1569,7 +1569,8 @@ bool mod_color_calculate_regamma_params(struct dc_transfer_func *output_tf,
                        output_tf->tf == TRANSFER_FUNCTION_SRGB) {
                if (ramp == NULL)
                        return true;
-               if (ramp->is_identity || (!mapUserRamp && ramp->type == GAMMA_RGB_256))
+               if ((ramp->is_identity && ramp->type != GAMMA_CS_TFM_1D) ||
+                               (!mapUserRamp && ramp->type == GAMMA_RGB_256))
                        return true;
        }