summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin_function.cpp11
-rw-r--r--ir_print_visitor.cpp1
2 files changed, 11 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() */
diff --git a/ir_print_visitor.cpp b/ir_print_visitor.cpp
index f055e8f1d8..ecfdb49c48 100644
--- a/ir_print_visitor.cpp
+++ b/ir_print_visitor.cpp
@@ -124,6 +124,7 @@ void ir_print_visitor::visit(ir_expression *ir)
"dot",
"min",
"max",
+ "pow",
};
printf("(expression ");