Extract array of execution engines

A few tests wish to execute on every engine, so centralise the array of
known engines.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2016-01-27 14:07:27 +00:00
parent b7f150b606
commit 04f5215f00
3 changed files with 20 additions and 12 deletions

View File

@ -537,3 +537,13 @@ unsigned intel_detect_and_clear_missed_interrupts(int fd)
return missed;
}
const struct intel_execution_engine intel_execution_engines[] = {
{ "render", I915_EXEC_RENDER, 0 },
{ "bsd", I915_EXEC_BSD, 0 },
{ "bsd1", I915_EXEC_BSD, 1<<13 /*I915_EXEC_BSD_RING1*/ },
{ "bsd2", I915_EXEC_BSD, 2<<13 /*I915_EXEC_BSD_RING2*/ },
{ "blt", I915_EXEC_BLT, 0 },
{ "vebox", I915_EXEC_VEBOX, 0 },
{ NULL, 0, 0 }
};

View File

@ -91,4 +91,10 @@ void igt_clflush_range(void *addr, int size);
unsigned intel_detect_and_clear_missed_interrupts(int fd);
extern const struct intel_execution_engine {
const char *name;
unsigned exec_id;
unsigned flags;
} intel_execution_engines[];
#endif /* IGT_GT_H */

View File

@ -223,6 +223,7 @@ static bool has_semaphores(int fd)
igt_main
{
const struct intel_execution_engine *e;
int fd = -1;
igt_skip_on_simulation();
@ -232,18 +233,9 @@ igt_main
igt_require(has_semaphores(fd));
}
igt_subtest("render")
test_ring(fd, I915_EXEC_RENDER, 0);
igt_subtest("bsd")
test_ring(fd, I915_EXEC_BSD, 0);
igt_subtest("bsd1")
test_ring(fd, I915_EXEC_BSD, 1<<13 /*I915_EXEC_BSD_RING1*/);
igt_subtest("bsd2")
test_ring(fd, I915_EXEC_BSD, 2<<13 /*I915_EXEC_BSD_RING2*/);
igt_subtest("blt")
test_ring(fd, I915_EXEC_BLT, 0);
igt_subtest("vebox")
test_ring(fd, I915_EXEC_VEBOX, 0);
for (e = intel_execution_engines; e->name; e++)
igt_subtest_f("%s", e->name)
test_ring(fd, e->exec_id, e->flags);
igt_fixture
close(fd);