Merge pull request #2892 from greg-lunarg/mb
[platform/upstream/glslang.git] / Test / functionCall.frag
1 #version 130\r
2 \r
3 uniform vec4 bigColor;\r
4 varying vec4 BaseColor;\r
5 uniform float d;\r
6 \r
7 float h = 0.0;\r
8 \r
9 float foo(vec4 bar)\r
10 {\r
11     return bar.x + bar.y;\r
12 }\r
13 \r
14 void bar()\r
15 {\r
16 }\r
17 \r
18 float unreachableReturn()\r
19 {\r
20     if (d < 4.2)\r
21         return 1.2;\r
22     else\r
23         return 4.5;\r
24     // might be another return inserted here by builders, has to be correct type\r
25 }\r
26 \r
27 float missingReturn()\r
28 {\r
29     if (d < 4.5) {\r
30         h = d;\r
31         return 3.9;\r
32     }\r
33 }\r
34 \r
35 void main()\r
36 {\r
37     vec4 color = vec4(foo(BaseColor));\r
38 \r
39     bar();\r
40     float f = unreachableReturn();\r
41     float g = missingReturn();\r
42     \r
43     gl_FragColor = color * f * h;\r
44 }\r