glsl: Add a new ir_unop_round_even opcode for GLSL 1.30's roundEven.

Also, update ir_to_mesa's "1.30 is unsupported" case to "handle" it.
This commit is contained in:
Kenneth Graunke
2010-10-14 13:37:03 -07:00
parent 510c503762
commit d85d25dd1f
3 changed files with 4 additions and 0 deletions

View File

@@ -216,6 +216,7 @@ ir_expression::get_num_operands(ir_expression_operation op)
1, /* ir_unop_ceil */
1, /* ir_unop_floor */
1, /* ir_unop_fract */
1, /* ir_unop_round_even */
1, /* ir_unop_sin */
1, /* ir_unop_cos */
@@ -288,6 +289,7 @@ static const char *const operator_strs[] = {
"ceil",
"floor",
"fract",
"round_even",
"sin",
"cos",
"dFdx",

View File

@@ -700,6 +700,7 @@ enum ir_expression_operation {
ir_unop_ceil,
ir_unop_floor,
ir_unop_fract,
ir_unop_round_even,
/*@}*/
/**

View File

@@ -1130,6 +1130,7 @@ ir_to_mesa_visitor::visit(ir_expression *ir)
case ir_binop_bit_and:
case ir_binop_bit_xor:
case ir_binop_bit_or:
case ir_unop_round_even:
assert(!"GLSL 1.30 features unsupported");
break;
}