[igt-dev] [PATCH i-g-t] Revert "tests/i915: Use engine query interface for gem_ctx_isolation/persistence"
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Mon Dec 9 09:25:16 UTC 2019
On 07/12/2019 01:08, Chris Wilson wrote:
> This reverts commit 343aae776a58a67fa153825385e6fe90e3185c5b.
>
> __for_each_physical_engine() reprograms the context, invalidating the
> use of e->flags to select engines, necessitating e->index instead.
> Withot also fixing up the engine selection, the result is that random
> engines were being used to read registers from the intended engine.
> This does not end well.
Argh, an oversight.. test(s) needs to be looked at in detail and
converted fully. On a cursory glance a sprinkle of
gem_context_set_all_engines on internally created contexts is needed to
align with the passed in e and e->flags.
Acked-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Regards,
Tvrtko
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Stuart Summers <stuart.summers at intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
> tests/i915/gem_ctx_isolation.c | 4 ++--
> tests/i915/gem_ctx_persistence.c | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/tests/i915/gem_ctx_isolation.c b/tests/i915/gem_ctx_isolation.c
> index 9435209e9..6aa27133c 100644
> --- a/tests/i915/gem_ctx_isolation.c
> +++ b/tests/i915/gem_ctx_isolation.c
> @@ -856,7 +856,6 @@ static unsigned int __has_context_isolation(int fd)
>
> igt_main
> {
> - struct intel_execution_engine2 *e;
> unsigned int has_context_isolation = 0;
> int fd = -1;
>
> @@ -877,7 +876,8 @@ igt_main
> igt_skip_on(gen > LAST_KNOWN_GEN);
> }
>
> - __for_each_physical_engine(fd, e) {
> + for (const struct intel_execution_engine2 *e = intel_execution_engines2;
> + e->name; e++) {
> igt_subtest_group {
> igt_fixture {
> igt_require(has_context_isolation & (1 << e->class));
> diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
> index 30772159b..d68431ae0 100644
> --- a/tests/i915/gem_ctx_persistence.c
> +++ b/tests/i915/gem_ctx_persistence.c
> @@ -727,7 +727,7 @@ igt_main
> igt_subtest("hangcheck")
> test_nohangcheck_hostile(i915);
>
> - __for_each_physical_engine(i915, e) {
> + __for_each_static_engine(e) {
> igt_subtest_group {
> igt_fixture {
> gem_require_ring(i915, e->flags);
>
More information about the igt-dev
mailing list