[igt-dev] [PATCH i-g-t v3 03/22] i915/gem_pwrite_snooped: Remove libdrm dependency
Zbigniew Kempczyński
zbigniew.kempczynski at intel.com
Tue Sep 22 04:23:56 UTC 2020
On Fri, Sep 18, 2020 at 12:58:37PM +0200, Dominik Grzegorzek wrote:
> Use intel_bb / intel_buf to remove libdrm dependency.
>
> Signed-off-by: Dominik Grzegorzek <dominik.grzegorzek at intel.com>
> Cc: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> ---
> tests/i915/gem_pwrite_snooped.c | 66 ++++++++++++++++-----------------
> 1 file changed, 33 insertions(+), 33 deletions(-)
Looks ok.
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
>
> diff --git a/tests/i915/gem_pwrite_snooped.c b/tests/i915/gem_pwrite_snooped.c
> index 4a339524..52ebaec2 100644
> --- a/tests/i915/gem_pwrite_snooped.c
> +++ b/tests/i915/gem_pwrite_snooped.c
> @@ -42,40 +42,38 @@ IGT_TEST_DESCRIPTION(
> "pwrite to a snooped bo then make it uncached and check that the GPU sees the data.");
>
> static int fd;
> -static uint32_t devid;
> -static drm_intel_bufmgr *bufmgr;
> +static struct buf_ops *bops;
>
> -static void blit(drm_intel_bo *dst, drm_intel_bo *src,
> +static void blit(struct intel_buf *dst, struct intel_buf *src,
> unsigned int width, unsigned int height,
> unsigned int dst_pitch, unsigned int src_pitch)
> {
> - struct intel_batchbuffer *batch;
> + struct intel_bb *ibb;
>
> - batch = intel_batchbuffer_alloc(bufmgr, devid);
> - igt_assert(batch);
> -
> - BLIT_COPY_BATCH_START(0);
> - OUT_BATCH((3 << 24) | /* 32 bits */
> + ibb = intel_bb_create(fd, 4096);
> + intel_bb_add_intel_buf(ibb, dst, true);
> + intel_bb_add_intel_buf(ibb, src, false);
> + intel_bb_blit_start(ibb, 0);
> + intel_bb_out(ibb, (3 << 24) | /* 32 bits */
> (0xcc << 16) | /* copy ROP */
> dst_pitch);
> - OUT_BATCH(0 << 16 | 0);
> - OUT_BATCH(height << 16 | width);
> - OUT_RELOC_FENCED(dst, I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER, 0);
> - OUT_BATCH(0 << 16 | 0);
> - OUT_BATCH(src_pitch);
> - OUT_RELOC_FENCED(src, I915_GEM_DOMAIN_RENDER, 0, 0);
> - ADVANCE_BATCH();
> -
> - if (batch->gen >= 6) {
> - BEGIN_BATCH(3, 0);
> - OUT_BATCH(XY_SETUP_CLIP_BLT_CMD);
> - OUT_BATCH(0);
> - OUT_BATCH(0);
> - ADVANCE_BATCH();
> + intel_bb_out(ibb, 0 << 16 | 0);
> + intel_bb_out(ibb, height << 16 | width);
> + intel_bb_emit_reloc_fenced(ibb, dst->handle, I915_GEM_DOMAIN_RENDER,
> + I915_GEM_DOMAIN_RENDER, 0, dst->addr.offset);
> + intel_bb_out(ibb, 0 << 16 | 0);
> + intel_bb_out(ibb, src_pitch);
> + intel_bb_emit_reloc_fenced(ibb, src->handle, I915_GEM_DOMAIN_RENDER,
> + 0, 0, src->addr.offset);
> +
> + if (ibb->gen >= 6) {
> + intel_bb_out(ibb, XY_SETUP_CLIP_BLT_CMD);
> + intel_bb_out(ibb, 0);
> + intel_bb_out(ibb, 0);
> }
>
> - intel_batchbuffer_flush(batch);
> - intel_batchbuffer_free(batch);
> + intel_bb_flush_blit(ibb);
> + intel_bb_destroy(ibb);
> }
>
> static void *memchr_inv(const void *s, int c, size_t n)
> @@ -98,13 +96,13 @@ static void *memchr_inv(const void *s, int c, size_t n)
> static void test(int w, int h)
> {
> int object_size = w * h * 4;
> - drm_intel_bo *src, *dst;
> + struct intel_buf *src, *dst;
> void *buf;
>
> - src = drm_intel_bo_alloc(bufmgr, "src", object_size, 4096);
> - igt_assert(src);
> - dst = drm_intel_bo_alloc(bufmgr, "dst", object_size, 4096);
> - igt_assert(dst);
> + src = intel_buf_create(bops, w, h, 32, 0, I915_TILING_NONE,
> + I915_COMPRESSION_NONE);
> + dst = intel_buf_create(bops, w, h, 32, 0, I915_TILING_NONE,
> + I915_COMPRESSION_NONE);
>
> buf = malloc(object_size);
> igt_assert(buf);
> @@ -125,6 +123,9 @@ static void test(int w, int h)
> gem_read(fd, dst->handle, 0, buf, object_size);
>
> igt_assert(memchr_inv(buf, 0xff, object_size) == NULL);
> +
> + intel_buf_destroy(src);
> + intel_buf_destroy(dst);
> }
>
> igt_simple_main
> @@ -133,11 +134,10 @@ igt_simple_main
> igt_require_gem(fd);
> gem_require_blitter(fd);
>
> - devid = intel_get_drm_devid(fd);
> - bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
> + bops = buf_ops_create(fd);
>
> test(256, 256);
>
> - drm_intel_bufmgr_destroy(bufmgr);
> + buf_ops_destroy(bops);
> close(fd);
> }
> --
> 2.20.1
>
More information about the igt-dev
mailing list