• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1hlsl.structbuffer.coherent.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:12  Function Definition: @main(u1; ( temp 4-component vector of float)
60:12    Function Parameters:
70:12      'pos' ( in uint)
80:?     Sequence
90:13      move second child to first child ( temp float)
100:13        indirect index (layout( row_major std430) buffer float)
110:13          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
120:13            'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
130:13            Constant:
140:13              0 (const uint)
150:13          add ( temp uint)
160:13            'pos' ( in uint)
170:13            Constant:
180:13              1 (const uint)
190:13        Constant:
200:13          42.000000
210:17      Sequence
220:17        move second child to first child ( temp uint)
230:17          'size' ( temp uint)
240:17          array length ( temp uint)
250:17            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test})
260:17              'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test} @data})
270:17              Constant:
280:17                0 (const uint)
290:17        move second child to first child ( temp uint)
300:17          'stride' ( temp uint)
310:17          Constant:
320:17            16 (const uint)
330:19      Test condition and select ( temp void)
340:19        Condition
350:19        test: direct index for structure ( temp bool)
360:19          indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color,  temp bool test})
370:19            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test})
380:19              'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test} @data})
390:19              Constant:
400:19                0 (const uint)
410:19            'pos' ( in uint)
420:19          Constant:
430:19            1 (const int)
440:19        true case
450:20        Branch: Return with expression
460:20          Construct vec4 ( temp 4-component vector of float)
470:20            add ( temp 3-component vector of float)
480:20              color: direct index for structure ( temp 3-component vector of float)
490:20                indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color,  temp bool test})
500:20                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test})
510:20                    'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test} @data})
520:20                    Constant:
530:20                      0 (const uint)
540:20                  'pos' ( in uint)
550:20                Constant:
560:20                  0 (const int)
570:20              indirect index (layout( row_major std430) buffer float)
580:20                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
590:20                  'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
600:20                  Constant:
610:20                    0 (const uint)
620:20                'pos' ( in uint)
630:20            Constant:
640:20              0.000000
650:19        false case
660:22        Branch: Return with expression
670:22          Construct vec4 ( temp 4-component vector of float)
680:22            Convert uint to float ( temp float)
690:22              add ( temp uint)
700:22                'size' ( temp uint)
710:22                'stride' ( temp uint)
720:12  Function Definition: main( ( temp void)
730:12    Function Parameters:
740:?     Sequence
750:12      move second child to first child ( temp uint)
760:?         'pos' ( temp uint)
770:?         'pos' (layout( location=0) flat in uint)
780:12      move second child to first child ( temp 4-component vector of float)
790:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
800:12        Function Call: @main(u1; ( temp 4-component vector of float)
810:?           'pos' ( temp uint)
820:?   Linker Objects
830:?     'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test} @data})
840:?     'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
850:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
860:?     'pos' (layout( location=0) flat in uint)
87
88
89Linked fragment stage:
90
91
92Shader version: 500
93gl_FragCoord origin is upper left
940:? Sequence
950:12  Function Definition: @main(u1; ( temp 4-component vector of float)
960:12    Function Parameters:
970:12      'pos' ( in uint)
980:?     Sequence
990:13      move second child to first child ( temp float)
1000:13        indirect index (layout( row_major std430) buffer float)
1010:13          @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
1020:13            'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
1030:13            Constant:
1040:13              0 (const uint)
1050:13          add ( temp uint)
1060:13            'pos' ( in uint)
1070:13            Constant:
1080:13              1 (const uint)
1090:13        Constant:
1100:13          42.000000
1110:17      Sequence
1120:17        move second child to first child ( temp uint)
1130:17          'size' ( temp uint)
1140:17          array length ( temp uint)
1150:17            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test})
1160:17              'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test} @data})
1170:17              Constant:
1180:17                0 (const uint)
1190:17        move second child to first child ( temp uint)
1200:17          'stride' ( temp uint)
1210:17          Constant:
1220:17            16 (const uint)
1230:19      Test condition and select ( temp void)
1240:19        Condition
1250:19        test: direct index for structure ( temp bool)
1260:19          indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color,  temp bool test})
1270:19            @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test})
1280:19              'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test} @data})
1290:19              Constant:
1300:19                0 (const uint)
1310:19            'pos' ( in uint)
1320:19          Constant:
1330:19            1 (const int)
1340:19        true case
1350:20        Branch: Return with expression
1360:20          Construct vec4 ( temp 4-component vector of float)
1370:20            add ( temp 3-component vector of float)
1380:20              color: direct index for structure ( temp 3-component vector of float)
1390:20                indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color,  temp bool test})
1400:20                  @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test})
1410:20                    'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test} @data})
1420:20                    Constant:
1430:20                      0 (const uint)
1440:20                  'pos' ( in uint)
1450:20                Constant:
1460:20                  0 (const int)
1470:20              indirect index (layout( row_major std430) buffer float)
1480:20                @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of float)
1490:20                  'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
1500:20                  Constant:
1510:20                    0 (const uint)
1520:20                'pos' ( in uint)
1530:20            Constant:
1540:20              0.000000
1550:19        false case
1560:22        Branch: Return with expression
1570:22          Construct vec4 ( temp 4-component vector of float)
1580:22            Convert uint to float ( temp float)
1590:22              add ( temp uint)
1600:22                'size' ( temp uint)
1610:22                'stride' ( temp uint)
1620:12  Function Definition: main( ( temp void)
1630:12    Function Parameters:
1640:?     Sequence
1650:12      move second child to first child ( temp uint)
1660:?         'pos' ( temp uint)
1670:?         'pos' (layout( location=0) flat in uint)
1680:12      move second child to first child ( temp 4-component vector of float)
1690:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1700:12        Function Call: @main(u1; ( temp 4-component vector of float)
1710:?           'pos' ( temp uint)
1720:?   Linker Objects
1730:?     'sbuf' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 3-component vector of float color,  temp bool test} @data})
1740:?     'sbuf2' (layout( row_major std430) coherent buffer block{layout( row_major std430) buffer unsized 1-element array of float @data})
1750:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1760:?     'pos' (layout( location=0) flat in uint)
177
178// Module Version 10000
179// Generated by (magic number): 8000a
180// Id's are bound by 78
181
182                              Capability Shader
183               1:             ExtInstImport  "GLSL.std.450"
184                              MemoryModel Logical GLSL450
185                              EntryPoint Fragment 4  "main" 71 74
186                              ExecutionMode 4 OriginUpperLeft
187                              Source HLSL 500
188                              Name 4  "main"
189                              Name 12  "@main(u1;"
190                              Name 11  "pos"
191                              Name 15  "sbuf2"
192                              MemberName 15(sbuf2) 0  "@data"
193                              Name 17  "sbuf2"
194                              Name 26  "size"
195                              Name 28  "sb_t"
196                              MemberName 28(sb_t) 0  "color"
197                              MemberName 28(sb_t) 1  "test"
198                              Name 30  "sbuf"
199                              MemberName 30(sbuf) 0  "@data"
200                              Name 32  "sbuf"
201                              Name 34  "stride"
202                              Name 69  "pos"
203                              Name 71  "pos"
204                              Name 74  "@entryPointOutput"
205                              Name 75  "param"
206                              Decorate 14 ArrayStride 4
207                              MemberDecorate 15(sbuf2) 0 Coherent
208                              MemberDecorate 15(sbuf2) 0 Offset 0
209                              Decorate 15(sbuf2) BufferBlock
210                              Decorate 17(sbuf2) DescriptorSet 0
211                              Decorate 17(sbuf2) Binding 1
212                              MemberDecorate 28(sb_t) 0 Offset 0
213                              MemberDecorate 28(sb_t) 1 Offset 12
214                              Decorate 29 ArrayStride 16
215                              MemberDecorate 30(sbuf) 0 Coherent
216                              MemberDecorate 30(sbuf) 0 Offset 0
217                              Decorate 30(sbuf) BufferBlock
218                              Decorate 32(sbuf) DescriptorSet 0
219                              Decorate 32(sbuf) Binding 0
220                              Decorate 71(pos) Flat
221                              Decorate 71(pos) Location 0
222                              Decorate 74(@entryPointOutput) Location 0
223               2:             TypeVoid
224               3:             TypeFunction 2
225               6:             TypeInt 32 0
226               7:             TypePointer Function 6(int)
227               8:             TypeFloat 32
228               9:             TypeVector 8(float) 4
229              10:             TypeFunction 9(fvec4) 7(ptr)
230              14:             TypeRuntimeArray 8(float)
231       15(sbuf2):             TypeStruct 14
232              16:             TypePointer Uniform 15(sbuf2)
233       17(sbuf2):     16(ptr) Variable Uniform
234              18:             TypeInt 32 1
235              19:     18(int) Constant 0
236              21:      6(int) Constant 1
237              23:    8(float) Constant 1109917696
238              24:             TypePointer Uniform 8(float)
239              27:             TypeVector 8(float) 3
240        28(sb_t):             TypeStruct 27(fvec3) 6(int)
241              29:             TypeRuntimeArray 28(sb_t)
242        30(sbuf):             TypeStruct 29
243              31:             TypePointer Uniform 30(sbuf)
244        32(sbuf):     31(ptr) Variable Uniform
245              35:      6(int) Constant 16
246              37:     18(int) Constant 1
247              38:             TypePointer Uniform 6(int)
248              41:             TypeBool
249              42:      6(int) Constant 0
250              47:             TypePointer Uniform 27(fvec3)
251              55:    8(float) Constant 0
252              70:             TypePointer Input 6(int)
253         71(pos):     70(ptr) Variable Input
254              73:             TypePointer Output 9(fvec4)
25574(@entryPointOutput):     73(ptr) Variable Output
256         4(main):           2 Function None 3
257               5:             Label
258         69(pos):      7(ptr) Variable Function
259       75(param):      7(ptr) Variable Function
260              72:      6(int) Load 71(pos)
261                              Store 69(pos) 72
262              76:      6(int) Load 69(pos)
263                              Store 75(param) 76
264              77:    9(fvec4) FunctionCall 12(@main(u1;) 75(param)
265                              Store 74(@entryPointOutput) 77
266                              Return
267                              FunctionEnd
268   12(@main(u1;):    9(fvec4) Function None 10
269         11(pos):      7(ptr) FunctionParameter
270              13:             Label
271        26(size):      7(ptr) Variable Function
272      34(stride):      7(ptr) Variable Function
273              20:      6(int) Load 11(pos)
274              22:      6(int) IAdd 20 21
275              25:     24(ptr) AccessChain 17(sbuf2) 19 22
276                              Store 25 23
277              33:      6(int) ArrayLength 32(sbuf) 0
278                              Store 26(size) 33
279                              Store 34(stride) 35
280              36:      6(int) Load 11(pos)
281              39:     38(ptr) AccessChain 32(sbuf) 19 36 37
282              40:      6(int) Load 39
283              43:    41(bool) INotEqual 40 42
284                              SelectionMerge 45 None
285                              BranchConditional 43 44 61
286              44:               Label
287              46:      6(int)   Load 11(pos)
288              48:     47(ptr)   AccessChain 32(sbuf) 19 46 19
289              49:   27(fvec3)   Load 48
290              50:      6(int)   Load 11(pos)
291              51:     24(ptr)   AccessChain 17(sbuf2) 19 50
292              52:    8(float)   Load 51
293              53:   27(fvec3)   CompositeConstruct 52 52 52
294              54:   27(fvec3)   FAdd 49 53
295              56:    8(float)   CompositeExtract 54 0
296              57:    8(float)   CompositeExtract 54 1
297              58:    8(float)   CompositeExtract 54 2
298              59:    9(fvec4)   CompositeConstruct 56 57 58 55
299                                ReturnValue 59
300              61:               Label
301              62:      6(int)   Load 26(size)
302              63:      6(int)   Load 34(stride)
303              64:      6(int)   IAdd 62 63
304              65:    8(float)   ConvertUToF 64
305              66:    9(fvec4)   CompositeConstruct 65 65 65 65
306                                ReturnValue 66
307              45:             Label
308                              Unreachable
309                              FunctionEnd
310