drm/amd/display: use even ODM slice width for two pixels per container
[why] When optc uses two pixel per container, each ODM slice width must be an even number. [how] If ODM slice width is odd number increase it by 1. Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Signed-off-by: Wenjing Liu <wenjing.liu@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
b59cb5a671
commit
0caba87a40
@@ -173,6 +173,9 @@ static struct spl_rect calculate_odm_slice_in_timing_active(struct spl_in *spl_i
|
||||
int odm_slice_width = h_active / odm_slice_count;
|
||||
struct spl_rect odm_rec;
|
||||
|
||||
if (spl_in->basic_out.use_two_pixels_per_container && (odm_slice_width % 2))
|
||||
odm_slice_width++;
|
||||
|
||||
odm_rec.x = odm_slice_width * odm_slice_idx;
|
||||
odm_rec.width = is_last_odm_slice ?
|
||||
/* last slice width is the reminder of h_active */
|
||||
|
||||
@@ -441,6 +441,7 @@ struct basic_out {
|
||||
bool always_scale; // Is always scale enabled? Required for getting SCL_MODE
|
||||
int max_downscale_src_width; // Required to get optimal no of taps
|
||||
bool alpha_en;
|
||||
bool use_two_pixels_per_container;
|
||||
};
|
||||
enum explicit_sharpness {
|
||||
SHARPNESS_LOW = 0,
|
||||
|
||||
Reference in New Issue
Block a user