Merge pull request #2976 from jeremy-lunarg/hayes-fix-2975
[platform/upstream/glslang.git] / Test / iomap.crossStage.vk.frag
1 #version 460\r
2 \r
3 \r
4 layout(location = 5) in outBlock {\r
5     vec4 o3;\r
6 };\r
7 \r
8 \r
9 in vec4 gfo1;\r
10 in vec2 gfo2;\r
11 \r
12 out vec4 outColor;\r
13 \r
14 layout (binding = 0) uniform sampler2D glass;\r
15 \r
16 uniform crossStageBlock1 {\r
17     uniform vec4 a;\r
18     vec4 b;\r
19 };\r
20 \r
21 readonly buffer fragOnlyBlock {\r
22     vec2 fb1;\r
23 };\r
24 \r
25 uniform crossStageBlock2 {\r
26     uniform vec4 a;\r
27     vec2 b;\r
28 } blockName2 [2]; // instance name different from vert\r
29 \r
30 vec2 Bar() {\r
31     return  fb1 + \r
32             blockName2[0].b +\r
33             blockName2[1].b;\r
34 }\r
35 \r
36 vec4 Foo() {\r
37     return  a + \r
38             b + \r
39             blockName2[0].a +\r
40             blockName2[1].a +\r
41             vec4(Bar(), 0.0, 0.0);\r
42 }\r
43 \r
44 void main()\r
45 {\r
46     vec4 color = gfo1; // o1 is statically used\r
47     color = color + Foo();\r
48     outColor = color;\r
49 }\r
50 \r