diff options
author | Alyssa Rosenzweig <[email protected]> | 2020-04-14 12:22:28 -0400 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2020-04-17 16:25:34 -0400 |
commit | cc611566260eacc0d4e92d8b3dc3a8a4d7c94b6e (patch) | |
tree | 12995c1e53cf865c6ff8a27023902b25c7aba657 | |
parent | af01378dce1873c520c52a536ee7d1731c18105d (diff) |
pan/bi: Add special op for exp2
Needs some extra help but basically exp2_fast
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
-rw-r--r-- | src/panfrost/bifrost/bi_print.c | 1 | ||||
-rw-r--r-- | src/panfrost/bifrost/compiler.h | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/panfrost/bifrost/bi_print.c b/src/panfrost/bifrost/bi_print.c index c9e6beb1249..2e6ef452899 100644 --- a/src/panfrost/bifrost/bi_print.c +++ b/src/panfrost/bifrost/bi_print.c @@ -267,6 +267,7 @@ bi_special_op_name(enum bi_special_op op) switch (op) { case BI_SPECIAL_FRCP: return "frcp"; case BI_SPECIAL_FRSQ: return "frsq"; + case BI_SPECIAL_EXP2_LOW: return "exp2_low"; default: return "invalid"; } } diff --git a/src/panfrost/bifrost/compiler.h b/src/panfrost/bifrost/compiler.h index 64baf8cc4c7..90f0e94a6e0 100644 --- a/src/panfrost/bifrost/compiler.h +++ b/src/panfrost/bifrost/compiler.h @@ -195,6 +195,11 @@ enum bi_table_op { enum bi_special_op { BI_SPECIAL_FRCP, BI_SPECIAL_FRSQ, + + /* fp32 exp2() with low precision, suitable for half_exp2() in CL or + * exp2() in GL. In the first argument, it takes f2i_rte(x * 2^24). In + * the second, it takes x itself. */ + BI_SPECIAL_EXP2_LOW, }; typedef struct { |