i965/fs: Lower LOAD_PAYLOAD instructions of unsupported width.
authorFrancisco Jerez <currojerez@riseup.net>
Fri, 20 May 2016 06:44:23 +0000 (23:44 -0700)
committerFrancisco Jerez <currojerez@riseup.net>
Sat, 28 May 2016 06:19:22 +0000 (23:19 -0700)
commit197833caa3d684c092ee76d1e9ff3fac28576b04
tree48c5f585c4850c496b59ee8b87a6780e7f5fce7b
parent9eea3df29f21eb7507354c3b1d85d238b671a211
i965/fs: Lower LOAD_PAYLOAD instructions of unsupported width.

Only per-channel LOAD_PAYLOAD instructions can be lowered, which
should cover everything that comes in from the front-end.

LOAD_PAYLOAD instructions used to construct actual message payloads
cannot be easily lowered because they contain headers and vectors of
variable type that aren't necessarily channel-aligned -- We shouldn't
find any of them in the program at SIMD lowering time though because
they're introduced during logical send lowering.

An alternative that may be worth considering would be to re-run the
SIMD lowering pass after LOAD_PAYLOAD lowering instead of this patch.

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