#ifndef SPIRV_CROSS_CONSTANT_ID_1
#define SPIRV_CROSS_CONSTANT_ID_1 2
#endif
static const int b = SPIRV_CROSS_CONSTANT_ID_1;
#ifndef SPIRV_CROSS_CONSTANT_ID_0
#define SPIRV_CROSS_CONSTANT_ID_0 1
#endif
static const int a = SPIRV_CROSS_CONSTANT_ID_0;
static const uint _26 = (uint(a) + 0u);
#ifndef SPIRV_CROSS_CONSTANT_ID_10
#define SPIRV_CROSS_CONSTANT_ID_10 1u
#endif
static const uint _27 = SPIRV_CROSS_CONSTANT_ID_10;
static const uint3 gl_WorkGroupSize = uint3(_27, 20u, 1u);
static const uint _32 = gl_WorkGroupSize.x;
static const uint _33 = (_26 + _32);
static const uint _34 = gl_WorkGroupSize.y;
static const uint _35 = (_33 + _34);
static const int _42 = (1 - a);

RWByteAddressBuffer _23 : register(u0);

static uint3 gl_GlobalInvocationID;
struct SPIRV_Cross_Input
{
    uint3 gl_GlobalInvocationID : SV_DispatchThreadID;
};

void comp_main()
{
    int spec_const_array_size[b];
    spec_const_array_size[0] = 10;
    spec_const_array_size[1] = 40;
    spec_const_array_size[a] = a;
    _23.Store((_35 + gl_GlobalInvocationID.x) * 4 + 0, uint(b + spec_const_array_size[_42]));
}

[numthreads(SPIRV_CROSS_CONSTANT_ID_10, 20, 1)]
void main(SPIRV_Cross_Input stage_input)
{
    gl_GlobalInvocationID = stage_input.gl_GlobalInvocationID;
    comp_main();
}
