| #version 450 |
| layout(local_size_x = 1) in; |
| |
| layout(std140, set = 0, binding = 0) buffer SSBO |
| { |
| float v1[4]; |
| vec2 v2[4]; |
| vec3 v3[4]; |
| vec4 v4[4]; |
| |
| float v1_array_of_array[4][4]; |
| vec2 v2_array_of_array[4][4]; |
| vec3 v3_array_of_array[4][4]; |
| vec4 v4_array_of_array[4][4]; |
| |
| float v_unsized[]; |
| }; |
| |
| void main() |
| { |
| float loaded1 = v1[1]; |
| v1[2] = loaded1; |
| |
| vec2 loaded2 = v2[1]; |
| v2[2] = loaded2; |
| |
| vec3 loaded3 = v3[1]; |
| v3[2] = loaded3; |
| |
| vec4 loaded4 = v4[1]; |
| v4[2] = loaded4; |
| |
| loaded1 = v1_array_of_array[1][2]; |
| v1_array_of_array[2][3] = loaded1; |
| |
| loaded2 = v2_array_of_array[1][2]; |
| v2_array_of_array[2][3] = loaded2; |
| |
| loaded3 = v3_array_of_array[1][2]; |
| v3_array_of_array[2][3] = loaded3; |
| |
| loaded4 = v4_array_of_array[1][2]; |
| v4_array_of_array[2][3] = loaded4; |
| |
| loaded1 = v_unsized[1]; |
| v_unsized[2] = loaded1; |
| } |