pan/bi: Structify FMA_MSCALE
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tue, 14 Apr 2020 20:31:34 +0000 (16:31 -0400)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Fri, 17 Apr 2020 20:25:35 +0000 (16:25 -0400)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>

src/panfrost/bifrost/bifrost.h

index 7cdc39b77714af296b44c931a4ede0c21cfbed50..e3f822c321eda0e9a539ac750b91af06d35a8da2 100644 (file)
@@ -111,6 +111,25 @@ struct bifrost_fma_2src {
         unsigned op   : 17;
 } __attribute__((packed));
 
+#define BIFROST_FMA_OP_MSCALE (0x50 >> 3)
+
+struct bifrost_fma_mscale {
+        unsigned src0 : 3;
+        unsigned src1 : 3;
+        unsigned src2 : 3;
+        unsigned src3 : 3;
+
+        /* If mscale_mode is set - an MSCALE specific mode. If it is not set, a
+         * regular outmod */
+        unsigned mode : 2;
+        unsigned mscale_mode : 1;
+
+        unsigned src0_abs : 1;
+        unsigned src1_neg : 1;
+        unsigned src2_neg : 1;
+        unsigned op   : 5;
+} __attribute__((packed));
+
 #define BIFROST_ADD_OP_BLEND (0x1952c)
 #define BIFROST_ADD_OP_FRCP_FAST_F32 (0x0cc00)
 #define BIFROST_ADD_OP_FRCP_FAST_F16_X (0x0ce10)