Mesa (main): pan/bi: Add scoreboard state to IR
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Feb 22 17:10:15 UTC 2022
Module: Mesa
Branch: main
Commit: 6ad9a7f650176f3db94546ef765b45bfbe919bb4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6ad9a7f650176f3db94546ef765b45bfbe919bb4
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Fri Feb 18 15:28:38 2022 -0500
pan/bi: Add scoreboard state to IR
To a limited degree, scoreboarding must be global, so add the data
structures for tracking this to the IR.
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14298>
---
src/panfrost/bifrost/compiler.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/panfrost/bifrost/compiler.h b/src/panfrost/bifrost/compiler.h
index 88cb252a520..86a8548c3dc 100644
--- a/src/panfrost/bifrost/compiler.h
+++ b/src/panfrost/bifrost/compiler.h
@@ -617,6 +617,15 @@ typedef struct {
bool td;
} bi_clause;
+#define BI_NUM_SLOTS 8
+
+/* A model for the state of the scoreboard */
+struct bi_scoreboard_state {
+ /** Bitmap of registers read/written by a slot */
+ uint64_t read[BI_NUM_SLOTS];
+ uint64_t write[BI_NUM_SLOTS];
+};
+
typedef struct bi_block {
/* Link to next block. Must be first for mir_get_block */
struct list_head link;
@@ -643,6 +652,9 @@ typedef struct bi_block {
/* Post-RA liveness */
uint64_t reg_live_in, reg_live_out;
+ /* Scoreboard state at the start/end of block */
+ struct bi_scoreboard_state scoreboard_in, scoreboard_out;
+
/* Flags available for pass-internal use */
uint8_t pass_flags;
} bi_block;
More information about the mesa-commit
mailing list