diff options
author | Tvrtko Ursulin <tvrtko.ursulin@intel.com> | 2017-09-21 10:29:41 +0100 |
---|---|---|
committer | Tvrtko Ursulin <tvrtko.ursulin@intel.com> | 2017-09-29 13:42:08 +0100 |
commit | b4d45c67b9c49cb294d979d1ae3b1be9abf7ec2c (patch) | |
tree | 3b16f40e7f742c0f28c44edc66e63f454d1835dc /virt | |
parent | ae2df5eb2fd3b62a957b7330b85a87d91de961be (diff) |
drm/i915: Per batch buffer VCS balancingcontext-bb-balancing
We add an interface to allow userspace to mark contexts as
concurrent, meaning two things:
1. Batch buffers to the same engine are not implicitly
serialized.
2. Context state cannot be relied on.
Legacy execbuf, with contexts mark as concurrent, can now load
balance between individual batches, instead of only statically
per client.
This also means two batches submitted one after another, both to
I915_EXEC_BSD, can potentially be running in parallel on VCS0
and VCS1 respectively.
For normal (non-concurrent) context behaviour is unchanged. In
both cases simple round-robin approach is used to load balance.
If execbuf requires a a particular engine feature, like for
example HEVC, it needs to mark it's execbuf calls appropriately.
For the class/instance based execbuf we add
I915_EXEC_INSTANCE_ANY to accomplish the same behaviour. This
is only allowed to be used on concurrent contexts or an error
will be returned.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions