[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