Check first if the hardware and kernel supports resource streamer. If this is allowed, tell the kernel to enable the resource streamer enable bit on MI_BATCHBUFFER_START by specifying I915_EXEC_RESOURCE_STREAMER execbuffer flags.
v2: - Use new I915_PARAM_HAS_RESOURCE_STREAMER ioctl to check if kernel supports RS (Ken).- Add brw_device_info::has_resource_streamer and toggle it for Haswell, Broadwell, Cherryview, Skylake, and Broxton (Ken).
v3: - Update I915_PARAM_HAS_RESOURCE_STREAMER to match updated kernel.
v4: - Always inspect the getparam.value (Chris Wilson).
v5: - Fold redundant devinfo->has_resource_streamer check in context create into init screen.
Cc: kenneth@whitecape.org Cc: chris@chris-wilson.co.uk
090529a i965: Enable resource streamer for the batchbuffer
src/mesa/drivers/dri/i965/brw_context.c | 4 ++++
src/mesa/drivers/dri/i965/brw_context.h | 1 +
src/mesa/drivers/dri/i965/brw_device_info.c | 5 ++++-
src/mesa/drivers/dri/i965/brw_device_info.h | 1 +
src/mesa/drivers/dri/i965/intel_batchbuffer.c | 8 +++++++-
src/mesa/drivers/dri/i965/intel_screen.c | 14 ++++++++++++++
src/mesa/drivers/dri/i965/intel_screen.h | 5 +++++
7 files changed, 36 insertions(+), 2 deletions(-)
Upstream: cgit.freedesktop.org