pan/bi: Structify FMA ICMP 32
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tue, 28 Apr 2020 15:37:42 +0000 (11:37 -0400)
committerMarge Bot <eric+marge@anholt.net>
Tue, 28 Apr 2020 17:17:48 +0000 (17:17 +0000)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789>

src/panfrost/bifrost/bifrost.h

index 38cd173a80cb54cb32f1c48f7eedf9de121dbd8a..40147e71b1b3d6b5d17c0f345cedd6015f50052c 100644 (file)
@@ -448,6 +448,23 @@ struct bifrost_add_fcmp16 {
         unsigned op   : 6;
 } __attribute__((packed));
 
+enum bifrost_icmp_cond {
+        BIFROST_ICMP_IGT = 0,
+        BIFROST_ICMP_IGE = 1,
+        BIFROST_ICMP_UGT = 2,
+        BIFROST_ICMP_UGE = 3,
+        BIFROST_ICMP_EQ  = 4,
+};
+
+struct bifrost_fma_icmp32 {
+        unsigned src0 : 3;
+        unsigned src1 : 3;
+        enum bifrost_icmp_cond cond : 3;
+        unsigned unk1 : 1; /* set */
+        unsigned d3d : 1;
+        unsigned op : 12;
+} __attribute__((packed));
+
 /* Two sources for vectorization */
 #define BIFROST_FMA_FLOAT32_TO_16 (0xdd000 >> 3)
 #define BIFROST_ADD_FLOAT32_TO_16 (0x0EC00 >> 3)