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