diff options
-rw-r--r-- | builtin_function.cpp | 10 | ||||
-rw-r--r-- | ir.h | 1 | ||||
-rw-r--r-- | ir_print_visitor.cpp | 1 |
3 files changed, 11 insertions, 1 deletions
diff --git a/builtin_function.cpp b/builtin_function.cpp index ec1b54a2dd..9d231e872b 100644 --- a/builtin_function.cpp +++ b/builtin_function.cpp @@ -85,6 +85,14 @@ generate_rsq(exec_list *instructions, } static void +generate_sqrt(exec_list *instructions, + ir_variable **declarations, + const glsl_type *type) +{ + generate_unop(instructions, declarations, type, ir_unop_sqrt); +} + +static void generate_abs(exec_list *instructions, ir_variable **declarations, const glsl_type *type) @@ -227,7 +235,7 @@ generate_110_functions(glsl_symbol_table *symtab, exec_list *instructions) make_gentype_function(symtab, instructions, "log", 1, generate_log); /* FINISHME: exp2() */ /* FINISHME: log2() */ - /* FINISHME: sqrt() */ + make_gentype_function(symtab, instructions, "sqrt", 1, generate_sqrt); make_gentype_function(symtab, instructions, "inversesqrt", 1, generate_rsq); make_gentype_function(symtab, instructions, "abs", 1, generate_abs); /* FINISHME: sign() */ @@ -225,6 +225,7 @@ enum ir_expression_operation { ir_unop_abs, ir_unop_rcp, ir_unop_rsq, + ir_unop_sqrt, ir_unop_exp, ir_unop_log, ir_unop_f2i, /**< Float-to-integer conversion. */ diff --git a/ir_print_visitor.cpp b/ir_print_visitor.cpp index ecfdb49c48..8b2080f7ec 100644 --- a/ir_print_visitor.cpp +++ b/ir_print_visitor.cpp @@ -93,6 +93,7 @@ void ir_print_visitor::visit(ir_expression *ir) "abs", "rcp", "rsq", + "sqrt", "exp", "log", "f2i", |