public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
From: "Zbigniew Kempczyński" <zbigniew.kempczynski@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Subject: [igt-dev] [PATCH i-g-t v27 20/30] tests/kms_cursor_crc: remove libdrm dependency
Date: Mon, 10 Aug 2020 11:47:00 +0200	[thread overview]
Message-ID: <20200810094710.28930-21-zbigniew.kempczynski@intel.com> (raw)
In-Reply-To: <20200810094710.28930-1-zbigniew.kempczynski@intel.com>

Use intel_bb / intel_buf to remove libdrm dependency.

Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Dominik Grzegorzek <dominik.grzegorzek@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
 tests/kms_cursor_crc.c | 63 +++++++++++++++++++++---------------------
 1 file changed, 32 insertions(+), 31 deletions(-)

diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
index e9491847..be37a75d 100644
--- a/tests/kms_cursor_crc.c
+++ b/tests/kms_cursor_crc.c
@@ -64,11 +64,11 @@ typedef struct {
 	igt_plane_t *cursor;
 	cairo_surface_t *surface;
 	uint32_t devid;
-	drm_intel_bufmgr *bufmgr;
+	struct buf_ops *bops;
 	igt_render_copyfunc_t rendercopy;
-	drm_intel_bo * drmibo[2];
-	struct intel_batchbuffer *batch;
-	struct igt_buf igtbo[2];
+	uint32_t drm_handle[2];
+	struct intel_bb *ibb;
+	struct intel_buf igtbo[2];
 
 } data_t;
 
