i965/fs: Fix Sandybridge regressions from SEL optimization.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 13 Aug 2013 23:07:56 +0000 (16:07 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 15 Aug 2013 22:33:00 +0000 (15:33 -0700)
commit90129da82c91b731c7c65e8e3adbde58d8c62840
tree8c287b2cd80242ec31ed13432e38ae1c990e1ef3
parentc189840b21e176d87cbb382e64e848061b8c7b06
i965/fs: Fix Sandybridge regressions from SEL optimization.

Sandybridge is the only platform that supports an IF instruction
with an embedded comparison.  In this case, we need to emit a CMP
to go along with the SEL.

Fixes regressions in Piglit's glsl-fs-atan-3, fs-unpackHalf2x16,
fs-faceforward-float-float-float, isinf-and-isnan fs_basic, and
isinf-and-isnan fs_fbo.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68086
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Tested-by: lu hua <huax.lu@intel.com>
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp