]> git.tdb.fi Git - libs/gl.git/blob - tests/glsl/binary_operators.glsl
Fold type conversions of constants
[libs/gl.git] / tests / glsl / binary_operators.glsl
1 #pragma MSP stage(vertex)
2 void main()
3 {
4         int i = 0;
5         i = i-3;
6         float f = 0;
7         f = i+1;
8         f = (f+i)*(f/i);
9         bool b = i<f || i>=f;
10         b = b && i==f;
11
12         int j = 1;
13         i = i|j;
14         j = j<<(i%5);
15         b = b || i!=j;
16
17         ivec2 iv;
18         i = i<<j;
19         iv = iv>>i;
20
21         mat4x2 m1;
22         mat2x4 m2;
23         mat4 m3 = m2*m1*5;
24         vec4 v1 = vec4(1.0);
25         vec4 v2;
26         v2 = m3*v1;
27         vec2 v3;
28         v3 = v1*m2+v2.xy+iv;
29
30         if(b)
31                 ++v3;
32 }
33
34 /* Expected output: vertex
35 void main()
36 {
37         int i = 0;
38         i = i-3;
39         float f;
40         f = float(i+1);
41         f = (f+float(i))*(f/float(i));
42         bool b = float(i)<f||float(i)>=f;
43         b = b&&float(i)==f;
44         int j = 1;
45         i = i|1;
46         j = j<<i%5;
47         b = b||i!=j;
48         ivec2 iv;
49         i = i<<j;
50         iv = iv>>ivec2(i);
51         mat4x2 m1;
52         mat2x4 m2;
53         vec4 v1 = vec4(1.0);
54         vec2 v3;
55         v3 = v1*m2+(m2*m1*5.0*v1).xy+vec2(iv);
56         if(b)
57                 ++v3;
58 }
59 */