[Intel-gfx] ctx->engines[rcs0, rcs0]
Chris Wilson
chris at chris-wilson.co.uk
Mon Mar 25 09:03:51 UTC 2019
The headline change is the wholehearted decision to allow the user to
establish an ctx->engines mapping of [rcs0, rcs0] to mean two logically
distinct pipelines to the same engine. An example of this use case is in
iris which constructs two GEM contexts in order to have two distinct
logical ccontexts to create both a render pipeline and a compute pipeline
within the same GL context. As it it the same GL context, it should be
a singular timeline and benefits from a shared ppgtt; a natural way of
constructing a GEM counterpart to this composite GL context is with an
engine map of [rcs0, rcs0] and single timeline.
One corollary to this is that given an ctx->engines[], we cannot assume
that (engine_class, engine_instance) is enough to adequately identify a
unique logical context. I propose that given user ctx->engines[], we
force all subsequent user engine lookups to use indices. Thoughts?
-Chris
More information about the Intel-gfx
mailing list