[igt-dev] [RFC PATCH v8 5/5] tests: gem_exec_basic: add "exec-ctx" buffer execution demo test

Chris Wilson chris at chris-wilson.co.uk
Wed Feb 13 00:23:13 UTC 2019


Quoting Andi Shyti (2019-02-12 23:54:36)
> The "exec-ctx" is a demo subtest inserted in the gem_exec_basic
> test. The main goal of the test is to get to the engines by using
> the new API as implemented in in commit 87079e04 ("lib: implement
> new engine discovery interface").
> 
> The "exec-ctx" subtest simply gets the list of engines, binds
> them to a context and executes a buffer. This is done through a
> new "for_each_engine_ctx" loop which iterates through the
> engines.
> 
> Signed-off-by: Andi Shyti <andi.shyti at intel.com>
> ---
>  tests/i915/gem_exec_basic.c | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/tests/i915/gem_exec_basic.c b/tests/i915/gem_exec_basic.c
> index dcb83864b1c1..dc2d79a0c73b 100644
> --- a/tests/i915/gem_exec_basic.c
> +++ b/tests/i915/gem_exec_basic.c
> @@ -135,6 +135,21 @@ igt_main
>                         gtt(fd, e->exec_id | e->flags);
>         }
>  
> +       igt_subtest("exec-ctx") {
> +               uint32_t ctx_id;
> +               struct intel_execution_engine2 *e2;
> +               int index_map = 0;
> +
> +               igt_require_gem_engine_list(fd);
> +               ctx_id = gem_context_create(fd);
> +
> +               for_each_engine2(fd, ctx_id, e2)
> +                       igt_assert(gem_has_ring_by_idx(fd, ++index_map,
> +                                                      ctx_id));

Since the iterator here is e2, it looks quite abusive not to use the
iterator... I don't think this serves as a good example of
for_each_engine2().
-Chris


More information about the igt-dev mailing list