glsl: Add ir_quadop_vector expression
authorIan Romanick <ian.d.romanick@intel.com>
Tue, 16 Nov 2010 20:01:42 +0000 (12:01 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 19 Nov 2010 23:00:26 +0000 (15:00 -0800)
commit11d6f1c69871d0b7edc28f639256460839fccd2d
treedf65ce56f09c3eaeb78c4e8ba9d509e12f176dfa
parent13f57d42b6929f50d8ef8b4123f46a61c46fde7b
glsl: Add ir_quadop_vector expression

The vector operator collects 2, 3, or 4 scalar components into a
vector.  Doing this has several advantages.  First, it will make
ud-chain tracking for components of vectors much easier.  Second, a
later optimization pass could collect scalars into vectors to allow
generation of SWZ instructions (or similar as operands to other
instructions on R200 and i915).  It also enables an easy way to
generate IR for SWZ instructions in the ARB_vertex_program assembler.
src/glsl/Makefile
src/glsl/ir.cpp
src/glsl/ir.h
src/glsl/ir_clone.cpp
src/glsl/ir_constant_expression.cpp
src/glsl/ir_optimization.h
src/glsl/ir_validate.cpp
src/glsl/lower_vector.cpp [new file with mode: 0644]
src/glsl/opt_algebraic.cpp
src/mesa/drivers/dri/i965/brw_fs.cpp
src/mesa/program/ir_to_mesa.cpp