Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Cc: igt-dev@lists.freedesktop.org
Subject: Re: [igt-dev] [PATCH i-g-t] tests/kms_plane: Use solid colors for the cropping tests
Date: Thu, 3 Jun 2021 20:06:25 +0300	[thread overview]
Message-ID: <YLkMEYkpZl5/HOWq@intel.com> (raw)
In-Reply-To: <d1b6126e-79d9-4e2e-f1cc-2c36af337a03@gmail.com>

On Wed, Jun 02, 2021 at 02:18:32PM +0300, Juha-Pekka Heikkila wrote:
> On 1.6.2021 19.28, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > Something is wrong with the way we render stuff in the crop tests.
> > The renreded image can be different for different pixel formats,
> > at least when using fullscreen planes (maybe resolution dependent).
> > Go back to using just solid colors until someone figures out what's
> > wrong with the rendering.
> 
> Is there some ci report where this could be seen? I guess it will fail 
> incorrectly?

Just saw it on some local ctg. I think that one has a 1400x900 (or
thereabouts) panel.

> 
> /Juha-Pekka
> 
> > 
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> >   tests/kms_plane.c | 61 ++++++++++++++++++++++++++---------------------
> >   1 file changed, 34 insertions(+), 27 deletions(-)
> > 
> > diff --git a/tests/kms_plane.c b/tests/kms_plane.c
> > index d7cbe8925cd9..ea1118c23769 100644
> > --- a/tests/kms_plane.c
> > +++ b/tests/kms_plane.c
> > @@ -567,7 +567,7 @@ static void capture_crc(data_t *data, unsigned int vblank, igt_crc_t *crc)
> >   		      crc->frame, vblank);
> >   }
> >   
> > -static void capture_format_crcs_packed(data_t *data, enum pipe pipe,
> > +static void capture_format_crcs_single(data_t *data, enum pipe pipe,
> >   				       igt_plane_t *plane,
> >   				       uint32_t format, uint64_t modifier,
> >   				       int width, int height,
> > @@ -589,13 +589,13 @@ static void capture_format_crcs_packed(data_t *data, enum pipe pipe,
> >   	igt_pipe_crc_get_current(data->drm_fd, data->pipe_crc, &crc[0]);
> >   }
> >   
> > -static void capture_format_crcs_planar(data_t *data, enum pipe pipe,
> > -				       igt_plane_t *plane,
> > -				       uint32_t format, uint64_t modifier,
> > -				       int width, int height,
> > -				       enum igt_color_encoding encoding,
> > -				       enum igt_color_range range,
> > -				       igt_crc_t crc[], struct igt_fb *fb)
> > +static void capture_format_crcs_multiple(data_t *data, enum pipe pipe,
> > +					 igt_plane_t *plane,
> > +					 uint32_t format, uint64_t modifier,
> > +					 int width, int height,
> > +					 enum igt_color_encoding encoding,
> > +					 enum igt_color_range range,
> > +					 igt_crc_t crc[], struct igt_fb *fb)
> >   {
> >   	unsigned int vblank[ARRAY_SIZE(colors_extended)];
> >   	struct drm_event_vblank ev;
> > @@ -712,6 +712,11 @@ restart_round:
> >   	capture_crc(data, vblank[i - 1], &crc[i - 1]);
> >   }
> >   
> > +static bool use_multiple_colors(data_t *data, uint32_t format)
> > +{
> > +	return data->crop != 0 || igt_format_is_yuv_semiplanar(format);
> > +}
> > +
> >   static bool test_format_plane_colors(data_t *data, enum pipe pipe,
> >   				     igt_plane_t *plane,
> >   				     uint32_t format, uint64_t modifier,
> > @@ -726,17 +731,17 @@ static bool test_format_plane_colors(data_t *data, enum pipe pipe,
> >   	int crc_mismatch_count = 0;
> >   	bool result = true;
> >   	int i, total_crcs = 1;
> > -	bool planar = igt_format_is_yuv_semiplanar(format);
> >   
> > -	if (planar) {
> > -		capture_format_crcs_planar(data, pipe, plane, format, modifier,
> > -					   width, height, encoding, range, crc,
> > -					   fb);
> > +	if (use_multiple_colors(data, format)) {
> > +		capture_format_crcs_multiple(data, pipe, plane, format, modifier,
> > +					     width, height, encoding, range, crc,
> > +					     fb);
> >   		total_crcs = data->num_colors;
> > -	} else
> > -		capture_format_crcs_packed(data, pipe, plane, format, modifier,
> > +	} else {
> > +		capture_format_crcs_single(data, pipe, plane, format, modifier,
> >   					   width, height, encoding, range, crc,
> >   					   fb);
> > +	}
> >   
> >   	for (i = 0; i < total_crcs; i++) {
> >   		if (!igt_check_crc_equal(&crc[i], &ref_crc[i])) {
> > @@ -826,9 +831,11 @@ static bool test_format_plane_yuv(data_t *data, enum pipe pipe,
> >   	return result;
> >   }
> >   
> > -enum crc_set { PACKED_CRC_SET,
> > -	       PLANAR_CRC_SET,
> > -	       MAX_CRC_SET };
> > +enum crc_set {
> > +	SINGLE_CRC_SET,
> > +	MULTIPLE_CRC_SET,
> > +	MAX_CRC_SET,
> > +};
> >   
> >   struct format_mod {
> >   	uint64_t modifier;
> > @@ -906,22 +913,22 @@ static bool test_format_plane(data_t *data, enum pipe pipe,
> >   		igt_remove_fb(data->drm_fd, &test_fb);
> >   	}
> >   
> > -	capture_format_crcs_packed(data, pipe, plane, ref.format, ref.modifier,
> > +	capture_format_crcs_single(data, pipe, plane, ref.format, ref.modifier,
> >   				   width, height, IGT_COLOR_YCBCR_BT709,
> >   				   IGT_COLOR_YCBCR_LIMITED_RANGE,
> > -				   ref_crc[PACKED_CRC_SET], &fb);
> > +				   ref_crc[SINGLE_CRC_SET], &fb);
> >   
> > -	capture_format_crcs_planar(data, pipe, plane, ref.format, ref.modifier,
> > -				   width, height, IGT_COLOR_YCBCR_BT709,
> > -				   IGT_COLOR_YCBCR_LIMITED_RANGE,
> > -				   ref_crc[PLANAR_CRC_SET], &fb);
> > +	capture_format_crcs_multiple(data, pipe, plane, ref.format, ref.modifier,
> > +				     width, height, IGT_COLOR_YCBCR_BT709,
> > +				     IGT_COLOR_YCBCR_LIMITED_RANGE,
> > +				     ref_crc[MULTIPLE_CRC_SET], &fb);
> >   
> >   	/*
> >   	 * Make sure we have some difference between the colors. This
> >   	 * at least avoids claiming success when everything is just
> >   	 * black all the time (eg. if the plane is never even on).
> >   	 */
> > -	igt_require(num_unique_crcs(ref_crc[PLANAR_CRC_SET], data->num_colors) > 1);
> > +	igt_require(num_unique_crcs(ref_crc[MULTIPLE_CRC_SET], data->num_colors) > 1);
> >   
> >   	for (int i = 0; i < plane->format_mod_count; i++) {
> >   		struct format_mod f = {
> > @@ -958,8 +965,8 @@ static bool test_format_plane(data_t *data, enum pipe pipe,
> >   				continue;
> >   		}
> >   
> > -		crcset = ref_crc[(igt_format_is_yuv_semiplanar(f.format)
> > -				 ? PLANAR_CRC_SET : PACKED_CRC_SET)];
> > +		crcset = ref_crc[use_multiple_colors(data, f.format) ?
> > +				 MULTIPLE_CRC_SET : SINGLE_CRC_SET];
> >   
> >   		if (igt_format_is_yuv(f.format))
> >   			result &= test_format_plane_yuv(data, pipe, plane,
> > 

-- 
Ville Syrjälä
Intel
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2021-06-03 17:11 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-01 16:28 [igt-dev] [PATCH i-g-t] tests/kms_plane: Use solid colors for the cropping tests Ville Syrjala
2021-06-01 18:09 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2021-06-02  0:56 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2021-06-02 11:18 ` [igt-dev] [PATCH i-g-t] " Juha-Pekka Heikkila
2021-06-03 17:06   ` Ville Syrjälä [this message]
2021-06-22 17:30     ` Juha-Pekka Heikkila

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YLkMEYkpZl5/HOWq@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=juhapekka.heikkila@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox