i965/vs/skl: Use vec4 datatypes for message header
authorBen Widawsky <benjamin.widawsky@intel.com>
Wed, 11 Feb 2015 01:22:45 +0000 (17:22 -0800)
committerBen Widawsky <benjamin.widawsky@intel.com>
Thu, 12 Feb 2015 05:41:58 +0000 (21:41 -0800)
commite93566a15c61c33faa2e694aa18d18e544e857ff
tree1e413c8afd75657f82ddc8bf5591e2b83eda9503
parentcba6a4a12943d635e8dd3d38d94e21cbcab8be34
i965/vs/skl: Use vec4 datatypes for message header

We're using a SIMD4x2 sampler message, which has execsize 4, and so the
register width must be <= 4.  Use <4,4,1> regioning instead of <8,8,1>
regioning to access the same data but avoid tripping the assert.

Fixes the following piglit tests:
spec/glsl-1.20/compiler/structure-and-array-operations/array-selection.vert
spec/glsl-es-3.00/compiler/uniform_block/interface-name-basic.vert
spec/glsl-es-3.00/compiler/uniform_block/interface-name-field-clashes-with-struct.vert
spec/glsl-es-3.00/compiler/uniform_block/interface-name-field-clashes-with-function.vert
spec/glsl-es-3.00/compiler/uniform_block/interface-name-array.vert
glslparsertest/glsl2/condition-07.vert
spec/glsl-es-3.00/compiler/uniform_block/interface-name-field-clashes-with-variable.vert

v2: Better commit message courtesy of Ken.
I had a discussion with Ken, and we both question how we end up with a mov and
execsize 4. For now though, this fixes the piglit tests, so we can worry about
it later.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_fs_generator.cpp