i965: Avoid dependency hints on math opcodes

Putting NoDDClr and NoDDChk dependency control on instruction
sequences that include math opcodes can cause corruption of channels.
Treat math opcodes like send opcodes and suppress dependency hinting.

Signed-off-by: Mike Stroyan <mike@LunarG.com>
Tested-by: Tony Bertapelli <anthony.p.bertapelli@intel.com>
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit 602510395a)
This commit is contained in:
Mike Stroyan 2014-02-12 17:24:55 -07:00 committed by Carl Worth
parent 9abd686e3f
commit a616fbd7aa

View file

@ -717,6 +717,14 @@ vec4_visitor::opt_set_dependency_control()
continue;
}
/* Dependency control does not work well over math instructions.
*/
if (inst->is_math()) {
memset(last_grf_write, 0, sizeof(last_grf_write));
memset(last_mrf_write, 0, sizeof(last_mrf_write));
continue;
}
/* Now, see if we can do dependency control for this instruction
* against a previous one writing to its destination.
*/