diff options
Diffstat (limited to 'tests/gem_unfence_active_buffers.c')
-rw-r--r-- | tests/gem_unfence_active_buffers.c | 41 |
1 files changed, 19 insertions, 22 deletions
diff --git a/tests/gem_unfence_active_buffers.c b/tests/gem_unfence_active_buffers.c index bffc62ea..aa0e01e1 100644 --- a/tests/gem_unfence_active_buffers.c +++ b/tests/gem_unfence_active_buffers.c @@ -41,7 +41,6 @@ #include <stdlib.h> #include <stdio.h> #include <string.h> -#include <assert.h> #include <fcntl.h> #include <inttypes.h> #include <errno.h> @@ -49,11 +48,12 @@ #include <sys/time.h> #include <stdbool.h> #include "drm.h" -#include "i915_drm.h" +#include "ioctl_wrappers.h" #include "drmtest.h" #include "intel_bufmgr.h" #include "intel_batchbuffer.h" -#include "intel_gpu_tools.h" +#include "intel_io.h" +#include "intel_chipset.h" static drm_intel_bufmgr *bufmgr; struct intel_batchbuffer *batch; @@ -64,12 +64,14 @@ uint32_t devid; uint32_t data[TEST_SIZE/4]; -int main(int argc, char **argv) +igt_simple_main { int i, ret, fd, num_fences; drm_intel_bo *busy_bo, *test_bo; uint32_t tiling = I915_TILING_X; + igt_skip_on_simulation(); + for (i = 0; i < 1024*256; i++) data[i] = i; @@ -80,23 +82,22 @@ int main(int argc, char **argv) devid = intel_get_drm_devid(fd); batch = intel_batchbuffer_alloc(bufmgr, devid); - printf("filling ring\n"); + igt_info("filling ring\n"); busy_bo = drm_intel_bo_alloc(bufmgr, "busy bo bo", 16*1024*1024, 4096); for (i = 0; i < 250; i++) { - BEGIN_BATCH(8); - OUT_BATCH(XY_SRC_COPY_BLT_CMD | - XY_SRC_COPY_BLT_WRITE_ALPHA | - XY_SRC_COPY_BLT_WRITE_RGB); + BLIT_COPY_BATCH_START(devid, 0); OUT_BATCH((3 << 24) | /* 32 bits */ (0xcc << 16) | /* copy ROP */ 2*1024*4); OUT_BATCH(0 << 16 | 1024); OUT_BATCH((2048) << 16 | (2048)); OUT_RELOC_FENCED(busy_bo, I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER, 0); + BLIT_RELOC_UDW(devid); OUT_BATCH(0 << 16 | 0); OUT_BATCH(2*1024*4); OUT_RELOC_FENCED(busy_bo, I915_GEM_DOMAIN_RENDER, 0, 0); + BLIT_RELOC_UDW(devid); ADVANCE_BATCH(); if (IS_GEN6(devid) || IS_GEN7(devid)) { @@ -110,51 +111,49 @@ int main(int argc, char **argv) intel_batchbuffer_flush(batch); num_fences = gem_available_fences(fd); - printf("creating havoc on %i fences\n", num_fences); + igt_info("creating havoc on %i fences\n", num_fences); for (i = 0; i < num_fences*2; i++) { test_bo = drm_intel_bo_alloc(bufmgr, "test_bo", TEST_SIZE, 4096); ret = drm_intel_bo_set_tiling(test_bo, &tiling, TEST_STRIDE); - assert(ret == 0); + igt_assert(ret == 0); drm_intel_bo_disable_reuse(test_bo); - BEGIN_BATCH(8); - OUT_BATCH(XY_SRC_COPY_BLT_CMD | - XY_SRC_COPY_BLT_WRITE_ALPHA | - XY_SRC_COPY_BLT_WRITE_RGB); + BLIT_COPY_BATCH_START(devid, 0); OUT_BATCH((3 << 24) | /* 32 bits */ (0xcc << 16) | /* copy ROP */ TEST_STRIDE); OUT_BATCH(0 << 16 | 0); OUT_BATCH((1) << 16 | (1)); OUT_RELOC_FENCED(test_bo, I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER, 0); + BLIT_RELOC_UDW(devid); OUT_BATCH(0 << 16 | 0); OUT_BATCH(TEST_STRIDE); OUT_RELOC_FENCED(test_bo, I915_GEM_DOMAIN_RENDER, 0, 0); + BLIT_RELOC_UDW(devid); ADVANCE_BATCH(); intel_batchbuffer_flush(batch); - printf("test bo offset: %#lx\n", test_bo->offset); + igt_info("test bo offset: %#lx\n", test_bo->offset); drm_intel_bo_unreference(test_bo); } /* launch a few batchs to ensure the damaged slab objects get reused. */ for (i = 0; i < 10; i++) { - BEGIN_BATCH(8); - OUT_BATCH(XY_SRC_COPY_BLT_CMD | - XY_SRC_COPY_BLT_WRITE_ALPHA | - XY_SRC_COPY_BLT_WRITE_RGB); + BLIT_COPY_BATCH_START(devid, 0); OUT_BATCH((3 << 24) | /* 32 bits */ (0xcc << 16) | /* copy ROP */ 2*1024*4); OUT_BATCH(0 << 16 | 1024); OUT_BATCH((1) << 16 | (1)); OUT_RELOC_FENCED(busy_bo, I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER, 0); + BLIT_RELOC_UDW(devid); OUT_BATCH(0 << 16 | 0); OUT_BATCH(2*1024*4); OUT_RELOC_FENCED(busy_bo, I915_GEM_DOMAIN_RENDER, 0, 0); + BLIT_RELOC_UDW(devid); ADVANCE_BATCH(); if (IS_GEN6(devid) || IS_GEN7(devid)) { @@ -166,6 +165,4 @@ int main(int argc, char **argv) } } intel_batchbuffer_flush(batch); - - return 0; } |