iris: Place a seqno at the end of every batch
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 18 Feb 2020 22:22:51 +0000 (22:22 +0000)
committerMarge Bot <eric+marge@anholt.net>
Fri, 1 May 2020 19:00:02 +0000 (19:00 +0000)
commite31b703c4232fd59d512ab2a865161c9ce859706
treecdc8e40f0284f703167ddbb19a8fe16331dae0e3
parentfb95ac68552d84d5d4f587edfb38cdc1889ede87
iris: Place a seqno at the end of every batch

We can use seqno as a basic for fast userspace fences: where we can
check a value directly to test for fence completion without having to
query using the kernel. To do so we need to write a breadcrumb from the
batch and track those writes as the basis for our lightweight fences.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3802>
src/gallium/drivers/iris/iris_batch.c
src/gallium/drivers/iris/iris_batch.h
src/gallium/drivers/iris/iris_fence.c
src/gallium/drivers/iris/iris_seqno.c [new file with mode: 0644]
src/gallium/drivers/iris/iris_seqno.h [new file with mode: 0644]
src/gallium/drivers/iris/meson.build