[igt-dev] [PATCH i-g-t] tests/kms_big_fb: Add over 32k HW stride tests

Ville Syrjälä ville.syrjala at linux.intel.com
Fri Sep 27 13:50:53 UTC 2019


On Fri, Sep 27, 2019 at 04:43:43PM +0300, Juha-Pekka Heikkila wrote:
> On 23.9.2019 15.43, Ville Syrjälä wrote:
> > On Mon, Sep 23, 2019 at 01:40:33PM +0300, Juha-Pekka Heikkila wrote:
> >> On ICL when using 64bpp formats strides can reach up to
> >> 64k. These test try exact maximum HW strides so gtt
> >> remapping will not come in play.
> >>
> >> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
> >> ---
> >>   tests/kms_big_fb.c | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++
> >>   1 file changed, 103 insertions(+)
> > 
> > I believe all you should need is something like:
> > 
> > --- a/tests/kms_big_fb.c
> > +++ b/tests/kms_big_fb.c
> > @@ -161,9 +161,6 @@ static void max_fb_size(data_t *data, int *width, int *height,
> >   	uint64_t size;
> >   	int i = 0;
> >   
> > -	*width = data->max_fb_width;
> > -	*height = data->max_fb_height;
> > -
> >   	/* max fence stride is only 8k bytes on gen3 */
> >   	if (intel_gen(data->devid) < 4 &&
> >   	    format == DRM_FORMAT_XRGB8888)
> > @@ -415,8 +412,16 @@ static bool test_pipe(data_t *data)
> >   	return ret;
> >   }
> >   
> > -static void test_scanout(data_t *data)
> > +static void test_scanout(data_t *data, bool test_max_hw_stride)
> >   {
> > +	if (test_max_hw_stride) {
> > +		data->big_fb_width = BIG;
> > +		data->big_fb_height = BIG;
> > +	} else {
> > +		data->big_fb_width = data->max_fb_width;
> > +		data->big_fb_height = data->max_fb_height;
> > +	}
> > +
> >   	max_fb_size(data, &data->big_fb_width, &data->big_fb_height,
> >   		    data->format, data->modifier);
> >   
> > 
> 
> Doing test this way will try 'bunch of coordinates pulled out of thin 
> air' (as stated in the code :) ) but my version tries the explicit 
> maximum limits with idea if that works then any other coordinate would 
> work as well.

The last element in the "thin air" coordinates array tests the maximum
values already.

Not that I think it matters much for this test. If the max stride value
is broken then it probably doesn't even matter what panning coordinates
we use.

-- 
Ville Syrjälä
Intel


More information about the igt-dev mailing list