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