From: Alyssa Rosenzweig Date: Fri, 17 Apr 2020 19:52:18 +0000 (-0400) Subject: pan/bi: Lower special ops to 32-bit X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c05860789a858778d1cfcb5e8dec1168b1114cb0;p=mesa.git pan/bi: Lower special ops to 32-bit We don't have 16-bit tables. We could probably do a bit better to avoid so many conversions but hey. Signed-off-by: Alyssa Rosenzweig Part-of: --- diff --git a/src/panfrost/bifrost/bifrost_nir_algebraic.py b/src/panfrost/bifrost/bifrost_nir_algebraic.py index ca89ce29f37..5e2c65c68ac 100644 --- a/src/panfrost/bifrost/bifrost_nir_algebraic.py +++ b/src/panfrost/bifrost/bifrost_nir_algebraic.py @@ -80,6 +80,12 @@ for op in ('u2u', 'i2i', 'f2f', 'i2f', 'u2f', 'f2i', 'f2u'): srcsz *= 2 dstsz *= 2 +# Bifrost doesn't have fp16 for a lot of special ops +SPECIAL = ['fexp2', 'flog2', 'fsin', 'fcos'] + +for op in SPECIAL: + converts += [((op + '@16', a), ('f2f16', (op, ('f2f32', a))))] + def main(): parser = argparse.ArgumentParser() parser.add_argument('-p', '--import-path', required=True)