Merge pull request #2976 from jeremy-lunarg/hayes-fix-2975
[platform/upstream/glslang.git] / Test / spv.bufferhandle15.frag
1 #version 450\r
2 \r
3 #extension GL_EXT_buffer_reference : enable\r
4 #extension GL_EXT_scalar_block_layout : enable\r
5 \r
6 layout(buffer_reference, scalar) buffer T1 {\r
7     vec3 x[];\r
8 };\r
9 \r
10 layout(buffer_reference, scalar) buffer T2 {\r
11         vec3 x[][4][2];\r
12 };\r
13 \r
14 struct S\r
15 {\r
16         highp ivec3 a;\r
17         mediump mat3 b[4];\r
18         highp vec4 c;\r
19 };\r
20 \r
21 layout(buffer_reference, scalar) buffer T3 {\r
22     S s;\r
23 };\r
24 layout(std430) buffer T4 {\r
25     T1 t1;\r
26     T2 t2;\r
27     T3 t3;\r
28 } t4;\r
29 \r
30 layout(location = 0) flat in int i;\r
31 \r
32 void main()\r
33 {\r
34     vec3 y;\r
35     y = t4.t1.x[i];\r
36     y = t4.t2.x[i][i][i];\r
37     mat3 z = t4.t3.s.b[0];\r
38 }\r