hlsl.earlydepthstencil.frag
Shader version: 500
gl_FragCoord origin is upper left
using early_fragment_tests
0:? Sequence
0:8  Function Definition: @main(struct-InputStruct-vf41; ( temp uint)
0:8    Function Parameters: 
0:8      'input' ( in structure{ temp 4-component vector of float Position})
0:?     Sequence
0:10      move second child to first child ( temp uint)
0:10        'oldVal' ( temp uint)
0:10        imageAtomicExchange ( temp uint)
0:10          'Values' (layout( r32ui) uniform uimage2D)
0:10          Construct uvec2 ( temp 2-component vector of uint)
0:10            Convert float to uint ( temp uint)
0:10              direct index ( temp float)
0:10                Position: direct index for structure ( temp 4-component vector of float)
0:10                  'input' ( in structure{ temp 4-component vector of float Position})
0:10                  Constant:
0:10                    0 (const int)
0:10                Constant:
0:10                  0 (const int)
0:10            Convert float to uint ( temp uint)
0:10              direct index ( temp float)
0:10                Position: direct index for structure ( temp 4-component vector of float)
0:10                  'input' ( in structure{ temp 4-component vector of float Position})
0:10                  Constant:
0:10                    0 (const int)
0:10                Constant:
0:10                  1 (const int)
0:10          Constant:
0:10            1 (const uint)
0:11      Branch: Return with expression
0:11        'oldVal' ( temp uint)
0:8  Function Definition: main( ( temp void)
0:8    Function Parameters: 
0:?     Sequence
0:8      Sequence
0:8        move second child to first child ( temp 4-component vector of float)
0:8          Position: direct index for structure ( temp 4-component vector of float)
0:?             'input' ( temp structure{ temp 4-component vector of float Position})
0:8            Constant:
0:8              0 (const int)
0:?           'input.Position' ( in 4-component vector of float FragCoord)
0:8      move second child to first child ( temp uint)
0:?         '@entryPointOutput' (layout( location=0) out uint)
0:8        Function Call: @main(struct-InputStruct-vf41; ( temp uint)
0:?           'input' ( temp structure{ temp 4-component vector of float Position})
0:?   Linker Objects
0:?     'Values' (layout( r32ui) uniform uimage2D)
0:?     '@entryPointOutput' (layout( location=0) out uint)
0:?     'input.Position' ( in 4-component vector of float FragCoord)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
using early_fragment_tests
0:? Sequence
0:8  Function Definition: @main(struct-InputStruct-vf41; ( temp uint)
0:8    Function Parameters: 
0:8      'input' ( in structure{ temp 4-component vector of float Position})
0:?     Sequence
0:10      move second child to first child ( temp uint)
0:10        'oldVal' ( temp uint)
0:10        imageAtomicExchange ( temp uint)
0:10          'Values' (layout( r32ui) uniform uimage2D)
0:10          Construct uvec2 ( temp 2-component vector of uint)
0:10            Convert float to uint ( temp uint)
0:10              direct index ( temp float)
0:10                Position: direct index for structure ( temp 4-component vector of float)
0:10                  'input' ( in structure{ temp 4-component vector of float Position})
0:10                  Constant:
0:10                    0 (const int)
0:10                Constant:
0:10                  0 (const int)
0:10            Convert float to uint ( temp uint)
0:10              direct index ( temp float)
0:10                Position: direct index for structure ( temp 4-component vector of float)
0:10                  'input' ( in structure{ temp 4-component vector of float Position})
0:10                  Constant:
0:10                    0 (const int)
0:10                Constant:
0:10                  1 (const int)
0:10          Constant:
0:10            1 (const uint)
0:11      Branch: Return with expression
0:11        'oldVal' ( temp uint)
0:8  Function Definition: main( ( temp void)
0:8    Function Parameters: 
0:?     Sequence
0:8      Sequence
0:8        move second child to first child ( temp 4-component vector of float)
0:8          Position: direct index for structure ( temp 4-component vector of float)
0:?             'input' ( temp structure{ temp 4-component vector of float Position})
0:8            Constant:
0:8              0 (const int)
0:?           'input.Position' ( in 4-component vector of float FragCoord)
0:8      move second child to first child ( temp uint)
0:?         '@entryPointOutput' (layout( location=0) out uint)
0:8        Function Call: @main(struct-InputStruct-vf41; ( temp uint)
0:?           'input' ( temp structure{ temp 4-component vector of float Position})
0:?   Linker Objects
0:?     'Values' (layout( r32ui) uniform uimage2D)
0:?     '@entryPointOutput' (layout( location=0) out uint)
0:?     'input.Position' ( in 4-component vector of float FragCoord)

// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 50

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 41 46
                              ExecutionMode 4 OriginUpperLeft
                              ExecutionMode 4 EarlyFragmentTests
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "InputStruct"
                              MemberName 8(InputStruct) 0  "Position"
                              Name 13  "@main(struct-InputStruct-vf41;"
                              Name 12  "input"
                              Name 16  "oldVal"
                              Name 19  "Values"
                              Name 39  "input"
                              Name 41  "input.Position"
                              Name 46  "@entryPointOutput"
                              Name 47  "param"
                              Decorate 19(Values) DescriptorSet 0
                              Decorate 19(Values) Binding 0
                              Decorate 41(input.Position) BuiltIn FragCoord
                              Decorate 46(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
  8(InputStruct):             TypeStruct 7(fvec4)
               9:             TypePointer Function 8(InputStruct)
              10:             TypeInt 32 0
              11:             TypeFunction 10(int) 9(ptr)
              15:             TypePointer Function 10(int)
              17:             TypeImage 10(int) 2D nonsampled format:R32ui
              18:             TypePointer UniformConstant 17
      19(Values):     18(ptr) Variable UniformConstant
              20:             TypeInt 32 1
              21:     20(int) Constant 0
              22:     10(int) Constant 0
              23:             TypePointer Function 6(float)
              27:     10(int) Constant 1
              31:             TypeVector 10(int) 2
              33:             TypePointer Image 10(int)
              40:             TypePointer Input 7(fvec4)
41(input.Position):     40(ptr) Variable Input
              43:             TypePointer Function 7(fvec4)
              45:             TypePointer Output 10(int)
46(@entryPointOutput):     45(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
       39(input):      9(ptr) Variable Function
       47(param):      9(ptr) Variable Function
              42:    7(fvec4) Load 41(input.Position)
              44:     43(ptr) AccessChain 39(input) 21
                              Store 44 42
              48:8(InputStruct) Load 39(input)
                              Store 47(param) 48
              49:     10(int) FunctionCall 13(@main(struct-InputStruct-vf41;) 47(param)
                              Store 46(@entryPointOutput) 49
                              Return
                              FunctionEnd
13(@main(struct-InputStruct-vf41;):     10(int) Function None 11
       12(input):      9(ptr) FunctionParameter
              14:             Label
      16(oldVal):     15(ptr) Variable Function
              24:     23(ptr) AccessChain 12(input) 21 22
              25:    6(float) Load 24
              26:     10(int) ConvertFToU 25
              28:     23(ptr) AccessChain 12(input) 21 27
              29:    6(float) Load 28
              30:     10(int) ConvertFToU 29
              32:   31(ivec2) CompositeConstruct 26 30
              34:     33(ptr) ImageTexelPointer 19(Values) 32 22
              35:     10(int) AtomicExchange 34 27 22 27
                              Store 16(oldVal) 35
              36:     10(int) Load 16(oldVal)
                              ReturnValue 36
                              FunctionEnd
