1617a3babSopenharmony_cihlsl.earlydepthstencil.frag
2617a3babSopenharmony_ciShader version: 500
3617a3babSopenharmony_cigl_FragCoord origin is upper left
4617a3babSopenharmony_ciusing early_fragment_tests
5617a3babSopenharmony_ci0:? Sequence
6617a3babSopenharmony_ci0:8  Function Definition: @main(struct-InputStruct-vf41; ( temp uint)
7617a3babSopenharmony_ci0:8    Function Parameters: 
8617a3babSopenharmony_ci0:8      'input' ( in structure{ temp 4-component vector of float Position})
9617a3babSopenharmony_ci0:?     Sequence
10617a3babSopenharmony_ci0:10      move second child to first child ( temp uint)
11617a3babSopenharmony_ci0:10        'oldVal' ( temp uint)
12617a3babSopenharmony_ci0:10        imageAtomicExchange ( temp uint)
13617a3babSopenharmony_ci0:10          'Values' (layout( r32ui) uniform uimage2D)
14617a3babSopenharmony_ci0:10          Construct uvec2 ( temp 2-component vector of uint)
15617a3babSopenharmony_ci0:10            Convert float to uint ( temp uint)
16617a3babSopenharmony_ci0:10              direct index ( temp float)
17617a3babSopenharmony_ci0:10                Position: direct index for structure ( temp 4-component vector of float)
18617a3babSopenharmony_ci0:10                  'input' ( in structure{ temp 4-component vector of float Position})
19617a3babSopenharmony_ci0:10                  Constant:
20617a3babSopenharmony_ci0:10                    0 (const int)
21617a3babSopenharmony_ci0:10                Constant:
22617a3babSopenharmony_ci0:10                  0 (const int)
23617a3babSopenharmony_ci0:10            Convert float to uint ( temp uint)
24617a3babSopenharmony_ci0:10              direct index ( temp float)
25617a3babSopenharmony_ci0:10                Position: direct index for structure ( temp 4-component vector of float)
26617a3babSopenharmony_ci0:10                  'input' ( in structure{ temp 4-component vector of float Position})
27617a3babSopenharmony_ci0:10                  Constant:
28617a3babSopenharmony_ci0:10                    0 (const int)
29617a3babSopenharmony_ci0:10                Constant:
30617a3babSopenharmony_ci0:10                  1 (const int)
31617a3babSopenharmony_ci0:10          Constant:
32617a3babSopenharmony_ci0:10            1 (const uint)
33617a3babSopenharmony_ci0:11      Branch: Return with expression
34617a3babSopenharmony_ci0:11        'oldVal' ( temp uint)
35617a3babSopenharmony_ci0:8  Function Definition: main( ( temp void)
36617a3babSopenharmony_ci0:8    Function Parameters: 
37617a3babSopenharmony_ci0:?     Sequence
38617a3babSopenharmony_ci0:8      Sequence
39617a3babSopenharmony_ci0:8        move second child to first child ( temp 4-component vector of float)
40617a3babSopenharmony_ci0:8          Position: direct index for structure ( temp 4-component vector of float)
41617a3babSopenharmony_ci0:?             'input' ( temp structure{ temp 4-component vector of float Position})
42617a3babSopenharmony_ci0:8            Constant:
43617a3babSopenharmony_ci0:8              0 (const int)
44617a3babSopenharmony_ci0:?           'input.Position' ( in 4-component vector of float FragCoord)
45617a3babSopenharmony_ci0:8      move second child to first child ( temp uint)
46617a3babSopenharmony_ci0:?         '@entryPointOutput' (layout( location=0) out uint)
47617a3babSopenharmony_ci0:8        Function Call: @main(struct-InputStruct-vf41; ( temp uint)
48617a3babSopenharmony_ci0:?           'input' ( temp structure{ temp 4-component vector of float Position})
49617a3babSopenharmony_ci0:?   Linker Objects
50617a3babSopenharmony_ci0:?     'Values' (layout( r32ui) uniform uimage2D)
51617a3babSopenharmony_ci0:?     '@entryPointOutput' (layout( location=0) out uint)
52617a3babSopenharmony_ci0:?     'input.Position' ( in 4-component vector of float FragCoord)
53617a3babSopenharmony_ci
54617a3babSopenharmony_ci
55617a3babSopenharmony_ciLinked fragment stage:
56617a3babSopenharmony_ci
57617a3babSopenharmony_ci
58617a3babSopenharmony_ciShader version: 500
59617a3babSopenharmony_cigl_FragCoord origin is upper left
60617a3babSopenharmony_ciusing early_fragment_tests
61617a3babSopenharmony_ci0:? Sequence
62617a3babSopenharmony_ci0:8  Function Definition: @main(struct-InputStruct-vf41; ( temp uint)
63617a3babSopenharmony_ci0:8    Function Parameters: 
64617a3babSopenharmony_ci0:8      'input' ( in structure{ temp 4-component vector of float Position})
65617a3babSopenharmony_ci0:?     Sequence
66617a3babSopenharmony_ci0:10      move second child to first child ( temp uint)
67617a3babSopenharmony_ci0:10        'oldVal' ( temp uint)
68617a3babSopenharmony_ci0:10        imageAtomicExchange ( temp uint)
69617a3babSopenharmony_ci0:10          'Values' (layout( r32ui) uniform uimage2D)
70617a3babSopenharmony_ci0:10          Construct uvec2 ( temp 2-component vector of uint)
71617a3babSopenharmony_ci0:10            Convert float to uint ( temp uint)
72617a3babSopenharmony_ci0:10              direct index ( temp float)
73617a3babSopenharmony_ci0:10                Position: direct index for structure ( temp 4-component vector of float)
74617a3babSopenharmony_ci0:10                  'input' ( in structure{ temp 4-component vector of float Position})
75617a3babSopenharmony_ci0:10                  Constant:
76617a3babSopenharmony_ci0:10                    0 (const int)
77617a3babSopenharmony_ci0:10                Constant:
78617a3babSopenharmony_ci0:10                  0 (const int)
79617a3babSopenharmony_ci0:10            Convert float to uint ( temp uint)
80617a3babSopenharmony_ci0:10              direct index ( temp float)
81617a3babSopenharmony_ci0:10                Position: direct index for structure ( temp 4-component vector of float)
82617a3babSopenharmony_ci0:10                  'input' ( in structure{ temp 4-component vector of float Position})
83617a3babSopenharmony_ci0:10                  Constant:
84617a3babSopenharmony_ci0:10                    0 (const int)
85617a3babSopenharmony_ci0:10                Constant:
86617a3babSopenharmony_ci0:10                  1 (const int)
87617a3babSopenharmony_ci0:10          Constant:
88617a3babSopenharmony_ci0:10            1 (const uint)
89617a3babSopenharmony_ci0:11      Branch: Return with expression
90617a3babSopenharmony_ci0:11        'oldVal' ( temp uint)
91617a3babSopenharmony_ci0:8  Function Definition: main( ( temp void)
92617a3babSopenharmony_ci0:8    Function Parameters: 
93617a3babSopenharmony_ci0:?     Sequence
94617a3babSopenharmony_ci0:8      Sequence
95617a3babSopenharmony_ci0:8        move second child to first child ( temp 4-component vector of float)
96617a3babSopenharmony_ci0:8          Position: direct index for structure ( temp 4-component vector of float)
97617a3babSopenharmony_ci0:?             'input' ( temp structure{ temp 4-component vector of float Position})
98617a3babSopenharmony_ci0:8            Constant:
99617a3babSopenharmony_ci0:8              0 (const int)
100617a3babSopenharmony_ci0:?           'input.Position' ( in 4-component vector of float FragCoord)
101617a3babSopenharmony_ci0:8      move second child to first child ( temp uint)
102617a3babSopenharmony_ci0:?         '@entryPointOutput' (layout( location=0) out uint)
103617a3babSopenharmony_ci0:8        Function Call: @main(struct-InputStruct-vf41; ( temp uint)
104617a3babSopenharmony_ci0:?           'input' ( temp structure{ temp 4-component vector of float Position})
105617a3babSopenharmony_ci0:?   Linker Objects
106617a3babSopenharmony_ci0:?     'Values' (layout( r32ui) uniform uimage2D)
107617a3babSopenharmony_ci0:?     '@entryPointOutput' (layout( location=0) out uint)
108617a3babSopenharmony_ci0:?     'input.Position' ( in 4-component vector of float FragCoord)
109617a3babSopenharmony_ci
110617a3babSopenharmony_ci// Module Version 10000
111617a3babSopenharmony_ci// Generated by (magic number): 8000b
112617a3babSopenharmony_ci// Id's are bound by 50
113617a3babSopenharmony_ci
114617a3babSopenharmony_ci                              Capability Shader
115617a3babSopenharmony_ci               1:             ExtInstImport  "GLSL.std.450"
116617a3babSopenharmony_ci                              MemoryModel Logical GLSL450
117617a3babSopenharmony_ci                              EntryPoint Fragment 4  "main" 41 46
118617a3babSopenharmony_ci                              ExecutionMode 4 OriginUpperLeft
119617a3babSopenharmony_ci                              ExecutionMode 4 EarlyFragmentTests
120617a3babSopenharmony_ci                              Source HLSL 500
121617a3babSopenharmony_ci                              Name 4  "main"
122617a3babSopenharmony_ci                              Name 8  "InputStruct"
123617a3babSopenharmony_ci                              MemberName 8(InputStruct) 0  "Position"
124617a3babSopenharmony_ci                              Name 13  "@main(struct-InputStruct-vf41;"
125617a3babSopenharmony_ci                              Name 12  "input"
126617a3babSopenharmony_ci                              Name 16  "oldVal"
127617a3babSopenharmony_ci                              Name 19  "Values"
128617a3babSopenharmony_ci                              Name 39  "input"
129617a3babSopenharmony_ci                              Name 41  "input.Position"
130617a3babSopenharmony_ci                              Name 46  "@entryPointOutput"
131617a3babSopenharmony_ci                              Name 47  "param"
132617a3babSopenharmony_ci                              Decorate 19(Values) DescriptorSet 0
133617a3babSopenharmony_ci                              Decorate 19(Values) Binding 0
134617a3babSopenharmony_ci                              Decorate 41(input.Position) BuiltIn FragCoord
135617a3babSopenharmony_ci                              Decorate 46(@entryPointOutput) Location 0
136617a3babSopenharmony_ci               2:             TypeVoid
137617a3babSopenharmony_ci               3:             TypeFunction 2
138617a3babSopenharmony_ci               6:             TypeFloat 32
139617a3babSopenharmony_ci               7:             TypeVector 6(float) 4
140617a3babSopenharmony_ci  8(InputStruct):             TypeStruct 7(fvec4)
141617a3babSopenharmony_ci               9:             TypePointer Function 8(InputStruct)
142617a3babSopenharmony_ci              10:             TypeInt 32 0
143617a3babSopenharmony_ci              11:             TypeFunction 10(int) 9(ptr)
144617a3babSopenharmony_ci              15:             TypePointer Function 10(int)
145617a3babSopenharmony_ci              17:             TypeImage 10(int) 2D nonsampled format:R32ui
146617a3babSopenharmony_ci              18:             TypePointer UniformConstant 17
147617a3babSopenharmony_ci      19(Values):     18(ptr) Variable UniformConstant
148617a3babSopenharmony_ci              20:             TypeInt 32 1
149617a3babSopenharmony_ci              21:     20(int) Constant 0
150617a3babSopenharmony_ci              22:     10(int) Constant 0
151617a3babSopenharmony_ci              23:             TypePointer Function 6(float)
152617a3babSopenharmony_ci              27:     10(int) Constant 1
153617a3babSopenharmony_ci              31:             TypeVector 10(int) 2
154617a3babSopenharmony_ci              33:             TypePointer Image 10(int)
155617a3babSopenharmony_ci              40:             TypePointer Input 7(fvec4)
156617a3babSopenharmony_ci41(input.Position):     40(ptr) Variable Input
157617a3babSopenharmony_ci              43:             TypePointer Function 7(fvec4)
158617a3babSopenharmony_ci              45:             TypePointer Output 10(int)
159617a3babSopenharmony_ci46(@entryPointOutput):     45(ptr) Variable Output
160617a3babSopenharmony_ci         4(main):           2 Function None 3
161617a3babSopenharmony_ci               5:             Label
162617a3babSopenharmony_ci       39(input):      9(ptr) Variable Function
163617a3babSopenharmony_ci       47(param):      9(ptr) Variable Function
164617a3babSopenharmony_ci              42:    7(fvec4) Load 41(input.Position)
165617a3babSopenharmony_ci              44:     43(ptr) AccessChain 39(input) 21
166617a3babSopenharmony_ci                              Store 44 42
167617a3babSopenharmony_ci              48:8(InputStruct) Load 39(input)
168617a3babSopenharmony_ci                              Store 47(param) 48
169617a3babSopenharmony_ci              49:     10(int) FunctionCall 13(@main(struct-InputStruct-vf41;) 47(param)
170617a3babSopenharmony_ci                              Store 46(@entryPointOutput) 49
171617a3babSopenharmony_ci                              Return
172617a3babSopenharmony_ci                              FunctionEnd
173617a3babSopenharmony_ci13(@main(struct-InputStruct-vf41;):     10(int) Function None 11
174617a3babSopenharmony_ci       12(input):      9(ptr) FunctionParameter
175617a3babSopenharmony_ci              14:             Label
176617a3babSopenharmony_ci      16(oldVal):     15(ptr) Variable Function
177617a3babSopenharmony_ci              24:     23(ptr) AccessChain 12(input) 21 22
178617a3babSopenharmony_ci              25:    6(float) Load 24
179617a3babSopenharmony_ci              26:     10(int) ConvertFToU 25
180617a3babSopenharmony_ci              28:     23(ptr) AccessChain 12(input) 21 27
181617a3babSopenharmony_ci              29:    6(float) Load 28
182617a3babSopenharmony_ci              30:     10(int) ConvertFToU 29
183617a3babSopenharmony_ci              32:   31(ivec2) CompositeConstruct 26 30
184617a3babSopenharmony_ci              34:     33(ptr) ImageTexelPointer 19(Values) 32 22
185617a3babSopenharmony_ci              35:     10(int) AtomicExchange 34 27 22 27
186617a3babSopenharmony_ci                              Store 16(oldVal) 35
187617a3babSopenharmony_ci              36:     10(int) Load 16(oldVal)
188617a3babSopenharmony_ci                              ReturnValue 36
189617a3babSopenharmony_ci                              FunctionEnd
190