i965/fs: shuffle 32bits into 64bits for doubles
authorJuan A. Suarez Romero <jasuarez@igalia.com>
Thu, 31 Mar 2016 10:49:53 +0000 (11:49 +0100)
committerAlejandro Piñeiro <apinheiro@igalia.com>
Tue, 17 May 2016 07:05:47 +0000 (09:05 +0200)
commitccfe25f7583dd8d0ff0609de3728c8b15fb0f8fb
tree6cdcd436682af17b3e453408186caca3efdd4617
parent96c276dda909ddf12714b9e64b7207156e8fd4bb
i965/fs: shuffle 32bits into 64bits for doubles

VS Thread Payload handles attributes in URB as vec4, no matter if they
are actually single or double precision.

So with double-precision types, value ends up in the registers split in
32bits chunks, in different positions.

We need to shuffle the chunks to get the doubles correctly.

v2:
 * Extra blank line. Add { } on if body (Ian Romanick)
 * Use dest directly (Kenneth Graunke)

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_fs_nir.cpp