From 158a5854502ce071e3f07d4ad9622b8ddb3c9859 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 27 Sep 2011 14:48:56 -0700 Subject: [PATCH] i965/vs: Add support for bit-shift operations. Reviewed-by: Chad Versace Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp index e5eda221044..98ecd251ddf 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp @@ -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: