• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1hlsl.structbuffer.append.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:7  Function Definition: @main(u1; ( temp 4-component vector of float)
60:7    Function Parameters:
70:7      'pos' ( in uint)
80:?     Sequence
90:8      move second child to first child ( temp 4-component vector of float)
100:8        indirect index (layout( row_major std430) buffer 4-component vector of float)
110:8          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
120:8            'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
130:8            Constant:
140:8              0 (const uint)
150:8          AtomicAdd ( temp uint)
160:8            @count: direct index for structure ( temp uint)
170:8              'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
180:8              Constant:
190:8                0 (const int)
200:8            Constant:
210:8              1 (const uint)
220:8        Constant:
230:8          1.000000
240:8          2.000000
250:8          3.000000
260:8          4.000000
270:10      Branch: Return with expression
280:10        indirect index (layout( row_major std430) buffer 4-component vector of float)
290:10          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
300:10            'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
310:10            Constant:
320:10              0 (const uint)
330:10          add ( temp uint)
340:10            AtomicAdd ( temp uint)
350:10              @count: direct index for structure ( temp uint)
360:10                'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
370:10                Constant:
380:10                  0 (const int)
390:10              Constant:
400:10                4294967295 (const uint)
410:10            Constant:
420:10              -1 (const int)
430:7  Function Definition: main( ( temp void)
440:7    Function Parameters:
450:?     Sequence
460:7      move second child to first child ( temp uint)
470:?         'pos' ( temp uint)
480:?         'pos' (layout( location=0) flat in uint)
490:7      move second child to first child ( temp 4-component vector of float)
500:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
510:7        Function Call: @main(u1; ( temp 4-component vector of float)
520:?           'pos' ( temp uint)
530:?   Linker Objects
540:?     'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
550:?     'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
560:?     'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
570:?     'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
580:?     'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
590:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
600:?     'pos' (layout( location=0) flat in uint)
61
62
63Linked fragment stage:
64
65
66Shader version: 500
67gl_FragCoord origin is upper left
680:? Sequence
690:7  Function Definition: @main(u1; ( temp 4-component vector of float)
700:7    Function Parameters:
710:7      'pos' ( in uint)
720:?     Sequence
730:8      move second child to first child ( temp 4-component vector of float)
740:8        indirect index (layout( row_major std430) buffer 4-component vector of float)
750:8          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
760:8            'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
770:8            Constant:
780:8              0 (const uint)
790:8          AtomicAdd ( temp uint)
800:8            @count: direct index for structure ( temp uint)
810:8              'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
820:8              Constant:
830:8                0 (const int)
840:8            Constant:
850:8              1 (const uint)
860:8        Constant:
870:8          1.000000
880:8          2.000000
890:8          3.000000
900:8          4.000000
910:10      Branch: Return with expression
920:10        indirect index (layout( row_major std430) buffer 4-component vector of float)
930:10          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
940:10            'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
950:10            Constant:
960:10              0 (const uint)
970:10          add ( temp uint)
980:10            AtomicAdd ( temp uint)
990:10              @count: direct index for structure ( temp uint)
1000:10                'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
1010:10                Constant:
1020:10                  0 (const int)
1030:10              Constant:
1040:10                4294967295 (const uint)
1050:10            Constant:
1060:10              -1 (const int)
1070:7  Function Definition: main( ( temp void)
1080:7    Function Parameters:
1090:?     Sequence
1100:7      move second child to first child ( temp uint)
1110:?         'pos' ( temp uint)
1120:?         'pos' (layout( location=0) flat in uint)
1130:7      move second child to first child ( temp 4-component vector of float)
1140:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1150:7        Function Call: @main(u1; ( temp 4-component vector of float)
1160:?           'pos' ( temp uint)
1170:?   Linker Objects
1180:?     'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
1190:?     'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
1200:?     'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
1210:?     'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
1220:?     'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
1230:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1240:?     'pos' (layout( location=0) flat in uint)
125
126// Module Version 10000
127// Generated by (magic number): 8000a
128// Id's are bound by 56
129
130                              Capability Shader
131               1:             ExtInstImport  "GLSL.std.450"
132                              MemoryModel Logical GLSL450
133                              EntryPoint Fragment 4  "main" 48 51
134                              ExecutionMode 4 OriginUpperLeft
135                              Source HLSL 500
136                              Name 4  "main"
137                              Name 12  "@main(u1;"
138                              Name 11  "pos"
139                              Name 15  "sbuf_a"
140                              MemberName 15(sbuf_a) 0  "@data"
141                              Name 17  "sbuf_a"
142                              Name 20  "sbuf_a@count"
143                              MemberName 20(sbuf_a@count) 0  "@count"
144                              Name 22  "sbuf_a@count"
145                              Name 35  "sbuf_c"
146                              Name 36  "sbuf_c@count"
147                              Name 46  "pos"
148                              Name 48  "pos"
149                              Name 51  "@entryPointOutput"
150                              Name 52  "param"
151                              Name 55  "sbuf_unused"
152                              Decorate 14 ArrayStride 16
153                              MemberDecorate 15(sbuf_a) 0 Offset 0
154                              Decorate 15(sbuf_a) BufferBlock
155                              Decorate 17(sbuf_a) DescriptorSet 0
156                              Decorate 17(sbuf_a) Binding 0
157                              MemberDecorate 20(sbuf_a@count) 0 Offset 0
158                              Decorate 20(sbuf_a@count) BufferBlock
159                              Decorate 22(sbuf_a@count) DescriptorSet 0
160                              Decorate 22(sbuf_a@count) Binding 1
161                              Decorate 35(sbuf_c) DescriptorSet 0
162                              Decorate 35(sbuf_c) Binding 2
163                              Decorate 36(sbuf_c@count) DescriptorSet 0
164                              Decorate 36(sbuf_c@count) Binding 3
165                              Decorate 48(pos) Flat
166                              Decorate 48(pos) Location 0
167                              Decorate 51(@entryPointOutput) Location 0
168                              Decorate 55(sbuf_unused) DescriptorSet 0
169                              Decorate 55(sbuf_unused) Binding 0
170               2:             TypeVoid
171               3:             TypeFunction 2
172               6:             TypeInt 32 0
173               7:             TypePointer Function 6(int)
174               8:             TypeFloat 32
175               9:             TypeVector 8(float) 4
176              10:             TypeFunction 9(fvec4) 7(ptr)
177              14:             TypeRuntimeArray 9(fvec4)
178      15(sbuf_a):             TypeStruct 14
179              16:             TypePointer Uniform 15(sbuf_a)
180      17(sbuf_a):     16(ptr) Variable Uniform
181              18:             TypeInt 32 1
182              19:     18(int) Constant 0
18320(sbuf_a@count):             TypeStruct 6(int)
184              21:             TypePointer Uniform 20(sbuf_a@count)
18522(sbuf_a@count):     21(ptr) Variable Uniform
186              23:             TypePointer Uniform 6(int)
187              25:      6(int) Constant 1
188              26:      6(int) Constant 0
189              28:    8(float) Constant 1065353216
190              29:    8(float) Constant 1073741824
191              30:    8(float) Constant 1077936128
192              31:    8(float) Constant 1082130432
193              32:    9(fvec4) ConstantComposite 28 29 30 31
194              33:             TypePointer Uniform 9(fvec4)
195      35(sbuf_c):     16(ptr) Variable Uniform
19636(sbuf_c@count):     21(ptr) Variable Uniform
197              38:      6(int) Constant 4294967295
198              40:     18(int) Constant 4294967295
199              47:             TypePointer Input 6(int)
200         48(pos):     47(ptr) Variable Input
201              50:             TypePointer Output 9(fvec4)
20251(@entryPointOutput):     50(ptr) Variable Output
203 55(sbuf_unused):     16(ptr) Variable Uniform
204         4(main):           2 Function None 3
205               5:             Label
206         46(pos):      7(ptr) Variable Function
207       52(param):      7(ptr) Variable Function
208              49:      6(int) Load 48(pos)
209                              Store 46(pos) 49
210              53:      6(int) Load 46(pos)
211                              Store 52(param) 53
212              54:    9(fvec4) FunctionCall 12(@main(u1;) 52(param)
213                              Store 51(@entryPointOutput) 54
214                              Return
215                              FunctionEnd
216   12(@main(u1;):    9(fvec4) Function None 10
217         11(pos):      7(ptr) FunctionParameter
218              13:             Label
219              24:     23(ptr) AccessChain 22(sbuf_a@count) 19
220              27:      6(int) AtomicIAdd 24 25 26 25
221              34:     33(ptr) AccessChain 17(sbuf_a) 19 27
222                              Store 34 32
223              37:     23(ptr) AccessChain 36(sbuf_c@count) 19
224              39:      6(int) AtomicIAdd 37 25 26 38
225              41:      6(int) IAdd 39 40
226              42:     33(ptr) AccessChain 35(sbuf_c) 19 41
227              43:    9(fvec4) Load 42
228                              ReturnValue 43
229                              FunctionEnd
230