i965: Drop bogus F32TO16/F16TO32 instructions on Broadwell - use MOV.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 29 Jan 2014 22:16:27 +0000 (14:16 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 20 Feb 2014 23:50:57 +0000 (15:50 -0800)
commit850e372fc7ff3377d7ffdf825d5ebcdd72beee1b
tree90f75b9fabab4e30c2f14535c8574fc90b24ced2
parent3663bbe773187dee341556ef29e58b1143ef2f5c
i965: Drop bogus F32TO16/F16TO32 instructions on Broadwell - use MOV.

Broadwell removed the F32TO16 and F16TO32 instructions.  However, it has
actual support for HF values, so they're actually just MOV.

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

v2: Emulate F32TO16's align16 zeroing bug, since Chad's front end code
    relies on it happening.  We can probably refactor this code to be
    better later.

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