i965/vs: Fix implementation of ir_unop_any.
authorEric Anholt <eric@anholt.net>
Tue, 9 Aug 2011 17:57:09 +0000 (10:57 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 16 Aug 2011 20:04:42 +0000 (13:04 -0700)
We were inheriting whatever previous predicate existed.

src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp

index 049af6c..fde1d67 100644 (file)
@@ -998,7 +998,9 @@ vec4_visitor::visit(ir_expression *ir)
       break;
 
    case ir_unop_any:
-      emit(BRW_OPCODE_CMP, dst_null_d(), op[0], src_reg(0));
+      inst = emit(BRW_OPCODE_CMP, dst_null_d(), op[0], src_reg(0));
+      inst->conditional_mod = BRW_CONDITIONAL_NZ;
+
       emit(BRW_OPCODE_MOV, result_dst, src_reg(0));
 
       inst = emit(BRW_OPCODE_MOV, result_dst, src_reg(1));