[igt-dev] [PATCH i-g-t 2/3] tests/kms_available_modes_crc: Initialize fb struct

Souza, Jose jose.souza at intel.com
Fri Jan 18 22:24:38 UTC 2019


On Fri, 2019-01-18 at 00:58 -0800, Dhinakaran Pandiyan wrote:
> The test does not initialize data->fb, initializing stride and offset
> is
> necessary to fill NV12 planes correctly. We should ideally be using
> library functions in place handrolled code in this test, but let's
> start
> with fixing the failures.

It is the right thing to fill igt_fb stride and offset but I did not
found any call to a function that would use that information in this
test.

> 
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
> ---
>  tests/kms_available_modes_crc.c | 15 +++++++--------
>  1 file changed, 7 insertions(+), 8 deletions(-)
> 
> diff --git a/tests/kms_available_modes_crc.c
> b/tests/kms_available_modes_crc.c
> index 0c0282f8..fbc40297 100644
> --- a/tests/kms_available_modes_crc.c
> +++ b/tests/kms_available_modes_crc.c
> @@ -254,8 +254,6 @@ static bool setup_fb(data_t *data, igt_output_t
> *output, igt_plane_t *plane,
>  	uint64_t w, h;
>  	signed ret, gemsize = 0;
>  	unsigned tile_width, tile_height;
> -	uint32_t strides[4] = {};
> -	uint32_t offsets[4] = {};
>  	int num_planes = 1;
>  	uint64_t tiling;
>  	int bpp = 0;
> @@ -296,24 +294,25 @@ static bool setup_fb(data_t *data, igt_output_t
> *output, igt_plane_t *plane,
>  
>  	igt_get_fb_tile_size(data->gfx_fd, tiling, bpp,
>  			     &tile_width, &tile_height);
> -	strides[0] = ALIGN(w * bpp / 8, tile_width);
> -	gemsize = data->size = strides[0] * ALIGN(h, tile_height);
> +	data->fb.offsets[0] = 0;
> +	data->fb.strides[0] = ALIGN(w * bpp / 8, tile_width);
> +	gemsize = data->size = data->fb.strides[0] * ALIGN(h,
> tile_height);
>  
>  	if (fillers[i].bpp == P010 || fillers[i].bpp == NV12) {
> -		offsets[1] = data->size;
> -		strides[1] = strides[0];
> +		data->fb.offsets[1] = data->size;
> +		data->fb.strides[1] = data->fb.strides[0];
>  		gemsize = data->size * 2;
>  		num_planes = 2;
>  	}
>  
>  	data->gem_handle = gem_create(data->gfx_fd, gemsize);
>  	ret = __gem_set_tiling(data->gfx_fd, data->gem_handle,
> -			       igt_fb_mod_to_tiling(tiling),
> strides[0]);
> +			       igt_fb_mod_to_tiling(tiling), data-
> >fb.strides[0]);
>  
>  	igt_assert_eq(ret, 0);
>  
>  	ret = __kms_addfb(data->gfx_fd, data->gem_handle, w, h,
> -			  format, tiling, strides, offsets,
> +			  format, tiling, data->fb.strides, data-
> >fb.offsets,
>  			  num_planes, LOCAL_DRM_MODE_FB_MODIFIERS,
>  			  &data->fb.fb_id);
>  
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/igt-dev/attachments/20190118/046cfe3f/attachment.sig>


More information about the igt-dev mailing list