From 616df0e97dd7ec0993e577e39d79854d9edf7c21 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 27 May 2022 12:02:37 -0400 Subject: [PATCH] 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 Part-of: --- 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 {