i965/fs: Apply execution controls from the instruction to scratch messages.
authorFrancisco Jerez <currojerez@riseup.net>
Sun, 15 May 2016 23:52:49 +0000 (16:52 -0700)
committerFrancisco Jerez <currojerez@riseup.net>
Mon, 23 May 2016 21:05:20 +0000 (14:05 -0700)
commit70023c40c6094208cc869ef4a8eb8d9ccebc8395
treebc882d7be9f4e36f3a4325dfeb29765892125f5a
parente98cf031149cd6031b3e22bc06be0a70550ac85b
i965/fs: Apply execution controls from the instruction to scratch messages.

Until now the execution controls (e.g. channel group,
force_writemask_all, exec_size) of the instruction had been completely
ignored by spilling, even though that can lead to a mismatch between
the channel mask applied to the contents of the (un)spilled memory and
the GRF source or destination of the instruction.  In some cases we'll
actually want the (un)spill messages to be marked force_writemask_all
regardless of whether the instruction has it set, but that will have
to be handled specially by the caller.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp