Merge pull request #3031 from rg3igalia/sub-group-size-arb-flat-fix
[platform/upstream/glslang.git] / Test / 310.inheritMemory.frag
1 #version 310 es\r
2 precision mediump float;\r
3 \r
4 struct S {\r
5     float buff[10];\r
6 };\r
7 \r
8 layout(std430, binding=2) readonly buffer RoBuff {\r
9     float buff_ro[10];\r
10     S s_ro;\r
11 } ro_buffer;\r
12 \r
13 layout(std430, binding=2) buffer Buff {\r
14     float buff[10];\r
15     S s;\r
16 } non_ro_buffer;\r
17 \r
18 void non_ro_fun(float[10] buff) { }\r
19 void non_ro_funf(float el) { }\r
20 void non_ro_funS(S s) { }\r
21 \r
22 out vec4 fragColor;\r
23 \r
24 void main()\r
25 {\r
26     S s;\r
27 \r
28     non_ro_fun(s.buff);\r
29     non_ro_funf(s.buff[3]);\r
30     non_ro_funS(s);\r
31 \r
32     non_ro_fun(non_ro_buffer.buff);\r
33     non_ro_fun(non_ro_buffer.s.buff);\r
34     non_ro_funf(non_ro_buffer.buff[3]);\r
35     non_ro_funf(non_ro_buffer.s.buff[3]);\r
36     non_ro_funS(non_ro_buffer.s);\r
37 \r
38     non_ro_fun(ro_buffer.buff_ro);\r
39     non_ro_fun(ro_buffer.s_ro.buff);\r
40     non_ro_funf(ro_buffer.buff_ro[3]);\r
41     non_ro_funf(ro_buffer.s_ro.buff[3]);\r
42     non_ro_funS(ro_buffer.s_ro);\r
43 }\r