[igt-dev] [PATCH i-g-t 1/2] tests/kms_rotation: align rendered image correctly for rotation

Ville Syrjälä ville.syrjala at linux.intel.com
Fri Jan 11 14:31:08 UTC 2019


On Fri, Dec 28, 2018 at 11:29:50AM +0200, Juha-Pekka Heikkila wrote:
> rendered test image had off-by-one error in size calculation
> which was failing some tests on certain resolutions and plane
> sizes.
> 
> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>

Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

> ---
>  tests/kms_rotation_crc.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
> index c67f608..796115a 100644
> --- a/tests/kms_rotation_crc.c
> +++ b/tests/kms_rotation_crc.c
> @@ -126,6 +126,9 @@ paint_squares(data_t *data, igt_rotation_t rotation,
>  	unsigned int h = fb->height;
>  	rgb_color_t tl, tr, bl, br;
>  
> +	igt_assert_f(!(w&1), "rotation image must be even width, now attempted %d\n", w);
> +	igt_assert_f(!(h&1), "rotation image must be even height, now attempted %d\n", h);
> +
>  	cr = igt_get_cairo_ctx(data->gfx_fd, fb);
>  
>  	set_color(&tl, o, 0.0f, 0.0f);
> @@ -439,8 +442,12 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
>  		planes[c].plane = igt_output_get_plane_type(output,
>  							    planeinfo[c].planetype);
>  
> -		w = planeinfo[c].width;
> -		h = planeinfo[c].height;
> +		/*
> +		 * make plane and fb width and height always even due to
> +		 * test image rendering
> +		 */
> +		w = planeinfo[c].width & ~1;
> +		h = planeinfo[c].height & ~1;
>  
>  		if (planeinfo[c].rotation_sw & (IGT_ROTATION_90 | IGT_ROTATION_270))
>  			igt_swap(w, h);
> -- 
> 2.7.4
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Ville Syrjälä
Intel


More information about the igt-dev mailing list