drm/amd/display: Bypass gamma set if not standard type
If non-standard gamma type detected set identity matrix flag so that we can bypass the gamma mode. Signed-off-by: John Barberiz <jbarberi@amd.com> Reviewed-by: Krunoslav Kovac <Krunoslav.Kovac@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
69b9723a81
commit
3e5df76ae5
|
@ -436,6 +436,8 @@ struct dc_gamma {
|
|||
|
||||
/* private to DC core */
|
||||
struct dc_context *ctx;
|
||||
|
||||
bool is_identity;
|
||||
};
|
||||
|
||||
/* Used by both ipp amd opp functions*/
|
||||
|
|
|
@ -900,7 +900,9 @@ static bool dcn10_set_input_transfer_func(struct pipe_ctx *pipe_ctx,
|
|||
if (plane_state->in_transfer_func)
|
||||
tf = plane_state->in_transfer_func;
|
||||
|
||||
if (plane_state->gamma_correction && dce_use_lut(plane_state->format))
|
||||
if (plane_state->gamma_correction->is_identity)
|
||||
dpp_base->funcs->dpp_set_degamma(dpp_base, IPP_DEGAMMA_MODE_BYPASS);
|
||||
else if (plane_state->gamma_correction && dce_use_lut(plane_state->format))
|
||||
dpp_base->funcs->dpp_program_input_lut(dpp_base, plane_state->gamma_correction);
|
||||
|
||||
if (tf == NULL)
|
||||
|
|
Loading…
Reference in New Issue