#version 460
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;

layout(set = 0, binding = 0, std430) writeonly buffer SSBO
{
    uint _m0[];
} _9;

void main()
{
    _9._m0[gl_GlobalInvocationID.x >> 2u] = floatBitsToUint(1.0);
    _9._m0[(gl_GlobalInvocationID.x << 1u) >> 2u] = floatBitsToUint(2.0);
    _9._m0[(gl_GlobalInvocationID.x * 3u) >> 2u] = floatBitsToUint(3.0);
    _9._m0[gl_GlobalInvocationID.x] = floatBitsToUint(4.0);
    _9._m0[gl_GlobalInvocationID.x * 2u] = floatBitsToUint(5.0);
    uint _45 = gl_GlobalInvocationID.x * 12u;
    _9._m0[gl_GlobalInvocationID.x * 3u] = floatBitsToUint(6.0);
    _9._m0[gl_GlobalInvocationID.x] = floatBitsToUint(7.0);
    _9._m0[gl_GlobalInvocationID.x * 2u] = floatBitsToUint(8.0);
    _9._m0[gl_GlobalInvocationID.x * 4u] = floatBitsToUint(9.0);
    _9._m0[(_45 | 1u) >> 2u] = floatBitsToUint(10.0);
    _9._m0[(_45 | 2u) >> 2u] = floatBitsToUint(11.0);
    _9._m0[(_45 | 3u) >> 2u] = floatBitsToUint(12.0);
    _9._m0[(gl_GlobalInvocationID.x * 3u) + 1u] = floatBitsToUint(13.0);
    _9._m0[(gl_GlobalInvocationID.x * 3u) + 2u] = floatBitsToUint(14.0);
    _9._m0[(gl_GlobalInvocationID.x * 3u) - 1u] = floatBitsToUint(15.0);
    _9._m0[(gl_GlobalInvocationID.x * 3u) - 2u] = floatBitsToUint(16.0);
    _9._m0[(gl_GlobalInvocationID.x + 4u) >> 2u] = floatBitsToUint(17.0);
    _9._m0[(gl_GlobalInvocationID.x + 8u) >> 2u] = floatBitsToUint(18.0);
    _9._m0[(gl_GlobalInvocationID.x + 4294967292u) >> 2u] = floatBitsToUint(19.0);
    _9._m0[(gl_GlobalInvocationID.x + 4294967288u) >> 2u] = floatBitsToUint(20.0);
    _9._m0[(gl_GlobalInvocationID.x + 5u) >> 2u] = floatBitsToUint(17.0);
    _9._m0[(gl_GlobalInvocationID.x + 9u) >> 2u] = floatBitsToUint(18.0);
    _9._m0[(gl_GlobalInvocationID.x + 4294967291u) >> 2u] = floatBitsToUint(19.0);
    _9._m0[(gl_GlobalInvocationID.x + 4294967287u) >> 2u] = floatBitsToUint(20.0);
}


