Mesa (master): i965/fs: Add support for bit-shift operations.
Eric Anholt
anholt at kemper.freedesktop.org
Wed Sep 28 19:15:02 UTC 2011
Module: Mesa
Branch: master
Commit: 7de6e749df90a214d1547956dd66cfec6edcb446
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7de6e749df90a214d1547956dd66cfec6edcb446
Author: Eric Anholt <eric at anholt.net>
Date: Tue Sep 27 14:32:42 2011 -0700
i965/fs: Add support for bit-shift operations.
Reviewed-by: Chad Versace <chad at chad-versace.us>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
index e4746db..3af5780 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
@@ -445,8 +445,14 @@ fs_visitor::visit(ir_expression *ir)
break;
case ir_binop_lshift:
+ inst = emit(BRW_OPCODE_SHL, this->result, 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, this->result, op[0], op[1]);
+ else
+ inst = emit(BRW_OPCODE_SHR, this->result, op[0], op[1]);
break;
}
}
More information about the mesa-commit
mailing list