drm/amd/display: Only use EETF when maxCL > max display
[Why&How] BT.2390 EETF is used for tone mapping/range reduction. Say display is 0.1 - 500 nits. The problematic case is when content is 0-400. We apply EETF because 0<0.1 so we need to reduce the range by 0.1. In the commit, we ignore the bottom range. Most displays map 0 to min and then have a ramp to 0.1, so sending 0.1 is actually >0.1. Furthermode, HW that uses 3D LUT also assumes min=0. Signed-off-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com> Reviewed-by: Aric Cyr <Aric.Cyr@amd.com> Acked-by: Leo Li <sunpeng.li@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
622a88c825
commit
50575eb5b3
@ -959,11 +959,7 @@ static bool build_freesync_hdr(struct pwl_float_data_ex *rgb_regamma,
|
|||||||
if (fs_params->max_display < 100) // cap at 100 at the top
|
if (fs_params->max_display < 100) // cap at 100 at the top
|
||||||
max_display = dc_fixpt_from_int(100);
|
max_display = dc_fixpt_from_int(100);
|
||||||
|
|
||||||
if (fs_params->min_content < fs_params->min_display)
|
// only max used, we don't adjust min luminance
|
||||||
use_eetf = true;
|
|
||||||
else
|
|
||||||
min_content = min_display;
|
|
||||||
|
|
||||||
if (fs_params->max_content > fs_params->max_display)
|
if (fs_params->max_content > fs_params->max_display)
|
||||||
use_eetf = true;
|
use_eetf = true;
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user