iris: Track written BOs via a bitfield rather than exec_object2 entries
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 4 Aug 2021 17:47:36 +0000 (10:47 -0700)
committerMarge Bot <eric+marge@anholt.net>
Tue, 14 Sep 2021 07:36:44 +0000 (07:36 +0000)
commit2f0eccf6475e729ee34f3acabf0ccf6dc7347749
treedd64f2c8aa56f8443f564a302213680d5afddcd2
parent795b14aaa3b3b61ab2eab0eb5d57b398b2d2eb33
iris: Track written BOs via a bitfield rather than exec_object2 entries

When we start suballocating BOs, multiple logical BOs may map to the
same GEM object, and thus share a validation list entry.  However, we
want to track whether logical BOs are written, to avoid unnecessary
cross-batch data dependencies.

Just track that in a bitfield instead, where bit i corresponds to
batch->exec_bos[i].

Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12848>
src/gallium/drivers/iris/iris_batch.c
src/gallium/drivers/iris/iris_batch.h