diff options
Diffstat (limited to 'src/mesa')
| -rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.cpp | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 98d5d65940..3f41a55331 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -710,26 +710,32 @@ fs_visitor::visit(ir_expression *ir)     case ir_binop_less:        inst = emit(fs_inst(BRW_OPCODE_CMP, this->result, op[0], op[1]));        inst->conditional_mod = BRW_CONDITIONAL_L; +      emit(fs_inst(BRW_OPCODE_AND, this->result, this->result, fs_reg(0x1)));        break;     case ir_binop_greater:        inst = emit(fs_inst(BRW_OPCODE_CMP, this->result, op[0], op[1]));        inst->conditional_mod = BRW_CONDITIONAL_G; +      emit(fs_inst(BRW_OPCODE_AND, this->result, this->result, fs_reg(0x1)));        break;     case ir_binop_lequal:        inst = emit(fs_inst(BRW_OPCODE_CMP, this->result, op[0], op[1]));        inst->conditional_mod = BRW_CONDITIONAL_LE; +      emit(fs_inst(BRW_OPCODE_AND, this->result, this->result, fs_reg(0x1)));        break;     case ir_binop_gequal:        inst = emit(fs_inst(BRW_OPCODE_CMP, this->result, op[0], op[1]));        inst->conditional_mod = BRW_CONDITIONAL_GE; +      emit(fs_inst(BRW_OPCODE_AND, this->result, this->result, fs_reg(0x1)));        break;     case ir_binop_equal:        inst = emit(fs_inst(BRW_OPCODE_CMP, this->result, op[0], op[1]));        inst->conditional_mod = BRW_CONDITIONAL_Z; +      emit(fs_inst(BRW_OPCODE_AND, this->result, this->result, fs_reg(0x1)));        break;     case ir_binop_nequal:        inst = emit(fs_inst(BRW_OPCODE_CMP, this->result, op[0], op[1]));        inst->conditional_mod = BRW_CONDITIONAL_NZ; +      emit(fs_inst(BRW_OPCODE_AND, this->result, this->result, fs_reg(0x1)));        break;     case ir_binop_logic_xor:  | 
