ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / arb_shading_language_420pack / execution / length-vector.shader_test
blobe70a67e731b6169915adce898d87a5e1655ff1f5
1 /* The ARB_shading_language_420pack says:
2  *
3  *     "The *length* method may be applied to vectors (but not scalars). The
4  *      result is the number of components in the vector. For example,
5  *
6  *           vec3 v;
7  *           const int L = v.length();
8  *
9  *      sets the constant L to 3. The type returned by .length() on a vector is
10  *      *int*."
11  *
12  * Verify that vec.length() returns the number of elements 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     vec2 v2;
29     vec3 v3;
30     vec4 v4;
32     frag_color = vec4(0.0, 1.0, 0.0, 1.0);
34     if (v2.length() != 2 ||
35         v3.length() != 3 ||
36         v4.length() != 4) {
37         frag_color = vec4(1.0, 0.0, 0.0, 1.0);
38     }
41 [test]
42 draw rect -1 -1 2 2
43 probe all rgba 0.0 1.0 0.0 1.0