diff options
author | Matt Turner <[email protected]> | 2015-04-13 11:29:14 -0700 |
---|---|---|
committer | Matt Turner <[email protected]> | 2015-04-14 12:16:03 -0700 |
commit | 3ca17e75e4fe129511a4dcad47e139485beef880 (patch) | |
tree | 2fcbda51d6dacaee2ef6a5f2a996cd977b4a7e92 /src/mesa/drivers/dri/i965 | |
parent | 07c571a39fa12c3db1c638302de7aed67844609b (diff) |
i965/fs: Correct mistake in determining whether a MUL is negated.
a * b is equivalent to -a * -b, and the previous code was failing at
that.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89961
Reviewed-by: Anuj Phogat <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_cse.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_cse.cpp b/src/mesa/drivers/dri/i965/brw_fs_cse.cpp index f2c40986683..c1d06161cbf 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_cse.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_cse.cpp @@ -145,7 +145,7 @@ operands_match(const fs_inst *a, const fs_inst *b, bool *negate) xs[1].fixed_hw_reg.dw1.f = xs1_imm; ys[1].fixed_hw_reg.dw1.f = ys1_imm; - *negate = (xs0_negate + xs1_negate) != (ys0_negate + ys1_negate); + *negate = (xs0_negate != xs1_negate) != (ys0_negate != ys1_negate); return ret; } else if (!a->is_commutative()) { bool match = true; |