ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_shading_language_420pack / execution / length-matrix.shader_test
blob81d4babe9bdf890dad7a44bc1c9b1252fbaff07d
1 /* The ARB_shading_language_420pack spec says:
2  *
3  *     "The length method may be applied to matrices. The result is the number
4  *      of columns of the matrix. For example,
5  *
6  *          mat3x4 v;
7  *          const int L = v.length();
8  *
9  *      sets the constant L to 3. The type returned by .length() on a matrix
10  *      is *int*."
11  *
12  * Verify that mat.length() returns the number of columns and that the type is
13  * int.
14  */
16 [require]
17 GLSL >= 1.30
18 GL_ARB_shading_language_420pack
20 [vertex shader passthrough]
22 [fragment shader]
23 #extension GL_ARB_shading_language_420pack: enable
25 out vec4 frag_color;
27 void main() {
28     mat2x2 m2x2;
29     mat2x3 m2x3;
30     mat2x4 m2x4;
31     mat3x2 m3x2;
32     mat3x3 m3x3;
33     mat3x4 m3x4;
34     mat4x2 m4x2;
35     mat4x3 m4x3;
36     mat4x4 m4x4;
38     frag_color = vec4(0.0, 1.0, 0.0, 1.0);
40     if (m2x2.length() != 2 ||
41         m2x3.length() != 2 ||
42         m2x4.length() != 2 ||
43         m3x2.length() != 3 ||
44         m3x3.length() != 3 ||
45         m3x4.length() != 3 ||
46         m4x2.length() != 4 ||
47         m4x3.length() != 4 ||
48         m4x4.length() != 4) {
49         frag_color = vec4(1.0, 0.0, 0.0, 1.0);
50     }
53 [test]
54 draw rect -1 -1 2 2
55 probe all rgba 0.0 1.0 0.0 1.0