i965/vs: Implement vec4_visitor::visit(ir_texture *).
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 26 Oct 2011 21:00:52 +0000 (14:00 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 20 Dec 2011 00:33:10 +0000 (16:33 -0800)
commitd93aa54d2dea79d8216e10b6bbbb00b0c8443dc2
tree506d786abb04f927b7c6a41625de17d9749dc9fd
parentca182cd0fa338ad39d531cb1be6a5a1bbf455771
i965/vs: Implement vec4_visitor::visit(ir_texture *).

This translates the GLSL compiler's IR into vec4_instruction IR,
generating code to load coordinates, LOD info, shadow comparitors, and
so on into the appropriate message registers.

It turns out that the SIMD4x2 parameters are identical on Gen 5-7, and
the Gen4 code is similar enough that, unlike in the FS, it's easy enough
to support all generations in a single function.

v2: Load zeros for missing coordinates (fixing vs-texelFetch-sampler1D
and 2D on G45), and fix G45 message length for shadow comparisons.

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