Needs some extra help but basically exp2_fast
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
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";
}
}
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 {