pan/mdg: Lower specials to 32-bit
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tue, 28 Apr 2020 00:09:43 +0000 (20:09 -0400)
committerMarge Bot <eric+marge@anholt.net>
Wed, 29 Apr 2020 15:35:54 +0000 (15:35 +0000)
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>

src/panfrost/midgard/midgard_nir_algebraic.py

index 2ba9f226d224d364468ba3e3bf7ca8273ff9bd2c..3dc1900cca1797728fd1c6f4ec54119c2723879e 100644 (file)
@@ -83,6 +83,12 @@ for op in ('u2u', 'i2i', 'f2f', 'i2f', 'u2f', 'f2i', 'f2u'):
             srcsz *= 2
         dstsz *= 2
 
+# Midgard outputs fp32 for specials. The f2f32 will be folded in later.
+SPECIAL = ['fexp2', 'flog2', 'fsin', 'fcos', 'frcp', 'frsq']
+
+for op in SPECIAL:
+        converts += [((op + '@16', a), ('f2f16', (op, ('f2f32', a))))]
+
 # Midgard scales fsin/fcos arguments by pi.
 # Pass must be run only once, after the main loop