i965/vs: Store texturing results into a vec4 temporary.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 17 Jan 2013 04:24:13 +0000 (20:24 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Fri, 18 Jan 2013 19:31:27 +0000 (11:31 -0800)
commitf0dbd9255b5813d1567e1f09266f80e35dcbeb70
tree177361584870d487198680a873cbce48dfd5b2e8
parentaeff9a0d9889c4583e4f7fc89539380c1e6d043c
i965/vs: Store texturing results into a vec4 temporary.

The sampler appears to ignore writemasks (even when correcting the
WRITEMASK_XYZW in brw_vec4_emit.cpp to the proper writemask) and just
always writes all four values.

To cope with this, just texture into a temporary, then MOV out into a
register that has the proper number of components.

NOTE: This is a candidate for stable branches.

Fixes es3conform's shadow_execution_vert.test.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <idr@freedesktop.org>
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp