intel/fs: Promote execution type to 32-bit when any half-float conversion is needed.
authorFrancisco Jerez <currojerez@riseup.net>
Tue, 15 Jan 2019 21:35:30 +0000 (13:35 -0800)
committerFrancisco Jerez <currojerez@riseup.net>
Sat, 19 Jan 2019 00:09:39 +0000 (16:09 -0800)
commitc84ec70b3a72a3640a40e72689d72da8337e9801
tree842792ff9255ecbfaa6473e4504c05baadbbb235
parent9e669ed22b52857495593b92537d53c9ead7d424
intel/fs: Promote execution type to 32-bit when any half-float conversion is needed.

The docs are fairly incomplete and inconsistent about it, but this
seems to be the reason why half-float destinations are required to be
DWORD-aligned on BDW+ projects.  This way the regioning lowering pass
will make sure that the destination components of W to HF and HF to W
conversions are aligned like the corresponding conversion operation
with 32-bit execution data type.

Tested-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/compiler/brw_ir_fs.h