diff options
author | Eric Anholt <[email protected]> | 2010-07-01 11:24:38 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2010-07-01 11:24:38 -0700 |
commit | 411fb36b7cee223e090b4b9ef9bc14e058201a68 (patch) | |
tree | bd50518d5682bdfca8e4720f9c7ebb7075179584 /src/mesa | |
parent | 8761fcc2bf964d26c70229c712ce446dbe504ab7 (diff) |
ir_to_mesa: Fill in remaining ops, remove default case for expression types.
We should now have support for all the expression types we need for
GLSL 1.20.
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/shader/ir_to_mesa.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/mesa/shader/ir_to_mesa.cpp b/src/mesa/shader/ir_to_mesa.cpp index dca2b10f23e..1e186354c58 100644 --- a/src/mesa/shader/ir_to_mesa.cpp +++ b/src/mesa/shader/ir_to_mesa.cpp @@ -694,6 +694,9 @@ ir_to_mesa_visitor::visit(ir_expression *ir) ir_to_mesa_emit_scalar_op1(ir, OPCODE_RCP, result_dst, op[1]); ir_to_mesa_emit_op2(ir, OPCODE_MUL, result_dst, op[0], result_src); break; + case ir_binop_mod: + assert(!"ir_binop_mod should have been converted to b * fract(a/b)"); + break; case ir_binop_less: ir_to_mesa_emit_op2(ir, OPCODE_SLT, result_dst, op[0], op[1]); @@ -771,6 +774,7 @@ ir_to_mesa_visitor::visit(ir_expression *ir) ir_to_mesa_emit_op1(ir, OPCODE_TRUNC, result_dst, op[0]); break; case ir_unop_f2b: + case ir_unop_i2b: ir_to_mesa_emit_op2(ir, OPCODE_SNE, result_dst, result_src, src_reg_for_float(0.0)); break; @@ -808,13 +812,6 @@ ir_to_mesa_visitor::visit(ir_expression *ir) case ir_binop_bit_or: assert(!"GLSL 1.30 features unsupported"); break; - - default: - ir_print_visitor v; - printf("Failed to get tree for expression:\n"); - ir->accept(&v); - exit(1); - break; } this->result = result_src; |