• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1hlsl.earlydepthstencil.frag
2Shader version: 500
3gl_FragCoord origin is upper left
4using early_fragment_tests
50:? Sequence
60:8  Function Definition: @main(struct-InputStruct-vf41; ( temp uint)
70:8    Function Parameters:
80:8      'input' ( in structure{ temp 4-component vector of float Position})
90:?     Sequence
100:10      move second child to first child ( temp uint)
110:10        'oldVal' ( temp uint)
120:10        imageAtomicExchange ( temp uint)
130:10          'Values' (layout( r32ui) uniform uimage2D)
140:?           Construct uvec2 ( temp 2-component vector of uint)
150:10            Convert float to uint ( temp uint)
160:10              direct index ( temp float)
170:10                Position: direct index for structure ( temp 4-component vector of float)
180:10                  'input' ( in structure{ temp 4-component vector of float Position})
190:10                  Constant:
200:10                    0 (const int)
210:10                Constant:
220:10                  0 (const int)
230:10            Convert float to uint ( temp uint)
240:10              direct index ( temp float)
250:10                Position: direct index for structure ( temp 4-component vector of float)
260:10                  'input' ( in structure{ temp 4-component vector of float Position})
270:10                  Constant:
280:10                    0 (const int)
290:10                Constant:
300:10                  1 (const int)
310:10          Constant:
320:10            1 (const uint)
330:11      Branch: Return with expression
340:11        'oldVal' ( temp uint)
350:8  Function Definition: main( ( temp void)
360:8    Function Parameters:
370:?     Sequence
380:8      Sequence
390:8        move second child to first child ( temp 4-component vector of float)
400:8          Position: direct index for structure ( temp 4-component vector of float)
410:?             'input' ( temp structure{ temp 4-component vector of float Position})
420:8            Constant:
430:8              0 (const int)
440:?           'input.Position' ( in 4-component vector of float FragCoord)
450:8      move second child to first child ( temp uint)
460:?         '@entryPointOutput' (layout( location=0) out uint)
470:8        Function Call: @main(struct-InputStruct-vf41; ( temp uint)
480:?           'input' ( temp structure{ temp 4-component vector of float Position})
490:?   Linker Objects
500:?     'Values' (layout( r32ui) uniform uimage2D)
510:?     '@entryPointOutput' (layout( location=0) out uint)
520:?     'input.Position' ( in 4-component vector of float FragCoord)
53
54
55Linked fragment stage:
56
57
58Shader version: 500
59gl_FragCoord origin is upper left
60using early_fragment_tests
610:? Sequence
620:8  Function Definition: @main(struct-InputStruct-vf41; ( temp uint)
630:8    Function Parameters:
640:8      'input' ( in structure{ temp 4-component vector of float Position})
650:?     Sequence
660:10      move second child to first child ( temp uint)
670:10        'oldVal' ( temp uint)
680:10        imageAtomicExchange ( temp uint)
690:10          'Values' (layout( r32ui) uniform uimage2D)
700:?           Construct uvec2 ( temp 2-component vector of uint)
710:10            Convert float to uint ( temp uint)
720:10              direct index ( temp float)
730:10                Position: direct index for structure ( temp 4-component vector of float)
740:10                  'input' ( in structure{ temp 4-component vector of float Position})
750:10                  Constant:
760:10                    0 (const int)
770:10                Constant:
780:10                  0 (const int)
790:10            Convert float to uint ( temp uint)
800:10              direct index ( temp float)
810:10                Position: direct index for structure ( temp 4-component vector of float)
820:10                  'input' ( in structure{ temp 4-component vector of float Position})
830:10                  Constant:
840:10                    0 (const int)
850:10                Constant:
860:10                  1 (const int)
870:10          Constant:
880:10            1 (const uint)
890:11      Branch: Return with expression
900:11        'oldVal' ( temp uint)
910:8  Function Definition: main( ( temp void)
920:8    Function Parameters:
930:?     Sequence
940:8      Sequence
950:8        move second child to first child ( temp 4-component vector of float)
960:8          Position: direct index for structure ( temp 4-component vector of float)
970:?             'input' ( temp structure{ temp 4-component vector of float Position})
980:8            Constant:
990:8              0 (const int)
1000:?           'input.Position' ( in 4-component vector of float FragCoord)
1010:8      move second child to first child ( temp uint)
1020:?         '@entryPointOutput' (layout( location=0) out uint)
1030:8        Function Call: @main(struct-InputStruct-vf41; ( temp uint)
1040:?           'input' ( temp structure{ temp 4-component vector of float Position})
1050:?   Linker Objects
1060:?     'Values' (layout( r32ui) uniform uimage2D)
1070:?     '@entryPointOutput' (layout( location=0) out uint)
1080:?     'input.Position' ( in 4-component vector of float FragCoord)
109
110// Module Version 10000
111// Generated by (magic number): 8000a
112// Id's are bound by 50
113
114                              Capability Shader
115               1:             ExtInstImport  "GLSL.std.450"
116                              MemoryModel Logical GLSL450
117                              EntryPoint Fragment 4  "main" 41 46
118                              ExecutionMode 4 OriginUpperLeft
119                              ExecutionMode 4 EarlyFragmentTests
120                              Source HLSL 500
121                              Name 4  "main"
122                              Name 8  "InputStruct"
123                              MemberName 8(InputStruct) 0  "Position"
124                              Name 13  "@main(struct-InputStruct-vf41;"
125                              Name 12  "input"
126                              Name 16  "oldVal"
127                              Name 19  "Values"
128                              Name 39  "input"
129                              Name 41  "input.Position"
130                              Name 46  "@entryPointOutput"
131                              Name 47  "param"
132                              Decorate 19(Values) DescriptorSet 0
133                              Decorate 19(Values) Binding 0
134                              Decorate 41(input.Position) BuiltIn FragCoord
135                              Decorate 46(@entryPointOutput) Location 0
136               2:             TypeVoid
137               3:             TypeFunction 2
138               6:             TypeFloat 32
139               7:             TypeVector 6(float) 4
140  8(InputStruct):             TypeStruct 7(fvec4)
141               9:             TypePointer Function 8(InputStruct)
142              10:             TypeInt 32 0
143              11:             TypeFunction 10(int) 9(ptr)
144              15:             TypePointer Function 10(int)
145              17:             TypeImage 10(int) 2D nonsampled format:R32ui
146              18:             TypePointer UniformConstant 17
147      19(Values):     18(ptr) Variable UniformConstant
148              20:             TypeInt 32 1
149              21:     20(int) Constant 0
150              22:     10(int) Constant 0
151              23:             TypePointer Function 6(float)
152              27:     10(int) Constant 1
153              31:             TypeVector 10(int) 2
154              33:             TypePointer Image 10(int)
155              40:             TypePointer Input 7(fvec4)
15641(input.Position):     40(ptr) Variable Input
157              43:             TypePointer Function 7(fvec4)
158              45:             TypePointer Output 10(int)
15946(@entryPointOutput):     45(ptr) Variable Output
160         4(main):           2 Function None 3
161               5:             Label
162       39(input):      9(ptr) Variable Function
163       47(param):      9(ptr) Variable Function
164              42:    7(fvec4) Load 41(input.Position)
165              44:     43(ptr) AccessChain 39(input) 21
166                              Store 44 42
167              48:8(InputStruct) Load 39(input)
168                              Store 47(param) 48
169              49:     10(int) FunctionCall 13(@main(struct-InputStruct-vf41;) 47(param)
170                              Store 46(@entryPointOutput) 49
171                              Return
172                              FunctionEnd
17313(@main(struct-InputStruct-vf41;):     10(int) Function None 11
174       12(input):      9(ptr) FunctionParameter
175              14:             Label
176      16(oldVal):     15(ptr) Variable Function
177              24:     23(ptr) AccessChain 12(input) 21 22
178              25:    6(float) Load 24
179              26:     10(int) ConvertFToU 25
180              28:     23(ptr) AccessChain 12(input) 21 27
181              29:    6(float) Load 28
182              30:     10(int) ConvertFToU 29
183              32:   31(ivec2) CompositeConstruct 26 30
184              34:     33(ptr) ImageTexelPointer 19(Values) 32 22
185              35:     10(int) AtomicExchange 34 27 22 27
186                              Store 16(oldVal) 35
187              36:     10(int) Load 16(oldVal)
188                              ReturnValue 36
189                              FunctionEnd
190