1hlsl.logical.binary.vec.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:10  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
60:10    Function Parameters:
70:?     Sequence
80:11      Sequence
90:11        move second child to first child ( temp 4-component vector of bool)
100:11          'r00' ( temp 4-component vector of bool)
110:11          Negate conditional ( temp 4-component vector of bool)
120:11            b4a: direct index for structure ( uniform 4-component vector of bool)
130:11              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
140:11              Constant:
150:11                0 (const uint)
160:12      Sequence
170:12        move second child to first child ( temp 4-component vector of bool)
180:12          'r01' ( temp 4-component vector of bool)
190:12          logical-and ( temp 4-component vector of bool)
200:12            b4a: direct index for structure ( uniform 4-component vector of bool)
210:12              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
220:12              Constant:
230:12                0 (const uint)
240:12            b4b: direct index for structure ( uniform 4-component vector of bool)
250:12              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
260:12              Constant:
270:12                1 (const uint)
280:13      Sequence
290:13        move second child to first child ( temp 4-component vector of bool)
300:13          'r02' ( temp 4-component vector of bool)
310:13          logical-or ( temp 4-component vector of bool)
320:13            b4a: direct index for structure ( uniform 4-component vector of bool)
330:13              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
340:13              Constant:
350:13                0 (const uint)
360:13            b4b: direct index for structure ( uniform 4-component vector of bool)
370:13              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
380:13              Constant:
390:13                1 (const uint)
400:15      Sequence
410:15        move second child to first child ( temp 4-component vector of bool)
420:15          'r10' ( temp 4-component vector of bool)
430:15          logical-and ( temp 4-component vector of bool)
440:15            Construct bvec4 ( uniform 4-component vector of bool)
450:15              b1a: direct index for structure ( uniform bool)
460:15                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
470:15                Constant:
480:15                  2 (const uint)
490:15            b4b: direct index for structure ( uniform 4-component vector of bool)
500:15              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
510:15              Constant:
520:15                1 (const uint)
530:16      Sequence
540:16        move second child to first child ( temp 4-component vector of bool)
550:16          'r11' ( temp 4-component vector of bool)
560:16          logical-or ( temp 4-component vector of bool)
570:16            Construct bvec4 ( uniform 4-component vector of bool)
580:16              b1a: direct index for structure ( uniform bool)
590:16                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
600:16                Constant:
610:16                  2 (const uint)
620:16            b4b: direct index for structure ( uniform 4-component vector of bool)
630:16              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
640:16              Constant:
650:16                1 (const uint)
660:18      Sequence
670:18        move second child to first child ( temp 4-component vector of bool)
680:18          'r20' ( temp 4-component vector of bool)
690:18          logical-and ( temp 4-component vector of bool)
700:18            b4a: direct index for structure ( uniform 4-component vector of bool)
710:18              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
720:18              Constant:
730:18                0 (const uint)
740:18            Construct bvec4 ( uniform 4-component vector of bool)
750:18              b1b: direct index for structure ( uniform bool)
760:18                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
770:18                Constant:
780:18                  3 (const uint)
790:19      Sequence
800:19        move second child to first child ( temp 4-component vector of bool)
810:19          'r21' ( temp 4-component vector of bool)
820:19          logical-or ( temp 4-component vector of bool)
830:19            b4a: direct index for structure ( uniform 4-component vector of bool)
840:19              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
850:19              Constant:
860:19                0 (const uint)
870:19            Construct bvec4 ( uniform 4-component vector of bool)
880:19              b1b: direct index for structure ( uniform bool)
890:19                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
900:19                Constant:
910:19                  3 (const uint)
920:22      move second child to first child ( temp 4-component vector of float)
930:22        Color: direct index for structure ( temp 4-component vector of float)
940:22          'psout' ( temp structure{ temp 4-component vector of float Color})
950:22          Constant:
960:22            0 (const int)
970:22        Convert bool to float ( temp 4-component vector of float)
980:22          logical-or ( temp 4-component vector of bool)
990:22            logical-or ( temp 4-component vector of bool)
1000:22              logical-or ( temp 4-component vector of bool)
1010:22                logical-or ( temp 4-component vector of bool)
1020:22                  logical-or ( temp 4-component vector of bool)
1030:22                    logical-or ( temp 4-component vector of bool)
1040:22                      'r00' ( temp 4-component vector of bool)
1050:22                      'r01' ( temp 4-component vector of bool)
1060:22                    'r02' ( temp 4-component vector of bool)
1070:22                  'r10' ( temp 4-component vector of bool)
1080:22                'r11' ( temp 4-component vector of bool)
1090:22              'r20' ( temp 4-component vector of bool)
1100:22            'r21' ( temp 4-component vector of bool)
1110:23      Branch: Return with expression
1120:23        'psout' ( temp structure{ temp 4-component vector of float Color})
1130:10  Function Definition: main( ( temp void)
1140:10    Function Parameters:
1150:?     Sequence
1160:10      Sequence
1170:10        move second child to first child ( temp 4-component vector of float)
1180:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
1190:10          Color: direct index for structure ( temp 4-component vector of float)
1200:10            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
1210:10            Constant:
1220:10              0 (const int)
1230:?   Linker Objects
1240:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
1250:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
126
127
128Linked fragment stage:
129
130
131Shader version: 500
132gl_FragCoord origin is upper left
1330:? Sequence
1340:10  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
1350:10    Function Parameters:
1360:?     Sequence
1370:11      Sequence
1380:11        move second child to first child ( temp 4-component vector of bool)
1390:11          'r00' ( temp 4-component vector of bool)
1400:11          Negate conditional ( temp 4-component vector of bool)
1410:11            b4a: direct index for structure ( uniform 4-component vector of bool)
1420:11              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
1430:11              Constant:
1440:11                0 (const uint)
1450:12      Sequence
1460:12        move second child to first child ( temp 4-component vector of bool)
1470:12          'r01' ( temp 4-component vector of bool)
1480:12          logical-and ( temp 4-component vector of bool)
1490:12            b4a: direct index for structure ( uniform 4-component vector of bool)
1500:12              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
1510:12              Constant:
1520:12                0 (const uint)
1530:12            b4b: direct index for structure ( uniform 4-component vector of bool)
1540:12              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
1550:12              Constant:
1560:12                1 (const uint)
1570:13      Sequence
1580:13        move second child to first child ( temp 4-component vector of bool)
1590:13          'r02' ( temp 4-component vector of bool)
1600:13          logical-or ( temp 4-component vector of bool)
1610:13            b4a: direct index for structure ( uniform 4-component vector of bool)
1620:13              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
1630:13              Constant:
1640:13                0 (const uint)
1650:13            b4b: direct index for structure ( uniform 4-component vector of bool)
1660:13              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
1670:13              Constant:
1680:13                1 (const uint)
1690:15      Sequence
1700:15        move second child to first child ( temp 4-component vector of bool)
1710:15          'r10' ( temp 4-component vector of bool)
1720:15          logical-and ( temp 4-component vector of bool)
1730:15            Construct bvec4 ( uniform 4-component vector of bool)
1740:15              b1a: direct index for structure ( uniform bool)
1750:15                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
1760:15                Constant:
1770:15                  2 (const uint)
1780:15            b4b: direct index for structure ( uniform 4-component vector of bool)
1790:15              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
1800:15              Constant:
1810:15                1 (const uint)
1820:16      Sequence
1830:16        move second child to first child ( temp 4-component vector of bool)
1840:16          'r11' ( temp 4-component vector of bool)
1850:16          logical-or ( temp 4-component vector of bool)
1860:16            Construct bvec4 ( uniform 4-component vector of bool)
1870:16              b1a: direct index for structure ( uniform bool)
1880:16                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
1890:16                Constant:
1900:16                  2 (const uint)
1910:16            b4b: direct index for structure ( uniform 4-component vector of bool)
1920:16              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
1930:16              Constant:
1940:16                1 (const uint)
1950:18      Sequence
1960:18        move second child to first child ( temp 4-component vector of bool)
1970:18          'r20' ( temp 4-component vector of bool)
1980:18          logical-and ( temp 4-component vector of bool)
1990:18            b4a: direct index for structure ( uniform 4-component vector of bool)
2000:18              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
2010:18              Constant:
2020:18                0 (const uint)
2030:18            Construct bvec4 ( uniform 4-component vector of bool)
2040:18              b1b: direct index for structure ( uniform bool)
2050:18                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
2060:18                Constant:
2070:18                  3 (const uint)
2080:19      Sequence
2090:19        move second child to first child ( temp 4-component vector of bool)
2100:19          'r21' ( temp 4-component vector of bool)
2110:19          logical-or ( temp 4-component vector of bool)
2120:19            b4a: direct index for structure ( uniform 4-component vector of bool)
2130:19              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
2140:19              Constant:
2150:19                0 (const uint)
2160:19            Construct bvec4 ( uniform 4-component vector of bool)
2170:19              b1b: direct index for structure ( uniform bool)
2180:19                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
2190:19                Constant:
2200:19                  3 (const uint)
2210:22      move second child to first child ( temp 4-component vector of float)
2220:22        Color: direct index for structure ( temp 4-component vector of float)
2230:22          'psout' ( temp structure{ temp 4-component vector of float Color})
2240:22          Constant:
2250:22            0 (const int)
2260:22        Convert bool to float ( temp 4-component vector of float)
2270:22          logical-or ( temp 4-component vector of bool)
2280:22            logical-or ( temp 4-component vector of bool)
2290:22              logical-or ( temp 4-component vector of bool)
2300:22                logical-or ( temp 4-component vector of bool)
2310:22                  logical-or ( temp 4-component vector of bool)
2320:22                    logical-or ( temp 4-component vector of bool)
2330:22                      'r00' ( temp 4-component vector of bool)
2340:22                      'r01' ( temp 4-component vector of bool)
2350:22                    'r02' ( temp 4-component vector of bool)
2360:22                  'r10' ( temp 4-component vector of bool)
2370:22                'r11' ( temp 4-component vector of bool)
2380:22              'r20' ( temp 4-component vector of bool)
2390:22            'r21' ( temp 4-component vector of bool)
2400:23      Branch: Return with expression
2410:23        'psout' ( temp structure{ temp 4-component vector of float Color})
2420:10  Function Definition: main( ( temp void)
2430:10    Function Parameters:
2440:?     Sequence
2450:10      Sequence
2460:10        move second child to first child ( temp 4-component vector of float)
2470:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
2480:10          Color: direct index for structure ( temp 4-component vector of float)
2490:10            Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
2500:10            Constant:
2510:10              0 (const int)
2520:?   Linker Objects
2530:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
2540:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
255
256// Module Version 10000
257// Generated by (magic number): 80007
258// Id's are bound by 115
259
260                              Capability Shader
261               1:             ExtInstImport  "GLSL.std.450"
262                              MemoryModel Logical GLSL450
263                              EntryPoint Fragment 4  "main" 112
264                              ExecutionMode 4 OriginUpperLeft
265                              Source HLSL 500
266                              Name 4  "main"
267                              Name 8  "PS_OUTPUT"
268                              MemberName 8(PS_OUTPUT) 0  "Color"
269                              Name 10  "@main("
270                              Name 15  "r00"
271                              Name 18  "$Global"
272                              MemberName 18($Global) 0  "b4a"
273                              MemberName 18($Global) 1  "b4b"
274                              MemberName 18($Global) 2  "b1a"
275                              MemberName 18($Global) 3  "b1b"
276                              Name 20  ""
277                              Name 30  "r01"
278                              Name 39  "r02"
279                              Name 47  "r10"
280                              Name 58  "r11"
281                              Name 67  "r20"
282                              Name 77  "r21"
283                              Name 87  "psout"
284                              Name 112  "@entryPointOutput.Color"
285                              MemberDecorate 18($Global) 0 Offset 0
286                              MemberDecorate 18($Global) 1 Offset 16
287                              MemberDecorate 18($Global) 2 Offset 32
288                              MemberDecorate 18($Global) 3 Offset 36
289                              Decorate 18($Global) Block
290                              Decorate 20 DescriptorSet 0
291                              Decorate 112(@entryPointOutput.Color) Location 0
292               2:             TypeVoid
293               3:             TypeFunction 2
294               6:             TypeFloat 32
295               7:             TypeVector 6(float) 4
296    8(PS_OUTPUT):             TypeStruct 7(fvec4)
297               9:             TypeFunction 8(PS_OUTPUT)
298              12:             TypeBool
299              13:             TypeVector 12(bool) 4
300              14:             TypePointer Function 13(bvec4)
301              16:             TypeInt 32 0
302              17:             TypeVector 16(int) 4
303     18($Global):             TypeStruct 17(ivec4) 17(ivec4) 16(int) 16(int)
304              19:             TypePointer Uniform 18($Global)
305              20:     19(ptr) Variable Uniform
306              21:             TypeInt 32 1
307              22:     21(int) Constant 0
308              23:             TypePointer Uniform 17(ivec4)
309              26:     16(int) Constant 0
310              27:   17(ivec4) ConstantComposite 26 26 26 26
311              34:     21(int) Constant 1
312              48:     21(int) Constant 2
313              49:             TypePointer Uniform 16(int)
314              71:     21(int) Constant 3
315              86:             TypePointer Function 8(PS_OUTPUT)
316             101:    6(float) Constant 0
317             102:    6(float) Constant 1065353216
318             103:    7(fvec4) ConstantComposite 101 101 101 101
319             104:    7(fvec4) ConstantComposite 102 102 102 102
320             106:             TypePointer Function 7(fvec4)
321             111:             TypePointer Output 7(fvec4)
322112(@entryPointOutput.Color):    111(ptr) Variable Output
323         4(main):           2 Function None 3
324               5:             Label
325             113:8(PS_OUTPUT) FunctionCall 10(@main()
326             114:    7(fvec4) CompositeExtract 113 0
327                              Store 112(@entryPointOutput.Color) 114
328                              Return
329                              FunctionEnd
330      10(@main():8(PS_OUTPUT) Function None 9
331              11:             Label
332         15(r00):     14(ptr) Variable Function
333         30(r01):     14(ptr) Variable Function
334         39(r02):     14(ptr) Variable Function
335         47(r10):     14(ptr) Variable Function
336         58(r11):     14(ptr) Variable Function
337         67(r20):     14(ptr) Variable Function
338         77(r21):     14(ptr) Variable Function
339       87(psout):     86(ptr) Variable Function
340              24:     23(ptr) AccessChain 20 22
341              25:   17(ivec4) Load 24
342              28:   13(bvec4) INotEqual 25 27
343              29:   13(bvec4) LogicalNot 28
344                              Store 15(r00) 29
345              31:     23(ptr) AccessChain 20 22
346              32:   17(ivec4) Load 31
347              33:   13(bvec4) INotEqual 32 27
348              35:     23(ptr) AccessChain 20 34
349              36:   17(ivec4) Load 35
350              37:   13(bvec4) INotEqual 36 27
351              38:   13(bvec4) LogicalAnd 33 37
352                              Store 30(r01) 38
353              40:     23(ptr) AccessChain 20 22
354              41:   17(ivec4) Load 40
355              42:   13(bvec4) INotEqual 41 27
356              43:     23(ptr) AccessChain 20 34
357              44:   17(ivec4) Load 43
358              45:   13(bvec4) INotEqual 44 27
359              46:   13(bvec4) LogicalOr 42 45
360                              Store 39(r02) 46
361              50:     49(ptr) AccessChain 20 48
362              51:     16(int) Load 50
363              52:    12(bool) INotEqual 51 26
364              53:   13(bvec4) CompositeConstruct 52 52 52 52
365              54:     23(ptr) AccessChain 20 34
366              55:   17(ivec4) Load 54
367              56:   13(bvec4) INotEqual 55 27
368              57:   13(bvec4) LogicalAnd 53 56
369                              Store 47(r10) 57
370              59:     49(ptr) AccessChain 20 48
371              60:     16(int) Load 59
372              61:    12(bool) INotEqual 60 26
373              62:   13(bvec4) CompositeConstruct 61 61 61 61
374              63:     23(ptr) AccessChain 20 34
375              64:   17(ivec4) Load 63
376              65:   13(bvec4) INotEqual 64 27
377              66:   13(bvec4) LogicalOr 62 65
378                              Store 58(r11) 66
379              68:     23(ptr) AccessChain 20 22
380              69:   17(ivec4) Load 68
381              70:   13(bvec4) INotEqual 69 27
382              72:     49(ptr) AccessChain 20 71
383              73:     16(int) Load 72
384              74:    12(bool) INotEqual 73 26
385              75:   13(bvec4) CompositeConstruct 74 74 74 74
386              76:   13(bvec4) LogicalAnd 70 75
387                              Store 67(r20) 76
388              78:     23(ptr) AccessChain 20 22
389              79:   17(ivec4) Load 78
390              80:   13(bvec4) INotEqual 79 27
391              81:     49(ptr) AccessChain 20 71
392              82:     16(int) Load 81
393              83:    12(bool) INotEqual 82 26
394              84:   13(bvec4) CompositeConstruct 83 83 83 83
395              85:   13(bvec4) LogicalOr 80 84
396                              Store 77(r21) 85
397              88:   13(bvec4) Load 15(r00)
398              89:   13(bvec4) Load 30(r01)
399              90:   13(bvec4) LogicalOr 88 89
400              91:   13(bvec4) Load 39(r02)
401              92:   13(bvec4) LogicalOr 90 91
402              93:   13(bvec4) Load 47(r10)
403              94:   13(bvec4) LogicalOr 92 93
404              95:   13(bvec4) Load 58(r11)
405              96:   13(bvec4) LogicalOr 94 95
406              97:   13(bvec4) Load 67(r20)
407              98:   13(bvec4) LogicalOr 96 97
408              99:   13(bvec4) Load 77(r21)
409             100:   13(bvec4) LogicalOr 98 99
410             105:    7(fvec4) Select 100 104 103
411             107:    106(ptr) AccessChain 87(psout) 22
412                              Store 107 105
413             108:8(PS_OUTPUT) Load 87(psout)
414                              ReturnValue 108
415                              FunctionEnd
416