[igt-dev] [Intel-gfx] [PATCH igt 1/2] Iterate over physical engines
Chris Wilson
chris at chris-wilson.co.uk
Wed Feb 21 20:45:30 UTC 2018
Quoting Tvrtko Ursulin (2018-02-21 16:25:34)
>
> On 21/02/2018 14:45, Chris Wilson wrote:
> > We current have a single for_each_engine() iterator which we use to
> > generate both a set of uABI engines and a set of physical engines.
> > Determining what uABI ring-id corresponds to an actual HW engine is
> > tricky, so pull that out to a library function and introduce
> > for_each_physical_engine() for cases where we want to issue requests
> > once on each HW ring (avoiding aliasing issues).
>
> As you know I tried to make for_each_engine actually behave like this
> (iterate physical engines). I still think it would be better / more
> intuitive, and leave the uABI for a specially named iterator instead.
> However, I am willing to accept this compromise in order to start moving
> towards the long overdue cleanup in this respect.
Right, next step would be s/for_each_engine/for_each_uabi_ring/ to catch
the remaining cases, although most now in this case iterate over the
engine static array and igt_require(gem_has_ring()), so that the test
list is stable across machines.
[snip]
> Hm, what I did with intel_execution_engines2 to fake class/instance.
> Have to think if that could somehow be merged into one. Or perhaps the
> approach adopted and then when available just switch the implementation
> to real class/instance.
Yeah, I think of this as an intermediate stepping stone so will be
refined as we refine the uABI. In the meantime, if there are trivial
refactors, no problem, but I wouldn't spend too much effort forcing it
as I think we will end up replacing it.
-Chris
More information about the igt-dev
mailing list