[Mesa-dev] [PATCH 00/12] Death to array dereferences of vectors!

Ian Romanick idr at freedesktop.org
Mon Apr 8 15:24:31 PDT 2013


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.



More information about the mesa-dev mailing list