Home | History | Annotate | Download | only in baseResults
      1 hlsl.gs-hs-mix.tesc
      2 Shader version: 500
      3 vertices = 3
      4 input primitive = triangles
      5 vertex spacing = fractional_odd_spacing
      6 triangle order = ccw
      7 0:? Sequence
      8 0:31  Function Definition: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
      9 0:31    Function Parameters: 
     10 0:31      'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
     11 0:?     Sequence
     12 0:32      Sequence
     13 0:32        move second child to first child ( temp 3-component vector of float)
     14 0:32          'roundedEdgeTessFactor' ( temp 3-component vector of float)
     15 0:32          tess_factor: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
     16 0:32            'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
     17 0:32            Constant:
     18 0:32              6 (const uint)
     19 0:33      Sequence
     20 0:33        move second child to first child ( temp float)
     21 0:33          'roundedInsideTessFactor' ( temp float)
     22 0:33          Constant:
     23 0:33            3.000000
     24 0:34      Sequence
     25 0:34        move second child to first child ( temp float)
     26 0:34          'insideTessFactor' ( temp float)
     27 0:34          Constant:
     28 0:34            1.000000
     29 0:39      move second child to first child ( temp float)
     30 0:39        direct index ( temp float)
     31 0:39          EdgeTessFactor: direct index for structure ( temp 3-element array of float)
     32 0:39            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
     33 0:39            Constant:
     34 0:39              0 (const int)
     35 0:39          Constant:
     36 0:39            0 (const int)
     37 0:39        direct index ( temp float)
     38 0:39          'roundedEdgeTessFactor' ( temp 3-component vector of float)
     39 0:39          Constant:
     40 0:39            0 (const int)
     41 0:40      move second child to first child ( temp float)
     42 0:40        direct index ( temp float)
     43 0:40          EdgeTessFactor: direct index for structure ( temp 3-element array of float)
     44 0:40            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
     45 0:40            Constant:
     46 0:40              0 (const int)
     47 0:40          Constant:
     48 0:40            1 (const int)
     49 0:40        direct index ( temp float)
     50 0:40          'roundedEdgeTessFactor' ( temp 3-component vector of float)
     51 0:40          Constant:
     52 0:40            1 (const int)
     53 0:41      move second child to first child ( temp float)
     54 0:41        direct index ( temp float)
     55 0:41          EdgeTessFactor: direct index for structure ( temp 3-element array of float)
     56 0:41            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
     57 0:41            Constant:
     58 0:41              0 (const int)
     59 0:41          Constant:
     60 0:41            2 (const int)
     61 0:41        direct index ( temp float)
     62 0:41          'roundedEdgeTessFactor' ( temp 3-component vector of float)
     63 0:41          Constant:
     64 0:41            2 (const int)
     65 0:42      move second child to first child ( temp float)
     66 0:42        InsideTessFactor: direct index for structure ( temp float)
     67 0:42          'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
     68 0:42          Constant:
     69 0:42            1 (const int)
     70 0:42        'roundedInsideTessFactor' ( temp float)
     71 0:45      move second child to first child ( temp 3-component vector of float)
     72 0:45        direct index ( temp 3-component vector of float)
     73 0:45          NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
     74 0:45            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
     75 0:45            Constant:
     76 0:45              2 (const int)
     77 0:45          Constant:
     78 0:45            0 (const int)
     79 0:45        NormalWS: direct index for structure ( temp 3-component vector of float)
     80 0:45          direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
     81 0:45            'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
     82 0:45            Constant:
     83 0:45              0 (const int)
     84 0:45          Constant:
     85 0:45            1 (const int)
     86 0:46      move second child to first child ( temp 3-component vector of float)
     87 0:46        direct index ( temp 3-component vector of float)
     88 0:46          NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
     89 0:46            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
     90 0:46            Constant:
     91 0:46              2 (const int)
     92 0:46          Constant:
     93 0:46            1 (const int)
     94 0:46        NormalWS: direct index for structure ( temp 3-component vector of float)
     95 0:46          direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
     96 0:46            'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
     97 0:46            Constant:
     98 0:46              1 (const int)
     99 0:46          Constant:
    100 0:46            1 (const int)
    101 0:47      move second child to first child ( temp 3-component vector of float)
    102 0:47        direct index ( temp 3-component vector of float)
    103 0:47          NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
    104 0:47            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    105 0:47            Constant:
    106 0:47              2 (const int)
    107 0:47          Constant:
    108 0:47            2 (const int)
    109 0:47        NormalWS: direct index for structure ( temp 3-component vector of float)
    110 0:47          direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    111 0:47            'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    112 0:47            Constant:
    113 0:47              2 (const int)
    114 0:47          Constant:
    115 0:47            1 (const int)
    116 0:49      Branch: Return with expression
    117 0:49        'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    118 0:61  Function Definition: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS})
    119 0:61    Function Parameters: 
    120 0:61      'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    121 0:61      'id' ( in uint)
    122 0:?     Sequence
    123 0:63      move second child to first child ( temp 3-component vector of float)
    124 0:63        PositionWS: direct index for structure ( temp 3-component vector of float)
    125 0:63          'output' ( temp structure{ temp 3-component vector of float PositionWS})
    126 0:63          Constant:
    127 0:63            0 (const int)
    128 0:63        PositionWS: direct index for structure ( temp 3-component vector of float)
    129 0:63          indirect index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    130 0:63            'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    131 0:63            'id' ( in uint)
    132 0:63          Constant:
    133 0:63            0 (const int)
    134 0:64      Branch: Return with expression
    135 0:64        'output' ( temp structure{ temp 3-component vector of float PositionWS})
    136 0:61  Function Definition: HSMain( ( temp void)
    137 0:61    Function Parameters: 
    138 0:?     Sequence
    139 0:61      move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    140 0:?         'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    141 0:?         'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    142 0:61      move second child to first child ( temp uint)
    143 0:?         'id' ( temp uint)
    144 0:?         'id' ( in uint InvocationID)
    145 0:61      move second child to first child ( temp structure{ temp 3-component vector of float PositionWS})
    146 0:61        indirect index (layout( location=0) out structure{ temp 3-component vector of float PositionWS})
    147 0:?           '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float PositionWS})
    148 0:?           'id' ( in uint InvocationID)
    149 0:61        Function Call: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS})
    150 0:?           'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    151 0:?           'id' ( temp uint)
    152 0:?       Barrier ( temp void)
    153 0:?       Test condition and select ( temp void)
    154 0:?         Condition
    155 0:?         Compare Equal ( temp bool)
    156 0:?           'id' ( in uint InvocationID)
    157 0:?           Constant:
    158 0:?             0 (const int)
    159 0:?         true case
    160 0:?         Sequence
    161 0:?           move second child to first child ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    162 0:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    163 0:?             Function Call: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    164 0:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    165 0:?           Sequence
    166 0:?             move second child to first child ( temp float)
    167 0:?               direct index ( patch out float TessLevelOuter)
    168 0:?                 '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
    169 0:?                 Constant:
    170 0:?                   0 (const int)
    171 0:?               direct index ( temp float)
    172 0:?                 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
    173 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    174 0:?                   Constant:
    175 0:?                     0 (const int)
    176 0:?                 Constant:
    177 0:?                   0 (const int)
    178 0:?             move second child to first child ( temp float)
    179 0:?               direct index ( patch out float TessLevelOuter)
    180 0:?                 '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
    181 0:?                 Constant:
    182 0:?                   1 (const int)
    183 0:?               direct index ( temp float)
    184 0:?                 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
    185 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    186 0:?                   Constant:
    187 0:?                     0 (const int)
    188 0:?                 Constant:
    189 0:?                   1 (const int)
    190 0:?             move second child to first child ( temp float)
    191 0:?               direct index ( patch out float TessLevelOuter)
    192 0:?                 '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
    193 0:?                 Constant:
    194 0:?                   2 (const int)
    195 0:?               direct index ( temp float)
    196 0:?                 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
    197 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    198 0:?                   Constant:
    199 0:?                     0 (const int)
    200 0:?                 Constant:
    201 0:?                   2 (const int)
    202 0:?             move second child to first child ( temp float)
    203 0:?               direct index ( patch out float TessLevelInner)
    204 0:?                 '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner)
    205 0:?                 Constant:
    206 0:?                   0 (const int)
    207 0:?               InsideTessFactor: direct index for structure ( temp float)
    208 0:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    209 0:?                 Constant:
    210 0:?                   1 (const int)
    211 0:?             move second child to first child ( temp 3-element array of 3-component vector of float)
    212 0:?               NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
    213 0:?                 '@patchConstantOutput' (layout( location=1) patch out structure{ temp 3-element array of 3-component vector of float NormalWS})
    214 0:?                 Constant:
    215 0:?                   0 (const int)
    216 0:?               NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
    217 0:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    218 0:?                 Constant:
    219 0:?                   2 (const int)
    220 0:84  Function Definition: GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41; ( temp void)
    221 0:84    Function Parameters: 
    222 0:84      'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    223 0:84      'output' ( out structure{ temp 4-component vector of float PositionCS})
    224 0:?     Sequence
    225 0:86      Sequence
    226 0:86        move second child to first child ( temp 3-component vector of float)
    227 0:86          'P0' ( temp 3-component vector of float)
    228 0:86          vector swizzle ( temp 3-component vector of float)
    229 0:86            PositionWS: direct index for structure ( temp 3-component vector of float)
    230 0:86              direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    231 0:86                'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    232 0:86                Constant:
    233 0:86                  0 (const int)
    234 0:86              Constant:
    235 0:86                0 (const int)
    236 0:86            Sequence
    237 0:86              Constant:
    238 0:86                0 (const int)
    239 0:86              Constant:
    240 0:86                1 (const int)
    241 0:86              Constant:
    242 0:86                2 (const int)
    243 0:87      Sequence
    244 0:87        move second child to first child ( temp 3-component vector of float)
    245 0:87          'P1' ( temp 3-component vector of float)
    246 0:87          vector swizzle ( temp 3-component vector of float)
    247 0:87            PositionWS: direct index for structure ( temp 3-component vector of float)
    248 0:87              direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    249 0:87                'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    250 0:87                Constant:
    251 0:87                  1 (const int)
    252 0:87              Constant:
    253 0:87                0 (const int)
    254 0:87            Sequence
    255 0:87              Constant:
    256 0:87                0 (const int)
    257 0:87              Constant:
    258 0:87                1 (const int)
    259 0:87              Constant:
    260 0:87                2 (const int)
    261 0:88      Sequence
    262 0:88        move second child to first child ( temp 3-component vector of float)
    263 0:88          'P2' ( temp 3-component vector of float)
    264 0:88          vector swizzle ( temp 3-component vector of float)
    265 0:88            PositionWS: direct index for structure ( temp 3-component vector of float)
    266 0:88              direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    267 0:88                'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    268 0:88                Constant:
    269 0:88                  2 (const int)
    270 0:88              Constant:
    271 0:88                0 (const int)
    272 0:88            Sequence
    273 0:88              Constant:
    274 0:88                0 (const int)
    275 0:88              Constant:
    276 0:88                1 (const int)
    277 0:88              Constant:
    278 0:88                2 (const int)
    279 0:92      add second child into first child ( temp float)
    280 0:92        direct index ( temp float)
    281 0:92          'P0' ( temp 3-component vector of float)
    282 0:92          Constant:
    283 0:92            2 (const int)
    284 0:92        Constant:
    285 0:92          0.001000
    286 0:93      add second child into first child ( temp float)
    287 0:93        direct index ( temp float)
    288 0:93          'P1' ( temp 3-component vector of float)
    289 0:93          Constant:
    290 0:93            2 (const int)
    291 0:93        Constant:
    292 0:93          0.001000
    293 0:94      add second child into first child ( temp float)
    294 0:94        direct index ( temp float)
    295 0:94          'P2' ( temp 3-component vector of float)
    296 0:94          Constant:
    297 0:94            2 (const int)
    298 0:94        Constant:
    299 0:94          0.001000
    300 0:95      Sequence
    301 0:95        move second child to first child ( temp 4-component vector of float)
    302 0:95          'Q0' ( temp 4-component vector of float)
    303 0:95          vector-times-matrix ( temp 4-component vector of float)
    304 0:?             Construct vec4 ( temp 4-component vector of float)
    305 0:95              'P0' ( temp 3-component vector of float)
    306 0:95              Constant:
    307 0:95                1.000000
    308 0:95            proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
    309 0:95              'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
    310 0:95              Constant:
    311 0:95                1 (const uint)
    312 0:96      Sequence
    313 0:96        move second child to first child ( temp 4-component vector of float)
    314 0:96          'Q1' ( temp 4-component vector of float)
    315 0:96          vector-times-matrix ( temp 4-component vector of float)
    316 0:?             Construct vec4 ( temp 4-component vector of float)
    317 0:96              'P1' ( temp 3-component vector of float)
    318 0:96              Constant:
    319 0:96                1.000000
    320 0:96            proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
    321 0:96              'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
    322 0:96              Constant:
    323 0:96                1 (const uint)
    324 0:97      Sequence
    325 0:97        move second child to first child ( temp 4-component vector of float)
    326 0:97          'Q2' ( temp 4-component vector of float)
    327 0:97          vector-times-matrix ( temp 4-component vector of float)
    328 0:?             Construct vec4 ( temp 4-component vector of float)
    329 0:97              'P2' ( temp 3-component vector of float)
    330 0:97              Constant:
    331 0:97                1.000000
    332 0:97            proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
    333 0:97              'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
    334 0:97              Constant:
    335 0:97                1 (const uint)
    336 0:100      move second child to first child ( temp 4-component vector of float)
    337 0:100        PositionCS: direct index for structure ( temp 4-component vector of float)
    338 0:100          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
    339 0:100          Constant:
    340 0:100            0 (const int)
    341 0:100        'Q0' ( temp 4-component vector of float)
    342 0:101      Constant:
    343 0:101        0.000000
    344 0:102      move second child to first child ( temp 4-component vector of float)
    345 0:102        PositionCS: direct index for structure ( temp 4-component vector of float)
    346 0:102          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
    347 0:102          Constant:
    348 0:102            0 (const int)
    349 0:102        'Q1' ( temp 4-component vector of float)
    350 0:103      Constant:
    351 0:103        0.000000
    352 0:104      Constant:
    353 0:104        0.000000
    354 0:107      move second child to first child ( temp 4-component vector of float)
    355 0:107        PositionCS: direct index for structure ( temp 4-component vector of float)
    356 0:107          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
    357 0:107          Constant:
    358 0:107            0 (const int)
    359 0:107        'Q1' ( temp 4-component vector of float)
    360 0:108      Constant:
    361 0:108        0.000000
    362 0:109      move second child to first child ( temp 4-component vector of float)
    363 0:109        PositionCS: direct index for structure ( temp 4-component vector of float)
    364 0:109          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
    365 0:109          Constant:
    366 0:109            0 (const int)
    367 0:109        'Q2' ( temp 4-component vector of float)
    368 0:110      Constant:
    369 0:110        0.000000
    370 0:111      Constant:
    371 0:111        0.000000
    372 0:114      move second child to first child ( temp 4-component vector of float)
    373 0:114        PositionCS: direct index for structure ( temp 4-component vector of float)
    374 0:114          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
    375 0:114          Constant:
    376 0:114            0 (const int)
    377 0:114        'Q2' ( temp 4-component vector of float)
    378 0:115      Constant:
    379 0:115        0.000000
    380 0:116      move second child to first child ( temp 4-component vector of float)
    381 0:116        PositionCS: direct index for structure ( temp 4-component vector of float)
    382 0:116          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
    383 0:116          Constant:
    384 0:116            0 (const int)
    385 0:116        'Q0' ( temp 4-component vector of float)
    386 0:117      Constant:
    387 0:117        0.000000
    388 0:118      Constant:
    389 0:118        0.000000
    390 0:?   Linker Objects
    391 0:?     'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
    392 0:?     '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float PositionWS})
    393 0:?     'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    394 0:?     'id' ( in uint InvocationID)
    395 0:?     '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
    396 0:?     '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner)
    397 0:?     '@patchConstantOutput' (layout( location=1) patch out structure{ temp 3-element array of 3-component vector of float NormalWS})
    398 
    399 
    400 Linked tessellation control stage:
    401 
    402 
    403 Shader version: 500
    404 vertices = 3
    405 input primitive = triangles
    406 vertex spacing = fractional_odd_spacing
    407 triangle order = ccw
    408 0:? Sequence
    409 0:31  Function Definition: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    410 0:31    Function Parameters: 
    411 0:31      'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    412 0:?     Sequence
    413 0:32      Sequence
    414 0:32        move second child to first child ( temp 3-component vector of float)
    415 0:32          'roundedEdgeTessFactor' ( temp 3-component vector of float)
    416 0:32          tess_factor: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
    417 0:32            'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
    418 0:32            Constant:
    419 0:32              6 (const uint)
    420 0:33      Sequence
    421 0:33        move second child to first child ( temp float)
    422 0:33          'roundedInsideTessFactor' ( temp float)
    423 0:33          Constant:
    424 0:33            3.000000
    425 0:34      Sequence
    426 0:34        move second child to first child ( temp float)
    427 0:34          'insideTessFactor' ( temp float)
    428 0:34          Constant:
    429 0:34            1.000000
    430 0:39      move second child to first child ( temp float)
    431 0:39        direct index ( temp float)
    432 0:39          EdgeTessFactor: direct index for structure ( temp 3-element array of float)
    433 0:39            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    434 0:39            Constant:
    435 0:39              0 (const int)
    436 0:39          Constant:
    437 0:39            0 (const int)
    438 0:39        direct index ( temp float)
    439 0:39          'roundedEdgeTessFactor' ( temp 3-component vector of float)
    440 0:39          Constant:
    441 0:39            0 (const int)
    442 0:40      move second child to first child ( temp float)
    443 0:40        direct index ( temp float)
    444 0:40          EdgeTessFactor: direct index for structure ( temp 3-element array of float)
    445 0:40            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    446 0:40            Constant:
    447 0:40              0 (const int)
    448 0:40          Constant:
    449 0:40            1 (const int)
    450 0:40        direct index ( temp float)
    451 0:40          'roundedEdgeTessFactor' ( temp 3-component vector of float)
    452 0:40          Constant:
    453 0:40            1 (const int)
    454 0:41      move second child to first child ( temp float)
    455 0:41        direct index ( temp float)
    456 0:41          EdgeTessFactor: direct index for structure ( temp 3-element array of float)
    457 0:41            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    458 0:41            Constant:
    459 0:41              0 (const int)
    460 0:41          Constant:
    461 0:41            2 (const int)
    462 0:41        direct index ( temp float)
    463 0:41          'roundedEdgeTessFactor' ( temp 3-component vector of float)
    464 0:41          Constant:
    465 0:41            2 (const int)
    466 0:42      move second child to first child ( temp float)
    467 0:42        InsideTessFactor: direct index for structure ( temp float)
    468 0:42          'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    469 0:42          Constant:
    470 0:42            1 (const int)
    471 0:42        'roundedInsideTessFactor' ( temp float)
    472 0:45      move second child to first child ( temp 3-component vector of float)
    473 0:45        direct index ( temp 3-component vector of float)
    474 0:45          NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
    475 0:45            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    476 0:45            Constant:
    477 0:45              2 (const int)
    478 0:45          Constant:
    479 0:45            0 (const int)
    480 0:45        NormalWS: direct index for structure ( temp 3-component vector of float)
    481 0:45          direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    482 0:45            'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    483 0:45            Constant:
    484 0:45              0 (const int)
    485 0:45          Constant:
    486 0:45            1 (const int)
    487 0:46      move second child to first child ( temp 3-component vector of float)
    488 0:46        direct index ( temp 3-component vector of float)
    489 0:46          NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
    490 0:46            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    491 0:46            Constant:
    492 0:46              2 (const int)
    493 0:46          Constant:
    494 0:46            1 (const int)
    495 0:46        NormalWS: direct index for structure ( temp 3-component vector of float)
    496 0:46          direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    497 0:46            'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    498 0:46            Constant:
    499 0:46              1 (const int)
    500 0:46          Constant:
    501 0:46            1 (const int)
    502 0:47      move second child to first child ( temp 3-component vector of float)
    503 0:47        direct index ( temp 3-component vector of float)
    504 0:47          NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
    505 0:47            'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    506 0:47            Constant:
    507 0:47              2 (const int)
    508 0:47          Constant:
    509 0:47            2 (const int)
    510 0:47        NormalWS: direct index for structure ( temp 3-component vector of float)
    511 0:47          direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    512 0:47            'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    513 0:47            Constant:
    514 0:47              2 (const int)
    515 0:47          Constant:
    516 0:47            1 (const int)
    517 0:49      Branch: Return with expression
    518 0:49        'result' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    519 0:61  Function Definition: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS})
    520 0:61    Function Parameters: 
    521 0:61      'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    522 0:61      'id' ( in uint)
    523 0:?     Sequence
    524 0:63      move second child to first child ( temp 3-component vector of float)
    525 0:63        PositionWS: direct index for structure ( temp 3-component vector of float)
    526 0:63          'output' ( temp structure{ temp 3-component vector of float PositionWS})
    527 0:63          Constant:
    528 0:63            0 (const int)
    529 0:63        PositionWS: direct index for structure ( temp 3-component vector of float)
    530 0:63          indirect index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    531 0:63            'patch' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    532 0:63            'id' ( in uint)
    533 0:63          Constant:
    534 0:63            0 (const int)
    535 0:64      Branch: Return with expression
    536 0:64        'output' ( temp structure{ temp 3-component vector of float PositionWS})
    537 0:61  Function Definition: HSMain( ( temp void)
    538 0:61    Function Parameters: 
    539 0:?     Sequence
    540 0:61      move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    541 0:?         'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    542 0:?         'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    543 0:61      move second child to first child ( temp uint)
    544 0:?         'id' ( temp uint)
    545 0:?         'id' ( in uint InvocationID)
    546 0:61      move second child to first child ( temp structure{ temp 3-component vector of float PositionWS})
    547 0:61        indirect index (layout( location=0) out structure{ temp 3-component vector of float PositionWS})
    548 0:?           '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float PositionWS})
    549 0:?           'id' ( in uint InvocationID)
    550 0:61        Function Call: @HSMain(struct-HSInput-vf3-vf31[3];u1; ( temp structure{ temp 3-component vector of float PositionWS})
    551 0:?           'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    552 0:?           'id' ( temp uint)
    553 0:?       Barrier ( temp void)
    554 0:?       Test condition and select ( temp void)
    555 0:?         Condition
    556 0:?         Compare Equal ( temp bool)
    557 0:?           'id' ( in uint InvocationID)
    558 0:?           Constant:
    559 0:?             0 (const int)
    560 0:?         true case
    561 0:?         Sequence
    562 0:?           move second child to first child ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    563 0:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    564 0:?             Function Call: HSPatchConstant(struct-HSInput-vf3-vf31[3]; ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    565 0:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    566 0:?           Sequence
    567 0:?             move second child to first child ( temp float)
    568 0:?               direct index ( patch out float TessLevelOuter)
    569 0:?                 '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
    570 0:?                 Constant:
    571 0:?                   0 (const int)
    572 0:?               direct index ( temp float)
    573 0:?                 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
    574 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    575 0:?                   Constant:
    576 0:?                     0 (const int)
    577 0:?                 Constant:
    578 0:?                   0 (const int)
    579 0:?             move second child to first child ( temp float)
    580 0:?               direct index ( patch out float TessLevelOuter)
    581 0:?                 '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
    582 0:?                 Constant:
    583 0:?                   1 (const int)
    584 0:?               direct index ( temp float)
    585 0:?                 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
    586 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    587 0:?                   Constant:
    588 0:?                     0 (const int)
    589 0:?                 Constant:
    590 0:?                   1 (const int)
    591 0:?             move second child to first child ( temp float)
    592 0:?               direct index ( patch out float TessLevelOuter)
    593 0:?                 '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
    594 0:?                 Constant:
    595 0:?                   2 (const int)
    596 0:?               direct index ( temp float)
    597 0:?                 EdgeTessFactor: direct index for structure ( temp 3-element array of float)
    598 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    599 0:?                   Constant:
    600 0:?                     0 (const int)
    601 0:?                 Constant:
    602 0:?                   2 (const int)
    603 0:?             move second child to first child ( temp float)
    604 0:?               direct index ( patch out float TessLevelInner)
    605 0:?                 '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner)
    606 0:?                 Constant:
    607 0:?                   0 (const int)
    608 0:?               InsideTessFactor: direct index for structure ( temp float)
    609 0:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    610 0:?                 Constant:
    611 0:?                   1 (const int)
    612 0:?             move second child to first child ( temp 3-element array of 3-component vector of float)
    613 0:?               NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
    614 0:?                 '@patchConstantOutput' (layout( location=1) patch out structure{ temp 3-element array of 3-component vector of float NormalWS})
    615 0:?                 Constant:
    616 0:?                   0 (const int)
    617 0:?               NormalWS: direct index for structure ( temp 3-element array of 3-component vector of float)
    618 0:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float EdgeTessFactor,  temp float InsideTessFactor,  temp 3-element array of 3-component vector of float NormalWS})
    619 0:?                 Constant:
    620 0:?                   2 (const int)
    621 0:84  Function Definition: GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41; ( temp void)
    622 0:84    Function Parameters: 
    623 0:84      'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    624 0:84      'output' ( out structure{ temp 4-component vector of float PositionCS})
    625 0:?     Sequence
    626 0:86      Sequence
    627 0:86        move second child to first child ( temp 3-component vector of float)
    628 0:86          'P0' ( temp 3-component vector of float)
    629 0:86          vector swizzle ( temp 3-component vector of float)
    630 0:86            PositionWS: direct index for structure ( temp 3-component vector of float)
    631 0:86              direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    632 0:86                'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    633 0:86                Constant:
    634 0:86                  0 (const int)
    635 0:86              Constant:
    636 0:86                0 (const int)
    637 0:86            Sequence
    638 0:86              Constant:
    639 0:86                0 (const int)
    640 0:86              Constant:
    641 0:86                1 (const int)
    642 0:86              Constant:
    643 0:86                2 (const int)
    644 0:87      Sequence
    645 0:87        move second child to first child ( temp 3-component vector of float)
    646 0:87          'P1' ( temp 3-component vector of float)
    647 0:87          vector swizzle ( temp 3-component vector of float)
    648 0:87            PositionWS: direct index for structure ( temp 3-component vector of float)
    649 0:87              direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    650 0:87                'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    651 0:87                Constant:
    652 0:87                  1 (const int)
    653 0:87              Constant:
    654 0:87                0 (const int)
    655 0:87            Sequence
    656 0:87              Constant:
    657 0:87                0 (const int)
    658 0:87              Constant:
    659 0:87                1 (const int)
    660 0:87              Constant:
    661 0:87                2 (const int)
    662 0:88      Sequence
    663 0:88        move second child to first child ( temp 3-component vector of float)
    664 0:88          'P2' ( temp 3-component vector of float)
    665 0:88          vector swizzle ( temp 3-component vector of float)
    666 0:88            PositionWS: direct index for structure ( temp 3-component vector of float)
    667 0:88              direct index ( temp structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    668 0:88                'input' ( in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    669 0:88                Constant:
    670 0:88                  2 (const int)
    671 0:88              Constant:
    672 0:88                0 (const int)
    673 0:88            Sequence
    674 0:88              Constant:
    675 0:88                0 (const int)
    676 0:88              Constant:
    677 0:88                1 (const int)
    678 0:88              Constant:
    679 0:88                2 (const int)
    680 0:92      add second child into first child ( temp float)
    681 0:92        direct index ( temp float)
    682 0:92          'P0' ( temp 3-component vector of float)
    683 0:92          Constant:
    684 0:92            2 (const int)
    685 0:92        Constant:
    686 0:92          0.001000
    687 0:93      add second child into first child ( temp float)
    688 0:93        direct index ( temp float)
    689 0:93          'P1' ( temp 3-component vector of float)
    690 0:93          Constant:
    691 0:93            2 (const int)
    692 0:93        Constant:
    693 0:93          0.001000
    694 0:94      add second child into first child ( temp float)
    695 0:94        direct index ( temp float)
    696 0:94          'P2' ( temp 3-component vector of float)
    697 0:94          Constant:
    698 0:94            2 (const int)
    699 0:94        Constant:
    700 0:94          0.001000
    701 0:95      Sequence
    702 0:95        move second child to first child ( temp 4-component vector of float)
    703 0:95          'Q0' ( temp 4-component vector of float)
    704 0:95          vector-times-matrix ( temp 4-component vector of float)
    705 0:?             Construct vec4 ( temp 4-component vector of float)
    706 0:95              'P0' ( temp 3-component vector of float)
    707 0:95              Constant:
    708 0:95                1.000000
    709 0:95            proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
    710 0:95              'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
    711 0:95              Constant:
    712 0:95                1 (const uint)
    713 0:96      Sequence
    714 0:96        move second child to first child ( temp 4-component vector of float)
    715 0:96          'Q1' ( temp 4-component vector of float)
    716 0:96          vector-times-matrix ( temp 4-component vector of float)
    717 0:?             Construct vec4 ( temp 4-component vector of float)
    718 0:96              'P1' ( temp 3-component vector of float)
    719 0:96              Constant:
    720 0:96                1.000000
    721 0:96            proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
    722 0:96              'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
    723 0:96              Constant:
    724 0:96                1 (const uint)
    725 0:97      Sequence
    726 0:97        move second child to first child ( temp 4-component vector of float)
    727 0:97          'Q2' ( temp 4-component vector of float)
    728 0:97          vector-times-matrix ( temp 4-component vector of float)
    729 0:?             Construct vec4 ( temp 4-component vector of float)
    730 0:97              'P2' ( temp 3-component vector of float)
    731 0:97              Constant:
    732 0:97                1.000000
    733 0:97            proj_matrix: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
    734 0:97              'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
    735 0:97              Constant:
    736 0:97                1 (const uint)
    737 0:100      move second child to first child ( temp 4-component vector of float)
    738 0:100        PositionCS: direct index for structure ( temp 4-component vector of float)
    739 0:100          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
    740 0:100          Constant:
    741 0:100            0 (const int)
    742 0:100        'Q0' ( temp 4-component vector of float)
    743 0:101      Constant:
    744 0:101        0.000000
    745 0:102      move second child to first child ( temp 4-component vector of float)
    746 0:102        PositionCS: direct index for structure ( temp 4-component vector of float)
    747 0:102          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
    748 0:102          Constant:
    749 0:102            0 (const int)
    750 0:102        'Q1' ( temp 4-component vector of float)
    751 0:103      Constant:
    752 0:103        0.000000
    753 0:104      Constant:
    754 0:104        0.000000
    755 0:107      move second child to first child ( temp 4-component vector of float)
    756 0:107        PositionCS: direct index for structure ( temp 4-component vector of float)
    757 0:107          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
    758 0:107          Constant:
    759 0:107            0 (const int)
    760 0:107        'Q1' ( temp 4-component vector of float)
    761 0:108      Constant:
    762 0:108        0.000000
    763 0:109      move second child to first child ( temp 4-component vector of float)
    764 0:109        PositionCS: direct index for structure ( temp 4-component vector of float)
    765 0:109          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
    766 0:109          Constant:
    767 0:109            0 (const int)
    768 0:109        'Q2' ( temp 4-component vector of float)
    769 0:110      Constant:
    770 0:110        0.000000
    771 0:111      Constant:
    772 0:111        0.000000
    773 0:114      move second child to first child ( temp 4-component vector of float)
    774 0:114        PositionCS: direct index for structure ( temp 4-component vector of float)
    775 0:114          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
    776 0:114          Constant:
    777 0:114            0 (const int)
    778 0:114        'Q2' ( temp 4-component vector of float)
    779 0:115      Constant:
    780 0:115        0.000000
    781 0:116      move second child to first child ( temp 4-component vector of float)
    782 0:116        PositionCS: direct index for structure ( temp 4-component vector of float)
    783 0:116          'vertex' ( temp structure{ temp 4-component vector of float PositionCS})
    784 0:116          Constant:
    785 0:116            0 (const int)
    786 0:116        'Q0' ( temp 4-component vector of float)
    787 0:117      Constant:
    788 0:117        0.000000
    789 0:118      Constant:
    790 0:118        0.000000
    791 0:?   Linker Objects
    792 0:?     'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float model_view_matrix, layout( row_major std140) uniform 4X4 matrix of float proj_matrix, layout( row_major std140) uniform 4X4 matrix of float model_view_proj_matrix, layout( row_major std140) uniform 3X3 matrix of float normal_matrix, layout( row_major std140) uniform 3-component vector of float color, layout( row_major std140) uniform 3-component vector of float view_dir, layout( row_major std140) uniform 3-component vector of float tess_factor})
    793 0:?     '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float PositionWS})
    794 0:?     'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float PositionWS,  temp 3-component vector of float NormalWS})
    795 0:?     'id' ( in uint InvocationID)
    796 0:?     '@patchConstantOutput.EdgeTessFactor' ( patch out 4-element array of float TessLevelOuter)
    797 0:?     '@patchConstantOutput.InsideTessFactor' ( patch out 2-element array of float TessLevelInner)
    798 0:?     '@patchConstantOutput' (layout( location=1) patch out structure{ temp 3-element array of 3-component vector of float NormalWS})
    799 
    800 // Module Version 10000
    801 // Generated by (magic number): 80007
    802 // Id's are bound by 216
    803 
    804                               Capability Tessellation
    805                1:             ExtInstImport  "GLSL.std.450"
    806                               MemoryModel Logical GLSL450
    807                               EntryPoint TessellationControl 4  "HSMain" 97 101 105 126 139 145
    808                               ExecutionMode 4 OutputVertices 3
    809                               ExecutionMode 4 Triangles
    810                               ExecutionMode 4 SpacingFractionalOdd
    811                               ExecutionMode 4 VertexOrderCcw
    812                               Source HLSL 500
    813                               Name 4  "HSMain"
    814                               Name 8  "HSInput"
    815                               MemberName 8(HSInput) 0  "PositionWS"
    816                               MemberName 8(HSInput) 1  "NormalWS"
    817                               Name 15  "HSTrianglePatchConstant"
    818                               MemberName 15(HSTrianglePatchConstant) 0  "EdgeTessFactor"
    819                               MemberName 15(HSTrianglePatchConstant) 1  "InsideTessFactor"
    820                               MemberName 15(HSTrianglePatchConstant) 2  "NormalWS"
    821                               Name 18  "HSPatchConstant(struct-HSInput-vf3-vf31[3];"
    822                               Name 17  "patch"
    823                               Name 21  "HSOutput"
    824                               MemberName 21(HSOutput) 0  "PositionWS"
    825                               Name 25  "@HSMain(struct-HSInput-vf3-vf31[3];u1;"
    826                               Name 23  "patch"
    827                               Name 24  "id"
    828                               Name 27  "GSVertexInput"
    829                               MemberName 27(GSVertexInput) 0  "PositionWS"
    830                               MemberName 27(GSVertexInput) 1  "NormalWS"
    831                               Name 31  "GSVertexOutput"
    832                               MemberName 31(GSVertexOutput) 0  "PositionCS"
    833                               Name 36  "GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41;"
    834                               Name 34  "input"
    835                               Name 35  "output"
    836                               Name 39  "roundedEdgeTessFactor"
    837                               Name 42  "UniformBlock0"
    838                               MemberName 42(UniformBlock0) 0  "model_view_matrix"
    839                               MemberName 42(UniformBlock0) 1  "proj_matrix"
    840                               MemberName 42(UniformBlock0) 2  "model_view_proj_matrix"
    841                               MemberName 42(UniformBlock0) 3  "normal_matrix"
    842                               MemberName 42(UniformBlock0) 4  "color"
    843                               MemberName 42(UniformBlock0) 5  "view_dir"
    844                               MemberName 42(UniformBlock0) 6  "tess_factor"
    845                               Name 44  ""
    846                               Name 51  "roundedInsideTessFactor"
    847                               Name 53  "insideTessFactor"
    848                               Name 56  "result"
    849                               Name 87  "output"
    850                               Name 95  "patch"
    851                               Name 97  "patch"
    852                               Name 99  "id"
    853                               Name 101  "id"
    854                               Name 105  "@entryPointOutput"
    855                               Name 107  "param"
    856                               Name 109  "param"
    857                               Name 120  "@patchConstantResult"
    858                               Name 121  "param"
    859                               Name 126  "@patchConstantOutput.EdgeTessFactor"
    860                               Name 139  "@patchConstantOutput.InsideTessFactor"
    861                               Name 143  "HSTrianglePatchConstant"
    862                               MemberName 143(HSTrianglePatchConstant) 0  "NormalWS"
    863                               Name 145  "@patchConstantOutput"
    864                               Name 151  "P0"
    865                               Name 154  "P1"
    866                               Name 157  "P2"
    867                               Name 174  "Q0"
    868                               Name 184  "Q1"
    869                               Name 193  "Q2"
    870                               Name 202  "vertex"
    871                               MemberDecorate 42(UniformBlock0) 0 RowMajor
    872                               MemberDecorate 42(UniformBlock0) 0 Offset 0
    873                               MemberDecorate 42(UniformBlock0) 0 MatrixStride 16
    874                               MemberDecorate 42(UniformBlock0) 1 RowMajor
    875                               MemberDecorate 42(UniformBlock0) 1 Offset 64
    876                               MemberDecorate 42(UniformBlock0) 1 MatrixStride 16
    877                               MemberDecorate 42(UniformBlock0) 2 RowMajor
    878                               MemberDecorate 42(UniformBlock0) 2 Offset 128
    879                               MemberDecorate 42(UniformBlock0) 2 MatrixStride 16
    880                               MemberDecorate 42(UniformBlock0) 3 RowMajor
    881                               MemberDecorate 42(UniformBlock0) 3 Offset 192
    882                               MemberDecorate 42(UniformBlock0) 3 MatrixStride 16
    883                               MemberDecorate 42(UniformBlock0) 4 Offset 240
    884                               MemberDecorate 42(UniformBlock0) 5 Offset 256
    885                               MemberDecorate 42(UniformBlock0) 6 Offset 272
    886                               Decorate 42(UniformBlock0) Block
    887                               Decorate 44 DescriptorSet 0
    888                               Decorate 44 Binding 0
    889                               Decorate 97(patch) Location 0
    890                               Decorate 101(id) BuiltIn InvocationId
    891                               Decorate 105(@entryPointOutput) Location 0
    892                               Decorate 126(@patchConstantOutput.EdgeTessFactor) Patch
    893                               Decorate 126(@patchConstantOutput.EdgeTessFactor) BuiltIn TessLevelOuter
    894                               Decorate 139(@patchConstantOutput.InsideTessFactor) Patch
    895                               Decorate 139(@patchConstantOutput.InsideTessFactor) BuiltIn TessLevelInner
    896                               MemberDecorate 143(HSTrianglePatchConstant) 0 Patch
    897                               Decorate 145(@patchConstantOutput) Patch
    898                               Decorate 145(@patchConstantOutput) Location 1
    899                2:             TypeVoid
    900                3:             TypeFunction 2
    901                6:             TypeFloat 32
    902                7:             TypeVector 6(float) 3
    903       8(HSInput):             TypeStruct 7(fvec3) 7(fvec3)
    904                9:             TypeInt 32 0
    905               10:      9(int) Constant 3
    906               11:             TypeArray 8(HSInput) 10
    907               12:             TypePointer Function 11
    908               13:             TypeArray 6(float) 10
    909               14:             TypeArray 7(fvec3) 10
    910 15(HSTrianglePatchConstant):             TypeStruct 13 6(float) 14
    911               16:             TypeFunction 15(HSTrianglePatchConstant) 12(ptr)
    912               20:             TypePointer Function 9(int)
    913     21(HSOutput):             TypeStruct 7(fvec3)
    914               22:             TypeFunction 21(HSOutput) 12(ptr) 20(ptr)
    915 27(GSVertexInput):             TypeStruct 7(fvec3) 7(fvec3)
    916               28:             TypeArray 27(GSVertexInput) 10
    917               29:             TypePointer Function 28
    918               30:             TypeVector 6(float) 4
    919 31(GSVertexOutput):             TypeStruct 30(fvec4)
    920               32:             TypePointer Function 31(GSVertexOutput)
    921               33:             TypeFunction 2 29(ptr) 32(ptr)
    922               38:             TypePointer Function 7(fvec3)
    923               40:             TypeMatrix 30(fvec4) 4
    924               41:             TypeMatrix 7(fvec3) 3
    925 42(UniformBlock0):             TypeStruct 40 40 40 41 7(fvec3) 7(fvec3) 7(fvec3)
    926               43:             TypePointer Uniform 42(UniformBlock0)
    927               44:     43(ptr) Variable Uniform
    928               45:             TypeInt 32 1
    929               46:     45(int) Constant 6
    930               47:             TypePointer Uniform 7(fvec3)
    931               50:             TypePointer Function 6(float)
    932               52:    6(float) Constant 1077936128
    933               54:    6(float) Constant 1065353216
    934               55:             TypePointer Function 15(HSTrianglePatchConstant)
    935               57:     45(int) Constant 0
    936               58:      9(int) Constant 0
    937               62:     45(int) Constant 1
    938               63:      9(int) Constant 1
    939               67:     45(int) Constant 2
    940               68:      9(int) Constant 2
    941               86:             TypePointer Function 21(HSOutput)
    942               96:             TypePointer Input 11
    943        97(patch):     96(ptr) Variable Input
    944              100:             TypePointer Input 9(int)
    945          101(id):    100(ptr) Variable Input
    946              103:             TypeArray 21(HSOutput) 10
    947              104:             TypePointer Output 103
    948 105(@entryPointOutput):    104(ptr) Variable Output
    949              112:             TypePointer Output 21(HSOutput)
    950              114:      9(int) Constant 4
    951              116:             TypeBool
    952              124:             TypeArray 6(float) 114
    953              125:             TypePointer Output 124
    954 126(@patchConstantOutput.EdgeTessFactor):    125(ptr) Variable Output
    955              129:             TypePointer Output 6(float)
    956              137:             TypeArray 6(float) 68
    957              138:             TypePointer Output 137
    958 139(@patchConstantOutput.InsideTessFactor):    138(ptr) Variable Output
    959 143(HSTrianglePatchConstant):             TypeStruct 14
    960              144:             TypePointer Output 143(HSTrianglePatchConstant)
    961 145(@patchConstantOutput):    144(ptr) Variable Output
    962              146:             TypePointer Function 14
    963              149:             TypePointer Output 14
    964              160:    6(float) Constant 981668463
    965              173:             TypePointer Function 30(fvec4)
    966              180:             TypePointer Uniform 40
    967              205:    6(float) Constant 0
    968        4(HSMain):           2 Function None 3
    969                5:             Label
    970        95(patch):     12(ptr) Variable Function
    971           99(id):     20(ptr) Variable Function
    972       107(param):     12(ptr) Variable Function
    973       109(param):     20(ptr) Variable Function
    974 120(@patchConstantResult):     55(ptr) Variable Function
    975       121(param):     12(ptr) Variable Function
    976               98:          11 Load 97(patch)
    977                               Store 95(patch) 98
    978              102:      9(int) Load 101(id)
    979                               Store 99(id) 102
    980              106:      9(int) Load 101(id)
    981              108:          11 Load 95(patch)
    982                               Store 107(param) 108
    983              110:      9(int) Load 99(id)
    984                               Store 109(param) 110
    985              111:21(HSOutput) FunctionCall 25(@HSMain(struct-HSInput-vf3-vf31[3];u1;) 107(param) 109(param)
    986              113:    112(ptr) AccessChain 105(@entryPointOutput) 106
    987                               Store 113 111
    988                               ControlBarrier 68 114 58
    989              115:      9(int) Load 101(id)
    990              117:   116(bool) IEqual 115 57
    991                               SelectionMerge 119 None
    992                               BranchConditional 117 118 119
    993              118:               Label
    994              122:          11   Load 95(patch)
    995                                 Store 121(param) 122
    996              123:15(HSTrianglePatchConstant)   FunctionCall 18(HSPatchConstant(struct-HSInput-vf3-vf31[3];) 121(param)
    997                                 Store 120(@patchConstantResult) 123
    998              127:     50(ptr)   AccessChain 120(@patchConstantResult) 57 57
    999              128:    6(float)   Load 127
   1000              130:    129(ptr)   AccessChain 126(@patchConstantOutput.EdgeTessFactor) 57
   1001                                 Store 130 128
   1002              131:     50(ptr)   AccessChain 120(@patchConstantResult) 57 62
   1003              132:    6(float)   Load 131
   1004              133:    129(ptr)   AccessChain 126(@patchConstantOutput.EdgeTessFactor) 62
   1005                                 Store 133 132
   1006              134:     50(ptr)   AccessChain 120(@patchConstantResult) 57 67
   1007              135:    6(float)   Load 134
   1008              136:    129(ptr)   AccessChain 126(@patchConstantOutput.EdgeTessFactor) 67
   1009                                 Store 136 135
   1010              140:     50(ptr)   AccessChain 120(@patchConstantResult) 62
   1011              141:    6(float)   Load 140
   1012              142:    129(ptr)   AccessChain 139(@patchConstantOutput.InsideTessFactor) 57
   1013                                 Store 142 141
   1014              147:    146(ptr)   AccessChain 120(@patchConstantResult) 67
   1015              148:          14   Load 147
   1016              150:    149(ptr)   AccessChain 145(@patchConstantOutput) 57
   1017                                 Store 150 148
   1018                                 Branch 119
   1019              119:             Label
   1020                               Return
   1021                               FunctionEnd
   1022 18(HSPatchConstant(struct-HSInput-vf3-vf31[3];):15(HSTrianglePatchConstant) Function None 16
   1023        17(patch):     12(ptr) FunctionParameter
   1024               19:             Label
   1025 39(roundedEdgeTessFactor):     38(ptr) Variable Function
   1026 51(roundedInsideTessFactor):     50(ptr) Variable Function
   1027 53(insideTessFactor):     50(ptr) Variable Function
   1028       56(result):     55(ptr) Variable Function
   1029               48:     47(ptr) AccessChain 44 46
   1030               49:    7(fvec3) Load 48
   1031                               Store 39(roundedEdgeTessFactor) 49
   1032                               Store 51(roundedInsideTessFactor) 52
   1033                               Store 53(insideTessFactor) 54
   1034               59:     50(ptr) AccessChain 39(roundedEdgeTessFactor) 58
   1035               60:    6(float) Load 59
   1036               61:     50(ptr) AccessChain 56(result) 57 57
   1037                               Store 61 60
   1038               64:     50(ptr) AccessChain 39(roundedEdgeTessFactor) 63
   1039               65:    6(float) Load 64
   1040               66:     50(ptr) AccessChain 56(result) 57 62
   1041                               Store 66 65
   1042               69:     50(ptr) AccessChain 39(roundedEdgeTessFactor) 68
   1043               70:    6(float) Load 69
   1044               71:     50(ptr) AccessChain 56(result) 57 67
   1045                               Store 71 70
   1046               72:    6(float) Load 51(roundedInsideTessFactor)
   1047               73:     50(ptr) AccessChain 56(result) 62
   1048                               Store 73 72
   1049               74:     38(ptr) AccessChain 17(patch) 57 62
   1050               75:    7(fvec3) Load 74
   1051               76:     38(ptr) AccessChain 56(result) 67 57
   1052                               Store 76 75
   1053               77:     38(ptr) AccessChain 17(patch) 62 62
   1054               78:    7(fvec3) Load 77
   1055               79:     38(ptr) AccessChain 56(result) 67 62
   1056                               Store 79 78
   1057               80:     38(ptr) AccessChain 17(patch) 67 62
   1058               81:    7(fvec3) Load 80
   1059               82:     38(ptr) AccessChain 56(result) 67 67
   1060                               Store 82 81
   1061               83:15(HSTrianglePatchConstant) Load 56(result)
   1062                               ReturnValue 83
   1063                               FunctionEnd
   1064 25(@HSMain(struct-HSInput-vf3-vf31[3];u1;):21(HSOutput) Function None 22
   1065        23(patch):     12(ptr) FunctionParameter
   1066           24(id):     20(ptr) FunctionParameter
   1067               26:             Label
   1068       87(output):     86(ptr) Variable Function
   1069               88:      9(int) Load 24(id)
   1070               89:     38(ptr) AccessChain 23(patch) 88 57
   1071               90:    7(fvec3) Load 89
   1072               91:     38(ptr) AccessChain 87(output) 57
   1073                               Store 91 90
   1074               92:21(HSOutput) Load 87(output)
   1075                               ReturnValue 92
   1076                               FunctionEnd
   1077 36(GSMain(struct-GSVertexInput-vf3-vf31[3];struct-GSVertexOutput-vf41;):           2 Function None 33
   1078        34(input):     29(ptr) FunctionParameter
   1079       35(output):     32(ptr) FunctionParameter
   1080               37:             Label
   1081          151(P0):     38(ptr) Variable Function
   1082          154(P1):     38(ptr) Variable Function
   1083          157(P2):     38(ptr) Variable Function
   1084          174(Q0):    173(ptr) Variable Function
   1085          184(Q1):    173(ptr) Variable Function
   1086          193(Q2):    173(ptr) Variable Function
   1087      202(vertex):     32(ptr) Variable Function
   1088              152:     38(ptr) AccessChain 34(input) 57 57
   1089              153:    7(fvec3) Load 152
   1090                               Store 151(P0) 153
   1091              155:     38(ptr) AccessChain 34(input) 62 57
   1092              156:    7(fvec3) Load 155
   1093                               Store 154(P1) 156
   1094              158:     38(ptr) AccessChain 34(input) 67 57
   1095              159:    7(fvec3) Load 158
   1096                               Store 157(P2) 159
   1097              161:     50(ptr) AccessChain 151(P0) 68
   1098              162:    6(float) Load 161
   1099              163:    6(float) FAdd 162 160
   1100              164:     50(ptr) AccessChain 151(P0) 68
   1101                               Store 164 163
   1102              165:     50(ptr) AccessChain 154(P1) 68
   1103              166:    6(float) Load 165
   1104              167:    6(float) FAdd 166 160
   1105              168:     50(ptr) AccessChain 154(P1) 68
   1106                               Store 168 167
   1107              169:     50(ptr) AccessChain 157(P2) 68
   1108              170:    6(float) Load 169
   1109              171:    6(float) FAdd 170 160
   1110              172:     50(ptr) AccessChain 157(P2) 68
   1111                               Store 172 171
   1112              175:    7(fvec3) Load 151(P0)
   1113              176:    6(float) CompositeExtract 175 0
   1114              177:    6(float) CompositeExtract 175 1
   1115              178:    6(float) CompositeExtract 175 2
   1116              179:   30(fvec4) CompositeConstruct 176 177 178 54
   1117              181:    180(ptr) AccessChain 44 62
   1118              182:          40 Load 181
   1119              183:   30(fvec4) VectorTimesMatrix 179 182
   1120                               Store 174(Q0) 183
   1121              185:    7(fvec3) Load 154(P1)
   1122              186:    6(float) CompositeExtract 185 0
   1123              187:    6(float) CompositeExtract 185 1
   1124              188:    6(float) CompositeExtract 185 2
   1125              189:   30(fvec4) CompositeConstruct 186 187 188 54
   1126              190:    180(ptr) AccessChain 44 62
   1127              191:          40 Load 190
   1128              192:   30(fvec4) VectorTimesMatrix 189 191
   1129                               Store 184(Q1) 192
   1130              194:    7(fvec3) Load 157(P2)
   1131              195:    6(float) CompositeExtract 194 0
   1132              196:    6(float) CompositeExtract 194 1
   1133              197:    6(float) CompositeExtract 194 2
   1134              198:   30(fvec4) CompositeConstruct 195 196 197 54
   1135              199:    180(ptr) AccessChain 44 62
   1136              200:          40 Load 199
   1137              201:   30(fvec4) VectorTimesMatrix 198 200
   1138                               Store 193(Q2) 201
   1139              203:   30(fvec4) Load 174(Q0)
   1140              204:    173(ptr) AccessChain 202(vertex) 57
   1141                               Store 204 203
   1142              206:   30(fvec4) Load 184(Q1)
   1143              207:    173(ptr) AccessChain 202(vertex) 57
   1144                               Store 207 206
   1145              208:   30(fvec4) Load 184(Q1)
   1146              209:    173(ptr) AccessChain 202(vertex) 57
   1147                               Store 209 208
   1148              210:   30(fvec4) Load 193(Q2)
   1149              211:    173(ptr) AccessChain 202(vertex) 57
   1150                               Store 211 210
   1151              212:   30(fvec4) Load 193(Q2)
   1152              213:    173(ptr) AccessChain 202(vertex) 57
   1153                               Store 213 212
   1154              214:   30(fvec4) Load 174(Q0)
   1155              215:    173(ptr) AccessChain 202(vertex) 57
   1156                               Store 215 214
   1157                               Return
   1158                               FunctionEnd
   1159