Hi Chris, On Sat, Dec 07, 2019 at 01:08:35AM +0000, 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. So, the problem here is that with __for_each_physical_engine() we "reprogram the context" which means that there is a re-mapping of engines in it. Have I understood correctly? Doesn't that happen only in the case when the context has no engines in it? > @@ -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++) { __for_each_static_engine() ? Andi _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx