ext_gpu_shader4: add compiler tests for everything
[piglit.git] / tests / spec / glsl-1.20 / compiler / structure-and-array-operations / array-ctor-implicit-conversion-ivec2-vec2.vert
blob6b5f1f937fd5cdeb2b76b257bf8599dd8441a232
1 /* [config]
2  * expect_result: pass
3  * glsl_version: 1.20
4  * [end config]
5  *
6  * From page 20 (page 26 of the PDF) of the GLSL 1.20 spec:
7  *
8  *     "In some situations, an expression and its type will be implicitly
9  *     converted to a different type. The following table shows all allowed
10  *     implicit conversions:
11  *
12  *     Type of expression   Can be implicitly converted to
13  *     int                  float
14  *     ivec2                vec2
15  *     ivec3                vec3
16  *     ivec4                vec4
17  *
18  *     There are no implicit array or structure conversions. For example, an
19  *     array of int cannot be implicitly converted to an array of float.  When
20  *     an implicit conversion is done, it is not just a re-interpretation of
21  *     the expression's value, but a conversion of that value to an equivalent
22  *     value in the new type. For example, the integer value 5 will be
23  *     converted to the floating-point value 5.0.  The conversions in the
24  *     table above are done only as indicated by other sections of this
25  *     specification."
26  */
27 #version 120
29 uniform ivec2 a[2];
31 void main()
33   vec2 b[2] = vec2[](a[0], a[1]);
35   gl_Position = vec4(b[0].x, b[0].y, b[1].x, b[1].y);