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