i965/fs: Disallow constant propagation into POW on Gen 6.

Fixes assertion failures in three piglit tests on Gen 6 since commit
0087cf23e.
This commit is contained in:
Matt Turner 2015-04-25 01:50:04 -07:00
parent 67ba388dc0
commit 7f5a8ac155

View file

@ -506,9 +506,15 @@ fs_visitor::try_constant_propagate(fs_inst *inst, acp_entry *entry)
break;
/* fallthrough */
case SHADER_OPCODE_POW:
/* Allow constant propagation into src1 regardless of generation, and
* let constant combining promote the constant on Gen < 8.
/* Allow constant propagation into src1 (except on Gen 6), and let
* constant combining promote the constant on Gen < 8.
*
* While Gen 6 MATH can take a scalar source, its source and
* destination offsets must be equal and we cannot ensure that.
*/
if (devinfo->gen == 6)
break;
/* fallthrough */
case BRW_OPCODE_BFI1:
case BRW_OPCODE_ASR:
case BRW_OPCODE_SHL: