glsl: add half float exponential functions

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18540>
This commit is contained in:
Timothy Arceri 2022-07-01 16:00:35 +10:00 committed by Marge Bot
parent 829c99def1
commit 94865a45f8

View file

@ -1116,11 +1116,11 @@ private:
BA1(asinh)
BA1(acosh)
BA1(atanh)
B1(pow)
B1(exp)
B1(log)
B1(exp2)
B1(log2)
BA1(pow)
BA1(exp)
BA1(log)
BA1(exp2)
BA1(log2)
BA1(sqrt)
BA1(inversesqrt)
BA1(abs)
@ -2152,13 +2152,13 @@ builtin_builder::create_builtins()
FHF130(asinh)
FHF130(acosh)
FHF130(atanh)
F(pow)
F(exp)
F(log)
F(exp2)
F(log2)
FD(sqrt)
FD(inversesqrt)
FHF(pow)
FHF(exp)
FHF(log)
FHF(exp2)
FHF(log2)
FDHF(sqrt)
FDHF(inversesqrt)
FI64(abs)
FI64(sign)
FD(floor)
@ -6233,15 +6233,16 @@ builtin_builder::_atanh(builtin_available_predicate avail,
*/
ir_function_signature *
builtin_builder::_pow(const glsl_type *type)
builtin_builder::_pow(builtin_available_predicate avail,
const glsl_type *type)
{
return binop(always_available, ir_binop_pow, type, type, type);
return binop(avail, ir_binop_pow, type, type, type);
}
UNOP(exp, ir_unop_exp, always_available)
UNOP(log, ir_unop_log, always_available)
UNOP(exp2, ir_unop_exp2, always_available)
UNOP(log2, ir_unop_log2, always_available)
UNOPA(exp, ir_unop_exp)
UNOPA(log, ir_unop_log)
UNOPA(exp2, ir_unop_exp2)
UNOPA(log2, ir_unop_log2)
UNOPA(atan, ir_unop_atan)
UNOPA(sqrt, ir_unop_sqrt)
UNOPA(inversesqrt, ir_unop_rsq)