pan/bi: Add bi_load structure
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tue, 3 Mar 2020 02:19:16 +0000 (21:19 -0500)
committerMarge Bot <eric+marge@anholt.net>
Thu, 5 Mar 2020 14:35:38 +0000 (14:35 +0000)
Fills out the class for LD_ATTR, LD_VAR_ADDR

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

src/panfrost/bifrost/compiler.h

index 97c6d062bde8a80dec384f9a8882ced2e0467438..2209e60e82c85eba13d176c3298097876b1610cf 100644 (file)
@@ -89,6 +89,15 @@ extern unsigned bi_class_props[BI_NUM_CLASSES];
 /* It can't get any worse than csel4... can it? */
 #define BIR_SRC_COUNT 4
 
+/* Class-specific data for BI_LD_ATTR, BI_LD_VAR_ADDR */
+struct bi_load {
+        /* Note: no indirects here */
+        unsigned location;
+
+        /* Only for BI_LD_ATTR. But number of vector channels */
+        unsigned channels;
+};
+
 typedef struct {
         struct list_head link; /* Must be first */
         enum bi_class type;
@@ -110,6 +119,7 @@ typedef struct {
         /* Union for class-specific information */
         union {
                 enum bifrost_minmax_mode minmax;
+                struct bi_load load;
         };
 } bi_instruction;