| #version 120 | |
| attribute vec3 v3; | |
| uniform mat3x2 m32; | |
| const mat2x4 m24 = mat2x4(1.0, 2.0, | |
| 3.0, 4.0, | |
| 3.0, 4.0, | |
| 3.0, 4.0, 5.0); // ERROR, too many arguments | |
| void main() | |
| { | |
| mat2x3 m23; | |
| vec3 a, b; | |
| a = v3 * m23; // ERROR, type mismatch | |
| b = m32 * v3; // ERROR, type mismatch | |
| m23.xy; // ERROR, can't use . | |
| gl_Position = vec4(m23 * m32 * v3, m24[2][4]); // ERROR, 2 and 4 are out of range | |
| m23 *= m23; // ERROR, right side needs to be square | |
| m23 *= m32; // ERROR, left columns must match right rows | |
| } |