summaryrefslogtreecommitdiff
path: root/builtin_function.cpp
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-03-27 12:59:42 -0700
committerIan Romanick <ian.d.romanick@intel.com>2010-03-29 12:48:45 -0700
commitddd2e83db2b6baa062f76f22bb980030144dbcad (patch)
tree7e3fa8bbc922df0d125bde4fa746c5d6b522f9df /builtin_function.cpp
parent0f09aea3bfe90378f6fdfa7b6798cf597a20cd37 (diff)
Add builtin pow() function.
Diffstat (limited to 'builtin_function.cpp')
-rw-r--r--builtin_function.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/builtin_function.cpp b/builtin_function.cpp
index e59b314a91..ec1b54a2dd 100644
--- a/builtin_function.cpp
+++ b/builtin_function.cpp
@@ -132,6 +132,15 @@ generate_max(exec_list *instructions,
generate_binop(instructions, declarations, type, ir_binop_max);
}
+
+static void
+generate_pow(exec_list *instructions,
+ ir_variable **declarations,
+ const glsl_type *type)
+{
+ generate_binop(instructions, declarations, type, ir_binop_pow);
+}
+
void
generate_function_instance(ir_function *f,
const char *name,
@@ -213,7 +222,7 @@ generate_110_functions(glsl_symbol_table *symtab, exec_list *instructions)
/* FINISHME: acos() */
/* FINISHME: atan(y,x) */
/* FINISHME: atan(y/x) */
- /* FINISHME: pow() */
+ make_gentype_function(symtab, instructions, "pow", 2, generate_pow);
make_gentype_function(symtab, instructions, "exp", 1, generate_exp);
make_gentype_function(symtab, instructions, "log", 1, generate_log);
/* FINISHME: exp2() */