All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.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: Tue, 22 Jun 2021 20:30:45 +0300	[thread overview]
Message-ID: <a5232571-6106-dcf9-1b9c-e73e71c6313d@gmail.com> (raw)
In-Reply-To: <YLkMEYkpZl5/HOWq@intel.com>

Does this fix that failure you saw on crop tests?

https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/8598cf551574ceed8d9f032d494c8cefe3f9fda4

I tested increasing height of the fb and saw failure and then saw this 
fixed it. It's not pretty fix but I hope it will do the trick all around.

/Juha-Pekka


On 3.6.2021 20.06, Ville Syrjälä wrote:
> 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,
>>>
> 

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

      reply	other threads:[~2021-06-22 17:30 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ä
2021-06-22 17:30     ` Juha-Pekka Heikkila [this message]

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=a5232571-6106-dcf9-1b9c-e73e71c6313d@gmail.com \
    --to=juhapekka.heikkila@gmail.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=ville.syrjala@linux.intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.