Hi all,

Currently libdrm pessimistically assumes that every tiled bo needs a fence
on 2nd and 3rd gen hw on _every_ aperture space checks. Especially with
execbuf2 this results in needlessly small batchbuffers.

My libdrm patch solves this problem by adding a function to libdrm to
disable all fence accounting. Fence usage can then be checked in the
client, where enough information is available to do it exactly.

Comments highly welcome. And if you like this please merge it - I don't
have commit rights on mesa/libdrm and I'd like someone else's explicit
sign-off on interface changes, anyway.

As an example I've also included a patch to convert xf86-video-intel to
do its own fence accounting. This is just for illustration, that patch is
in no way merge-ready - it's totally killing performance on some cairo
traces. On gvim-0 it even hits the brick-wall and slows it down by a factor
of ten :(

Yours, Daniel

Daniel Vetter (1):
  i830 uxa: track fence reg usage exactly

 src/i830.h             |   13 ++++++-
 src/i830_batchbuffer.c |    2 +
 src/i830_driver.c      |   32 ++++++++++++++++
 src/i830_render.c      |   12 +++---
 src/i830_uxa.c         |   95 +++++++++++++++++++++++++++++++++++++++++-------
 src/i915_render.c      |   13 ++++---
 6 files changed, 139 insertions(+), 28 deletions(-)

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to