[Intel-gfx] [PATCH] libdrm changes to allow exact fence usage accounting

Daniel Vetter daniel.vetter at ffwll.ch
Thu Apr 22 22:48:45 CEST 2010


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(-)




More information about the Intel-gfx mailing list