summaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>2017-09-21 10:29:41 +0100
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>2017-09-29 13:42:08 +0100
commitb4d45c67b9c49cb294d979d1ae3b1be9abf7ec2c (patch)
tree3b16f40e7f742c0f28c44edc66e63f454d1835dc /init
parentae2df5eb2fd3b62a957b7330b85a87d91de961be (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 'init')
0 files changed, 0 insertions, 0 deletions