summaryrefslogtreecommitdiffstats
path: root/src/panfrost/bifrost/bifrost.h
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2020-03-03 13:47:49 -0500
committerMarge Bot <[email protected]>2020-03-05 14:35:38 +0000
commit73c91f14c9f94c5b2ffbd1aaaf7d7c60cb7bc3c9 (patch)
treeb8b960a5332d2dc3b8d867b68bdd16e979f1173a /src/panfrost/bifrost/bifrost.h
parent2afddc4433f49eb44654a63b1406181ee3dc25d8 (diff)
pan/bi: Extract bifrost_branch structure
It's in the disassembler as bitfields, let's extract to a proper structure so we can see what's there. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4061>
Diffstat (limited to 'src/panfrost/bifrost/bifrost.h')
-rw-r--r--src/panfrost/bifrost/bifrost.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/panfrost/bifrost/bifrost.h b/src/panfrost/bifrost/bifrost.h
index 50bcc92bebb..689eb146cff 100644
--- a/src/panfrost/bifrost/bifrost.h
+++ b/src/panfrost/bifrost/bifrost.h
@@ -285,4 +285,20 @@ enum bifrost_branch_code {
BR_ALWAYS = 63,
};
+struct bifrost_branch {
+ unsigned src0 : 3;
+
+ /* For BR_SIZE_ZERO, upper two bits become ctrl */
+ unsigned src1 : 3;
+
+ /* Offset source -- always uniform/const but
+ * theoretically could support indirect jumps? */
+ unsigned src2 : 3;
+
+ enum bifrost_branch_cond cond : 3;
+ enum branch_bit_size size : 3;
+
+ unsigned op : 5;
+};
+
#endif