hlsl.promote.atomic.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5  Function Definition: main( (temp 4-component vector of float)
0:5    Function Parameters: 
0:?     Sequence
0:13      move second child to first child (temp int)
0:13        'Orig' (temp int)
0:13        Convert uint to int (temp int)
0:13          imageAtomicAdd (temp uint)
0:13            's_uintbuff' (layout(r32ui ) uniform uimageBuffer)
0:13            'Loc' (temp int)
0:13            Convert int to uint (temp uint)
0:13              'Inc' (temp int)
0:15      Sequence
0:15        move second child to first child (temp 4-component vector of float)
0:?           '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:?           Constant:
0:?             0.000000
0:?             0.000000
0:?             0.000000
0:?             0.000000
0:15        Branch: Return
0:?   Linker Objects
0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:?     's_uintbuff' (layout(r32ui ) uniform uimageBuffer)


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5  Function Definition: main( (temp 4-component vector of float)
0:5    Function Parameters: 
0:?     Sequence
0:13      move second child to first child (temp int)
0:13        'Orig' (temp int)
0:13        Convert uint to int (temp int)
0:13          imageAtomicAdd (temp uint)
0:13            's_uintbuff' (layout(r32ui ) uniform uimageBuffer)
0:13            'Loc' (temp int)
0:13            Convert int to uint (temp uint)
0:13              'Inc' (temp int)
0:15      Sequence
0:15        move second child to first child (temp 4-component vector of float)
0:?           '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:?           Constant:
0:?             0.000000
0:?             0.000000
0:?             0.000000
0:?             0.000000
0:15        Branch: Return
0:?   Linker Objects
0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:?     's_uintbuff' (layout(r32ui ) uniform uimageBuffer)

// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 31

                              Capability Shader
                              Capability SampledBuffer
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 27
                              ExecutionMode 4 OriginUpperLeft
                              Name 4  "main"
                              Name 8  "Orig"
                              Name 12  "s_uintbuff"
                              Name 13  "Loc"
                              Name 15  "Inc"
                              Name 27  "@entryPointOutput"
                              Decorate 12(s_uintbuff) DescriptorSet 0
                              Decorate 27(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypePointer Function 6(int)
               9:             TypeInt 32 0
              10:             TypeImage 9(int) Buffer nonsampled format:R32ui
              11:             TypePointer UniformConstant 10
  12(s_uintbuff):     11(ptr) Variable UniformConstant
              18:      9(int) Constant 0
              19:             TypePointer Image 9(int)
              21:      9(int) Constant 1
              24:             TypeFloat 32
              25:             TypeVector 24(float) 4
              26:             TypePointer Output 25(fvec4)
27(@entryPointOutput):     26(ptr) Variable Output
              28:   24(float) Constant 0
              29:   25(fvec4) ConstantComposite 28 28 28 28
         4(main):           2 Function None 3
               5:             Label
         8(Orig):      7(ptr) Variable Function
         13(Loc):      7(ptr) Variable Function
         15(Inc):      7(ptr) Variable Function
              14:      6(int) Load 13(Loc)
              16:      6(int) Load 15(Inc)
              17:      9(int) Bitcast 16
              20:     19(ptr) ImageTexelPointer 12(s_uintbuff) 14 18
              22:      9(int) AtomicIAdd 20 21 18 17
              23:      6(int) Bitcast 22
                              Store 8(Orig) 23
                              Store 27(@entryPointOutput) 29
                              Return
                              FunctionEnd