@@ -155,7 +155,7 @@ static void restore_image(data_t *data)
 
 	if (data->rendercopy != NULL) {
 		/* use rendercopy if available */
-		data->rendercopy(data->batch, NULL,
+		data->rendercopy(data->ibb, 0,
 				 &data->igtbo[RESTOREBUFFER], 0, 0,
 				 data->primary_fb[RESTOREBUFFER].width,
 				 data->primary_fb[RESTOREBUFFER].height,
@@ -381,16 +381,25 @@ static void cleanup_crtc(data_t *data)
 	igt_remove_fb(data->drm_fd, &data->primary_fb[FRONTBUFFER]);
 	igt_remove_fb(data->drm_fd, &data->primary_fb[RESTOREBUFFER]);
 
+	intel_bb_destroy(data->ibb);
+
 	igt_display_reset(display);
 }
 
 static void scratch_buf_init(data_t *data, int buffer)
 {
-	data->igtbo[buffer].bo = data->drmibo[buffer];
-	data->igtbo[buffer].surface[0].stride = data->primary_fb[buffer].strides[0];
-	data->igtbo[buffer].tiling = data->primary_fb[buffer].modifier;
-	data->igtbo[buffer].surface[0].size = data->primary_fb[buffer].size;
-	data->igtbo[buffer].bpp = data->primary_fb[buffer].plane_bpp[0];
+	uint32_t handle, tiling, stride, width, height, bpp, size;
+
+	handle = data->drm_handle[buffer];
+	size = data->primary_fb[buffer].size;
+	tiling = data->primary_fb[buffer].modifier;
+	stride = data->primary_fb[buffer].strides[0];
+	bpp = data->primary_fb[buffer].plane_bpp[0];
+	width = stride / (bpp / 8);
+	height = size / stride;
+
+	intel_buf_init_using_handle(data->bops, handle, &data->igtbo[buffer],
+				    width, height, bpp, 0, tiling, 0);
 }
 
 static void prepare_crtc(data_t *data, igt_output_t *output,
@@ -450,6 +459,8 @@ static void prepare_crtc(data_t *data, igt_output_t *output,
 		igt_paint_test_pattern(cr, data->screenw, data->screenh);
 		cairo_destroy(cr);
 	} else {
+		uint32_t name;
+
 		/* store test image as fb if rendercopy is available */
 		cr = igt_get_cairo_ctx(data->drm_fd,
 		                       &data->primary_fb[RESTOREBUFFER]);
@@ -457,22 +468,20 @@ static void prepare_crtc(data_t *data, igt_output_t *output,
 		igt_paint_test_pattern(cr, data->screenw, data->screenh);
 		igt_put_cairo_ctx(cr);
 
-		data->drmibo[FRONTBUFFER] = gem_handle_to_libdrm_bo(data->bufmgr,
-								    data->drm_fd,
-								    "", data->primary_fb[FRONTBUFFER].gem_handle);
-		igt_assert(data->drmibo[FRONTBUFFER]);
+		name = gem_flink(data->drm_fd,
+				 data->primary_fb[FRONTBUFFER].gem_handle);
+		data->drm_handle[FRONTBUFFER] = gem_open(data->drm_fd, name);
+		igt_assert(data->drm_handle[FRONTBUFFER]);
 
-		data->drmibo[RESTOREBUFFER] = gem_handle_to_libdrm_bo(data->bufmgr,
-								      data->drm_fd,
-								      "", data->primary_fb[RESTOREBUFFER].gem_handle);
-		igt_assert(data->drmibo[RESTOREBUFFER]);
+		name = gem_flink(data->drm_fd,
+				 data->primary_fb[RESTOREBUFFER].gem_handle);
+		data->drm_handle[RESTOREBUFFER] = gem_open(data->drm_fd, name);
+		igt_assert(data->drm_handle[RESTOREBUFFER]);
 
 		scratch_buf_init(data, RESTOREBUFFER);
 		scratch_buf_init(data, FRONTBUFFER);
 
-		data->batch = intel_batchbuffer_alloc(data->bufmgr,
-						      data->devid);
-		igt_assert(data->batch);
+		data->ibb = intel_bb_create(data->drm_fd, 4096);
 	}
 
 	igt_pipe_crc_start(data->pipe_crc);
@@ -832,10 +841,7 @@ igt_main
 		igt_display_require(&data.display, data.drm_fd);
 
 		if (is_i915_device(data.drm_fd)) {
-			data.bufmgr = drm_intel_bufmgr_gem_init(data.drm_fd, 4096);
-			igt_assert(data.bufmgr);
-			drm_intel_bufmgr_gem_enable_reuse(data.bufmgr);
-
+			data.bops = buf_ops_create(data.drm_fd);
 			data.devid = intel_get_drm_devid(data.drm_fd);
 			data.rendercopy = igt_get_render_copyfunc(data.devid);
 		}
@@ -854,12 +860,7 @@ igt_main
 			igt_pipe_crc_stop(data.pipe_crc);
 			igt_pipe_crc_free(data.pipe_crc);
 		}
-
-		if (data.bufmgr != NULL) {
-			intel_batchbuffer_free(data.batch);
-			drm_intel_bufmgr_destroy(data.bufmgr);
-		}
-
+		buf_ops_destroy(data.bops);
 		igt_display_fini(&data.display);
 	}
 }
-- 
2.26.0

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  parent reply	other threads:[~2020-08-10  9:48 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-10  9:46 [igt-dev] [PATCH i-g-t v27 00/30] Remove libdrm in rendercopy Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 01/30] lib/intel_bufops: add mapping on cpu / device Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 02/30] lib/intel_bufops: change in hw/sw tiling detection Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 03/30] lib/intel_bufops: change stride requirements for Grantsdale Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 04/30] lib/intel_bufops: add support for 64bit bpp Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 05/30] lib/intel_bufops: extract getting the stride Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 06/30] lib/intel_batchbuffer: add new functions to support rendercopy Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 07/30] lib/intel_batchbuffer: dump bb to base64 Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 08/30] lib/intel_batchbuffer: use canonical addresses for 48bit ppgtt Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 09/30] tests/api_intel_bb: test flags are cleared on bb reset Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 10/30] tests/gem_caching|partial: adopt to batch flush function cleanup Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 11/30] lib/rendercopy: remove libdrm dependency Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 12/30] tests/api_intel_bb: add render tests Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 13/30] lib/igt_draw: remove libdrm dependency Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 14/30] lib/igt_fb: Removal of " Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 15/30] tests/kms_psr: remove " Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 16/30] tests/kms_fronbuffer_tracking: " Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 17/30] tests/kms_draw_crc: " Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 18/30] tests/gem_ppgtt: " Zbigniew Kempczyński
2020-08-10  9:46 ` [igt-dev] [PATCH i-g-t v27 19/30] tests/gem_concurrent_all: " Zbigniew Kempczyński
2020-08-10  9:47 ` Zbigniew Kempczyński [this message]
2020-08-10  9:47 ` [igt-dev] [PATCH i-g-t v27 21/30] tests/kms_big_fb: " Zbigniew Kempczyński
2020-08-10  9:47 ` [igt-dev] [PATCH i-g-t v27 22/30] tests/gem_stress: " Zbigniew Kempczyński
2020-08-10  9:47 ` [igt-dev] [PATCH i-g-t v27 23/30] tests/gem_render_copy: " Zbigniew Kempczyński
2020-08-10  9:47 ` [igt-dev] [PATCH i-g-t v27 24/30] tests/gem_render_copy_redux: " Zbigniew Kempczyński
2020-08-10  9:47 ` [igt-dev] [PATCH i-g-t v27 25/30] tests/gem_render_linear_blits: " Zbigniew Kempczyński
2020-08-10  9:47 ` [igt-dev] [PATCH i-g-t v27 26/30] tests/gem_render_tiled_blits: " Zbigniew Kempczyński
2020-08-10  9:47 ` [igt-dev] [PATCH i-g-t v27 27/30] tests/gem_read_read_speed: " Zbigniew Kempczyński
2020-08-10  9:47 ` [igt-dev] [PATCH i-g-t v27 28/30] lib/rendercopy_bufmgr: remove rendercopy_bufmgr Zbigniew Kempczyński
2020-08-10  9:47 ` [igt-dev] [PATCH i-g-t v27 29/30] tools/intel_residency: adopt intel_residency to use bufops Zbigniew Kempczyński
2020-08-10  9:47 ` [igt-dev] [PATCH i-g-t v27 30/30] tests/perf: remove libdrm dependency for rendercopy Zbigniew Kempczyński
2020-08-10 10:17 ` [igt-dev] ✓ Fi.CI.BAT: success for Remove libdrm in rendercopy (rev26) Patchwork
2020-08-10 13:14 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200810094710.28930-21-zbigniew.kempczynski@intel.com \
    --to=zbigniew.kempczynski@intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=igt-dev@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox