#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); | |
} |