diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-08-14 18:02:46 +0200 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-08-14 18:02:46 +0200 |
commit | b3880d3a969656b78fe246e5ca4dd5a4a2c70ef5 (patch) | |
tree | 471f1d9f81ec5299615cf59cb1787afac09a5367 /tests/gem_pread_after_blit.c | |
parent | c3dd8a8c85b3e1a4329282cbe82fd7f387cd2643 (diff) |
tests: roll out igt_fixture
Also sprinkle igt_assert and igt_require over the setup code to clean
up code while at it. To avoid gcc getting upset about unitialized
variables just move them out of main as global data (where they always
get initialized to 0) - gcc can't see through our igt_fixture and
igt_subtest maze properly.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'tests/gem_pread_after_blit.c')
-rw-r--r-- | tests/gem_pread_after_blit.c | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/tests/gem_pread_after_blit.c b/tests/gem_pread_after_blit.c index 8a1c205f..d0f85fe6 100644 --- a/tests/gem_pread_after_blit.c +++ b/tests/gem_pread_after_blit.c @@ -168,27 +168,30 @@ static void do_test(int fd, int cache_level, } while (--loop); } +drm_intel_bo *src[2], *dst[2]; +int fd; + int main(int argc, char **argv) { const uint32_t start[2] = {0, 1024 * 1024 / 4}; - drm_intel_bo *src[2], *dst[2]; - int fd; igt_subtest_init(argc, argv); igt_skip_on_simulation(); - fd = drm_open_any(); + igt_fixture { + fd = drm_open_any(); - bufmgr = drm_intel_bufmgr_gem_init(fd, 4096); - drm_intel_bufmgr_gem_enable_reuse(bufmgr); - batch = intel_batchbuffer_alloc(bufmgr, intel_get_drm_devid(fd)); + bufmgr = drm_intel_bufmgr_gem_init(fd, 4096); + drm_intel_bufmgr_gem_enable_reuse(bufmgr); + batch = intel_batchbuffer_alloc(bufmgr, intel_get_drm_devid(fd)); - src[0] = create_bo(start[0]); - src[1] = create_bo(start[1]); + src[0] = create_bo(start[0]); + src[1] = create_bo(start[1]); - dst[0] = drm_intel_bo_alloc(bufmgr, "dst bo", size, 4096); - dst[1] = drm_intel_bo_alloc(bufmgr, "dst bo", size, 4096); + dst[0] = drm_intel_bo_alloc(bufmgr, "dst bo", size, 4096); + dst[1] = drm_intel_bo_alloc(bufmgr, "dst bo", size, 4096); + } igt_subtest("normal") do_test(fd, -1, src, start, dst, 1); @@ -225,13 +228,16 @@ main(int argc, char **argv) do_test(fd, 2, src, start, dst, 100); igt_stop_signal_helper(); } - drm_intel_bo_unreference(src[0]); - drm_intel_bo_unreference(src[1]); - drm_intel_bo_unreference(dst[0]); - drm_intel_bo_unreference(dst[1]); - intel_batchbuffer_free(batch); - drm_intel_bufmgr_destroy(bufmgr); + igt_fixture { + drm_intel_bo_unreference(src[0]); + drm_intel_bo_unreference(src[1]); + drm_intel_bo_unreference(dst[0]); + drm_intel_bo_unreference(dst[1]); + + intel_batchbuffer_free(batch); + drm_intel_bufmgr_destroy(bufmgr); + } close(fd); |