This series gradually replaces array dereferences of vectors with two expressions. It takes so many patches because changes are needed to the existing lowering passes and because several places in the code generate array dereferences of vectors (e.g., lowering accessed to gl_ClipDistance). There is also some challenge in dealing with function inout parameters that are indexed vectors.
The two new expressions are ir_binop_vector_extract and ir_triop_vector_insert. The former has a vector operand and a scalar operand. The result is the scalar value from the vector specified by the scalar. The later takes a vector and two scalars. The result is a new vector with one indexed field replaced by a scalar value. Together this series fixes piglit tests glsl-vs-channel-overwrite-01 and glsl-vs-channel-overwrite-03. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev