spv.atomiAddEXT.task
// Module Version 10400
// Generated by (magic number): 8000b
// Id's are bound by 34

                              Capability MeshShadingEXT
                              Extension  "SPV_EXT_mesh_shader"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint TaskEXT 4  "main" 9 23 28
                              ExecutionMode 4 LocalSize 1 1 1
                              Source GLSL 460
                              SourceExtension  "GL_EXT_mesh_shader"
                              Name 4  "main"
                              Name 7  "Buffer"
                              MemberName 7(Buffer) 0  "x"
                              Name 9  ""
                              Name 20  "structType"
                              MemberName 20(structType) 0  "y"
                              Name 21  "t2"
                              MemberName 21(t2) 0  "f"
                              Name 23  "t"
                              Name 26  "taskBlock"
                              MemberName 26(taskBlock) 0  "atom1"
                              Name 28  "mytask"
                              MemberDecorate 7(Buffer) 0 Coherent
                              MemberDecorate 7(Buffer) 0 Offset 0
                              Decorate 7(Buffer) Block
                              Decorate 9 DescriptorSet 0
                              Decorate 9 Binding 1
                              Decorate 19 ArrayStride 4
                              MemberDecorate 20(structType) 0 Offset 0
                              MemberDecorate 21(t2) 0 Offset 0
                              Decorate 21(t2) Block
                              Decorate 23(t) DescriptorSet 0
                              Decorate 23(t) Binding 0
                              Decorate 33 BuiltIn WorkgroupSize
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
       7(Buffer):             TypeStruct 6(int)
               8:             TypePointer StorageBuffer 7(Buffer)
               9:      8(ptr) Variable StorageBuffer
              10:      6(int) Constant 0
              11:             TypePointer StorageBuffer 6(int)
              13:      6(int) Constant 1
              14:             TypeInt 32 0
              15:     14(int) Constant 1
              16:     14(int) Constant 0
              18:     14(int) Constant 3
              19:             TypeArray 6(int) 18
  20(structType):             TypeStruct 19
          21(t2):             TypeStruct 20(structType)
              22:             TypePointer StorageBuffer 21(t2)
           23(t):     22(ptr) Variable StorageBuffer
   26(taskBlock):             TypeStruct 6(int)
              27:             TypePointer TaskPayloadWorkgroupEXT 26(taskBlock)
      28(mytask):     27(ptr) Variable TaskPayloadWorkgroupEXT
              29:             TypePointer TaskPayloadWorkgroupEXT 6(int)
              32:             TypeVector 14(int) 3
              33:   32(ivec3) ConstantComposite 15 15 15
         4(main):           2 Function None 3
               5:             Label
              12:     11(ptr) AccessChain 9 10
              17:      6(int) AtomicIAdd 12 15 16 13
              24:     11(ptr) AccessChain 23(t) 10 10 13
              25:      6(int) AtomicIAdd 24 15 16 13
              30:     29(ptr) AccessChain 28(mytask) 10
              31:      6(int) AtomicIAdd 30 15 16 13
                              Return
                              FunctionEnd
