#version 450 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; #ifndef SPIRV_CROSS_CONSTANT_ID_0 #define SPIRV_CROSS_CONSTANT_ID_0 100 #endif const int a = SPIRV_CROSS_CONSTANT_ID_0; #ifndef SPIRV_CROSS_CONSTANT_ID_1 #define SPIRV_CROSS_CONSTANT_ID_1 200 #endif const int b = SPIRV_CROSS_CONSTANT_ID_1; struct A { int member0[a]; int member1[b]; }; struct B { int member0[b]; int member1[a]; }; #ifndef SPIRV_CROSS_CONSTANT_ID_2 #define SPIRV_CROSS_CONSTANT_ID_2 300 #endif const int c = SPIRV_CROSS_CONSTANT_ID_2; const int d = (c + 50); #ifndef SPIRV_CROSS_CONSTANT_ID_3 #define SPIRV_CROSS_CONSTANT_ID_3 400 #endif const int e = SPIRV_CROSS_CONSTANT_ID_3; layout(binding = 0, std430) buffer SSBO { A member_a; B member_b; int v[a]; int w[d]; } _22; void main() { _22.w[gl_GlobalInvocationID.x] += (_22.v[gl_GlobalInvocationID.x] + e); }