1hlsl.matType.bool.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:3  Function Definition: TestBoolMatTypes( ( temp void)
60:3    Function Parameters: 
70:?     Sequence
80:25      Sequence
90:25        move second child to first child ( temp 1X1 matrix of bool)
100:25          'r00' ( temp 1X1 matrix of bool)
110:25          transpose ( temp 1X1 matrix of bool)
120:25            'b1x1' ( temp 1X1 matrix of bool)
130:26      Sequence
140:26        move second child to first child ( temp 1X2 matrix of bool)
150:26          'r01' ( temp 1X2 matrix of bool)
160:26          transpose ( temp 1X2 matrix of bool)
170:26            'b2x1' ( temp 2X1 matrix of bool)
180:27      Sequence
190:27        move second child to first child ( temp 1X3 matrix of bool)
200:27          'r02' ( temp 1X3 matrix of bool)
210:27          transpose ( temp 1X3 matrix of bool)
220:27            'b3x1' ( temp 3X1 matrix of bool)
230:28      Sequence
240:28        move second child to first child ( temp 1X4 matrix of bool)
250:28          'r03' ( temp 1X4 matrix of bool)
260:28          transpose ( temp 1X4 matrix of bool)
270:28            'b4x1' ( temp 4X1 matrix of bool)
280:30      Sequence
290:30        move second child to first child ( temp 2X1 matrix of bool)
300:30          'r10' ( temp 2X1 matrix of bool)
310:30          transpose ( temp 2X1 matrix of bool)
320:30            'b1x2' ( temp 1X2 matrix of bool)
330:31      Sequence
340:31        move second child to first child ( temp 2X2 matrix of bool)
350:31          'r11' ( temp 2X2 matrix of bool)
360:31          transpose ( temp 2X2 matrix of bool)
370:31            'b2x2' ( temp 2X2 matrix of bool)
380:32      Sequence
390:32        move second child to first child ( temp 2X3 matrix of bool)
400:32          'r12' ( temp 2X3 matrix of bool)
410:32          transpose ( temp 2X3 matrix of bool)
420:32            'b3x2' ( temp 3X2 matrix of bool)
430:33      Sequence
440:33        move second child to first child ( temp 2X4 matrix of bool)
450:33          'r13' ( temp 2X4 matrix of bool)
460:33          transpose ( temp 2X4 matrix of bool)
470:33            'b4x2' ( temp 4X2 matrix of bool)
480:35      Sequence
490:35        move second child to first child ( temp 3X1 matrix of bool)
500:35          'r20' ( temp 3X1 matrix of bool)
510:35          transpose ( temp 3X1 matrix of bool)
520:35            'b1x3' ( temp 1X3 matrix of bool)
530:36      Sequence
540:36        move second child to first child ( temp 3X2 matrix of bool)
550:36          'r21' ( temp 3X2 matrix of bool)
560:36          transpose ( temp 3X2 matrix of bool)
570:36            'b2x3' ( temp 2X3 matrix of bool)
580:37      Sequence
590:37        move second child to first child ( temp 3X3 matrix of bool)
600:37          'r22' ( temp 3X3 matrix of bool)
610:37          transpose ( temp 3X3 matrix of bool)
620:37            'b3x3' ( temp 3X3 matrix of bool)
630:38      Sequence
640:38        move second child to first child ( temp 3X4 matrix of bool)
650:38          'r23' ( temp 3X4 matrix of bool)
660:38          transpose ( temp 3X4 matrix of bool)
670:38            'b4x3' ( temp 4X3 matrix of bool)
680:40      Sequence
690:40        move second child to first child ( temp 4X1 matrix of bool)
700:40          'r30' ( temp 4X1 matrix of bool)
710:40          transpose ( temp 4X1 matrix of bool)
720:40            'b1x4' ( temp 1X4 matrix of bool)
730:41      Sequence
740:41        move second child to first child ( temp 4X2 matrix of bool)
750:41          'r31' ( temp 4X2 matrix of bool)
760:41          transpose ( temp 4X2 matrix of bool)
770:41            'b2x4' ( temp 2X4 matrix of bool)
780:42      Sequence
790:42        move second child to first child ( temp 4X3 matrix of bool)
800:42          'r32' ( temp 4X3 matrix of bool)
810:42          transpose ( temp 4X3 matrix of bool)
820:42            'b3x4' ( temp 3X4 matrix of bool)
830:43      Sequence
840:43        move second child to first child ( temp 4X4 matrix of bool)
850:43          'r33' ( temp 4X4 matrix of bool)
860:43          transpose ( temp 4X4 matrix of bool)
870:43            'b4x4' ( temp 4X4 matrix of bool)
880:49  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
890:49    Function Parameters: 
900:?     Sequence
910:51      move second child to first child ( temp 4-component vector of float)
920:51        color: direct index for structure ( temp 4-component vector of float)
930:51          'ps_output' ( temp structure{ temp 4-component vector of float color})
940:51          Constant:
950:51            0 (const int)
960:51        Constant:
970:51          0.000000
980:51          0.000000
990:51          0.000000
1000:51          0.000000
1010:52      Branch: Return with expression
1020:52        'ps_output' ( temp structure{ temp 4-component vector of float color})
1030:49  Function Definition: main( ( temp void)
1040:49    Function Parameters: 
1050:?     Sequence
1060:49      Sequence
1070:49        move second child to first child ( temp 4-component vector of float)
1080:?           '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
1090:49          color: direct index for structure ( temp 4-component vector of float)
1100:49            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
1110:49            Constant:
1120:49              0 (const int)
1130:?   Linker Objects
1140:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
115
116
117Linked fragment stage:
118
119
120Shader version: 500
121gl_FragCoord origin is upper left
1220:? Sequence
1230:3  Function Definition: TestBoolMatTypes( ( temp void)
1240:3    Function Parameters: 
1250:?     Sequence
1260:25      Sequence
1270:25        move second child to first child ( temp 1X1 matrix of bool)
1280:25          'r00' ( temp 1X1 matrix of bool)
1290:25          transpose ( temp 1X1 matrix of bool)
1300:25            'b1x1' ( temp 1X1 matrix of bool)
1310:26      Sequence
1320:26        move second child to first child ( temp 1X2 matrix of bool)
1330:26          'r01' ( temp 1X2 matrix of bool)
1340:26          transpose ( temp 1X2 matrix of bool)
1350:26            'b2x1' ( temp 2X1 matrix of bool)
1360:27      Sequence
1370:27        move second child to first child ( temp 1X3 matrix of bool)
1380:27          'r02' ( temp 1X3 matrix of bool)
1390:27          transpose ( temp 1X3 matrix of bool)
1400:27            'b3x1' ( temp 3X1 matrix of bool)
1410:28      Sequence
1420:28        move second child to first child ( temp 1X4 matrix of bool)
1430:28          'r03' ( temp 1X4 matrix of bool)
1440:28          transpose ( temp 1X4 matrix of bool)
1450:28            'b4x1' ( temp 4X1 matrix of bool)
1460:30      Sequence
1470:30        move second child to first child ( temp 2X1 matrix of bool)
1480:30          'r10' ( temp 2X1 matrix of bool)
1490:30          transpose ( temp 2X1 matrix of bool)
1500:30            'b1x2' ( temp 1X2 matrix of bool)
1510:31      Sequence
1520:31        move second child to first child ( temp 2X2 matrix of bool)
1530:31          'r11' ( temp 2X2 matrix of bool)
1540:31          transpose ( temp 2X2 matrix of bool)
1550:31            'b2x2' ( temp 2X2 matrix of bool)
1560:32      Sequence
1570:32        move second child to first child ( temp 2X3 matrix of bool)
1580:32          'r12' ( temp 2X3 matrix of bool)
1590:32          transpose ( temp 2X3 matrix of bool)
1600:32            'b3x2' ( temp 3X2 matrix of bool)
1610:33      Sequence
1620:33        move second child to first child ( temp 2X4 matrix of bool)
1630:33          'r13' ( temp 2X4 matrix of bool)
1640:33          transpose ( temp 2X4 matrix of bool)
1650:33            'b4x2' ( temp 4X2 matrix of bool)
1660:35      Sequence
1670:35        move second child to first child ( temp 3X1 matrix of bool)
1680:35          'r20' ( temp 3X1 matrix of bool)
1690:35          transpose ( temp 3X1 matrix of bool)
1700:35            'b1x3' ( temp 1X3 matrix of bool)
1710:36      Sequence
1720:36        move second child to first child ( temp 3X2 matrix of bool)
1730:36          'r21' ( temp 3X2 matrix of bool)
1740:36          transpose ( temp 3X2 matrix of bool)
1750:36            'b2x3' ( temp 2X3 matrix of bool)
1760:37      Sequence
1770:37        move second child to first child ( temp 3X3 matrix of bool)
1780:37          'r22' ( temp 3X3 matrix of bool)
1790:37          transpose ( temp 3X3 matrix of bool)
1800:37            'b3x3' ( temp 3X3 matrix of bool)
1810:38      Sequence
1820:38        move second child to first child ( temp 3X4 matrix of bool)
1830:38          'r23' ( temp 3X4 matrix of bool)
1840:38          transpose ( temp 3X4 matrix of bool)
1850:38            'b4x3' ( temp 4X3 matrix of bool)
1860:40      Sequence
1870:40        move second child to first child ( temp 4X1 matrix of bool)
1880:40          'r30' ( temp 4X1 matrix of bool)
1890:40          transpose ( temp 4X1 matrix of bool)
1900:40            'b1x4' ( temp 1X4 matrix of bool)
1910:41      Sequence
1920:41        move second child to first child ( temp 4X2 matrix of bool)
1930:41          'r31' ( temp 4X2 matrix of bool)
1940:41          transpose ( temp 4X2 matrix of bool)
1950:41            'b2x4' ( temp 2X4 matrix of bool)
1960:42      Sequence
1970:42        move second child to first child ( temp 4X3 matrix of bool)
1980:42          'r32' ( temp 4X3 matrix of bool)
1990:42          transpose ( temp 4X3 matrix of bool)
2000:42            'b3x4' ( temp 3X4 matrix of bool)
2010:43      Sequence
2020:43        move second child to first child ( temp 4X4 matrix of bool)
2030:43          'r33' ( temp 4X4 matrix of bool)
2040:43          transpose ( temp 4X4 matrix of bool)
2050:43            'b4x4' ( temp 4X4 matrix of bool)
2060:49  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
2070:49    Function Parameters: 
2080:?     Sequence
2090:51      move second child to first child ( temp 4-component vector of float)
2100:51        color: direct index for structure ( temp 4-component vector of float)
2110:51          'ps_output' ( temp structure{ temp 4-component vector of float color})
2120:51          Constant:
2130:51            0 (const int)
2140:51        Constant:
2150:51          0.000000
2160:51          0.000000
2170:51          0.000000
2180:51          0.000000
2190:52      Branch: Return with expression
2200:52        'ps_output' ( temp structure{ temp 4-component vector of float color})
2210:49  Function Definition: main( ( temp void)
2220:49    Function Parameters: 
2230:?     Sequence
2240:49      Sequence
2250:49        move second child to first child ( temp 4-component vector of float)
2260:?           '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
2270:49          color: direct index for structure ( temp 4-component vector of float)
2280:49            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
2290:49            Constant:
2300:49              0 (const int)
2310:?   Linker Objects
2320:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
233
234Validation failed
235// Module Version 10000
236// Generated by (magic number): 8000b
237// Id's are bound by 130
238
239                              Capability Shader
240               1:             ExtInstImport  "GLSL.std.450"
241                              MemoryModel Logical GLSL450
242                              EntryPoint Fragment 4  "main" 127
243                              ExecutionMode 4 OriginUpperLeft
244                              Source HLSL 500
245                              Name 4  "main"
246                              Name 6  "TestBoolMatTypes("
247                              Name 10  "PS_OUTPUT"
248                              MemberName 10(PS_OUTPUT) 0  "color"
249                              Name 12  "@main("
250                              Name 18  "r00"
251                              Name 19  "b1x1"
252                              Name 25  "r01"
253                              Name 28  "b2x1"
254                              Name 34  "r02"
255                              Name 37  "b3x1"
256                              Name 43  "r03"
257                              Name 46  "b4x1"
258                              Name 49  "r10"
259                              Name 50  "b1x2"
260                              Name 55  "r11"
261                              Name 56  "b2x2"
262                              Name 61  "r12"
263                              Name 64  "b3x2"
264                              Name 69  "r13"
265                              Name 72  "b4x2"
266                              Name 75  "r20"
267                              Name 76  "b1x3"
268                              Name 79  "r21"
269                              Name 80  "b2x3"
270                              Name 85  "r22"
271                              Name 86  "b3x3"
272                              Name 91  "r23"
273                              Name 94  "b4x3"
274                              Name 97  "r30"
275                              Name 98  "b1x4"
276                              Name 101  "r31"
277                              Name 102  "b2x4"
278                              Name 105  "r32"
279                              Name 106  "b3x4"
280                              Name 111  "r33"
281                              Name 112  "b4x4"
282                              Name 116  "ps_output"
283                              Name 127  "@entryPointOutput.color"
284                              Decorate 127(@entryPointOutput.color) Location 0
285               2:             TypeVoid
286               3:             TypeFunction 2
287               8:             TypeFloat 32
288               9:             TypeVector 8(float) 4
289   10(PS_OUTPUT):             TypeStruct 9(fvec4)
290              11:             TypeFunction 10(PS_OUTPUT)
291              14:             TypeBool
292              15:             TypeVector 14(bool) 1
293              16:             TypeMatrix 15(bvec) 1
294              17:             TypePointer Function 16
295              22:             TypeVector 14(bool) 2
296              23:             TypeMatrix 22(bvec2) 1
297              24:             TypePointer Function 23
298              26:             TypeMatrix 15(bvec) 2
299              27:             TypePointer Function 26
300              31:             TypeVector 14(bool) 3
301              32:             TypeMatrix 31(bvec3) 1
302              33:             TypePointer Function 32
303              35:             TypeMatrix 15(bvec) 3
304              36:             TypePointer Function 35
305              40:             TypeVector 14(bool) 4
306              41:             TypeMatrix 40(bvec4) 1
307              42:             TypePointer Function 41
308              44:             TypeMatrix 15(bvec) 4
309              45:             TypePointer Function 44
310              53:             TypeMatrix 22(bvec2) 2
311              54:             TypePointer Function 53
312              59:             TypeMatrix 31(bvec3) 2
313              60:             TypePointer Function 59
314              62:             TypeMatrix 22(bvec2) 3
315              63:             TypePointer Function 62
316              67:             TypeMatrix 40(bvec4) 2
317              68:             TypePointer Function 67
318              70:             TypeMatrix 22(bvec2) 4
319              71:             TypePointer Function 70
320              83:             TypeMatrix 31(bvec3) 3
321              84:             TypePointer Function 83
322              89:             TypeMatrix 40(bvec4) 3
323              90:             TypePointer Function 89
324              92:             TypeMatrix 31(bvec3) 4
325              93:             TypePointer Function 92
326             109:             TypeMatrix 40(bvec4) 4
327             110:             TypePointer Function 109
328             115:             TypePointer Function 10(PS_OUTPUT)
329             117:             TypeInt 32 1
330             118:    117(int) Constant 0
331             119:    8(float) Constant 0
332             120:    9(fvec4) ConstantComposite 119 119 119 119
333             121:             TypePointer Function 9(fvec4)
334             126:             TypePointer Output 9(fvec4)
335127(@entryPointOutput.color):    126(ptr) Variable Output
336         4(main):           2 Function None 3
337               5:             Label
338             128:10(PS_OUTPUT) FunctionCall 12(@main()
339             129:    9(fvec4) CompositeExtract 128 0
340                              Store 127(@entryPointOutput.color) 129
341                              Return
342                              FunctionEnd
3436(TestBoolMatTypes():           2 Function None 3
344               7:             Label
345         18(r00):     17(ptr) Variable Function
346        19(b1x1):     17(ptr) Variable Function
347         25(r01):     24(ptr) Variable Function
348        28(b2x1):     27(ptr) Variable Function
349         34(r02):     33(ptr) Variable Function
350        37(b3x1):     36(ptr) Variable Function
351         43(r03):     42(ptr) Variable Function
352        46(b4x1):     45(ptr) Variable Function
353         49(r10):     27(ptr) Variable Function
354        50(b1x2):     24(ptr) Variable Function
355         55(r11):     54(ptr) Variable Function
356        56(b2x2):     54(ptr) Variable Function
357         61(r12):     60(ptr) Variable Function
358        64(b3x2):     63(ptr) Variable Function
359         69(r13):     68(ptr) Variable Function
360        72(b4x2):     71(ptr) Variable Function
361         75(r20):     36(ptr) Variable Function
362        76(b1x3):     33(ptr) Variable Function
363         79(r21):     63(ptr) Variable Function
364        80(b2x3):     60(ptr) Variable Function
365         85(r22):     84(ptr) Variable Function
366        86(b3x3):     84(ptr) Variable Function
367         91(r23):     90(ptr) Variable Function
368        94(b4x3):     93(ptr) Variable Function
369         97(r30):     45(ptr) Variable Function
370        98(b1x4):     42(ptr) Variable Function
371        101(r31):     71(ptr) Variable Function
372       102(b2x4):     68(ptr) Variable Function
373        105(r32):     93(ptr) Variable Function
374       106(b3x4):     90(ptr) Variable Function
375        111(r33):    110(ptr) Variable Function
376       112(b4x4):    110(ptr) Variable Function
377              20:          16 Load 19(b1x1)
378              21:          16 Transpose 20
379                              Store 18(r00) 21
380              29:          26 Load 28(b2x1)
381              30:          23 Transpose 29
382                              Store 25(r01) 30
383              38:          35 Load 37(b3x1)
384              39:          32 Transpose 38
385                              Store 34(r02) 39
386              47:          44 Load 46(b4x1)
387              48:          41 Transpose 47
388                              Store 43(r03) 48
389              51:          23 Load 50(b1x2)
390              52:          26 Transpose 51
391                              Store 49(r10) 52
392              57:          53 Load 56(b2x2)
393              58:          53 Transpose 57
394                              Store 55(r11) 58
395              65:          62 Load 64(b3x2)
396              66:          59 Transpose 65
397                              Store 61(r12) 66
398              73:          70 Load 72(b4x2)
399              74:          67 Transpose 73
400                              Store 69(r13) 74
401              77:          32 Load 76(b1x3)
402              78:          35 Transpose 77
403                              Store 75(r20) 78
404              81:          59 Load 80(b2x3)
405              82:          62 Transpose 81
406                              Store 79(r21) 82
407              87:          83 Load 86(b3x3)
408              88:          83 Transpose 87
409                              Store 85(r22) 88
410              95:          92 Load 94(b4x3)
411              96:          89 Transpose 95
412                              Store 91(r23) 96
413              99:          41 Load 98(b1x4)
414             100:          44 Transpose 99
415                              Store 97(r30) 100
416             103:          67 Load 102(b2x4)
417             104:          70 Transpose 103
418                              Store 101(r31) 104
419             107:          89 Load 106(b3x4)
420             108:          92 Transpose 107
421                              Store 105(r32) 108
422             113:         109 Load 112(b4x4)
423             114:         109 Transpose 113
424                              Store 111(r33) 114
425                              Return
426                              FunctionEnd
427      12(@main():10(PS_OUTPUT) Function None 11
428              13:             Label
429  116(ps_output):    115(ptr) Variable Function
430             122:    121(ptr) AccessChain 116(ps_output) 118
431                              Store 122 120
432             123:10(PS_OUTPUT) Load 116(ps_output)
433                              ReturnValue 123
434                              FunctionEnd
435