mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2026-08-22 13:52:54 +00:00
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>
This commit is contained in:
+30
-36
@@ -1265,36 +1265,28 @@ out:
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int ret;
|
||||
|
||||
igt_subtest_init(argc, argv);
|
||||
|
||||
ret = find_and_open_devices();
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
igt_fixture {
|
||||
igt_assert(find_and_open_devices() == 0);
|
||||
|
||||
if (nouveau_fd == -1 || intel_fd == -1) {
|
||||
fprintf(stderr,"failed to find intel and nouveau GPU\n");
|
||||
if (!igt_only_list_subtests())
|
||||
return 77;
|
||||
igt_require(nouveau_fd != -1);
|
||||
igt_require(intel_fd != -1);
|
||||
|
||||
/* set up intel bufmgr */
|
||||
bufmgr = drm_intel_bufmgr_gem_init(intel_fd, 4096);
|
||||
igt_assert(bufmgr);
|
||||
/* Do not enable reuse, we share (almost) all buffers. */
|
||||
//drm_intel_bufmgr_gem_enable_reuse(bufmgr);
|
||||
|
||||
/* set up nouveau bufmgr */
|
||||
igt_require(init_nouveau() >= 0);
|
||||
|
||||
/* set up an intel batch buffer */
|
||||
devid = intel_get_drm_devid(intel_fd);
|
||||
batch = intel_batchbuffer_alloc(bufmgr, devid);
|
||||
}
|
||||
|
||||
/* set up intel bufmgr */
|
||||
bufmgr = drm_intel_bufmgr_gem_init(intel_fd, 4096);
|
||||
if (!bufmgr)
|
||||
return -1;
|
||||
/* Do not enable reuse, we share (almost) all buffers. */
|
||||
//drm_intel_bufmgr_gem_enable_reuse(bufmgr);
|
||||
|
||||
/* set up nouveau bufmgr */
|
||||
ret = init_nouveau();
|
||||
if (ret < 0)
|
||||
return 77;
|
||||
|
||||
/* set up an intel batch buffer */
|
||||
devid = intel_get_drm_devid(intel_fd);
|
||||
batch = intel_batchbuffer_alloc(bufmgr, devid);
|
||||
|
||||
#define xtest(x, args...) \
|
||||
igt_subtest( #x ) \
|
||||
igt_assert(((x)(args)) == 0); \
|
||||
@@ -1310,20 +1302,22 @@ int main(int argc, char **argv)
|
||||
xtest(test3_5);
|
||||
xtest(test_semaphore);
|
||||
|
||||
nouveau_bo_ref(NULL, &query_bo);
|
||||
nouveau_object_del(&pcopy);
|
||||
nouveau_bufctx_del(&nbufctx);
|
||||
nouveau_pushbuf_del(&npush);
|
||||
nouveau_object_del(&nchannel);
|
||||
igt_fixture {
|
||||
nouveau_bo_ref(NULL, &query_bo);
|
||||
nouveau_object_del(&pcopy);
|
||||
nouveau_bufctx_del(&nbufctx);
|
||||
nouveau_pushbuf_del(&npush);
|
||||
nouveau_object_del(&nchannel);
|
||||
|
||||
intel_batchbuffer_free(batch);
|
||||
intel_batchbuffer_free(batch);
|
||||
|
||||
nouveau_client_del(&nclient);
|
||||
nouveau_device_del(&ndev);
|
||||
drm_intel_bufmgr_destroy(bufmgr);
|
||||
nouveau_client_del(&nclient);
|
||||
nouveau_device_del(&ndev);
|
||||
drm_intel_bufmgr_destroy(bufmgr);
|
||||
|
||||
close(intel_fd);
|
||||
close(nouveau_fd);
|
||||
close(intel_fd);
|
||||
close(nouveau_fd);
|
||||
}
|
||||
|
||||
igt_exit();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user