summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2013-01-11 14:19:56 -0800
committerKenneth Graunke <[email protected]>2013-01-12 15:35:38 -0800
commitfea648db08114e0e10c164e2d6507b71bd22f63a (patch)
treedb8518e23248ee523d4ffce5391f97b5b3513182
parent4a6753926f51accd6f71d9caea18b15a99b8be24 (diff)
i965/fs: Don't mix integer/float immediates in i2b handling.
The simulator gets very angry about our i2b code: cmp.ne(16) g3<1>D g2<0,1,0>D 0F We can't mix integer DWord and float types. The only reason to use 0F here was to share code with f2b. Split it and use 0D instead. While we don't believe anything bad will actually happen because of this, it's nice to fix the warnings and easy enough to do. Reviewed-by: Paul Berry <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_visitor.cpp4
1 files changed, 3 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 e70d6bf89c5..5885989e76e 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
@@ -506,9 +506,11 @@ fs_visitor::visit(ir_expression *ir)
break;
case ir_unop_f2b:
- case ir_unop_i2b:
emit(CMP(this->result, op[0], fs_reg(0.0f), BRW_CONDITIONAL_NZ));
break;
+ case ir_unop_i2b:
+ emit(CMP(this->result, op[0], fs_reg(0), BRW_CONDITIONAL_NZ));
+ break;
case ir_unop_trunc:
emit(RNDZ(this->result, op[0]));