Home | History | Annotate | Download | only in baseResults
      1 hlsl.color.hull.tesc
      2 Shader version: 500
      3 vertices = 3
      4 vertex spacing = equal_spacing
      5 triangle order = cw
      6 0:? Sequence
      7 0:37  Function Definition: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
      8 0:37    Function Parameters: 
      9 0:37      'inputPatch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
     10 0:37      'patchId' ( in uint)
     11 0:?     Sequence
     12 0:42      move second child to first child ( temp float)
     13 0:42        direct index ( temp float)
     14 0:42          edges: direct index for structure ( temp 3-element array of float)
     15 0:42            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
     16 0:42            Constant:
     17 0:42              0 (const int)
     18 0:42          Constant:
     19 0:42            0 (const int)
     20 0:42        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
     21 0:42          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
     22 0:42          Constant:
     23 0:42            0 (const uint)
     24 0:43      move second child to first child ( temp float)
     25 0:43        direct index ( temp float)
     26 0:43          edges: direct index for structure ( temp 3-element array of float)
     27 0:43            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
     28 0:43            Constant:
     29 0:43              0 (const int)
     30 0:43          Constant:
     31 0:43            1 (const int)
     32 0:43        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
     33 0:43          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
     34 0:43          Constant:
     35 0:43            0 (const uint)
     36 0:44      move second child to first child ( temp float)
     37 0:44        direct index ( temp float)
     38 0:44          edges: direct index for structure ( temp 3-element array of float)
     39 0:44            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
     40 0:44            Constant:
     41 0:44              0 (const int)
     42 0:44          Constant:
     43 0:44            2 (const int)
     44 0:44        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
     45 0:44          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
     46 0:44          Constant:
     47 0:44            0 (const uint)
     48 0:47      move second child to first child ( temp float)
     49 0:47        inside: direct index for structure ( temp float)
     50 0:47          'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
     51 0:47          Constant:
     52 0:47            1 (const int)
     53 0:47        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
     54 0:47          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
     55 0:47          Constant:
     56 0:47            0 (const uint)
     57 0:49      Branch: Return with expression
     58 0:49        'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
     59 0:63  Function Definition: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
     60 0:63    Function Parameters: 
     61 0:63      'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
     62 0:63      'pointId' ( in uint)
     63 0:63      'patchId' ( in uint)
     64 0:?     Sequence
     65 0:67      move second child to first child ( temp 3-component vector of float)
     66 0:67        position: direct index for structure ( temp 3-component vector of float)
     67 0:67          'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
     68 0:67          Constant:
     69 0:67            0 (const int)
     70 0:67        position: direct index for structure ( temp 3-component vector of float)
     71 0:67          indirect index ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
     72 0:67            'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
     73 0:67            'pointId' ( in uint)
     74 0:67          Constant:
     75 0:67            0 (const int)
     76 0:70      move second child to first child ( temp 4-component vector of float)
     77 0:70        color: direct index for structure ( temp 4-component vector of float)
     78 0:70          'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
     79 0:70          Constant:
     80 0:70            1 (const int)
     81 0:70        color: direct index for structure ( temp 4-component vector of float)
     82 0:70          indirect index ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
     83 0:70            'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
     84 0:70            'pointId' ( in uint)
     85 0:70          Constant:
     86 0:70            1 (const int)
     87 0:72      Branch: Return with expression
     88 0:72        'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
     89 0:63  Function Definition: main( ( temp void)
     90 0:63    Function Parameters: 
     91 0:?     Sequence
     92 0:63      move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
     93 0:?         'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
     94 0:?         'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
     95 0:63      move second child to first child ( temp uint)
     96 0:?         'pointId' ( temp uint)
     97 0:?         'pointId' ( in uint InvocationID)
     98 0:63      move second child to first child ( temp uint)
     99 0:?         'patchId' ( temp uint)
    100 0:?         'patchId' ( in uint PrimitiveID)
    101 0:63      move second child to first child ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    102 0:63        indirect index (layout( location=0) out structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    103 0:?           '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    104 0:?           'pointId' ( in uint InvocationID)
    105 0:63        Function Call: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    106 0:?           'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    107 0:?           'pointId' ( temp uint)
    108 0:?           'patchId' ( temp uint)
    109 0:?       Barrier ( temp void)
    110 0:?       Test condition and select ( temp void)
    111 0:?         Condition
    112 0:?         Compare Equal ( temp bool)
    113 0:?           'pointId' ( in uint InvocationID)
    114 0:?           Constant:
    115 0:?             0 (const int)
    116 0:?         true case
    117 0:?         Sequence
    118 0:?           move second child to first child ( temp structure{ temp 3-element array of float edges,  temp float inside})
    119 0:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
    120 0:?             Function Call: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
    121 0:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    122 0:?               'patchId' ( in uint PrimitiveID)
    123 0:?           Sequence
    124 0:?             move second child to first child ( temp float)
    125 0:?               direct index ( patch out float TessLevelOuter)
    126 0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
    127 0:?                 Constant:
    128 0:?                   0 (const int)
    129 0:?               direct index ( temp float)
    130 0:?                 edges: direct index for structure ( temp 3-element array of float)
    131 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
    132 0:?                   Constant:
    133 0:?                     0 (const int)
    134 0:?                 Constant:
    135 0:?                   0 (const int)
    136 0:?             move second child to first child ( temp float)
    137 0:?               direct index ( patch out float TessLevelOuter)
    138 0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
    139 0:?                 Constant:
    140 0:?                   1 (const int)
    141 0:?               direct index ( temp float)
    142 0:?                 edges: direct index for structure ( temp 3-element array of float)
    143 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
    144 0:?                   Constant:
    145 0:?                     0 (const int)
    146 0:?                 Constant:
    147 0:?                   1 (const int)
    148 0:?             move second child to first child ( temp float)
    149 0:?               direct index ( patch out float TessLevelOuter)
    150 0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
    151 0:?                 Constant:
    152 0:?                   2 (const int)
    153 0:?               direct index ( temp float)
    154 0:?                 edges: direct index for structure ( temp 3-element array of float)
    155 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
    156 0:?                   Constant:
    157 0:?                     0 (const int)
    158 0:?                 Constant:
    159 0:?                   2 (const int)
    160 0:?             move second child to first child ( temp float)
    161 0:?               direct index ( patch out float TessLevelInner)
    162 0:?                 '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
    163 0:?                 Constant:
    164 0:?                   0 (const int)
    165 0:?               inside: direct index for structure ( temp float)
    166 0:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
    167 0:?                 Constant:
    168 0:?                   1 (const int)
    169 0:?   Linker Objects
    170 0:?     'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
    171 0:?     '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    172 0:?     'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    173 0:?     'pointId' ( in uint InvocationID)
    174 0:?     'patchId' ( in uint PrimitiveID)
    175 0:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
    176 0:?     '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
    177 
    178 
    179 Linked tessellation control stage:
    180 
    181 
    182 Shader version: 500
    183 vertices = 3
    184 vertex spacing = equal_spacing
    185 triangle order = cw
    186 0:? Sequence
    187 0:37  Function Definition: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
    188 0:37    Function Parameters: 
    189 0:37      'inputPatch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    190 0:37      'patchId' ( in uint)
    191 0:?     Sequence
    192 0:42      move second child to first child ( temp float)
    193 0:42        direct index ( temp float)
    194 0:42          edges: direct index for structure ( temp 3-element array of float)
    195 0:42            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
    196 0:42            Constant:
    197 0:42              0 (const int)
    198 0:42          Constant:
    199 0:42            0 (const int)
    200 0:42        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
    201 0:42          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
    202 0:42          Constant:
    203 0:42            0 (const uint)
    204 0:43      move second child to first child ( temp float)
    205 0:43        direct index ( temp float)
    206 0:43          edges: direct index for structure ( temp 3-element array of float)
    207 0:43            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
    208 0:43            Constant:
    209 0:43              0 (const int)
    210 0:43          Constant:
    211 0:43            1 (const int)
    212 0:43        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
    213 0:43          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
    214 0:43          Constant:
    215 0:43            0 (const uint)
    216 0:44      move second child to first child ( temp float)
    217 0:44        direct index ( temp float)
    218 0:44          edges: direct index for structure ( temp 3-element array of float)
    219 0:44            'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
    220 0:44            Constant:
    221 0:44              0 (const int)
    222 0:44          Constant:
    223 0:44            2 (const int)
    224 0:44        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
    225 0:44          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
    226 0:44          Constant:
    227 0:44            0 (const uint)
    228 0:47      move second child to first child ( temp float)
    229 0:47        inside: direct index for structure ( temp float)
    230 0:47          'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
    231 0:47          Constant:
    232 0:47            1 (const int)
    233 0:47        tessellationAmount: direct index for structure (layout( row_major std140) uniform float)
    234 0:47          'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
    235 0:47          Constant:
    236 0:47            0 (const uint)
    237 0:49      Branch: Return with expression
    238 0:49        'output' ( temp structure{ temp 3-element array of float edges,  temp float inside})
    239 0:63  Function Definition: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    240 0:63    Function Parameters: 
    241 0:63      'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    242 0:63      'pointId' ( in uint)
    243 0:63      'patchId' ( in uint)
    244 0:?     Sequence
    245 0:67      move second child to first child ( temp 3-component vector of float)
    246 0:67        position: direct index for structure ( temp 3-component vector of float)
    247 0:67          'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    248 0:67          Constant:
    249 0:67            0 (const int)
    250 0:67        position: direct index for structure ( temp 3-component vector of float)
    251 0:67          indirect index ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    252 0:67            'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    253 0:67            'pointId' ( in uint)
    254 0:67          Constant:
    255 0:67            0 (const int)
    256 0:70      move second child to first child ( temp 4-component vector of float)
    257 0:70        color: direct index for structure ( temp 4-component vector of float)
    258 0:70          'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    259 0:70          Constant:
    260 0:70            1 (const int)
    261 0:70        color: direct index for structure ( temp 4-component vector of float)
    262 0:70          indirect index ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    263 0:70            'patch' ( in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    264 0:70            'pointId' ( in uint)
    265 0:70          Constant:
    266 0:70            1 (const int)
    267 0:72      Branch: Return with expression
    268 0:72        'output' ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    269 0:63  Function Definition: main( ( temp void)
    270 0:63    Function Parameters: 
    271 0:?     Sequence
    272 0:63      move second child to first child ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    273 0:?         'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    274 0:?         'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    275 0:63      move second child to first child ( temp uint)
    276 0:?         'pointId' ( temp uint)
    277 0:?         'pointId' ( in uint InvocationID)
    278 0:63      move second child to first child ( temp uint)
    279 0:?         'patchId' ( temp uint)
    280 0:?         'patchId' ( in uint PrimitiveID)
    281 0:63      move second child to first child ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    282 0:63        indirect index (layout( location=0) out structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    283 0:?           '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    284 0:?           'pointId' ( in uint InvocationID)
    285 0:63        Function Call: @main(struct-HullInputType-vf3-vf41[3];u1;u1; ( temp structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    286 0:?           'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    287 0:?           'pointId' ( temp uint)
    288 0:?           'patchId' ( temp uint)
    289 0:?       Barrier ( temp void)
    290 0:?       Test condition and select ( temp void)
    291 0:?         Condition
    292 0:?         Compare Equal ( temp bool)
    293 0:?           'pointId' ( in uint InvocationID)
    294 0:?           Constant:
    295 0:?             0 (const int)
    296 0:?         true case
    297 0:?         Sequence
    298 0:?           move second child to first child ( temp structure{ temp 3-element array of float edges,  temp float inside})
    299 0:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
    300 0:?             Function Call: ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1; ( temp structure{ temp 3-element array of float edges,  temp float inside})
    301 0:?               'patch' ( temp 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    302 0:?               'patchId' ( in uint PrimitiveID)
    303 0:?           Sequence
    304 0:?             move second child to first child ( temp float)
    305 0:?               direct index ( patch out float TessLevelOuter)
    306 0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
    307 0:?                 Constant:
    308 0:?                   0 (const int)
    309 0:?               direct index ( temp float)
    310 0:?                 edges: direct index for structure ( temp 3-element array of float)
    311 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
    312 0:?                   Constant:
    313 0:?                     0 (const int)
    314 0:?                 Constant:
    315 0:?                   0 (const int)
    316 0:?             move second child to first child ( temp float)
    317 0:?               direct index ( patch out float TessLevelOuter)
    318 0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
    319 0:?                 Constant:
    320 0:?                   1 (const int)
    321 0:?               direct index ( temp float)
    322 0:?                 edges: direct index for structure ( temp 3-element array of float)
    323 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
    324 0:?                   Constant:
    325 0:?                     0 (const int)
    326 0:?                 Constant:
    327 0:?                   1 (const int)
    328 0:?             move second child to first child ( temp float)
    329 0:?               direct index ( patch out float TessLevelOuter)
    330 0:?                 '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
    331 0:?                 Constant:
    332 0:?                   2 (const int)
    333 0:?               direct index ( temp float)
    334 0:?                 edges: direct index for structure ( temp 3-element array of float)
    335 0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
    336 0:?                   Constant:
    337 0:?                     0 (const int)
    338 0:?                 Constant:
    339 0:?                   2 (const int)
    340 0:?             move second child to first child ( temp float)
    341 0:?               direct index ( patch out float TessLevelInner)
    342 0:?                 '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
    343 0:?                 Constant:
    344 0:?                   0 (const int)
    345 0:?               inside: direct index for structure ( temp float)
    346 0:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float edges,  temp float inside})
    347 0:?                 Constant:
    348 0:?                   1 (const int)
    349 0:?   Linker Objects
    350 0:?     'anon@0' (layout( binding=0 row_major std140) uniform block{layout( row_major std140) uniform float tessellationAmount, layout( row_major std140) uniform 3-component vector of float padding})
    351 0:?     '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    352 0:?     'patch' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float position,  temp 4-component vector of float color})
    353 0:?     'pointId' ( in uint InvocationID)
    354 0:?     'patchId' ( in uint PrimitiveID)
    355 0:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
    356 0:?     '@patchConstantOutput.inside' ( patch out 2-element array of float TessLevelInner)
    357 
    358 // Module Version 10000
    359 // Generated by (magic number): 80007
    360 // Id's are bound by 127
    361 
    362                               Capability Tessellation
    363                1:             ExtInstImport  "GLSL.std.450"
    364                               MemoryModel Logical GLSL450
    365                               EntryPoint TessellationControl 4  "main" 72 76 79 83 110 123
    366                               ExecutionMode 4 OutputVertices 3
    367                               ExecutionMode 4 Triangles
    368                               ExecutionMode 4 SpacingEqual
    369                               ExecutionMode 4 VertexOrderCw
    370                               Source HLSL 500
    371                               Name 4  "main"
    372                               Name 9  "HullInputType"
    373                               MemberName 9(HullInputType) 0  "position"
    374                               MemberName 9(HullInputType) 1  "color"
    375                               Name 16  "ConstantOutputType"
    376                               MemberName 16(ConstantOutputType) 0  "edges"
    377                               MemberName 16(ConstantOutputType) 1  "inside"
    378                               Name 20  "ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;"
    379                               Name 18  "inputPatch"
    380                               Name 19  "patchId"
    381                               Name 22  "HullOutputType"
    382                               MemberName 22(HullOutputType) 0  "position"
    383                               MemberName 22(HullOutputType) 1  "color"
    384                               Name 27  "@main(struct-HullInputType-vf3-vf41[3];u1;u1;"
    385                               Name 24  "patch"
    386                               Name 25  "pointId"
    387                               Name 26  "patchId"
    388                               Name 30  "output"
    389                               Name 33  "TessellationBuffer"
    390                               MemberName 33(TessellationBuffer) 0  "tessellationAmount"
    391                               MemberName 33(TessellationBuffer) 1  "padding"
    392                               Name 35  ""
    393                               Name 56  "output"
    394                               Name 70  "patch"
    395                               Name 72  "patch"
    396                               Name 74  "pointId"
    397                               Name 76  "pointId"
    398                               Name 78  "patchId"
    399                               Name 79  "patchId"
    400                               Name 83  "@entryPointOutput"
    401                               Name 85  "param"
    402                               Name 87  "param"
    403                               Name 89  "param"
    404                               Name 102  "@patchConstantResult"
    405                               Name 103  "param"
    406                               Name 105  "param"
    407                               Name 110  "@patchConstantOutput.edges"
    408                               Name 123  "@patchConstantOutput.inside"
    409                               MemberDecorate 33(TessellationBuffer) 0 Offset 0
    410                               MemberDecorate 33(TessellationBuffer) 1 Offset 4
    411                               Decorate 33(TessellationBuffer) Block
    412                               Decorate 35 DescriptorSet 0
    413                               Decorate 35 Binding 0
    414                               Decorate 72(patch) Location 0
    415                               Decorate 76(pointId) BuiltIn InvocationId
    416                               Decorate 79(patchId) BuiltIn PrimitiveId
    417                               Decorate 83(@entryPointOutput) Location 0
    418                               Decorate 110(@patchConstantOutput.edges) Patch
    419                               Decorate 110(@patchConstantOutput.edges) BuiltIn TessLevelOuter
    420                               Decorate 123(@patchConstantOutput.inside) Patch
    421                               Decorate 123(@patchConstantOutput.inside) BuiltIn TessLevelInner
    422                2:             TypeVoid
    423                3:             TypeFunction 2
    424                6:             TypeFloat 32
    425                7:             TypeVector 6(float) 3
    426                8:             TypeVector 6(float) 4
    427 9(HullInputType):             TypeStruct 7(fvec3) 8(fvec4)
    428               10:             TypeInt 32 0
    429               11:     10(int) Constant 3
    430               12:             TypeArray 9(HullInputType) 11
    431               13:             TypePointer Function 12
    432               14:             TypePointer Function 10(int)
    433               15:             TypeArray 6(float) 11
    434 16(ConstantOutputType):             TypeStruct 15 6(float)
    435               17:             TypeFunction 16(ConstantOutputType) 13(ptr) 14(ptr)
    436 22(HullOutputType):             TypeStruct 7(fvec3) 8(fvec4)
    437               23:             TypeFunction 22(HullOutputType) 13(ptr) 14(ptr) 14(ptr)
    438               29:             TypePointer Function 16(ConstantOutputType)
    439               31:             TypeInt 32 1
    440               32:     31(int) Constant 0
    441 33(TessellationBuffer):             TypeStruct 6(float) 7(fvec3)
    442               34:             TypePointer Uniform 33(TessellationBuffer)
    443               35:     34(ptr) Variable Uniform
    444               36:             TypePointer Uniform 6(float)
    445               39:             TypePointer Function 6(float)
    446               41:     31(int) Constant 1
    447               45:     31(int) Constant 2
    448               55:             TypePointer Function 22(HullOutputType)
    449               58:             TypePointer Function 7(fvec3)
    450               63:             TypePointer Function 8(fvec4)
    451               71:             TypePointer Input 12
    452        72(patch):     71(ptr) Variable Input
    453               75:             TypePointer Input 10(int)
    454      76(pointId):     75(ptr) Variable Input
    455      79(patchId):     75(ptr) Variable Input
    456               81:             TypeArray 22(HullOutputType) 11
    457               82:             TypePointer Output 81
    458 83(@entryPointOutput):     82(ptr) Variable Output
    459               92:             TypePointer Output 22(HullOutputType)
    460               94:     10(int) Constant 2
    461               95:     10(int) Constant 4
    462               96:     10(int) Constant 0
    463               98:             TypeBool
    464              108:             TypeArray 6(float) 95
    465              109:             TypePointer Output 108
    466 110(@patchConstantOutput.edges):    109(ptr) Variable Output
    467              113:             TypePointer Output 6(float)
    468              121:             TypeArray 6(float) 94
    469              122:             TypePointer Output 121
    470 123(@patchConstantOutput.inside):    122(ptr) Variable Output
    471          4(main):           2 Function None 3
    472                5:             Label
    473        70(patch):     13(ptr) Variable Function
    474      74(pointId):     14(ptr) Variable Function
    475      78(patchId):     14(ptr) Variable Function
    476        85(param):     13(ptr) Variable Function
    477        87(param):     14(ptr) Variable Function
    478        89(param):     14(ptr) Variable Function
    479 102(@patchConstantResult):     29(ptr) Variable Function
    480       103(param):     13(ptr) Variable Function
    481       105(param):     14(ptr) Variable Function
    482               73:          12 Load 72(patch)
    483                               Store 70(patch) 73
    484               77:     10(int) Load 76(pointId)
    485                               Store 74(pointId) 77
    486               80:     10(int) Load 79(patchId)
    487                               Store 78(patchId) 80
    488               84:     10(int) Load 76(pointId)
    489               86:          12 Load 70(patch)
    490                               Store 85(param) 86
    491               88:     10(int) Load 74(pointId)
    492                               Store 87(param) 88
    493               90:     10(int) Load 78(patchId)
    494                               Store 89(param) 90
    495               91:22(HullOutputType) FunctionCall 27(@main(struct-HullInputType-vf3-vf41[3];u1;u1;) 85(param) 87(param) 89(param)
    496               93:     92(ptr) AccessChain 83(@entryPointOutput) 84
    497                               Store 93 91
    498                               ControlBarrier 94 95 96
    499               97:     10(int) Load 76(pointId)
    500               99:    98(bool) IEqual 97 32
    501                               SelectionMerge 101 None
    502                               BranchConditional 99 100 101
    503              100:               Label
    504              104:          12   Load 70(patch)
    505                                 Store 103(param) 104
    506              106:     10(int)   Load 79(patchId)
    507                                 Store 105(param) 106
    508              107:16(ConstantOutputType)   FunctionCall 20(ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;) 103(param) 105(param)
    509                                 Store 102(@patchConstantResult) 107
    510              111:     39(ptr)   AccessChain 102(@patchConstantResult) 32 32
    511              112:    6(float)   Load 111
    512              114:    113(ptr)   AccessChain 110(@patchConstantOutput.edges) 32
    513                                 Store 114 112
    514              115:     39(ptr)   AccessChain 102(@patchConstantResult) 32 41
    515              116:    6(float)   Load 115
    516              117:    113(ptr)   AccessChain 110(@patchConstantOutput.edges) 41
    517                                 Store 117 116
    518              118:     39(ptr)   AccessChain 102(@patchConstantResult) 32 45
    519              119:    6(float)   Load 118
    520              120:    113(ptr)   AccessChain 110(@patchConstantOutput.edges) 45
    521                                 Store 120 119
    522              124:     39(ptr)   AccessChain 102(@patchConstantResult) 41
    523              125:    6(float)   Load 124
    524              126:    113(ptr)   AccessChain 123(@patchConstantOutput.inside) 32
    525                                 Store 126 125
    526                                 Branch 101
    527              101:             Label
    528                               Return
    529                               FunctionEnd
    530 20(ColorPatchConstantFunction(struct-HullInputType-vf3-vf41[3];u1;):16(ConstantOutputType) Function None 17
    531   18(inputPatch):     13(ptr) FunctionParameter
    532      19(patchId):     14(ptr) FunctionParameter
    533               21:             Label
    534       30(output):     29(ptr) Variable Function
    535               37:     36(ptr) AccessChain 35 32
    536               38:    6(float) Load 37
    537               40:     39(ptr) AccessChain 30(output) 32 32
    538                               Store 40 38
    539               42:     36(ptr) AccessChain 35 32
    540               43:    6(float) Load 42
    541               44:     39(ptr) AccessChain 30(output) 32 41
    542                               Store 44 43
    543               46:     36(ptr) AccessChain 35 32
    544               47:    6(float) Load 46
    545               48:     39(ptr) AccessChain 30(output) 32 45
    546                               Store 48 47
    547               49:     36(ptr) AccessChain 35 32
    548               50:    6(float) Load 49
    549               51:     39(ptr) AccessChain 30(output) 41
    550                               Store 51 50
    551               52:16(ConstantOutputType) Load 30(output)
    552                               ReturnValue 52
    553                               FunctionEnd
    554 27(@main(struct-HullInputType-vf3-vf41[3];u1;u1;):22(HullOutputType) Function None 23
    555        24(patch):     13(ptr) FunctionParameter
    556      25(pointId):     14(ptr) FunctionParameter
    557      26(patchId):     14(ptr) FunctionParameter
    558               28:             Label
    559       56(output):     55(ptr) Variable Function
    560               57:     10(int) Load 25(pointId)
    561               59:     58(ptr) AccessChain 24(patch) 57 32
    562               60:    7(fvec3) Load 59
    563               61:     58(ptr) AccessChain 56(output) 32
    564                               Store 61 60
    565               62:     10(int) Load 25(pointId)
    566               64:     63(ptr) AccessChain 24(patch) 62 41
    567               65:    8(fvec4) Load 64
    568               66:     63(ptr) AccessChain 56(output) 41
    569                               Store 66 65
    570               67:22(HullOutputType) Load 56(output)
    571                               ReturnValue 67
    572                               FunctionEnd
    573