pan/bi: Extract bifrost_branch structure
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tue, 3 Mar 2020 18:47:49 +0000 (13:47 -0500)
committerMarge Bot <eric+marge@anholt.net>
Thu, 5 Mar 2020 14:35:38 +0000 (14:35 +0000)
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 <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4061>

src/panfrost/bifrost/bifrost.h

index 50bcc92bebb29c969179170644dc989245965908..689eb146cff6423acd5e55dbc8d4a056f4c467de 100644 (file)
@@ -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