| #version 310 es | |
| precision mediump float; | |
| struct S { | |
| float buff[10]; | |
| }; | |
| layout(std430, binding=2) readonly buffer RoBuff { | |
| float buff_ro[10]; | |
| S s_ro; | |
| } ro_buffer; | |
| layout(std430, binding=2) buffer Buff { | |
| float buff[10]; | |
| S s; | |
| } non_ro_buffer; | |
| void non_ro_fun(float[10] buff) { } | |
| void non_ro_funf(float el) { } | |
| void non_ro_funS(S s) { } | |
| out vec4 fragColor; | |
| void main() | |
| { | |
| S s; | |
| non_ro_fun(s.buff); | |
| non_ro_funf(s.buff[3]); | |
| non_ro_funS(s); | |
| non_ro_fun(non_ro_buffer.buff); | |
| non_ro_fun(non_ro_buffer.s.buff); | |
| non_ro_funf(non_ro_buffer.buff[3]); | |
| non_ro_funf(non_ro_buffer.s.buff[3]); | |
| non_ro_funS(non_ro_buffer.s); | |
| non_ro_fun(ro_buffer.buff_ro); | |
| non_ro_fun(ro_buffer.s_ro.buff); | |
| non_ro_funf(ro_buffer.buff_ro[3]); | |
| non_ro_funf(ro_buffer.s_ro.buff[3]); | |
| non_ro_funS(ro_buffer.s_ro); | |
| } |