Use ir_unop_b2i when converting a bool-to-int and add a missing break
The previous code just had dumb cut-and-paste errors.
diff --git a/ast_function.cpp b/ast_function.cpp
index 300108c..06498b0 100644
--- a/ast_function.cpp
+++ b/ast_function.cpp
@@ -154,8 +154,9 @@
return new ir_expression(ir_unop_f2i, desired_type, src, NULL);
else {
assert(b == GLSL_TYPE_BOOL);
- return new ir_expression(ir_unop_f2b, desired_type, src, NULL);
+ return new ir_expression(ir_unop_b2i, desired_type, src, NULL);
}
+ break;
case GLSL_TYPE_FLOAT:
switch (b) {
case GLSL_TYPE_UINT: