1#version 450 2layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; 3 4#ifndef SPIRV_CROSS_CONSTANT_ID_0 5#define SPIRV_CROSS_CONSTANT_ID_0 100 6#endif 7const int a = SPIRV_CROSS_CONSTANT_ID_0; 8#ifndef SPIRV_CROSS_CONSTANT_ID_1 9#define SPIRV_CROSS_CONSTANT_ID_1 200 10#endif 11const int b = SPIRV_CROSS_CONSTANT_ID_1; 12 13struct A 14{ 15 int member0[a]; 16 int member1[b]; 17}; 18 19struct B 20{ 21 int member0[b]; 22 int member1[a]; 23}; 24 25#ifndef SPIRV_CROSS_CONSTANT_ID_2 26#define SPIRV_CROSS_CONSTANT_ID_2 300 27#endif 28const int c = SPIRV_CROSS_CONSTANT_ID_2; 29const int d = (c + 50); 30#ifndef SPIRV_CROSS_CONSTANT_ID_3 31#define SPIRV_CROSS_CONSTANT_ID_3 400 32#endif 33const int e = SPIRV_CROSS_CONSTANT_ID_3; 34 35layout(binding = 0, std430) buffer SSBO 36{ 37 A member_a; 38 B member_b; 39 int v[a]; 40 int w[d]; 41} _22; 42 43void main() 44{ 45 _22.w[gl_GlobalInvocationID.x] += (_22.v[gl_GlobalInvocationID.x] + e); 46} 47 48