ir_to_mesa: Don't assertion fail on remaining GLSL 1.30 ops.
For hardware drivers, we only have ir_to_mesa called for the purposes of potential swrast fallbacks (basically never on a 1.30 driver), which we don't really care about. This will allow 1.30 to be implemented without rewriting swrast for it. Reviewed-by: Chad Versace <chad@chad-versace.us> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
f02ed012c9
commit
1d59de1456
|
@ -1456,14 +1456,22 @@ ir_to_mesa_visitor::visit(ir_expression *ir)
|
|||
emit_scalar(ir, OPCODE_POW, result_dst, op[0], op[1]);
|
||||
break;
|
||||
|
||||
case ir_unop_bit_not:
|
||||
/* GLSL 1.30 integer ops are unsupported in Mesa IR, but since
|
||||
* hardware backends have no way to avoid Mesa IR generation
|
||||
* even if they don't use it, we need to emit "something" and
|
||||
* continue.
|
||||
*/
|
||||
case ir_binop_lshift:
|
||||
case ir_binop_rshift:
|
||||
case ir_binop_bit_and:
|
||||
case ir_binop_bit_xor:
|
||||
case ir_binop_bit_or:
|
||||
emit(ir, OPCODE_ADD, result_dst, op[0], op[1]);
|
||||
break;
|
||||
|
||||
case ir_unop_bit_not:
|
||||
case ir_unop_round_even:
|
||||
assert(!"GLSL 1.30 features unsupported");
|
||||
emit(ir, OPCODE_MOV, result_dst, op[0]);
|
||||
break;
|
||||
|
||||
case ir_quadop_vector:
|
||||
|
|
Loading…
Reference in New Issue