pan/bi: Clarify requirement for barriers
authorAlyssa Rosenzweig <alyssa@collabora.com>
Tue, 22 Feb 2022 16:45:54 +0000 (11:45 -0500)
committerMarge Bot <emma+marge@anholt.net>
Tue, 22 Feb 2022 16:57:30 +0000 (16:57 +0000)
Barriers need to wait on all outstanding messages. This is more of an API
requirement than a hardware requirement, but it's still an invariant the
scoreboarding pass must respect.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14298>

src/panfrost/bifrost/bi_scoreboard.c

index 1e7ca0e..484f8a7 100644 (file)
@@ -38,7 +38,7 @@
  * 3. The shader must wait on slot #6 before running BLEND, ATEST
  * 4. The shader must wait on slot #7 before running BLEND, ST_TILE
  * 5. ATEST, ZS_EMIT must be issued with slot #0
- * 6. BARRIER must be issued with slot #7
+ * 6. BARRIER must be issued with slot #7 and wait on every active slot.
  * 7. Only slots #0 through #5 may be used for clauses not otherwise specified.
  * 8. If a clause writes to a read staging register of an unresolved
  * dependency, it must set a staging barrier.