drm/i915: Allow execbuffer to use the first object as the batch
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 16 Jun 2017 14:05:23 +0000 (15:05 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 16 Jun 2017 15:54:05 +0000 (16:54 +0100)
commit1a71cf2fa646799d4397a49b223549d8617fece0
treebe457298385f3d0e077577a2836bcc35cae51c9f
parent8a2421bd0d9abb3a599969d88e1910a2a101eccc
drm/i915: Allow execbuffer to use the first object as the batch

Currently, the last object in the execlist is the always the batch.
However, when building the batch buffer we often know the batch object
first and if we can use the first slot in the execlist we can emit
relocation instructions relative to it immediately and avoid a separate
pass to adjust the relocations to point to the last execlist slot.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_gem_execbuffer.c
include/uapi/drm/i915_drm.h