[PATCH i-g-t 2/6] tests/kms_big_fb: Use igt_fb_create_intel_buf()

Zbigniew Kempczyński zbigniew.kempczynski at intel.com
Tue Jul 2 05:57:13 UTC 2024


On Tue, Jun 25, 2024 at 08:40:28PM +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> Use igt_fb_create_intel_buf() instead of hand rolling something
> similar but less capable (igt_fb_create_intel_buf() handles
> planar and compressed formats, the hand rolled version does not).
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  tests/intel/kms_big_fb.c | 27 +--------------------------
>  1 file changed, 1 insertion(+), 26 deletions(-)
> 
> diff --git a/tests/intel/kms_big_fb.c b/tests/intel/kms_big_fb.c
> index 605813f7fd2e..1838ee6261ae 100644
> --- a/tests/intel/kms_big_fb.c
> +++ b/tests/intel/kms_big_fb.c
> @@ -188,32 +188,7 @@ static struct intel_buf *init_buf(data_t *data,
>  				  const struct igt_fb *fb,
>  				  const char *buf_name)
>  {
> -	struct intel_buf *buf;
> -	enum intel_driver driver = buf_ops_get_driver(data->bops);
> -	uint32_t name, handle, tiling, width, height, bpp, size;
> -	uint64_t region = driver == INTEL_DRIVER_XE ?
> -				vram_if_possible(data->drm_fd, 0) : -1;
> -
> -	igt_assert_eq(fb->offsets[0], 0);
> -
> -	tiling = igt_fb_mod_to_tiling(fb->modifier);
> -	bpp = fb->plane_bpp[0];
> -	size = fb->size;
> -	width = fb->strides[0] / (bpp / 8);
> -	height = fb->height;
> -
> -	name = gem_flink(data->drm_fd, fb->gem_handle);
> -	handle = gem_open(data->drm_fd, name);
> -	buf = intel_buf_create_full(data->bops, handle, width, height,
> -				    bpp, 0, tiling, 0, size, 0,
> -				    region,
> -				    intel_get_pat_idx_uc(data->drm_fd),
> -				    DEFAULT_MOCS_INDEX);
> -
> -	intel_buf_set_name(buf, buf_name);
> -	intel_buf_set_ownership(buf, true);
> -
> -	return buf;
> +	return igt_fb_create_intel_buf(data->drm_fd, data->bops, fb, buf_name);

IMO this patch looks ok. Only doubt I've found is inside
igt_fb_create_intel_buf() function, which uses intel_get_pat_idx_uc()
what's incorrect for compressed buffers on Xe2+. I need to take a look
to kms_ccs where this function is used.

For this change:

Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>

--
Zbigniew

>  }
>  
>  static void fini_buf(struct intel_buf *buf)
> -- 
> 2.44.2
> 


More information about the igt-dev mailing list