iris: Convert fences to using lightweight seqno
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 19 Feb 2020 21:24:40 +0000 (21:24 +0000)
committerMarge Bot <eric+marge@anholt.net>
Fri, 1 May 2020 19:00:02 +0000 (19:00 +0000)
commitfd1907efb385a6f668971e9bb93af2f64d7b8cda
tree7d7779f7e3404e294ac9440dfd679694752c5b62
parente31b703c4232fd59d512ab2a865161c9ce859706
iris: Convert fences to using lightweight seqno

By using the breadcrumbs we inject into the batch, we can build a
lightweight fence - that can be evaluated in userspace without having to
check in the kernel. In order to pass the fences between processes, and
to wait efficiently, we continue to track the syncobj for each batch and
use that as a terminator for the fence, and for passing coarse
scheduling decisions to the kernel on execbuf.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3802>
src/gallium/drivers/iris/iris_fence.c