diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-09-03 08:57:42 +0200 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-09-03 08:58:20 +0200 |
commit | bd59d60275e8d7cce2ae4370cf8f8304abdc52fc (patch) | |
tree | 88d8fa42fe21bb3782d723ccdef0c483e2d84272 /tests/gem_reloc_vs_gpu.c | |
parent | 472c9dac034479fe5c740a33022fbb19e4dbe381 (diff) |
tests/gem_reloc_vs_gpu: add interruptible version
Exercise a bug where we've failed to propagate the error code
correctly.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'tests/gem_reloc_vs_gpu.c')
-rw-r--r-- | tests/gem_reloc_vs_gpu.c | 59 |
1 files changed, 41 insertions, 18 deletions
diff --git a/tests/gem_reloc_vs_gpu.c b/tests/gem_reloc_vs_gpu.c index 6a7b830cf..7010256cb 100644 --- a/tests/gem_reloc_vs_gpu.c +++ b/tests/gem_reloc_vs_gpu.c @@ -139,25 +139,12 @@ static void emit_dummy_load(int pitch) intel_batchbuffer_flush(batch); } -#define MAX_BLT_SIZE 128 -int main(int argc, char **argv) +static void do_test(int fd) { uint32_t tiling_mode = I915_TILING_X; unsigned long pitch, act_size; - int fd, i, ring; uint32_t test; - - igt_skip_on_simulation(); - - memset(blob, 'A', sizeof(blob)); - - fd = drm_open_any(); - - bufmgr = drm_intel_bufmgr_gem_init(fd, 4096); - /* disable reuse, otherwise the test fails */ - //drm_intel_bufmgr_gem_enable_reuse(bufmgr); - devid = intel_get_drm_devid(fd); - batch = intel_batchbuffer_alloc(bufmgr, devid); + int i, ring; act_size = 2048; dummy_bo = drm_intel_bo_alloc_tiled(bufmgr, "tiled dummy_bo", act_size, act_size, @@ -198,10 +185,46 @@ int main(int argc, char **argv) drm_intel_gem_bo_map_gtt(dummy_bo); drm_intel_gem_bo_unmap_gtt(dummy_bo); - intel_batchbuffer_free(batch); - drm_intel_bufmgr_destroy(bufmgr); + drm_intel_bo_unreference(special_bo); + drm_intel_bo_unreference(dummy_bo); + + +} + +int fd; + +#define MAX_BLT_SIZE 128 +int main(int argc, char **argv) +{ + igt_subtest_init(argc, argv); + igt_skip_on_simulation(); + + memset(blob, 'A', sizeof(blob)); + + igt_fixture { + fd = drm_open_any(); - close(fd); + bufmgr = drm_intel_bufmgr_gem_init(fd, 4096); + /* disable reuse, otherwise the test fails */ + //drm_intel_bufmgr_gem_enable_reuse(bufmgr); + devid = intel_get_drm_devid(fd); + batch = intel_batchbuffer_alloc(bufmgr, devid); + } + + igt_subtest("normal") + do_test(fd); + + igt_fork_signal_helper(); + igt_subtest("interruptible") + do_test(fd); + igt_stop_signal_helper(); + + igt_fixture { + intel_batchbuffer_free(batch); + drm_intel_bufmgr_destroy(bufmgr); + + close(fd); + } return 0; } |