pan/bi: Add bi_nir_round helper
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Sat, 12 Dec 2020 02:24:59 +0000 (21:24 -0500)
committerMarge Bot <eric+marge@anholt.net>
Thu, 31 Dec 2020 14:39:01 +0000 (14:39 +0000)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8135>

src/panfrost/bifrost/bifrost_compile.c

index f5b3797..5c2c750 100644 (file)
@@ -2036,6 +2036,18 @@ bi_alu_src_index(nir_alu_src src, unsigned comps)
         return idx;
 }
 
+static enum bi_round
+bi_nir_round(nir_op op)
+{
+        switch (op) {
+        case nir_op_fround_even: return BI_ROUND_NONE;
+        case nir_op_ftrunc: return BI_ROUND_RTZ;
+        case nir_op_fceil: return BI_ROUND_RTP;
+        case nir_op_ffloor: return BI_ROUND_RTN;
+        default: unreachable("invalid nir round op");
+        }
+}
+
 /* TEXS instructions assume normal 2D f32 operation but are more
  * space-efficient and with simpler RA/scheduling requirements*/