kernel_optimize_test/include/uapi/drm
Chris Wilson a88b6e4cba drm/i915: Allow specification of parallel execbuf
There is a desire to split a task onto two engines and have them run at
the same time, e.g. scanline interleaving to spread the workload evenly.
Through the use of the out-fence from the first execbuf, we can
coordinate secondary execbuf to only become ready simultaneously with
the first, so that with all things idle the second execbufs are executed
in parallel with the first. The key difference here between the new
EXEC_FENCE_SUBMIT and the existing EXEC_FENCE_IN is that the in-fence
waits for the completion of the first request (so that all of its
rendering results are visible to the second execbuf, the more common
userspace fence requirement).

Since we only have a single input fence slot, userspace cannot mix an
in-fence and a submit-fence. It has to use one or the other! This is not
such a harsh requirement, since by virtue of the submit-fence, the
secondary execbuf inherit all of the dependencies from the first
request, and for the application the dependencies should be common
between the primary and secondary execbuf.

Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Testcase: igt/gem_exec_fence/parallel
Link: https://github.com/intel/media-driver/pull/546
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190521211134.16117-10-chris@chris-wilson.co.uk
2019-05-22 08:40:50 +01:00
..
amdgpu_drm.h drm/amdgpu: add timeline support in amdgpu CS v3 2019-04-12 11:27:57 -05:00
armada_drm.h
drm_fourcc.h drm/fourcc: Fix conflicting Y41x definitions 2019-03-21 09:49:04 +01:00
drm_mode.h drm/gamma: Clarify gamma lut uapi 2019-04-03 18:26:03 +02:00
drm_sarea.h
drm.h drm/syncobj: add timeline signal ioctl for syncobj v5 2019-04-01 12:09:00 +02:00
etnaviv_drm.h
exynos_drm.h drm/exynos: ipp: Add IPP v2 framework 2018-05-10 08:48:53 +09:00
i810_drm.h
i915_drm.h drm/i915: Allow specification of parallel execbuf 2019-05-22 08:40:50 +01:00
lima_drm.h drm/lima: driver for ARM Mali4xx GPUs 2019-04-01 10:45:20 -07:00
mga_drm.h
msm_drm.h drm/msm/gpu: Add submit queue queries 2019-04-19 11:50:06 -07:00
nouveau_drm.h drm/nouveau/svm: new ioctl to migrate process memory to GPU memory 2019-02-20 09:00:03 +10:00
omap_drm.h
panfrost_drm.h drm/panfrost: Add initial panfrost driver 2019-04-12 12:56:46 -05:00
qxl_drm.h
r128_drm.h
radeon_drm.h
savage_drm.h
sis_drm.h
tegra_drm.h drm/tegra: Add kerneldoc for UAPI 2018-05-19 00:21:20 +02:00
v3d_drm.h drm/v3d: Document cache flushing ABI. 2018-12-07 10:55:48 -08:00
vc4_drm.h drm/vc4: Add a pad field to align drm_vc4_submit_cl to 64 bits. 2018-05-03 15:20:09 -07:00
vgem_drm.h
via_drm.h
virtgpu_drm.h drm/virtio: add in/out fence support for explicit synchronization 2018-11-14 14:21:02 +01:00
vmwgfx_drm.h drm/vmwgfx: Expose SM4_1 param to user space 2018-07-06 20:16:09 +02:00