[igt-dev] [PATCH i-g-t 2/9] chamelium: Pass the pattern block size as argument to helpers

Lyude Paul lyude at redhat.com
Thu Dec 6 22:54:21 UTC 2018


With the missing patch issues I mentioned on the first patch in this series
fixed

Reviewed-by: Lyude Paul <lyude at redhat.com>

On Thu, 2018-12-06 at 15:11 +0100, Paul Kocialkowski wrote:
> This adds a new block size argument to the pattern generation helpers so
> that different sizes of blocks can be used.
> 
> In the future, this allows us to use different block sizes when testing
> overlay planes, making it visually explicit what is part of the main
> plane and what is part of the overlay plane.
> 
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski at bootlin.com>
> ---
>  tests/kms_chamelium.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
> index b8cab927..7d95a8bc 100644
> --- a/tests/kms_chamelium.c
> +++ b/tests/kms_chamelium.c
> @@ -490,7 +490,7 @@ enable_output(data_t *data,
>  
>  static void chamelium_paint_xr24_pattern(uint32_t *data,
>  					 size_t width, size_t height,
> -					 size_t stride)
> +					 size_t stride, size_t block_size)
>  {
>  	uint32_t colors[] = { 0xff000000,
>  			      0xffff0000,
> @@ -501,11 +501,12 @@ static void chamelium_paint_xr24_pattern(uint32_t
> *data,
>  
>  	for (i = 0; i < height; i++)
>  		for (j = 0; j < width; j++)
> -			*(data + i * stride / 4 + j) = colors[((j / 64) + (i /
> 64)) % 5];
> +			*(data + i * stride / 4 + j) = colors[((j /
> block_size) + (i / block_size)) % 5];
>  }
>  
>  static int chamelium_get_pattern_fb(data_t *data, size_t width, size_t
> height,
> -				    uint32_t fourcc, struct igt_fb *fb)
> +				    uint32_t fourcc, size_t block_size,
> +				    struct igt_fb *fb)
>  {
>  	int fb_id;
>  	void *ptr;
> @@ -519,7 +520,8 @@ static int chamelium_get_pattern_fb(data_t *data, size_t
> width, size_t height,
>  	ptr = igt_fb_map_buffer(fb->fd, fb);
>  	igt_assert(ptr);
>  
> -	chamelium_paint_xr24_pattern(ptr, width, height, fb->strides[0]);
> +	chamelium_paint_xr24_pattern(ptr, width, height, fb->strides[0],
> +				     block_size);
>  	igt_fb_unmap_buffer(fb, ptr);
>  
>  	return fb_id;
> @@ -541,7 +543,7 @@ static void do_test_display(data_t *data, struct
> chamelium_port *port,
>  	int frame_id;
>  
>  	fb_id = chamelium_get_pattern_fb(data, mode->hdisplay, mode->vdisplay,
> -					 DRM_FORMAT_XRGB8888, &fb);
> +					 DRM_FORMAT_XRGB8888, 64, &fb);
>  	igt_assert(fb_id > 0);
>  
>  	frame_id = igt_fb_convert(&frame_fb, &fb, fourcc);
-- 
Cheers,
	Lyude Paul



More information about the igt-dev mailing list