glsl: Fix write mask in matrix-from-matrix constructors.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 1 Sep 2010 23:10:01 +0000 (16:10 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 2 Sep 2010 01:57:51 +0000 (18:57 -0700)
commit39605587951aed546c14febcc26e5a479bf8d807
treeda80c5384cf40a1de03f46152628e36dd5f340bb
parent54b35e673596d767a13f06f4d7ec1089e18fd46e
glsl: Fix write mask in matrix-from-matrix constructors.

If the matrix being constructed was larger than the source matrix, it
would overwrite the lower-right part of the matrix with the wrong
values, rather than leaving it as the identity matrix.

For example, constructing a mat4 from a mat2 should only use a writemask
of "xy" when copying from the source, but was using "xyzw".

Fixes the code generated by piglit test constructor-23.vert.
src/glsl/ast_function.cpp