[igt-dev] [PATCH i-g-t v4 11/25] i915/gem_unref_active_buffers.c: Remove libdrm dependency
Dominik Grzegorzek
dominik.grzegorzek at intel.com
Tue Sep 22 11:52:15 UTC 2020
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_unref_active_buffers.c | 56 +++++++++++++--------------
1 file changed, 27 insertions(+), 29 deletions(-)
diff --git a/tests/i915/gem_unref_active_buffers.c b/tests/i915/gem_unref_active_buffers.c
index 75394794..6a8cefd5 100644
--- a/tests/i915/gem_unref_active_buffers.c
+++ b/tests/i915/gem_unref_active_buffers.c
@@ -29,8 +29,7 @@
* Testcase: Unreferencing of active buffers
*
* Execs buffers and immediately unreferences them, hence the kernel active list
- * will be the last one to hold a reference on them. Usually libdrm bo caching
- * prevents that by keeping another reference.
+ * will be the last one to hold a reference on them.
*/
#include <stdlib.h>
#include <stdio.h>
@@ -44,55 +43,54 @@
#include "drm.h"
#include "i915/gem.h"
#include "igt.h"
-#include "intel_bufmgr.h"
IGT_TEST_DESCRIPTION("Test unreferencing of active buffers.");
-static drm_intel_bufmgr *bufmgr;
-struct intel_batchbuffer *batch;
-static drm_intel_bo *load_bo;
-
igt_simple_main
{
+ struct intel_buf *load_bo;
+ struct intel_bb *ibb;
+ struct buf_ops *bops;
int fd, i;
fd = drm_open_driver(DRIVER_INTEL);
igt_require_gem(fd);
gem_require_blitter(fd);
- bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
- igt_assert(bufmgr);
- /* don't enable buffer reuse!! */
- //drm_intel_bufmgr_gem_enable_reuse(bufmgr);
-
- batch = intel_batchbuffer_alloc(bufmgr, intel_get_drm_devid(fd));
- igt_assert(batch);
+ bops = buf_ops_create(fd);
+ ibb = intel_bb_create(fd, 4096);
/* put some load onto the gpu to keep the light buffers active for long
* enough */
for (i = 0; i < 1000; i++) {
- load_bo = drm_intel_bo_alloc(bufmgr, "target bo", 1024*4096, 4096);
- igt_assert(load_bo);
+ load_bo = intel_buf_create(bops, 1024, 1024, 32, 4096,
+ I915_TILING_NONE,
+ I915_COMPRESSION_NONE);
- BLIT_COPY_BATCH_START(0);
- OUT_BATCH((3 << 24) | /* 32 bits */
+ intel_bb_add_intel_buf(ibb, load_bo, true);
+ intel_bb_blit_start(ibb, 0);
+ intel_bb_out(ibb, (3 << 24) | /* 32 bits */
(0xcc << 16) | /* copy ROP */
4096);
- OUT_BATCH(0); /* dst x1,y1 */
- OUT_BATCH((1024 << 16) | 512);
- OUT_RELOC_FENCED(load_bo, I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER, 0);
- OUT_BATCH((0 << 16) | 512); /* src x1, y1 */
- OUT_BATCH(4096);
- OUT_RELOC_FENCED(load_bo, I915_GEM_DOMAIN_RENDER, 0, 0);
- ADVANCE_BATCH();
+ intel_bb_out(ibb, 0); /* dst x1,y1 */
+ intel_bb_out(ibb, (1024 << 16) | 512);
+ intel_bb_emit_reloc_fenced(ibb, load_bo->handle,
+ I915_GEM_DOMAIN_RENDER,
+ I915_GEM_DOMAIN_RENDER, 0, 0x0);
+ intel_bb_out(ibb, (0 << 16) | 512); /* src x1, y1 */
+ intel_bb_out(ibb, 4096);
+ intel_bb_emit_reloc_fenced(ibb, load_bo->handle,
+ I915_GEM_DOMAIN_RENDER,
+ 0, 0, 0x0);
- intel_batchbuffer_flush(batch);
+ intel_bb_flush_blit(ibb);
- drm_intel_bo_disable_reuse(load_bo);
- drm_intel_bo_unreference(load_bo);
+ intel_buf_destroy(load_bo);
+ intel_bb_reset(ibb, true);
}
- drm_intel_bufmgr_destroy(bufmgr);
+ intel_bb_destroy(ibb);
+ buf_ops_destroy(bops);
close(fd);
}
--
2.20.1
More information about the igt-dev
mailing list