[Intel-gfx] [PATCH i-g-t v5] tests/i915/gem_exec_async: Update with engine discovery
Chris Wilson
chris at chris-wilson.co.uk
Wed Jul 31 08:37:01 UTC 2019
Quoting Chris Wilson (2019-07-31 09:05:25)
> + /* First up, check the legacy engine selector ABI for independence */
> + igt_subtest_group {
> + struct intel_execution_engine2 engines[64];
> + unsigned int num_engines = 0;
> +
> + igt_fixture {
> + const struct intel_execution_engine *e;
> +
> + for (e = intel_execution_engines; e->name; e++) {
> + if (!gem_ring_has_physical_engine(fd, e->exec_id | e->flags))
> + continue;
> +
> + /* Must be unique, no unknowable BSD aliases! */
> + engines[num_engines] =
> + gem_eb_flags_to_engine(e->exec_id | e->flags);
> + if (engines[num_engines].flags != -1)
> + continue;
> +
> + if (!gem_can_store_dword(fd, engines[num_engines].flags))
> + continue;
> +
> + num_engines++;
> + if (num_engines == ARRAY_SIZE(engines))
> + break;
> + }
> + }
I also expect this to be repeated enough to merit something like
num_engines = gem_engines_get_legacy(fd,
engines, ARRAY_SIZE(engines),
LEGACY_PHYSICAL | LEGACY_CAN_STORE_DWORD);
-Chris
More information about the Intel-gfx
mailing list