xref: /aosp_15_r20/external/angle/third_party/glslang/src/Test/baseResults/hlsl.hull.1.tesc.out (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1hlsl.hull.1.tesc
2Shader version: 500
3vertices = 4
4vertex spacing = equal_spacing
50:? Sequence
60:26  Function Definition: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
70:26    Function Parameters:
80:26      'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
90:26      'm_cpid' ( in uint)
100:?     Sequence
110:28      move second child to first child ( temp 3-component vector of float)
120:28        cpoint: direct index for structure ( temp 3-component vector of float)
130:28          'output' ( temp structure{ temp 3-component vector of float cpoint})
140:28          Constant:
150:28            0 (const int)
160:28        cpoint: direct index for structure ( temp 3-component vector of float)
170:28          direct index ( temp structure{ temp 3-component vector of float cpoint})
180:28            'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
190:28            Constant:
200:28              0 (const int)
210:28          Constant:
220:28            0 (const int)
230:29      Branch: Return with expression
240:29        'output' ( temp structure{ temp 3-component vector of float cpoint})
250:26  Function Definition: main( ( temp void)
260:26    Function Parameters:
270:?     Sequence
280:26      Sequence
290:26        move second child to first child ( temp 3-component vector of float)
300:26          cpoint: direct index for structure ( temp 3-component vector of float)
310:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
320:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
330:26              Constant:
340:26                0 (const int)
350:26            Constant:
360:26              0 (const int)
370:26          direct index (layout( location=0) in 3-component vector of float)
380:?             'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
390:26            Constant:
400:26              0 (const int)
410:26        move second child to first child ( temp 3-component vector of float)
420:26          cpoint: direct index for structure ( temp 3-component vector of float)
430:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
440:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
450:26              Constant:
460:26                1 (const int)
470:26            Constant:
480:26              0 (const int)
490:26          direct index (layout( location=0) in 3-component vector of float)
500:?             'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
510:26            Constant:
520:26              1 (const int)
530:26        move second child to first child ( temp 3-component vector of float)
540:26          cpoint: direct index for structure ( temp 3-component vector of float)
550:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
560:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
570:26              Constant:
580:26                2 (const int)
590:26            Constant:
600:26              0 (const int)
610:26          direct index (layout( location=0) in 3-component vector of float)
620:?             'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
630:26            Constant:
640:26              2 (const int)
650:26        move second child to first child ( temp 3-component vector of float)
660:26          cpoint: direct index for structure ( temp 3-component vector of float)
670:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
680:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
690:26              Constant:
700:26                3 (const int)
710:26            Constant:
720:26              0 (const int)
730:26          direct index (layout( location=0) in 3-component vector of float)
740:?             'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
750:26            Constant:
760:26              3 (const int)
770:26      move second child to first child ( temp uint)
780:?         'm_cpid' ( temp uint)
790:?         'm_cpid' ( in uint InvocationID)
800:26      Sequence
810:26        move second child to first child ( temp 3-component vector of float)
820:26          indirect index (layout( location=0) out 3-component vector of float)
830:?             '@entryPointOutput.cpoint' (layout( location=0) out 4-element array of 3-component vector of float)
840:?             'm_cpid' ( in uint InvocationID)
850:26          cpoint: direct index for structure ( temp 3-component vector of float)
860:26            Function Call: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
870:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
880:?               'm_cpid' ( temp uint)
890:26            Constant:
900:26              0 (const int)
910:?       Barrier ( temp void)
920:?       Test condition and select ( temp void)
930:?         Condition
940:?         Compare Equal ( temp bool)
950:?           'm_cpid' ( in uint InvocationID)
960:?           Constant:
970:?             0 (const int)
980:?         true case
990:?         Sequence
1000:?           move second child to first child ( temp structure{ temp 2-element array of float edges})
1010:?             '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
1020:?             Function Call: PCF(u1; ( temp structure{ temp 2-element array of float edges})
1030:?               'pid' ( in uint PrimitiveID)
1040:?           Sequence
1050:?             move second child to first child ( temp float)
1060:?               direct index ( patch out float TessLevelOuter)
1070:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
1080:?                 Constant:
1090:?                   0 (const int)
1100:?               direct index ( temp float)
1110:?                 edges: direct index for structure ( temp 2-element array of float)
1120:?                   '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
1130:?                   Constant:
1140:?                     0 (const int)
1150:?                 Constant:
1160:?                   0 (const int)
1170:?             move second child to first child ( temp float)
1180:?               direct index ( patch out float TessLevelOuter)
1190:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
1200:?                 Constant:
1210:?                   1 (const int)
1220:?               direct index ( temp float)
1230:?                 edges: direct index for structure ( temp 2-element array of float)
1240:?                   '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
1250:?                   Constant:
1260:?                     0 (const int)
1270:?                 Constant:
1280:?                   1 (const int)
1290:33  Function Definition: PCF(u1; ( temp structure{ temp 2-element array of float edges})
1300:33    Function Parameters:
1310:33      'pid' ( in uint)
1320:?     Sequence
1330:36      move second child to first child ( temp float)
1340:36        direct index ( temp float)
1350:36          edges: direct index for structure ( temp 2-element array of float)
1360:36            'output' ( temp structure{ temp 2-element array of float edges})
1370:36            Constant:
1380:36              0 (const int)
1390:36          Constant:
1400:36            0 (const int)
1410:36        Constant:
1420:36          2.000000
1430:37      move second child to first child ( temp float)
1440:37        direct index ( temp float)
1450:37          edges: direct index for structure ( temp 2-element array of float)
1460:37            'output' ( temp structure{ temp 2-element array of float edges})
1470:37            Constant:
1480:37              0 (const int)
1490:37          Constant:
1500:37            1 (const int)
1510:37        Constant:
1520:37          8.000000
1530:38      Branch: Return with expression
1540:38        'output' ( temp structure{ temp 2-element array of float edges})
1550:?   Linker Objects
1560:?     '@entryPointOutput.cpoint' (layout( location=0) out 4-element array of 3-component vector of float)
1570:?     'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
1580:?     'm_cpid' ( in uint InvocationID)
1590:?     'pid' ( in uint PrimitiveID)
1600:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
161
162
163Linked tessellation control stage:
164
165
166Shader version: 500
167vertices = 4
168vertex spacing = equal_spacing
1690:? Sequence
1700:26  Function Definition: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
1710:26    Function Parameters:
1720:26      'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
1730:26      'm_cpid' ( in uint)
1740:?     Sequence
1750:28      move second child to first child ( temp 3-component vector of float)
1760:28        cpoint: direct index for structure ( temp 3-component vector of float)
1770:28          'output' ( temp structure{ temp 3-component vector of float cpoint})
1780:28          Constant:
1790:28            0 (const int)
1800:28        cpoint: direct index for structure ( temp 3-component vector of float)
1810:28          direct index ( temp structure{ temp 3-component vector of float cpoint})
1820:28            'ip' ( in 4-element array of structure{ temp 3-component vector of float cpoint})
1830:28            Constant:
1840:28              0 (const int)
1850:28          Constant:
1860:28            0 (const int)
1870:29      Branch: Return with expression
1880:29        'output' ( temp structure{ temp 3-component vector of float cpoint})
1890:26  Function Definition: main( ( temp void)
1900:26    Function Parameters:
1910:?     Sequence
1920:26      Sequence
1930:26        move second child to first child ( temp 3-component vector of float)
1940:26          cpoint: direct index for structure ( temp 3-component vector of float)
1950:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
1960:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
1970:26              Constant:
1980:26                0 (const int)
1990:26            Constant:
2000:26              0 (const int)
2010:26          direct index (layout( location=0) in 3-component vector of float)
2020:?             'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
2030:26            Constant:
2040:26              0 (const int)
2050:26        move second child to first child ( temp 3-component vector of float)
2060:26          cpoint: direct index for structure ( temp 3-component vector of float)
2070:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
2080:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
2090:26              Constant:
2100:26                1 (const int)
2110:26            Constant:
2120:26              0 (const int)
2130:26          direct index (layout( location=0) in 3-component vector of float)
2140:?             'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
2150:26            Constant:
2160:26              1 (const int)
2170:26        move second child to first child ( temp 3-component vector of float)
2180:26          cpoint: direct index for structure ( temp 3-component vector of float)
2190:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
2200:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
2210:26              Constant:
2220:26                2 (const int)
2230:26            Constant:
2240:26              0 (const int)
2250:26          direct index (layout( location=0) in 3-component vector of float)
2260:?             'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
2270:26            Constant:
2280:26              2 (const int)
2290:26        move second child to first child ( temp 3-component vector of float)
2300:26          cpoint: direct index for structure ( temp 3-component vector of float)
2310:26            direct index ( temp structure{ temp 3-component vector of float cpoint})
2320:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
2330:26              Constant:
2340:26                3 (const int)
2350:26            Constant:
2360:26              0 (const int)
2370:26          direct index (layout( location=0) in 3-component vector of float)
2380:?             'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
2390:26            Constant:
2400:26              3 (const int)
2410:26      move second child to first child ( temp uint)
2420:?         'm_cpid' ( temp uint)
2430:?         'm_cpid' ( in uint InvocationID)
2440:26      Sequence
2450:26        move second child to first child ( temp 3-component vector of float)
2460:26          indirect index (layout( location=0) out 3-component vector of float)
2470:?             '@entryPointOutput.cpoint' (layout( location=0) out 4-element array of 3-component vector of float)
2480:?             'm_cpid' ( in uint InvocationID)
2490:26          cpoint: direct index for structure ( temp 3-component vector of float)
2500:26            Function Call: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
2510:?               'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
2520:?               'm_cpid' ( temp uint)
2530:26            Constant:
2540:26              0 (const int)
2550:?       Barrier ( temp void)
2560:?       Test condition and select ( temp void)
2570:?         Condition
2580:?         Compare Equal ( temp bool)
2590:?           'm_cpid' ( in uint InvocationID)
2600:?           Constant:
2610:?             0 (const int)
2620:?         true case
2630:?         Sequence
2640:?           move second child to first child ( temp structure{ temp 2-element array of float edges})
2650:?             '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
2660:?             Function Call: PCF(u1; ( temp structure{ temp 2-element array of float edges})
2670:?               'pid' ( in uint PrimitiveID)
2680:?           Sequence
2690:?             move second child to first child ( temp float)
2700:?               direct index ( patch out float TessLevelOuter)
2710:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
2720:?                 Constant:
2730:?                   0 (const int)
2740:?               direct index ( temp float)
2750:?                 edges: direct index for structure ( temp 2-element array of float)
2760:?                   '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
2770:?                   Constant:
2780:?                     0 (const int)
2790:?                 Constant:
2800:?                   0 (const int)
2810:?             move second child to first child ( temp float)
2820:?               direct index ( patch out float TessLevelOuter)
2830:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
2840:?                 Constant:
2850:?                   1 (const int)
2860:?               direct index ( temp float)
2870:?                 edges: direct index for structure ( temp 2-element array of float)
2880:?                   '@patchConstantResult' ( temp structure{ temp 2-element array of float edges})
2890:?                   Constant:
2900:?                     0 (const int)
2910:?                 Constant:
2920:?                   1 (const int)
2930:33  Function Definition: PCF(u1; ( temp structure{ temp 2-element array of float edges})
2940:33    Function Parameters:
2950:33      'pid' ( in uint)
2960:?     Sequence
2970:36      move second child to first child ( temp float)
2980:36        direct index ( temp float)
2990:36          edges: direct index for structure ( temp 2-element array of float)
3000:36            'output' ( temp structure{ temp 2-element array of float edges})
3010:36            Constant:
3020:36              0 (const int)
3030:36          Constant:
3040:36            0 (const int)
3050:36        Constant:
3060:36          2.000000
3070:37      move second child to first child ( temp float)
3080:37        direct index ( temp float)
3090:37          edges: direct index for structure ( temp 2-element array of float)
3100:37            'output' ( temp structure{ temp 2-element array of float edges})
3110:37            Constant:
3120:37              0 (const int)
3130:37          Constant:
3140:37            1 (const int)
3150:37        Constant:
3160:37          8.000000
3170:38      Branch: Return with expression
3180:38        'output' ( temp structure{ temp 2-element array of float edges})
3190:?   Linker Objects
3200:?     '@entryPointOutput.cpoint' (layout( location=0) out 4-element array of 3-component vector of float)
3210:?     'ip.cpoint' (layout( location=0) in 4-element array of 3-component vector of float)
3220:?     'm_cpid' ( in uint InvocationID)
3230:?     'pid' ( in uint PrimitiveID)
3240:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
325
326// Module Version 10000
327// Generated by (magic number): 8000b
328// Id's are bound by 104
329
330                              Capability Tessellation
331               1:             ExtInstImport  "GLSL.std.450"
332                              MemoryModel Logical GLSL450
333                              EntryPoint TessellationControl 4  "main" 41 60 63 81 87
334                              ExecutionMode 4 OutputVertices 4
335                              ExecutionMode 4 Isolines
336                              ExecutionMode 4 SpacingEqual
337                              Source HLSL 500
338                              Name 4  "main"
339                              Name 8  "VS_OUT"
340                              MemberName 8(VS_OUT) 0  "cpoint"
341                              Name 14  "HS_OUT"
342                              MemberName 14(HS_OUT) 0  "cpoint"
343                              Name 18  "@main(struct-VS_OUT-vf31[4];u1;"
344                              Name 16  "ip"
345                              Name 17  "m_cpid"
346                              Name 22  "HS_CONSTANT_OUT"
347                              MemberName 22(HS_CONSTANT_OUT) 0  "edges"
348                              Name 25  "PCF(u1;"
349                              Name 24  "pid"
350                              Name 28  "output"
351                              Name 38  "ip"
352                              Name 41  "ip.cpoint"
353                              Name 58  "m_cpid"
354                              Name 60  "m_cpid"
355                              Name 63  "@entryPointOutput.cpoint"
356                              Name 65  "param"
357                              Name 67  "param"
358                              Name 80  "@patchConstantResult"
359                              Name 81  "pid"
360                              Name 82  "param"
361                              Name 87  "@patchConstantOutput.edges"
362                              Name 96  "output"
363                              Decorate 41(ip.cpoint) Location 0
364                              Decorate 60(m_cpid) BuiltIn InvocationId
365                              Decorate 63(@entryPointOutput.cpoint) Location 0
366                              Decorate 81(pid) BuiltIn PrimitiveId
367                              Decorate 87(@patchConstantOutput.edges) BuiltIn TessLevelOuter
368                              Decorate 87(@patchConstantOutput.edges) Patch
369               2:             TypeVoid
370               3:             TypeFunction 2
371               6:             TypeFloat 32
372               7:             TypeVector 6(float) 3
373       8(VS_OUT):             TypeStruct 7(fvec3)
374               9:             TypeInt 32 0
375              10:      9(int) Constant 4
376              11:             TypeArray 8(VS_OUT) 10
377              12:             TypePointer Function 11
378              13:             TypePointer Function 9(int)
379      14(HS_OUT):             TypeStruct 7(fvec3)
380              15:             TypeFunction 14(HS_OUT) 12(ptr) 13(ptr)
381              20:      9(int) Constant 2
382              21:             TypeArray 6(float) 20
38322(HS_CONSTANT_OUT):             TypeStruct 21
384              23:             TypeFunction 22(HS_CONSTANT_OUT) 13(ptr)
385              27:             TypePointer Function 14(HS_OUT)
386              29:             TypeInt 32 1
387              30:     29(int) Constant 0
388              31:             TypePointer Function 7(fvec3)
389              39:             TypeArray 7(fvec3) 10
390              40:             TypePointer Input 39
391   41(ip.cpoint):     40(ptr) Variable Input
392              42:             TypePointer Input 7(fvec3)
393              46:     29(int) Constant 1
394              50:     29(int) Constant 2
395              54:     29(int) Constant 3
396              59:             TypePointer Input 9(int)
397      60(m_cpid):     59(ptr) Variable Input
398              62:             TypePointer Output 39
39963(@entryPointOutput.cpoint):     62(ptr) Variable Output
400              71:             TypePointer Output 7(fvec3)
401              73:      9(int) Constant 0
402              75:             TypeBool
403              79:             TypePointer Function 22(HS_CONSTANT_OUT)
404         81(pid):     59(ptr) Variable Input
405              85:             TypeArray 6(float) 10
406              86:             TypePointer Output 85
40787(@patchConstantOutput.edges):     86(ptr) Variable Output
408              88:             TypePointer Function 6(float)
409              91:             TypePointer Output 6(float)
410              97:    6(float) Constant 1073741824
411              99:    6(float) Constant 1090519040
412         4(main):           2 Function None 3
413               5:             Label
414          38(ip):     12(ptr) Variable Function
415      58(m_cpid):     13(ptr) Variable Function
416       65(param):     12(ptr) Variable Function
417       67(param):     13(ptr) Variable Function
41880(@patchConstantResult):     79(ptr) Variable Function
419       82(param):     13(ptr) Variable Function
420              43:     42(ptr) AccessChain 41(ip.cpoint) 30
421              44:    7(fvec3) Load 43
422              45:     31(ptr) AccessChain 38(ip) 30 30
423                              Store 45 44
424              47:     42(ptr) AccessChain 41(ip.cpoint) 46
425              48:    7(fvec3) Load 47
426              49:     31(ptr) AccessChain 38(ip) 46 30
427                              Store 49 48
428              51:     42(ptr) AccessChain 41(ip.cpoint) 50
429              52:    7(fvec3) Load 51
430              53:     31(ptr) AccessChain 38(ip) 50 30
431                              Store 53 52
432              55:     42(ptr) AccessChain 41(ip.cpoint) 54
433              56:    7(fvec3) Load 55
434              57:     31(ptr) AccessChain 38(ip) 54 30
435                              Store 57 56
436              61:      9(int) Load 60(m_cpid)
437                              Store 58(m_cpid) 61
438              64:      9(int) Load 60(m_cpid)
439              66:          11 Load 38(ip)
440                              Store 65(param) 66
441              68:      9(int) Load 58(m_cpid)
442                              Store 67(param) 68
443              69:  14(HS_OUT) FunctionCall 18(@main(struct-VS_OUT-vf31[4];u1;) 65(param) 67(param)
444              70:    7(fvec3) CompositeExtract 69 0
445              72:     71(ptr) AccessChain 63(@entryPointOutput.cpoint) 64
446                              Store 72 70
447                              ControlBarrier 20 10 73
448              74:      9(int) Load 60(m_cpid)
449              76:    75(bool) IEqual 74 30
450                              SelectionMerge 78 None
451                              BranchConditional 76 77 78
452              77:               Label
453              83:      9(int)   Load 81(pid)
454                                Store 82(param) 83
455              84:22(HS_CONSTANT_OUT)   FunctionCall 25(PCF(u1;) 82(param)
456                                Store 80(@patchConstantResult) 84
457              89:     88(ptr)   AccessChain 80(@patchConstantResult) 30 30
458              90:    6(float)   Load 89
459              92:     91(ptr)   AccessChain 87(@patchConstantOutput.edges) 30
460                                Store 92 90
461              93:     88(ptr)   AccessChain 80(@patchConstantResult) 30 46
462              94:    6(float)   Load 93
463              95:     91(ptr)   AccessChain 87(@patchConstantOutput.edges) 46
464                                Store 95 94
465                                Branch 78
466              78:             Label
467                              Return
468                              FunctionEnd
46918(@main(struct-VS_OUT-vf31[4];u1;):  14(HS_OUT) Function None 15
470          16(ip):     12(ptr) FunctionParameter
471      17(m_cpid):     13(ptr) FunctionParameter
472              19:             Label
473      28(output):     27(ptr) Variable Function
474              32:     31(ptr) AccessChain 16(ip) 30 30
475              33:    7(fvec3) Load 32
476              34:     31(ptr) AccessChain 28(output) 30
477                              Store 34 33
478              35:  14(HS_OUT) Load 28(output)
479                              ReturnValue 35
480                              FunctionEnd
481     25(PCF(u1;):22(HS_CONSTANT_OUT) Function None 23
482         24(pid):     13(ptr) FunctionParameter
483              26:             Label
484      96(output):     79(ptr) Variable Function
485              98:     88(ptr) AccessChain 96(output) 30 30
486                              Store 98 97
487             100:     88(ptr) AccessChain 96(output) 30 46
488                              Store 100 99
489             101:22(HS_CONSTANT_OUT) Load 96(output)
490                              ReturnValue 101
491                              FunctionEnd
492