• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1hlsl.structbuffer.append.fn.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:8  Function Definition: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
60:8    Function Parameters:
70: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})
80:8      'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
90: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})
100:8      'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
110:?     Sequence
120:9      move second child to first child ( temp 4-component vector of float)
130:9        indirect index ( buffer 4-component vector of float)
140:9          @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float)
150: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})
160:9            Constant:
170:9              0 (const uint)
180:9          AtomicAdd ( temp uint)
190:9            @count: direct index for structure ( temp uint)
200:9              'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
210:9              Constant:
220:9                0 (const int)
230:9            Constant:
240:9              1 (const uint)
250:9        Constant:
260:9          1.000000
270:9          2.000000
280:9          3.000000
290:9          4.000000
300:10      Branch: Return with expression
310:10        indirect index ( buffer 4-component vector of float)
320:10          @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float)
330: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})
340:10            Constant:
350:10              0 (const uint)
360:10          add ( temp uint)
370:10            AtomicAdd ( temp uint)
380:10              @count: direct index for structure ( temp uint)
390:10                'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
400:10                Constant:
410:10                  0 (const int)
420:10              Constant:
430:10                4294967295 (const uint)
440:10            Constant:
450:10              -1 (const int)
460:19  Function Definition: @main(u1; ( temp 4-component vector of float)
470:19    Function Parameters:
480:19      'pos' ( in uint)
490:?     Sequence
500:22      Branch: Return with expression
510:22        Function Call: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
520: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})
530:22          'sbuf_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
540: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})
550:22          'sbuf_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
560:19  Function Definition: main( ( temp void)
570:19    Function Parameters:
580:?     Sequence
590:19      move second child to first child ( temp uint)
600:?         'pos' ( temp uint)
610:?         'pos' (layout( location=0) flat in uint)
620:19      move second child to first child ( temp 4-component vector of float)
630:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
640:19        Function Call: @main(u1; ( temp 4-component vector of float)
650:?           'pos' ( temp uint)
660:?   Linker Objects
670:?     'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
680:?     'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
690:?     'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
700:?     'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
710:?     'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
720:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
730:?     'pos' (layout( location=0) flat in uint)
74
75
76Linked fragment stage:
77
78
79Shader version: 500
80gl_FragCoord origin is upper left
810:? Sequence
820:8  Function Definition: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
830:8    Function Parameters:
840: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})
850:8      'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
860: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})
870:8      'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
880:?     Sequence
890:9      move second child to first child ( temp 4-component vector of float)
900:9        indirect index ( buffer 4-component vector of float)
910:9          @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float)
920: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})
930:9            Constant:
940:9              0 (const uint)
950:9          AtomicAdd ( temp uint)
960:9            @count: direct index for structure ( temp uint)
970:9              'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
980:9              Constant:
990:9                0 (const int)
1000:9            Constant:
1010:9              1 (const uint)
1020:9        Constant:
1030:9          1.000000
1040:9          2.000000
1050:9          3.000000
1060:9          4.000000
1070:10      Branch: Return with expression
1080:10        indirect index ( buffer 4-component vector of float)
1090:10          @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float)
1100: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})
1110:10            Constant:
1120:10              0 (const uint)
1130:10          add ( temp uint)
1140:10            AtomicAdd ( temp uint)
1150:10              @count: direct index for structure ( temp uint)
1160:10                'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
1170:10                Constant:
1180:10                  0 (const int)
1190:10              Constant:
1200:10                4294967295 (const uint)
1210:10            Constant:
1220:10              -1 (const int)
1230:19  Function Definition: @main(u1; ( temp 4-component vector of float)
1240:19    Function Parameters:
1250:19      'pos' ( in uint)
1260:?     Sequence
1270:22      Branch: Return with expression
1280:22        Function Call: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float)
1290: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})
1300:22          'sbuf_a@count' ( buffer block{layout( row_major std430) buffer uint @count})
1310: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})
1320:22          'sbuf_c@count' ( buffer block{layout( row_major std430) buffer uint @count})
1330:19  Function Definition: main( ( temp void)
1340:19    Function Parameters:
1350:?     Sequence
1360:19      move second child to first child ( temp uint)
1370:?         'pos' ( temp uint)
1380:?         'pos' (layout( location=0) flat in uint)
1390:19      move second child to first child ( temp 4-component vector of float)
1400:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1410:19        Function Call: @main(u1; ( temp 4-component vector of float)
1420:?           'pos' ( temp uint)
1430:?   Linker Objects
1440:?     'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
1450:?     'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
1460:?     'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
1470:?     'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
1480:?     'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
1490:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1500:?     'pos' (layout( location=0) flat in uint)
151
152Validation failed
153// Module Version 10000
154// Generated by (magic number): 8000a
155// Id's are bound by 70
156
157                              Capability Shader
158               1:             ExtInstImport  "GLSL.std.450"
159                              MemoryModel Logical GLSL450
160                              EntryPoint Fragment 4  "main" 58 61
161                              ExecutionMode 4 OriginUpperLeft
162                              Source HLSL 500
163                              Name 4  "main"
164                              Name 9  ""
165                              MemberName 9 0  "@data"
166                              Name 12  ""
167                              MemberName 12 0  "@count"
168                              Name 19  "Fn2(block--vf4[0]1;block--vf4[0]1;"
169                              Name 15  "arg_a"
170                              Name 16  "arg_a@count"
171                              Name 17  "arg_c"
172                              Name 18  "arg_c@count"
173                              Name 24  "@main(u1;"
174                              Name 23  "pos"
175                              Name 49  "sbuf_a"
176                              Name 50  "sbuf_a@count"
177                              Name 51  "sbuf_c"
178                              Name 52  "sbuf_c@count"
179                              Name 56  "pos"
180                              Name 58  "pos"
181                              Name 61  "@entryPointOutput"
182                              Name 62  "param"
183                              Name 65  "sbuf_a@count"
184                              MemberName 65(sbuf_a@count) 0  "@count"
185                              Name 67  "sbuf_a@count"
186                              Name 68  "sbuf_c@count"
187                              Name 69  "sbuf_unused"
188                              Decorate 8 ArrayStride 16
189                              MemberDecorate 9 0 Offset 0
190                              Decorate 9 BufferBlock
191                              Decorate 12 BufferBlock
192                              Decorate 49(sbuf_a) DescriptorSet 0
193                              Decorate 49(sbuf_a) Binding 0
194                              Decorate 50(sbuf_a@count) DescriptorSet 0
195                              Decorate 50(sbuf_a@count) Binding 0
196                              Decorate 51(sbuf_c) DescriptorSet 0
197                              Decorate 51(sbuf_c) Binding 1
198                              Decorate 52(sbuf_c@count) DescriptorSet 0
199                              Decorate 52(sbuf_c@count) Binding 0
200                              Decorate 58(pos) Flat
201                              Decorate 58(pos) Location 0
202                              Decorate 61(@entryPointOutput) Location 0
203                              MemberDecorate 65(sbuf_a@count) 0 Offset 0
204                              Decorate 65(sbuf_a@count) BufferBlock
205                              Decorate 67(sbuf_a@count) DescriptorSet 0
206                              Decorate 67(sbuf_a@count) Binding 0
207                              Decorate 68(sbuf_c@count) DescriptorSet 0
208                              Decorate 68(sbuf_c@count) Binding 0
209                              Decorate 69(sbuf_unused) DescriptorSet 0
210                              Decorate 69(sbuf_unused) Binding 0
211               2:             TypeVoid
212               3:             TypeFunction 2
213               6:             TypeFloat 32
214               7:             TypeVector 6(float) 4
215               8:             TypeRuntimeArray 7(fvec4)
216               9:             TypeStruct 8
217              10:             TypePointer Uniform 9(struct)
218              11:             TypeInt 32 0
219              12:             TypeStruct 11(int)
220              13:             TypePointer Uniform 12(struct)
221              14:             TypeFunction 7(fvec4) 10(ptr) 13(ptr) 10(ptr) 13(ptr)
222              21:             TypePointer Function 11(int)
223              22:             TypeFunction 7(fvec4) 21(ptr)
224              26:             TypeInt 32 1
225              27:     26(int) Constant 0
226              28:             TypePointer Uniform 11(int)
227              30:     11(int) Constant 1
228              31:     11(int) Constant 0
229              33:    6(float) Constant 1065353216
230              34:    6(float) Constant 1073741824
231              35:    6(float) Constant 1077936128
232              36:    6(float) Constant 1082130432
233              37:    7(fvec4) ConstantComposite 33 34 35 36
234              38:             TypePointer Uniform 7(fvec4)
235              41:     11(int) Constant 4294967295
236              43:     26(int) Constant 4294967295
237      49(sbuf_a):     10(ptr) Variable Uniform
23850(sbuf_a@count):     13(ptr) Variable Uniform
239      51(sbuf_c):     10(ptr) Variable Uniform
24052(sbuf_c@count):     13(ptr) Variable Uniform
241              57:             TypePointer Input 11(int)
242         58(pos):     57(ptr) Variable Input
243              60:             TypePointer Output 7(fvec4)
24461(@entryPointOutput):     60(ptr) Variable Output
24565(sbuf_a@count):             TypeStruct 11(int)
246              66:             TypePointer Uniform 65(sbuf_a@count)
24767(sbuf_a@count):     66(ptr) Variable Uniform
24868(sbuf_c@count):     66(ptr) Variable Uniform
249 69(sbuf_unused):     10(ptr) Variable Uniform
250         4(main):           2 Function None 3
251               5:             Label
252         56(pos):     21(ptr) Variable Function
253       62(param):     21(ptr) Variable Function
254              59:     11(int) Load 58(pos)
255                              Store 56(pos) 59
256              63:     11(int) Load 56(pos)
257                              Store 62(param) 63
258              64:    7(fvec4) FunctionCall 24(@main(u1;) 62(param)
259                              Store 61(@entryPointOutput) 64
260                              Return
261                              FunctionEnd
26219(Fn2(block--vf4[0]1;block--vf4[0]1;):    7(fvec4) Function None 14
263       15(arg_a):     10(ptr) FunctionParameter
264 16(arg_a@count):     13(ptr) FunctionParameter
265       17(arg_c):     10(ptr) FunctionParameter
266 18(arg_c@count):     13(ptr) FunctionParameter
267              20:             Label
268              29:     28(ptr) AccessChain 16(arg_a@count) 27
269              32:     11(int) AtomicIAdd 29 30 31 30
270              39:     38(ptr) AccessChain 15(arg_a) 27 32
271                              Store 39 37
272              40:     28(ptr) AccessChain 18(arg_c@count) 27
273              42:     11(int) AtomicIAdd 40 30 31 41
274              44:     11(int) IAdd 42 43
275              45:     38(ptr) AccessChain 17(arg_c) 27 44
276              46:    7(fvec4) Load 45
277                              ReturnValue 46
278                              FunctionEnd
279   24(@main(u1;):    7(fvec4) Function None 22
280         23(pos):     21(ptr) FunctionParameter
281              25:             Label
282              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)
283                              ReturnValue 53
284                              FunctionEnd
285