diff options
author | marha <marha@users.sourceforge.net> | 2011-09-29 16:21:42 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-09-29 16:21:42 +0200 |
commit | 4a9e1f51655e03da1507dabce7c4c3960e7ca607 (patch) | |
tree | 0298f6e38550e2f888eab0146ce7a51a49faaa10 /mesalib/src/mesa/program | |
parent | 0e68f72b7b0ab957a0d3c9415f68e3c4f484b0b3 (diff) | |
parent | bee9191042416cbfb848615189ca1e2a0069f022 (diff) | |
download | vcxsrv-4a9e1f51655e03da1507dabce7c4c3960e7ca607.tar.gz vcxsrv-4a9e1f51655e03da1507dabce7c4c3960e7ca607.tar.bz2 vcxsrv-4a9e1f51655e03da1507dabce7c4c3960e7ca607.zip |
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'mesalib/src/mesa/program')
-rw-r--r-- | mesalib/src/mesa/program/ir_to_mesa.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/mesalib/src/mesa/program/ir_to_mesa.cpp b/mesalib/src/mesa/program/ir_to_mesa.cpp index 7b2c69fdb..c5b71b3f0 100644 --- a/mesalib/src/mesa/program/ir_to_mesa.cpp +++ b/mesalib/src/mesa/program/ir_to_mesa.cpp @@ -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: |