aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/program/ir_to_mesa.cpp
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-09-29 08:21:31 +0200
committermarha <marha@users.sourceforge.net>2011-09-29 08:21:31 +0200
commitbee9191042416cbfb848615189ca1e2a0069f022 (patch)
tree8f7b2d550ca61d7a6ff10d1fb513fff371268ee0 /mesalib/src/mesa/program/ir_to_mesa.cpp
parent18a8f9f6839dfd899814a76a971e720c1e622236 (diff)
downloadvcxsrv-bee9191042416cbfb848615189ca1e2a0069f022.tar.gz
vcxsrv-bee9191042416cbfb848615189ca1e2a0069f022.tar.bz2
vcxsrv-bee9191042416cbfb848615189ca1e2a0069f022.zip
xwininfo libXft mesa git update 29 sep 2011
Diffstat (limited to 'mesalib/src/mesa/program/ir_to_mesa.cpp')
-rw-r--r--mesalib/src/mesa/program/ir_to_mesa.cpp12
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: