mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-30 08:02:30 +00:00
drm/amd/display: [RS4][RV] SDR Brightness Boost
We assume FP16 1.0 frame buffer value maps to 80 nits. DC changes are to make this configurable. Signed-off-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com> Reviewed-by: Anthony Koo <Anthony.Koo@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
529c690ba8
commit
6d9ac917e6
2 changed files with 10 additions and 1 deletions
|
@ -1057,6 +1057,9 @@ static enum surface_update_type get_plane_info_update_type(const struct dc_surfa
|
|||
if (u->plane_info->input_tf != u->surface->input_tf)
|
||||
update_flags->bits.input_tf_change = 1;
|
||||
|
||||
if (u->plane_info->sdr_white_level != u->surface->sdr_white_level)
|
||||
update_flags->bits.output_tf_change = 1;
|
||||
|
||||
if (u->plane_info->horizontal_mirror != u->surface->horizontal_mirror)
|
||||
update_flags->bits.horizontal_mirror_change = 1;
|
||||
|
||||
|
@ -1101,7 +1104,8 @@ static enum surface_update_type get_plane_info_update_type(const struct dc_surfa
|
|||
|| update_flags->bits.stereo_format_change
|
||||
|| update_flags->bits.gamma_change
|
||||
|| update_flags->bits.bpp_change
|
||||
|| update_flags->bits.bandwidth_change)
|
||||
|| update_flags->bits.bandwidth_change
|
||||
|| update_flags->bits.output_tf_change)
|
||||
return UPDATE_TYPE_FULL;
|
||||
|
||||
return UPDATE_TYPE_MED;
|
||||
|
|
|
@ -367,6 +367,8 @@ struct dc_transfer_func {
|
|||
struct dc_transfer_func_distributed_points tf_pts;
|
||||
enum dc_transfer_func_type type;
|
||||
enum dc_transfer_func_predefined tf;
|
||||
/* FP16 1.0 reference level in nits, default is 80 nits, only for PQ*/
|
||||
uint32_t sdr_ref_white_level;
|
||||
struct dc_context *ctx;
|
||||
};
|
||||
|
||||
|
@ -397,6 +399,7 @@ union surface_update_flags {
|
|||
uint32_t position_change:1;
|
||||
uint32_t in_transfer_func_change:1;
|
||||
uint32_t input_csc_change:1;
|
||||
uint32_t output_tf_change:1;
|
||||
|
||||
/* Full updates */
|
||||
uint32_t new_plane:1;
|
||||
|
@ -428,6 +431,7 @@ struct dc_plane_state {
|
|||
struct dc_bias_and_scale *bias_and_scale;
|
||||
struct csc_transform input_csc_color_matrix;
|
||||
struct fixed31_32 coeff_reduction_factor;
|
||||
uint32_t sdr_white_level;
|
||||
|
||||
// TODO: No longer used, remove
|
||||
struct dc_hdr_static_metadata hdr_static_ctx;
|
||||
|
@ -464,6 +468,7 @@ struct dc_plane_info {
|
|||
enum plane_stereo_format stereo_format;
|
||||
enum dc_color_space color_space;
|
||||
enum color_transfer_func input_tf;
|
||||
unsigned int sdr_white_level;
|
||||
bool horizontal_mirror;
|
||||
bool visible;
|
||||
bool per_pixel_alpha;
|
||||
|
|
Loading…
Reference in a new issue