#if 0
// SPIR-V disassembly
; SPIR-V
; Version: 1.3
; Generator: Unknown(30017); 21022
; Bound: 148
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %3 "main" %12
OpExecutionMode %3 LocalSize 1 1 1
OpName %3 "main"
OpName %7 "SSBO"
OpDecorate %6 ArrayStride 4
OpMemberDecorate %7 0 Offset 0
OpDecorate %7 Block
OpDecorate %9 DescriptorSet 0
OpDecorate %9 Binding 0
OpDecorate %9 NonReadable
OpDecorate %12 BuiltIn GlobalInvocationId
%1 = OpTypeVoid
%2 = OpTypeFunction %1
%5 = OpTypeInt 32 0
%6 = OpTypeRuntimeArray %5
%7 = OpTypeStruct %6
%8 = OpTypePointer StorageBuffer %7
%9 = OpVariable %8 StorageBuffer
%10 = OpTypeVector %5 3
%11 = OpTypePointer Input %10
%12 = OpVariable %11 Input
%13 = OpTypePointer Input %5
%15 = OpConstant %5 0
%18 = OpConstant %5 2
%19 = OpTypeFloat 32
%20 = OpConstant %19 1
%22 = OpTypePointer StorageBuffer %5
%25 = OpConstant %5 1
%27 = OpConstant %19 2
%31 = OpConstant %5 3
%33 = OpConstant %19 3
%37 = OpConstant %19 4
%42 = OpConstant %19 5
%46 = OpConstant %5 12
%48 = OpConstant %19 6
%51 = OpConstant %19 7
%55 = OpConstant %19 8
%59 = OpConstant %5 4
%61 = OpConstant %19 9
%66 = OpConstant %19 10
%71 = OpConstant %19 11
%76 = OpConstant %19 12
%82 = OpConstant %19 13
%86 = OpConstant %5 8
%89 = OpConstant %19 14
%93 = OpConstant %5 4294967292
%96 = OpConstant %19 15
%100 = OpConstant %5 4294967288
%103 = OpConstant %19 16
%108 = OpConstant %19 17
%113 = OpConstant %19 18
%118 = OpConstant %19 19
%123 = OpConstant %19 20
%127 = OpConstant %5 5
%132 = OpConstant %5 9
%137 = OpConstant %5 4294967291
%142 = OpConstant %5 4294967287
%3 = OpFunction %1 None %2
%4 = OpLabel
OpBranch %146
%146 = OpLabel
%14 = OpAccessChain %13 %12 %15
%16 = OpLoad %5 %14
%17 = OpShiftRightLogical %5 %16 %18
%21 = OpBitcast %5 %20
%23 = OpAccessChain %22 %9 %15 %17
OpStore %23 %21
%24 = OpShiftLeftLogical %5 %16 %25
%26 = OpShiftRightLogical %5 %24 %18
%28 = OpBitcast %5 %27
%29 = OpAccessChain %22 %9 %15 %26
OpStore %29 %28
%30 = OpIMul %5 %16 %31
%32 = OpShiftRightLogical %5 %30 %18
%34 = OpBitcast %5 %33
%35 = OpAccessChain %22 %9 %15 %32
OpStore %35 %34
%36 = OpShiftLeftLogical %5 %16 %18
%38 = OpBitcast %5 %37
%39 = OpAccessChain %22 %9 %15 %16
OpStore %39 %38
%40 = OpShiftLeftLogical %5 %16 %31
%41 = OpIMul %5 %16 %18
%43 = OpBitcast %5 %42
%44 = OpAccessChain %22 %9 %15 %41
OpStore %44 %43
%45 = OpIMul %5 %16 %46
%47 = OpIMul %5 %16 %31
%49 = OpBitcast %5 %48
%50 = OpAccessChain %22 %9 %15 %47
OpStore %50 %49
%52 = OpBitcast %5 %51
%53 = OpAccessChain %22 %9 %15 %16
OpStore %53 %52
%54 = OpIMul %5 %16 %18
%56 = OpBitcast %5 %55
%57 = OpAccessChain %22 %9 %15 %54
OpStore %57 %56
%58 = OpShiftLeftLogical %5 %16 %59
%60 = OpIMul %5 %16 %59
%62 = OpBitcast %5 %61
%63 = OpAccessChain %22 %9 %15 %60
OpStore %63 %62
%64 = OpBitwiseOr %5 %45 %25
%65 = OpShiftRightLogical %5 %64 %18
%67 = OpBitcast %5 %66
%68 = OpAccessChain %22 %9 %15 %65
OpStore %68 %67
%69 = OpBitwiseOr %5 %45 %18
%70 = OpShiftRightLogical %5 %69 %18
%72 = OpBitcast %5 %71
%73 = OpAccessChain %22 %9 %15 %70
OpStore %73 %72
%74 = OpBitwiseOr %5 %45 %31
%75 = OpShiftRightLogical %5 %74 %18
%77 = OpBitcast %5 %76
%78 = OpAccessChain %22 %9 %15 %75
OpStore %78 %77
%79 = OpIAdd %5 %45 %59
%80 = OpIMul %5 %16 %31
%81 = OpIAdd %5 %80 %25
%83 = OpBitcast %5 %82
%84 = OpAccessChain %22 %9 %15 %81
OpStore %84 %83
%85 = OpIAdd %5 %45 %86
%87 = OpIMul %5 %16 %31
%88 = OpIAdd %5 %87 %18
%90 = OpBitcast %5 %89
%91 = OpAccessChain %22 %9 %15 %88
OpStore %91 %90
%92 = OpIAdd %5 %45 %93
%94 = OpIMul %5 %16 %31
%95 = OpISub %5 %94 %25
%97 = OpBitcast %5 %96
%98 = OpAccessChain %22 %9 %15 %95
OpStore %98 %97
%99 = OpIAdd %5 %45 %100
%101 = OpIMul %5 %16 %31
%102 = OpISub %5 %101 %18
%104 = OpBitcast %5 %103
%105 = OpAccessChain %22 %9 %15 %102
OpStore %105 %104
%106 = OpIAdd %5 %16 %59
%107 = OpShiftRightLogical %5 %106 %18
%109 = OpBitcast %5 %108
%110 = OpAccessChain %22 %9 %15 %107
OpStore %110 %109
%111 = OpIAdd %5 %16 %86
%112 = OpShiftRightLogical %5 %111 %18
%114 = OpBitcast %5 %113
%115 = OpAccessChain %22 %9 %15 %112
OpStore %115 %114
%116 = OpIAdd %5 %16 %93
%117 = OpShiftRightLogical %5 %116 %18
%119 = OpBitcast %5 %118
%120 = OpAccessChain %22 %9 %15 %117
OpStore %120 %119
%121 = OpIAdd %5 %16 %100
%122 = OpShiftRightLogical %5 %121 %18
%124 = OpBitcast %5 %123
%125 = OpAccessChain %22 %9 %15 %122
OpStore %125 %124
%126 = OpIAdd %5 %16 %127
%128 = OpShiftRightLogical %5 %126 %18
%129 = OpBitcast %5 %108
%130 = OpAccessChain %22 %9 %15 %128
OpStore %130 %129
%131 = OpIAdd %5 %16 %132
%133 = OpShiftRightLogical %5 %131 %18
%134 = OpBitcast %5 %113
%135 = OpAccessChain %22 %9 %15 %133
OpStore %135 %134
%136 = OpIAdd %5 %16 %137
%138 = OpShiftRightLogical %5 %136 %18
%139 = OpBitcast %5 %118
%140 = OpAccessChain %22 %9 %15 %138
OpStore %140 %139
%141 = OpIAdd %5 %16 %142
%143 = OpShiftRightLogical %5 %141 %18
%144 = OpBitcast %5 %123
%145 = OpAccessChain %22 %9 %15 %143
OpStore %145 %144
OpReturn
OpFunctionEnd
#endif
