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

Reply via email to