i965/vs: Add support for bit-shift operations.

Reviewed-by: Chad Versace <chad@chad-versace.us>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Eric Anholt 2011-09-27 14:48:56 -07:00
parent 0045a67418
commit 158a585450
1 changed files with 7 additions and 1 deletions

View File

@ -1254,8 +1254,14 @@ vec4_visitor::visit(ir_expression *ir)
break;
case ir_binop_lshift:
inst = emit(BRW_OPCODE_SHL, result_dst, op[0], op[1]);
break;
case ir_binop_rshift:
assert(!"GLSL 1.30 features unsupported");
if (ir->type->base_type == GLSL_TYPE_INT)
inst = emit(BRW_OPCODE_ASR, result_dst, op[0], op[1]);
else
inst = emit(BRW_OPCODE_SHR, result_dst, op[0], op[1]);
break;
case ir_quadop_vector: