i965: Add bit operation support to the fragment shader backend.

This commit is contained in:
Kenneth Graunke 2010-10-18 17:28:56 -07:00
parent 9e3641bd0d
commit cbc966b57b
1 changed files with 12 additions and 3 deletions

View File

@ -923,12 +923,21 @@ fs_visitor::visit(ir_expression *ir)
break;
case ir_unop_bit_not:
inst = emit(fs_inst(BRW_OPCODE_NOT, this->result, op[0]));
break;
case ir_binop_bit_and:
inst = emit(fs_inst(BRW_OPCODE_AND, this->result, op[0], op[1]));
break;
case ir_binop_bit_xor:
inst = emit(fs_inst(BRW_OPCODE_XOR, this->result, op[0], op[1]));
break;
case ir_binop_bit_or:
inst = emit(fs_inst(BRW_OPCODE_OR, this->result, op[0], op[1]));
break;
case ir_unop_u2f:
case ir_binop_lshift:
case ir_binop_rshift:
case ir_binop_bit_and:
case ir_binop_bit_xor:
case ir_binop_bit_or:
assert(!"GLSL 1.30 features unsupported");
break;
}