spv.atomic.comp
// Module Version 10000
// Generated by (magic number): 80006
// Id's are bound by 74

                              Capability Shader
                              Capability AtomicStorage
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main"
                              ExecutionMode 4 LocalSize 1 1 1
                              Source GLSL 450
                              Name 4  "main"
                              Name 10  "func(au1;"
                              Name 9  "c"
                              Name 12  "atoms("
                              Name 20  "counter"
                              Name 23  "val"
                              Name 27  "countArr"
                              Name 37  "origi"
                              Name 39  "atomi"
                              Name 42  "origu"
                              Name 44  "atomu"
                              Name 45  "value"
                              Name 62  "dataSSB"
                              MemberName 62(dataSSB) 0  "f"
                              MemberName 62(dataSSB) 1  "n_frames_rendered"
                              Name 64  "result"
                              Name 71  "arrX"
                              Name 72  "arrY"
                              Name 73  "arrZ"
                              Decorate 20(counter) Offset 0
                              Decorate 20(counter) Binding 0
                              Decorate 27(countArr) Offset 4
                              Decorate 27(countArr) Binding 0
                              MemberDecorate 62(dataSSB) 0 Restrict
                              MemberDecorate 62(dataSSB) 0 Offset 0
                              MemberDecorate 62(dataSSB) 1 Restrict
                              MemberDecorate 62(dataSSB) 1 Offset 16
                              Decorate 62(dataSSB) BufferBlock
                              Decorate 64(result) DescriptorSet 0
                              Decorate 64(result) Binding 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:             TypePointer AtomicCounter 6(int)
               8:             TypeFunction 6(int) 7(ptr)
              14:      6(int) Constant 1
              15:      6(int) Constant 0
              19:      6(int) Constant 1032
     20(counter):      7(ptr) Variable AtomicCounter
              22:             TypePointer Function 6(int)
              24:      6(int) Constant 4
              25:             TypeArray 6(int) 24
              26:             TypePointer AtomicCounter 25
    27(countArr):     26(ptr) Variable AtomicCounter
              28:             TypeInt 32 1
              29:     28(int) Constant 2
              33:     28(int) Constant 1
              36:             TypePointer Function 28(int)
              38:             TypePointer Workgroup 28(int)
       39(atomi):     38(ptr) Variable Workgroup
              40:     28(int) Constant 3
              43:             TypePointer Workgroup 6(int)
       44(atomu):     43(ptr) Variable Workgroup
       45(value):     43(ptr) Variable Workgroup
              48:      6(int) Constant 7
              53:     28(int) Constant 7
              57:      6(int) Constant 10
              60:             TypeFloat 32
              61:             TypeVector 28(int) 4
     62(dataSSB):             TypeStruct 60(float) 61(ivec4)
              63:             TypePointer Uniform 62(dataSSB)
      64(result):     63(ptr) Variable Uniform
              65:      6(int) Constant 2
              66:             TypePointer Uniform 28(int)
              69:             TypeArray 28(int) 14
              70:             TypePointer Private 69
        71(arrX):     70(ptr) Variable Private
        72(arrY):     70(ptr) Variable Private
        73(arrZ):     70(ptr) Variable Private
         4(main):           2 Function None 3
               5:             Label
         23(val):     22(ptr) Variable Function
                              MemoryBarrier 14 19
              21:      6(int) FunctionCall 10(func(au1;) 20(counter)
              30:      7(ptr) AccessChain 27(countArr) 29
              31:      6(int) AtomicLoad 30 14 15
                              Store 23(val) 31
              32:      6(int) AtomicIDecrement 20(counter) 14 15
              34:      6(int) ISub 32 33
              35:      6(int) AtomicIIncrement 20(counter) 14 15
                              Return
                              FunctionEnd
   10(func(au1;):      6(int) Function None 8
            9(c):      7(ptr) FunctionParameter
              11:             Label
              16:      6(int) AtomicIIncrement 9(c) 14 15
                              ReturnValue 16
                              FunctionEnd
      12(atoms():           2 Function None 3
              13:             Label
       37(origi):     36(ptr) Variable Function
       42(origu):     22(ptr) Variable Function
              41:     28(int) AtomicIAdd 39(atomi) 14 15 40
                              Store 37(origi) 41
              46:      6(int) Load 45(value)
              47:      6(int) AtomicAnd 44(atomu) 14 15 46
                              Store 42(origu) 47
              49:      6(int) AtomicOr 44(atomu) 14 15 48
                              Store 42(origu) 49
              50:      6(int) AtomicXor 44(atomu) 14 15 48
                              Store 42(origu) 50
              51:      6(int) Load 45(value)
              52:      6(int) AtomicUMin 44(atomu) 14 15 51
                              Store 42(origu) 52
              54:     28(int) AtomicSMax 39(atomi) 14 15 53
                              Store 37(origi) 54
              55:     28(int) Load 37(origi)
              56:     28(int) AtomicExchange 39(atomi) 14 15 55
                              Store 37(origi) 56
              58:      6(int) Load 45(value)
              59:      6(int) AtomicCompareExchange 44(atomu) 14 15 15 58 57
                              Store 42(origu) 59
              67:     66(ptr) AccessChain 64(result) 33 65
              68:     28(int) AtomicIAdd 67 14 15 33
                              Return
                              FunctionEnd
