1617a3babSopenharmony_cihlsl.structbuffer.append.fn.frag
2617a3babSopenharmony_ciShader version: 500
3617a3babSopenharmony_cigl_FragCoord origin is upper left
4617a3babSopenharmony_ci0:? Sequence
5617a3babSopenharmony_ci0:8  Function Definition: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
6617a3babSopenharmony_ci0:8    Function Parameters: 
7617a3babSopenharmony_ci0:8      'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
8617a3babSopenharmony_ci0:8      'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
9617a3babSopenharmony_ci0:8      'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
10617a3babSopenharmony_ci0:8      'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
11617a3babSopenharmony_ci0:?     Sequence
12617a3babSopenharmony_ci0:9      move second child to first child ( temp 4-component vector of float)
13617a3babSopenharmony_ci0:9        indirect index ( buffer 4-component vector of float)
14617a3babSopenharmony_ci0:9          @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float)
15617a3babSopenharmony_ci0:9            'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
16617a3babSopenharmony_ci0:9            Constant:
17617a3babSopenharmony_ci0:9              0 (const uint)
18617a3babSopenharmony_ci0:9          AtomicAdd ( temp uint)
19617a3babSopenharmony_ci0:9            @count: direct index for structure ( temp uint)
20617a3babSopenharmony_ci0:9              'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
21617a3babSopenharmony_ci0:9              Constant:
22617a3babSopenharmony_ci0:9                0 (const int)
23617a3babSopenharmony_ci0:9            Constant:
24617a3babSopenharmony_ci0:9              1 (const uint)
25617a3babSopenharmony_ci0:9        Constant:
26617a3babSopenharmony_ci0:9          1.000000
27617a3babSopenharmony_ci0:9          2.000000
28617a3babSopenharmony_ci0:9          3.000000
29617a3babSopenharmony_ci0:9          4.000000
30617a3babSopenharmony_ci0:10      Branch: Return with expression
31617a3babSopenharmony_ci0:10        indirect index ( buffer 4-component vector of float)
32617a3babSopenharmony_ci0:10          @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float)
33617a3babSopenharmony_ci0:10            'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
34617a3babSopenharmony_ci0:10            Constant:
35617a3babSopenharmony_ci0:10              0 (const uint)
36617a3babSopenharmony_ci0:10          add ( temp uint)
37617a3babSopenharmony_ci0:10            AtomicAdd ( temp uint)
38617a3babSopenharmony_ci0:10              @count: direct index for structure ( temp uint)
39617a3babSopenharmony_ci0:10                'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
40617a3babSopenharmony_ci0:10                Constant:
41617a3babSopenharmony_ci0:10                  0 (const int)
42617a3babSopenharmony_ci0:10              Constant:
43617a3babSopenharmony_ci0:10                4294967295 (const uint)
44617a3babSopenharmony_ci0:10            Constant:
45617a3babSopenharmony_ci0:10              -1 (const int)
46617a3babSopenharmony_ci0:19  Function Definition: @main(u1; ( temp 4-component vector of float)
47617a3babSopenharmony_ci0:19    Function Parameters: 
48617a3babSopenharmony_ci0:19      'pos' ( in uint)
49617a3babSopenharmony_ci0:?     Sequence
50617a3babSopenharmony_ci0:22      Branch: Return with expression
51617a3babSopenharmony_ci0:22        Function Call: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
52617a3babSopenharmony_ci0:22          'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
53617a3babSopenharmony_ci0:22          'sbuf_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
54617a3babSopenharmony_ci0:22          'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
55617a3babSopenharmony_ci0:22          'sbuf_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
56617a3babSopenharmony_ci0:19  Function Definition: main( ( temp void)
57617a3babSopenharmony_ci0:19    Function Parameters: 
58617a3babSopenharmony_ci0:?     Sequence
59617a3babSopenharmony_ci0:19      move second child to first child ( temp uint)
60617a3babSopenharmony_ci0:?         'pos' ( temp uint)
61617a3babSopenharmony_ci0:?         'pos' (layout( location=0) flat in uint)
62617a3babSopenharmony_ci0:19      move second child to first child ( temp 4-component vector of float)
63617a3babSopenharmony_ci0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
64617a3babSopenharmony_ci0:19        Function Call: @main(u1; ( temp 4-component vector of float)
65617a3babSopenharmony_ci0:?           'pos' ( temp uint)
66617a3babSopenharmony_ci0:?   Linker Objects
67617a3babSopenharmony_ci0:?     'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
68617a3babSopenharmony_ci0:?     'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
69617a3babSopenharmony_ci0:?     'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
70617a3babSopenharmony_ci0:?     'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
71617a3babSopenharmony_ci0:?     'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
72617a3babSopenharmony_ci0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
73617a3babSopenharmony_ci0:?     'pos' (layout( location=0) flat in uint)
74617a3babSopenharmony_ci
75617a3babSopenharmony_ci
76617a3babSopenharmony_ciLinked fragment stage:
77617a3babSopenharmony_ci
78617a3babSopenharmony_ci
79617a3babSopenharmony_ciShader version: 500
80617a3babSopenharmony_cigl_FragCoord origin is upper left
81617a3babSopenharmony_ci0:? Sequence
82617a3babSopenharmony_ci0:8  Function Definition: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
83617a3babSopenharmony_ci0:8    Function Parameters: 
84617a3babSopenharmony_ci0:8      'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
85617a3babSopenharmony_ci0:8      'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
86617a3babSopenharmony_ci0:8      'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
87617a3babSopenharmony_ci0:8      'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
88617a3babSopenharmony_ci0:?     Sequence
89617a3babSopenharmony_ci0:9      move second child to first child ( temp 4-component vector of float)
90617a3babSopenharmony_ci0:9        indirect index ( buffer 4-component vector of float)
91617a3babSopenharmony_ci0:9          @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float)
92617a3babSopenharmony_ci0:9            'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
93617a3babSopenharmony_ci0:9            Constant:
94617a3babSopenharmony_ci0:9              0 (const uint)
95617a3babSopenharmony_ci0:9          AtomicAdd ( temp uint)
96617a3babSopenharmony_ci0:9            @count: direct index for structure ( temp uint)
97617a3babSopenharmony_ci0:9              'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
98617a3babSopenharmony_ci0:9              Constant:
99617a3babSopenharmony_ci0:9                0 (const int)
100617a3babSopenharmony_ci0:9            Constant:
101617a3babSopenharmony_ci0:9              1 (const uint)
102617a3babSopenharmony_ci0:9        Constant:
103617a3babSopenharmony_ci0:9          1.000000
104617a3babSopenharmony_ci0:9          2.000000
105617a3babSopenharmony_ci0:9          3.000000
106617a3babSopenharmony_ci0:9          4.000000
107617a3babSopenharmony_ci0:10      Branch: Return with expression
108617a3babSopenharmony_ci0:10        indirect index ( buffer 4-component vector of float)
109617a3babSopenharmony_ci0:10          @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float)
110617a3babSopenharmony_ci0:10            'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
111617a3babSopenharmony_ci0:10            Constant:
112617a3babSopenharmony_ci0:10              0 (const uint)
113617a3babSopenharmony_ci0:10          add ( temp uint)
114617a3babSopenharmony_ci0:10            AtomicAdd ( temp uint)
115617a3babSopenharmony_ci0:10              @count: direct index for structure ( temp uint)
116617a3babSopenharmony_ci0:10                'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
117617a3babSopenharmony_ci0:10                Constant:
118617a3babSopenharmony_ci0:10                  0 (const int)
119617a3babSopenharmony_ci0:10              Constant:
120617a3babSopenharmony_ci0:10                4294967295 (const uint)
121617a3babSopenharmony_ci0:10            Constant:
122617a3babSopenharmony_ci0:10              -1 (const int)
123617a3babSopenharmony_ci0:19  Function Definition: @main(u1; ( temp 4-component vector of float)
124617a3babSopenharmony_ci0:19    Function Parameters: 
125617a3babSopenharmony_ci0:19      'pos' ( in uint)
126617a3babSopenharmony_ci0:?     Sequence
127617a3babSopenharmony_ci0:22      Branch: Return with expression
128617a3babSopenharmony_ci0:22        Function Call: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
129617a3babSopenharmony_ci0:22          'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
130617a3babSopenharmony_ci0:22          'sbuf_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
131617a3babSopenharmony_ci0:22          'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
132617a3babSopenharmony_ci0:22          'sbuf_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
133617a3babSopenharmony_ci0:19  Function Definition: main( ( temp void)
134617a3babSopenharmony_ci0:19    Function Parameters: 
135617a3babSopenharmony_ci0:?     Sequence
136617a3babSopenharmony_ci0:19      move second child to first child ( temp uint)
137617a3babSopenharmony_ci0:?         'pos' ( temp uint)
138617a3babSopenharmony_ci0:?         'pos' (layout( location=0) flat in uint)
139617a3babSopenharmony_ci0:19      move second child to first child ( temp 4-component vector of float)
140617a3babSopenharmony_ci0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
141617a3babSopenharmony_ci0:19        Function Call: @main(u1; ( temp 4-component vector of float)
142617a3babSopenharmony_ci0:?           'pos' ( temp uint)
143617a3babSopenharmony_ci0:?   Linker Objects
144617a3babSopenharmony_ci0:?     'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
145617a3babSopenharmony_ci0:?     'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
146617a3babSopenharmony_ci0:?     'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
147617a3babSopenharmony_ci0:?     'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
148617a3babSopenharmony_ci0:?     'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
149617a3babSopenharmony_ci0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
150617a3babSopenharmony_ci0:?     'pos' (layout( location=0) flat in uint)
151617a3babSopenharmony_ci
152617a3babSopenharmony_ciValidation failed
153617a3babSopenharmony_ci// Module Version 10000
154617a3babSopenharmony_ci// Generated by (magic number): 8000b
155617a3babSopenharmony_ci// Id's are bound by 70
156617a3babSopenharmony_ci
157617a3babSopenharmony_ci                              Capability Shader
158617a3babSopenharmony_ci               1:             ExtInstImport  "GLSL.std.450"
159617a3babSopenharmony_ci                              MemoryModel Logical GLSL450
160617a3babSopenharmony_ci                              EntryPoint Fragment 4  "main" 58 61
161617a3babSopenharmony_ci                              ExecutionMode 4 OriginUpperLeft
162617a3babSopenharmony_ci                              Source HLSL 500
163617a3babSopenharmony_ci                              Name 4  "main"
164617a3babSopenharmony_ci                              Name 9  ""
165617a3babSopenharmony_ci                              MemberName 9 0  "@data"
166617a3babSopenharmony_ci                              Name 12  ""
167617a3babSopenharmony_ci                              MemberName 12 0  "@count"
168617a3babSopenharmony_ci                              Name 19  "Fn2(block--vf4[0]1;block--vf4[0]1;"
169617a3babSopenharmony_ci                              Name 15  "arg_a"
170617a3babSopenharmony_ci                              Name 16  "arg_a@count"
171617a3babSopenharmony_ci                              Name 17  "arg_c"
172617a3babSopenharmony_ci                              Name 18  "arg_c@count"
173617a3babSopenharmony_ci                              Name 24  "@main(u1;"
174617a3babSopenharmony_ci                              Name 23  "pos"
175617a3babSopenharmony_ci                              Name 49  "sbuf_a"
176617a3babSopenharmony_ci                              Name 50  "sbuf_a@count"
177617a3babSopenharmony_ci                              Name 51  "sbuf_c"
178617a3babSopenharmony_ci                              Name 52  "sbuf_c@count"
179617a3babSopenharmony_ci                              Name 56  "pos"
180617a3babSopenharmony_ci                              Name 58  "pos"
181617a3babSopenharmony_ci                              Name 61  "@entryPointOutput"
182617a3babSopenharmony_ci                              Name 62  "param"
183617a3babSopenharmony_ci                              Name 65  "sbuf_a@count"
184617a3babSopenharmony_ci                              MemberName 65(sbuf_a@count) 0  "@count"
185617a3babSopenharmony_ci                              Name 67  "sbuf_a@count"
186617a3babSopenharmony_ci                              Name 68  "sbuf_c@count"
187617a3babSopenharmony_ci                              Name 69  "sbuf_unused"
188617a3babSopenharmony_ci                              Decorate 8 ArrayStride 16
189617a3babSopenharmony_ci                              MemberDecorate 9 0 Offset 0
190617a3babSopenharmony_ci                              Decorate 9 BufferBlock
191617a3babSopenharmony_ci                              Decorate 12 BufferBlock
192617a3babSopenharmony_ci                              Decorate 49(sbuf_a) DescriptorSet 0
193617a3babSopenharmony_ci                              Decorate 49(sbuf_a) Binding 0
194617a3babSopenharmony_ci                              Decorate 50(sbuf_a@count) DescriptorSet 0
195617a3babSopenharmony_ci                              Decorate 50(sbuf_a@count) Binding 0
196617a3babSopenharmony_ci                              Decorate 51(sbuf_c) DescriptorSet 0
197617a3babSopenharmony_ci                              Decorate 51(sbuf_c) Binding 1
198617a3babSopenharmony_ci                              Decorate 52(sbuf_c@count) DescriptorSet 0
199617a3babSopenharmony_ci                              Decorate 52(sbuf_c@count) Binding 0
200617a3babSopenharmony_ci                              Decorate 58(pos) Flat
201617a3babSopenharmony_ci                              Decorate 58(pos) Location 0
202617a3babSopenharmony_ci                              Decorate 61(@entryPointOutput) Location 0
203617a3babSopenharmony_ci                              MemberDecorate 65(sbuf_a@count) 0 Offset 0
204617a3babSopenharmony_ci                              Decorate 65(sbuf_a@count) BufferBlock
205617a3babSopenharmony_ci                              Decorate 67(sbuf_a@count) DescriptorSet 0
206617a3babSopenharmony_ci                              Decorate 67(sbuf_a@count) Binding 0
207617a3babSopenharmony_ci                              Decorate 68(sbuf_c@count) DescriptorSet 0
208617a3babSopenharmony_ci                              Decorate 68(sbuf_c@count) Binding 0
209617a3babSopenharmony_ci                              Decorate 69(sbuf_unused) DescriptorSet 0
210617a3babSopenharmony_ci                              Decorate 69(sbuf_unused) Binding 0
211617a3babSopenharmony_ci               2:             TypeVoid
212617a3babSopenharmony_ci               3:             TypeFunction 2
213617a3babSopenharmony_ci               6:             TypeFloat 32
214617a3babSopenharmony_ci               7:             TypeVector 6(float) 4
215617a3babSopenharmony_ci               8:             TypeRuntimeArray 7(fvec4)
216617a3babSopenharmony_ci               9:             TypeStruct 8
217617a3babSopenharmony_ci              10:             TypePointer Uniform 9(struct)
218617a3babSopenharmony_ci              11:             TypeInt 32 0
219617a3babSopenharmony_ci              12:             TypeStruct 11(int)
220617a3babSopenharmony_ci              13:             TypePointer Uniform 12(struct)
221617a3babSopenharmony_ci              14:             TypeFunction 7(fvec4) 10(ptr) 13(ptr) 10(ptr) 13(ptr)
222617a3babSopenharmony_ci              21:             TypePointer Function 11(int)
223617a3babSopenharmony_ci              22:             TypeFunction 7(fvec4) 21(ptr)
224617a3babSopenharmony_ci              26:             TypeInt 32 1
225617a3babSopenharmony_ci              27:     26(int) Constant 0
226617a3babSopenharmony_ci              28:             TypePointer Uniform 11(int)
227617a3babSopenharmony_ci              30:     11(int) Constant 1
228617a3babSopenharmony_ci              31:     11(int) Constant 0
229617a3babSopenharmony_ci              33:    6(float) Constant 1065353216
230617a3babSopenharmony_ci              34:    6(float) Constant 1073741824
231617a3babSopenharmony_ci              35:    6(float) Constant 1077936128
232617a3babSopenharmony_ci              36:    6(float) Constant 1082130432
233617a3babSopenharmony_ci              37:    7(fvec4) ConstantComposite 33 34 35 36
234617a3babSopenharmony_ci              38:             TypePointer Uniform 7(fvec4)
235617a3babSopenharmony_ci              41:     11(int) Constant 4294967295
236617a3babSopenharmony_ci              43:     26(int) Constant 4294967295
237617a3babSopenharmony_ci      49(sbuf_a):     10(ptr) Variable Uniform
238617a3babSopenharmony_ci50(sbuf_a@count):     13(ptr) Variable Uniform
239617a3babSopenharmony_ci      51(sbuf_c):     10(ptr) Variable Uniform
240617a3babSopenharmony_ci52(sbuf_c@count):     13(ptr) Variable Uniform
241617a3babSopenharmony_ci              57:             TypePointer Input 11(int)
242617a3babSopenharmony_ci         58(pos):     57(ptr) Variable Input
243617a3babSopenharmony_ci              60:             TypePointer Output 7(fvec4)
244617a3babSopenharmony_ci61(@entryPointOutput):     60(ptr) Variable Output
245617a3babSopenharmony_ci65(sbuf_a@count):             TypeStruct 11(int)
246617a3babSopenharmony_ci              66:             TypePointer Uniform 65(sbuf_a@count)
247617a3babSopenharmony_ci67(sbuf_a@count):     66(ptr) Variable Uniform
248617a3babSopenharmony_ci68(sbuf_c@count):     66(ptr) Variable Uniform
249617a3babSopenharmony_ci 69(sbuf_unused):     10(ptr) Variable Uniform
250617a3babSopenharmony_ci         4(main):           2 Function None 3
251617a3babSopenharmony_ci               5:             Label
252617a3babSopenharmony_ci         56(pos):     21(ptr) Variable Function
253617a3babSopenharmony_ci       62(param):     21(ptr) Variable Function
254617a3babSopenharmony_ci              59:     11(int) Load 58(pos)
255617a3babSopenharmony_ci                              Store 56(pos) 59
256617a3babSopenharmony_ci              63:     11(int) Load 56(pos)
257617a3babSopenharmony_ci                              Store 62(param) 63
258617a3babSopenharmony_ci              64:    7(fvec4) FunctionCall 24(@main(u1;) 62(param)
259617a3babSopenharmony_ci                              Store 61(@entryPointOutput) 64
260617a3babSopenharmony_ci                              Return
261617a3babSopenharmony_ci                              FunctionEnd
262617a3babSopenharmony_ci19(Fn2(block--vf4[0]1;block--vf4[0]1;):    7(fvec4) Function None 14
263617a3babSopenharmony_ci       15(arg_a):     10(ptr) FunctionParameter
264617a3babSopenharmony_ci 16(arg_a@count):     13(ptr) FunctionParameter
265617a3babSopenharmony_ci       17(arg_c):     10(ptr) FunctionParameter
266617a3babSopenharmony_ci 18(arg_c@count):     13(ptr) FunctionParameter
267617a3babSopenharmony_ci              20:             Label
268617a3babSopenharmony_ci              29:     28(ptr) AccessChain 16(arg_a@count) 27
269617a3babSopenharmony_ci              32:     11(int) AtomicIAdd 29 30 31 30
270617a3babSopenharmony_ci              39:     38(ptr) AccessChain 15(arg_a) 27 32
271617a3babSopenharmony_ci                              Store 39 37
272617a3babSopenharmony_ci              40:     28(ptr) AccessChain 18(arg_c@count) 27
273617a3babSopenharmony_ci              42:     11(int) AtomicIAdd 40 30 31 41
274617a3babSopenharmony_ci              44:     11(int) IAdd 42 43
275617a3babSopenharmony_ci              45:     38(ptr) AccessChain 17(arg_c) 27 44
276617a3babSopenharmony_ci              46:    7(fvec4) Load 45
277617a3babSopenharmony_ci                              ReturnValue 46
278617a3babSopenharmony_ci                              FunctionEnd
279617a3babSopenharmony_ci   24(@main(u1;):    7(fvec4) Function None 22
280617a3babSopenharmony_ci         23(pos):     21(ptr) FunctionParameter
281617a3babSopenharmony_ci              25:             Label
282617a3babSopenharmony_ci              53:    7(fvec4) FunctionCall 19(Fn2(block--vf4[0]1;block--vf4[0]1;) 49(sbuf_a) 50(sbuf_a@count) 51(sbuf_c) 52(sbuf_c@count)
283617a3babSopenharmony_ci                              ReturnValue 53
284617a3babSopenharmony_ci                              FunctionEnd
285