i965/fs: Implement FS_OPCODE_[UN]PACK_HALF_2x16_SPLIT[_XY] opcodes.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 29 Jan 2014 21:45:27 +0000 (13:45 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 20 Feb 2014 23:50:59 +0000 (15:50 -0800)
commit808952a09543b60e59c5ad9238d8403fa9f1f15b
tree7a756864a508696cf5f505608a3f857ec6e5d8f3
parent850e372fc7ff3377d7ffdf825d5ebcdd72beee1b
i965/fs: Implement FS_OPCODE_[UN]PACK_HALF_2x16_SPLIT[_XY] opcodes.

I'd neglected to port these to Broadwell.  Most of this code is copy
and pasted from Gen7, but instead of using F32TO16/F16TO32, we just
use MOV with HF register types.

Fixes fs-packHalf2x16 and fs-unpackHalf2x16 tests (both the ARB
extension and ES 3.0 variants).

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/i965/brw_fs.h
src/mesa/drivers/dri/i965/gen8_fs_generator.cpp