[Intel-gfx] [PATCH 00/13] RFC: pipelined fencing
Daniel Vetter
daniel.vetter at ffwll.ch
Thu Feb 4 22:05:00 CET 2010
Hi all,
This patch series implements pipelined fence register setup. In other
words, _every_ batchbuffer can use all available fences (save scanout and
pinned, of course) without any stalls (i.e. i915_wait_request calls).
First part (1-8) is mostly cleanups - I was fed up with threading around
seqno's. The rest is the actual implementation, hopefully sensibly split
up.
This applies on top of my recent cleanup&fixlets patch pile.
Comments, test results, anything else, higly welcome. I haven't yet done
any serious benchmarking 'cause current userspace is way too conservative
with tiled buffer usage to really push it (even on my i855). But it seems
to survive composited desktop usage just fine.
Yours, Daniel
Daniel Vetter (13):
drm/i915: move fence lru to struct drm_i915_fence_reg
drm/i915: allow lazy emitting of requests
drm/i915: move flushing list processing to i915_gem_flush
drm/i915: one request per batchbuffer is enough
drm/i915: move flushing list processing to i915_retire_commands
drm/i915: move the wait_rendering call into flush_gpu_write_domain
drm/i915: kill an no longer necessary BUG_ON
drm/i915: drop seqno argument from i915_gem_object_move_to_active
drm/i915: track gpu fence usage more precisely
drm/i915: prevent unnecessary fence related cpu stalls
drm/i915: pipelined fencing, part 1: fence stealing
drm/i915: infrastructure to track pipelined fence setup
drm/i915: pipelined fencing, part 2: fence setup
drivers/gpu/drm/i915/i915_drv.h | 60 ++++---
drivers/gpu/drm/i915/i915_gem.c | 305 ++++++++++++++++++++------------
drivers/gpu/drm/i915/i915_gem_tiling.c | 2 +-
drivers/gpu/drm/i915/intel_display.c | 4 +-
drivers/gpu/drm/i915/intel_overlay.c | 17 +-
5 files changed, 240 insertions(+), 148 deletions(-)
More information about the Intel-gfx
mailing list