Mesa (main): pan/bi: Extend bi_scoreboard_state for finer tracking

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jun 1 16:29:30 UTC 2022


Module: Mesa
Branch: main
Commit: 616df0e97dd7ec0993e577e39d79854d9edf7c21
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=616df0e97dd7ec0993e577e39d79854d9edf7c21

Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Fri May 27 12:02:37 2022 -0400

pan/bi: Extend bi_scoreboard_state for finer tracking

We need to insert dependencies for varyings and memory access. Currently, the
Bifrost scoreboarding pass just treats these as barriers, but this is too heavy
handed. Extend the scoreboard data structure so we can do better.

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

---

 src/panfrost/bifrost/compiler.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/panfrost/bifrost/compiler.h b/src/panfrost/bifrost/compiler.h
index a2eb6b1b092..4527affd3f9 100644
--- a/src/panfrost/bifrost/compiler.h
+++ b/src/panfrost/bifrost/compiler.h
@@ -646,6 +646,10 @@ struct bi_scoreboard_state {
         /** Bitmap of registers read/written by a slot */
         uint64_t read[BI_NUM_SLOTS];
         uint64_t write[BI_NUM_SLOTS];
+
+        /* Nonregister dependencies present by a slot */
+        uint8_t varying : BI_NUM_SLOTS;
+        uint8_t memory : BI_NUM_SLOTS;
 };
 
 typedef struct bi_block {



More information about the mesa-commit mailing list