spv.debuginfo.hlsl.tesc
WARNING: 0:158: '' : attribute does not apply to entry point 

// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 705

                              Capability Tessellation
                              Extension  "SPV_KHR_non_semantic_info"
               1:             ExtInstImport  "NonSemantic.Shader.DebugInfo.100"
               3:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint TessellationControl 6  "main" 597 604 611 645 654 661 668 683 698
                              ExecutionMode 6 OutputVertices 4
                              ExecutionMode 6 Quads
                              ExecutionMode 6 SpacingEqual
                              ExecutionMode 6 VertexOrderCw
               2:             String  ""
               9:             String  "float"
              12:             String  "uint"
              30:             String  "screenSpaceTessFactor"
              33:             String  "// OpModuleProcessed auto-map-locations
// OpModuleProcessed auto-map-bindings
// OpModuleProcessed entry-point main
// OpModuleProcessed client vulkan100
// OpModuleProcessed target-env vulkan1.0
// OpModuleProcessed keep-uncalled
// OpModuleProcessed hlsl-offsets
#line 1
"
              39:             String  "p0"
              45:             String  "p1"
              53:             String  "bool"
              61:             String  "frustumCheck"
              65:             String  "Pos"
              69:             String  "inUV"
              78:             String  "Normal"
              82:             String  "UV"
              86:             String  "VSOutput"
              97:             String  "TessLevelOuter"
             101:             String  "TessLevelInner"
             104:             String  "ConstantsHSOutput"
             110:             String  "ConstantsHS"
             114:             String  "patch"
             127:             String  "HSOutput"
             134:             String  "@main"
             141:             String  "InvocationID"
             146:             String  "midPoint"
             159:             String  "radius"
             170:             String  "v0"
             182:             String  "modelview"
             187:             String  "lightPos"
             191:             String  "frustumPlanes"
             194:             String  "tessellatedEdgeSize"
             198:             String  "viewportDim"
             202:             String  "UBO"
             205:             String  "ubo"
             214:             String  "int"
             225:             String  "clip0"
             243:             String  "clip1"
             321:             String  "pos"
             328:             String  "type.2d.image"
             330:             String  "@type.2d.image"
             336:             String  "textureHeight"
             341:             String  "type.sampler"
             342:             String  "@type.sampler"
             347:             String  "samplerHeight"
             351:             String  "type.sampled.image"
             352:             String  "@type.sampled.image"
             369:             String  "i"
             423:             String  "output"
                              Name 6  "main"
                              Name 28  "screenSpaceTessFactor(vf4;vf4;"
                              Name 26  "p0"
                              Name 27  "p1"
                              Name 59  "frustumCheck(vf4;vf2;"
                              Name 57  "Pos"
                              Name 58  "inUV"
                              Name 73  "VSOutput"
                              MemberName 73(VSOutput) 0  "Pos"
                              MemberName 73(VSOutput) 1  "Normal"
                              MemberName 73(VSOutput) 2  "UV"
                              Name 95  "ConstantsHSOutput"
                              MemberName 95(ConstantsHSOutput) 0  "TessLevelOuter"
                              MemberName 95(ConstantsHSOutput) 1  "TessLevelInner"
                              Name 108  "ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];"
                              Name 107  "patch"
                              Name 119  "HSOutput"
                              MemberName 119(HSOutput) 0  "Pos"
                              MemberName 119(HSOutput) 1  "Normal"
                              MemberName 119(HSOutput) 2  "UV"
                              Name 132  "@main(struct-VSOutput-vf4-vf3-vf21[4];u1;"
                              Name 130  "patch"
                              Name 131  "InvocationID"
                              Name 144  "midPoint"
                              Name 157  "radius"
                              Name 168  "v0"
                              Name 180  "UBO"
                              MemberName 180(UBO) 0  "projection"
                              MemberName 180(UBO) 1  "modelview"
                              MemberName 180(UBO) 2  "lightPos"
                              MemberName 180(UBO) 3  "frustumPlanes"
                              MemberName 180(UBO) 4  "displacementFactor"
                              MemberName 180(UBO) 5  "tessellationFactor"
                              MemberName 180(UBO) 6  "viewportDim"
                              MemberName 180(UBO) 7  "tessellatedEdgeSize"
                              Name 203  "ubo"
                              MemberName 203(ubo) 0  "ubo"
                              Name 210  ""
                              Name 223  "clip0"
                              Name 241  "clip1"
                              Name 319  "pos"
                              Name 334  "textureHeight"
                              Name 345  "samplerHeight"
                              Name 367  "i"
                              Name 421  "output"
                              Name 431  "param"
                              Name 436  "param"
                              Name 471  "param"
                              Name 477  "param"
                              Name 482  "param"
                              Name 487  "param"
                              Name 492  "param"
                              Name 497  "param"
                              Name 502  "param"
                              Name 507  "param"
                              Name 560  "output"
                              Name 594  "patch"
                              Name 597  "patch.Pos"
                              Name 604  "patch.Normal"
                              Name 611  "patch.UV"
                              Name 643  "InvocationID"
                              Name 645  "InvocationID"
                              Name 647  "flattenTemp"
                              Name 648  "param"
                              Name 650  "param"
                              Name 654  "@entryPointOutput.Pos"
                              Name 661  "@entryPointOutput.Normal"
                              Name 668  "@entryPointOutput.UV"
                              Name 678  "@patchConstantResult"
                              Name 679  "param"
                              Name 683  "@patchConstantOutput.TessLevelOuter"
                              Name 698  "@patchConstantOutput.TessLevelInner"
                              Decorate 178 ArrayStride 16
                              MemberDecorate 180(UBO) 0 RowMajor
                              MemberDecorate 180(UBO) 0 Offset 0
                              MemberDecorate 180(UBO) 0 MatrixStride 16
                              MemberDecorate 180(UBO) 1 RowMajor
                              MemberDecorate 180(UBO) 1 Offset 64
                              MemberDecorate 180(UBO) 1 MatrixStride 16
                              MemberDecorate 180(UBO) 2 Offset 128
                              MemberDecorate 180(UBO) 3 Offset 144
                              MemberDecorate 180(UBO) 4 Offset 240
                              MemberDecorate 180(UBO) 5 Offset 244
                              MemberDecorate 180(UBO) 6 Offset 248
                              MemberDecorate 180(UBO) 7 Offset 256
                              MemberDecorate 203(ubo) 0 Offset 0
                              Decorate 203(ubo) Block
                              Decorate 210 DescriptorSet 0
                              Decorate 210 Binding 0
                              Decorate 334(textureHeight) DescriptorSet 0
                              Decorate 334(textureHeight) Binding 1
                              Decorate 345(samplerHeight) DescriptorSet 0
                              Decorate 345(samplerHeight) Binding 1
                              Decorate 597(patch.Pos) BuiltIn Position
                              Decorate 604(patch.Normal) Location 0
                              Decorate 611(patch.UV) Location 1
                              Decorate 645(InvocationID) BuiltIn InvocationId
                              Decorate 654(@entryPointOutput.Pos) BuiltIn Position
                              Decorate 661(@entryPointOutput.Normal) Location 0
                              Decorate 668(@entryPointOutput.UV) Location 1
                              Decorate 683(@patchConstantOutput.TessLevelOuter) Patch
                              Decorate 683(@patchConstantOutput.TessLevelOuter) BuiltIn TessLevelOuter
                              Decorate 698(@patchConstantOutput.TessLevelInner) Patch
                              Decorate 698(@patchConstantOutput.TessLevelInner) BuiltIn TessLevelInner
               4:             TypeVoid
               5:             TypeFunction 4
               8:             TypeFloat 32
              11:             TypeInt 32 0
              14:     11(int) Constant 32
              15:     11(int) Constant 6
              16:     11(int) Constant 0
              13:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 12 14 15 16
              17:     11(int) Constant 3
              10:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 9 14 17 16
              18:             TypeVector 8(float) 4
              19:     11(int) Constant 4
              20:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 19
              21:             TypePointer Function 18(fvec4)
              22:     11(int) Constant 7
              23:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 22 16
              24:             TypeFunction 8(float) 21(ptr) 21(ptr)
              25:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 10 20 20
              32:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 33
              34:     11(int) Constant 65
              36:     11(int) Constant 1
              37:     11(int) Constant 5
              35:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 36 19 32 37
              31:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 30 25 32 34 16 35 30 17 34
              38:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 39 20 32 34 16 31 19 36
              41:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
              46:     11(int) Constant 2
              44:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 45 20 32 34 16 31 19 46
              48:             TypeVector 8(float) 2
              49:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 46
              50:             TypePointer Function 48(fvec2)
              51:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 49 22 16
              52:             TypeBool
              54:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 53 14 46 16
              55:             TypeFunction 52(bool) 21(ptr) 50(ptr)
              56:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 54 20 49
              63:     11(int) Constant 95
              62:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 61 56 32 63 16 35 61 17 63
              64:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 65 20 32 63 16 62 19 36
              68:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 69 49 32 63 16 62 19 46
              71:             TypeVector 8(float) 3
              72:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17
    73(VSOutput):             TypeStruct 18(fvec4) 71(fvec3) 48(fvec2)
              75:     11(int) Constant 44
              76:     11(int) Constant 13
              74:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 65 20 32 75 76 16 16 17
              79:     11(int) Constant 45
              80:     11(int) Constant 35
              77:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 78 72 32 79 80 16 16 17
              83:     11(int) Constant 46
              84:     11(int) Constant 31
              81:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 82 49 32 83 84 16 16 17
              85:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 86 36 32 63 16 35 86 16 17 74 77 81
              87:             TypeArray 73(VSOutput) 19
              88:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 85 19
              89:             TypePointer Function 87
              90:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 88 22 16
              91:             TypeArray 8(float) 19
              92:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 19
              93:             TypeArray 8(float) 46
              94:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 46
95(ConstantsHSOutput):             TypeStruct 91 93
              98:     11(int) Constant 58
              99:     11(int) Constant 25
              96:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 97 92 32 98 99 16 16 17
             102:     11(int) Constant 59
             100:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 101 94 32 102 99 16 16 17
             103:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 104 36 32 63 16 35 104 16 17 96 100
             105:             TypeFunction 95(ConstantsHSOutput) 89(ptr)
             106:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 103 88
             112:     11(int) Constant 112
             111:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 110 106 32 112 16 35 110 17 112
             113:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 114 88 32 112 16 111 19 36
             117:             TypePointer Function 11(int)
             118:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 22 16
   119(HSOutput):             TypeStruct 18(fvec4) 71(fvec3) 48(fvec2)
             121:     11(int) Constant 51
             120:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 65 20 32 121 14 16 16 17
             123:     11(int) Constant 52
             122:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 78 72 32 123 80 16 16 17
             125:     11(int) Constant 53
             124:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 82 49 32 125 84 16 16 17
             126:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 127 36 32 112 16 35 127 16 17 120 122 124
             128:             TypeFunction 119(HSOutput) 89(ptr) 117(ptr)
             129:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 126 88 13
             136:     11(int) Constant 158
             135:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 134 129 32 136 16 35 134 17 136
             137:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 114 88 32 136 16 135 19 36
             140:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 141 13 32 136 16 135 19 46
             147:     11(int) Constant 67
             145:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 146 20 32 147 16 31 19
             150:    8(float) Constant 1056964608
             155:             TypePointer Function 8(float)
             156:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 22 16
             160:     11(int) Constant 69
             158:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 159 10 32 160 16 31 19
             166:    8(float) Constant 1073741824
             171:     11(int) Constant 72
             169:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 170 20 32 171 16 31 19
             175:             TypeMatrix 18(fvec4) 4
             177:    52(bool) ConstantTrue
             176:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 177
             178:             TypeArray 18(fvec4) 15
             179:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 20 15
        180(UBO):             TypeStruct 175 175 18(fvec4) 178 8(float) 8(float) 48(fvec2) 8(float)
             183:     11(int) Constant 29
             184:     11(int) Constant 20
             181:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 182 176 32 183 184 16 16 17
             185:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 182 176 32 183 184 16 16 17
             188:     11(int) Constant 30
             189:     11(int) Constant 17
             186:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 187 20 32 188 189 16 16 17
             192:     11(int) Constant 22
             190:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 191 179 32 84 192 16 16 17
             195:     11(int) Constant 27
             193:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 194 10 32 80 195 16 16 17
             196:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 194 10 32 80 195 16 16 17
             199:     11(int) Constant 34
             197:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 198 49 32 199 184 16 16 17
             200:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 194 10 32 80 195 16 16 17
             201:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 202 36 32 171 16 35 202 16 17 181 185 186 190 193 196 197 200
        203(ubo):             TypeStruct 180(UBO)
             206:     11(int) Constant 37
             204:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 205 201 32 206 206 16 16 17
             207:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 205 36 32 171 16 35 205 16 17 204
             208:             TypePointer Uniform 203(ubo)
             209:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 207 46 16
             210:    208(ptr) Variable Uniform
             212:     11(int) Constant 8
             211:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 207 32 171 16 35 2 210 212
             213:             TypeInt 32 1
             215:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 214 14 19 16
             216:    213(int) Constant 0
             217:    213(int) Constant 1
             218:             TypePointer Uniform 175
             219:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 176 46 16
             226:     11(int) Constant 75
             224:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 225 20 32 226 16 31 19
             231:    8(float) Constant 0
             232:   71(fvec3) ConstantComposite 231 231 231
             244:     11(int) Constant 76
             242:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 243 20 32 244 16 31 19
             259:     11(int) Constant 79
             266:     11(int) Constant 80
             271:    213(int) Constant 6
             272:             TypePointer Uniform 48(fvec2)
             273:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 49 46 16
             276:     11(int) Constant 83
             287:     11(int) Constant 84
             298:     11(int) Constant 89
             301:    213(int) Constant 7
             302:             TypePointer Uniform 8(float)
             303:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 46 16
             307:    213(int) Constant 5
             311:    8(float) Constant 1065353216
             312:    8(float) Constant 1115684864
             322:     11(int) Constant 98
             320:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 321 20 32 322 16 62 19
             326:             TypeImage 8(float) 2D sampled format:Unknown
             329:     11(int) Constant 99
             331:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone)
             327:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 328 16 32 329 16 35 330 331 17
             332:             TypePointer UniformConstant 326
             333:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 327 16 16
334(textureHeight):    332(ptr) Variable UniformConstant
             335:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 336 327 32 329 16 35 336 334(textureHeight) 212
             339:             TypeSampler
             340:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 341 36 32 329 16 35 342 331 17
             343:             TypePointer UniformConstant 339
             344:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 340 16 16
345(samplerHeight):    343(ptr) Variable UniformConstant
             346:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 347 340 32 329 16 35 347 345(samplerHeight) 212
             349:             TypeSampledImage 326
             350:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 351 16 32 329 16 35 352 331 17
             357:    213(int) Constant 4
             365:             TypePointer Function 213(int)
             366:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 215 22 16
             370:     11(int) Constant 102
             368:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 369 215 32 370 16 62 19
             387:     11(int) Constant 103
             388:    213(int) Constant 3
             390:             TypePointer Uniform 18(fvec4)
             391:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 46 16
             395:    8(float) Constant 1090519040
             400:    52(bool) ConstantFalse
             403:     11(int) Constant 105
             413:     11(int) Constant 108
             419:             TypePointer Function 95(ConstantsHSOutput)
             420:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 103 22 16
             424:     11(int) Constant 113
             422:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 423 103 32 424 16 111 19
             427:          91 ConstantComposite 231 231 231 231
             428:          93 ConstantComposite 231 231
             429:95(ConstantsHSOutput) ConstantComposite 427 428
             430:    213(int) Constant 2
             434:     11(int) Constant 115
             446:     11(int) Constant 117
             449:     11(int) Constant 118
             452:     11(int) Constant 119
             455:     11(int) Constant 120
             458:     11(int) Constant 121
             461:     11(int) Constant 122
             466:     11(int) Constant 126
             475:     11(int) Constant 128
             485:     11(int) Constant 129
             495:     11(int) Constant 130
             505:     11(int) Constant 131
             514:     11(int) Constant 132
             522:     11(int) Constant 133
             532:     11(int) Constant 139
             535:     11(int) Constant 140
             538:     11(int) Constant 141
             541:     11(int) Constant 142
             544:     11(int) Constant 143
             547:     11(int) Constant 144
             552:     11(int) Constant 148
             558:             TypePointer Function 119(HSOutput)
             559:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 126 22 16
             562:     11(int) Constant 159
             561:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 423 126 32 562 16 135 19
             565:   18(fvec4) ConstantComposite 231 231 231 231
             566:   48(fvec2) ConstantComposite 231 231
             567:119(HSOutput) ConstantComposite 565 232 566
             570:     11(int) Constant 160
             576:     11(int) Constant 161
             577:             TypePointer Function 71(fvec3)
             578:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 22 16
             584:     11(int) Constant 162
             590:     11(int) Constant 163
             595:             TypeArray 18(fvec4) 19
             596:             TypePointer Input 595
  597(patch.Pos):    596(ptr) Variable Input
             598:             TypePointer Input 18(fvec4)
             602:             TypeArray 71(fvec3) 19
             603:             TypePointer Input 602
604(patch.Normal):    603(ptr) Variable Input
             605:             TypePointer Input 71(fvec3)
             609:             TypeArray 48(fvec2) 19
             610:             TypePointer Input 609
   611(patch.UV):    610(ptr) Variable Input
             612:             TypePointer Input 48(fvec2)
             644:             TypePointer Input 11(int)
645(InvocationID):    644(ptr) Variable Input
             653:             TypePointer Output 595
654(@entryPointOutput.Pos):    653(ptr) Variable Output
             658:             TypePointer Output 18(fvec4)
             660:             TypePointer Output 602
661(@entryPointOutput.Normal):    660(ptr) Variable Output
             665:             TypePointer Output 71(fvec3)
             667:             TypePointer Output 609
668(@entryPointOutput.UV):    667(ptr) Variable Output
             672:             TypePointer Output 48(fvec2)
             682:             TypePointer Output 91
683(@patchConstantOutput.TessLevelOuter):    682(ptr) Variable Output
             686:             TypePointer Output 8(float)
             697:             TypePointer Output 93
698(@patchConstantOutput.TessLevelInner):    697(ptr) Variable Output
         6(main):           4 Function None 5
               7:             Label
      594(patch):     89(ptr) Variable Function
643(InvocationID):    117(ptr) Variable Function
647(flattenTemp):    558(ptr) Variable Function
      648(param):     89(ptr) Variable Function
      650(param):    117(ptr) Variable Function
678(@patchConstantResult):    419(ptr) Variable Function
      679(param):     89(ptr) Variable Function
             599:    598(ptr) AccessChain 597(patch.Pos) 216
             600:   18(fvec4) Load 599
             601:     21(ptr) AccessChain 594(patch) 216 216
                              Store 601 600
             606:    605(ptr) AccessChain 604(patch.Normal) 216
             607:   71(fvec3) Load 606
             608:    577(ptr) AccessChain 594(patch) 216 217
                              Store 608 607
             613:    612(ptr) AccessChain 611(patch.UV) 216
             614:   48(fvec2) Load 613
             615:     50(ptr) AccessChain 594(patch) 216 430
                              Store 615 614
             616:    598(ptr) AccessChain 597(patch.Pos) 217
             617:   18(fvec4) Load 616
             618:     21(ptr) AccessChain 594(patch) 217 216
                              Store 618 617
             619:    605(ptr) AccessChain 604(patch.Normal) 217
             620:   71(fvec3) Load 619
             621:    577(ptr) AccessChain 594(patch) 217 217
                              Store 621 620
             622:    612(ptr) AccessChain 611(patch.UV) 217
             623:   48(fvec2) Load 622
             624:     50(ptr) AccessChain 594(patch) 217 430
                              Store 624 623
             625:    598(ptr) AccessChain 597(patch.Pos) 430
             626:   18(fvec4) Load 625
             627:     21(ptr) AccessChain 594(patch) 430 216
                              Store 627 626
             628:    605(ptr) AccessChain 604(patch.Normal) 430
             629:   71(fvec3) Load 628
             630:    577(ptr) AccessChain 594(patch) 430 217
                              Store 630 629
             631:    612(ptr) AccessChain 611(patch.UV) 430
             632:   48(fvec2) Load 631
             633:     50(ptr) AccessChain 594(patch) 430 430
                              Store 633 632
             634:    598(ptr) AccessChain 597(patch.Pos) 388
             635:   18(fvec4) Load 634
             636:     21(ptr) AccessChain 594(patch) 388 216
                              Store 636 635
             637:    605(ptr) AccessChain 604(patch.Normal) 388
             638:   71(fvec3) Load 637
             639:    577(ptr) AccessChain 594(patch) 388 217
                              Store 639 638
             640:    612(ptr) AccessChain 611(patch.UV) 388
             641:   48(fvec2) Load 640
             642:     50(ptr) AccessChain 594(patch) 388 430
                              Store 642 641
             646:     11(int) Load 645(InvocationID)
                              Store 643(InvocationID) 646
             649:          87 Load 594(patch)
                              Store 648(param) 649
             651:     11(int) Load 643(InvocationID)
                              Store 650(param) 651
             652:119(HSOutput) FunctionCall 132(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) 648(param) 650(param)
                              Store 647(flattenTemp) 652
             655:     11(int) Load 645(InvocationID)
             656:     21(ptr) AccessChain 647(flattenTemp) 216
             657:   18(fvec4) Load 656
             659:    658(ptr) AccessChain 654(@entryPointOutput.Pos) 655
                              Store 659 657
             662:     11(int) Load 645(InvocationID)
             663:    577(ptr) AccessChain 647(flattenTemp) 217
             664:   71(fvec3) Load 663
             666:    665(ptr) AccessChain 661(@entryPointOutput.Normal) 662
                              Store 666 664
             669:     11(int) Load 645(InvocationID)
             670:     50(ptr) AccessChain 647(flattenTemp) 430
             671:   48(fvec2) Load 670
             673:    672(ptr) AccessChain 668(@entryPointOutput.UV) 669
                              Store 673 671
                              ControlBarrier 46 19 16
             674:     11(int) Load 645(InvocationID)
             675:    52(bool) IEqual 674 216
                              SelectionMerge 677 None
                              BranchConditional 675 676 677
             676:               Label
             680:          87   Load 594(patch)
                                Store 679(param) 680
             681:95(ConstantsHSOutput)   FunctionCall 108(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) 679(param)
                                Store 678(@patchConstantResult) 681
             684:    155(ptr)   AccessChain 678(@patchConstantResult) 216 216
             685:    8(float)   Load 684
             687:    686(ptr)   AccessChain 683(@patchConstantOutput.TessLevelOuter) 216
                                Store 687 685
             688:    155(ptr)   AccessChain 678(@patchConstantResult) 216 217
             689:    8(float)   Load 688
             690:    686(ptr)   AccessChain 683(@patchConstantOutput.TessLevelOuter) 217
                                Store 690 689
             691:    155(ptr)   AccessChain 678(@patchConstantResult) 216 430
             692:    8(float)   Load 691
             693:    686(ptr)   AccessChain 683(@patchConstantOutput.TessLevelOuter) 430
                                Store 693 692
             694:    155(ptr)   AccessChain 678(@patchConstantResult) 216 388
             695:    8(float)   Load 694
             696:    686(ptr)   AccessChain 683(@patchConstantOutput.TessLevelOuter) 388
                                Store 696 695
             699:    155(ptr)   AccessChain 678(@patchConstantResult) 217 216
             700:    8(float)   Load 699
             701:    686(ptr)   AccessChain 698(@patchConstantOutput.TessLevelInner) 216
                                Store 701 700
             702:    155(ptr)   AccessChain 678(@patchConstantResult) 217 217
             703:    8(float)   Load 702
             704:    686(ptr)   AccessChain 698(@patchConstantOutput.TessLevelInner) 217
                                Store 704 703
                                Branch 677
             677:             Label
                              Return
                              FunctionEnd
28(screenSpaceTessFactor(vf4;vf4;):    8(float) Function None 24
          26(p0):     21(ptr) FunctionParameter
          27(p1):     21(ptr) FunctionParameter
              29:             Label
   144(midPoint):     21(ptr) Variable Function
     157(radius):    155(ptr) Variable Function
         168(v0):     21(ptr) Variable Function
      223(clip0):     21(ptr) Variable Function
      241(clip1):     21(ptr) Variable Function
              42:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 31
              43:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 34 34 16 16
              40:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 38 26(p0) 41
              47:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 44 27(p1) 41
             143:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 31 28(screenSpaceTessFactor(vf4;vf4;)
             149:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 147 147 16 16
             148:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 145 144(midPoint) 41
             151:   18(fvec4) Load 26(p0)
             152:   18(fvec4) Load 27(p1)
             153:   18(fvec4) FAdd 151 152
             154:   18(fvec4) VectorTimesScalar 153 150
                              Store 144(midPoint) 154
             162:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 160 160 16 16
             161:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 158 157(radius) 41
             163:   18(fvec4) Load 26(p0)
             164:   18(fvec4) Load 27(p1)
             165:    8(float) ExtInst 3(GLSL.std.450) 67(Distance) 163 164
             167:    8(float) FDiv 165 166
                              Store 157(radius) 167
             173:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 171 171 16 16
             172:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 169 168(v0) 41
             174:   18(fvec4) Load 144(midPoint)
             220:    218(ptr) AccessChain 210 216 217
             221:         175 Load 220
             222:   18(fvec4) VectorTimesMatrix 174 221
                              Store 168(v0) 222
             228:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 226 226 16 16
             227:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 224 223(clip0) 41
             229:   18(fvec4) Load 168(v0)
             230:    8(float) Load 157(radius)
             233:    8(float) CompositeExtract 232 0
             234:    8(float) CompositeExtract 232 1
             235:    8(float) CompositeExtract 232 2
             236:   18(fvec4) CompositeConstruct 230 233 234 235
             237:   18(fvec4) FSub 229 236
             238:    218(ptr) AccessChain 210 216 216
             239:         175 Load 238
             240:   18(fvec4) VectorTimesMatrix 237 239
                              Store 223(clip0) 240
             246:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 244 244 16 16
             245:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 242 241(clip1) 41
             247:   18(fvec4) Load 168(v0)
             248:    8(float) Load 157(radius)
             249:    8(float) CompositeExtract 232 0
             250:    8(float) CompositeExtract 232 1
             251:    8(float) CompositeExtract 232 2
             252:   18(fvec4) CompositeConstruct 248 249 250 251
             253:   18(fvec4) FAdd 247 252
             254:    218(ptr) AccessChain 210 216 216
             255:         175 Load 254
             256:   18(fvec4) VectorTimesMatrix 253 255
                              Store 241(clip1) 256
             258:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 259 259 16 16
             257:    155(ptr) AccessChain 223(clip0) 17
             260:    8(float) Load 257
             261:   18(fvec4) Load 223(clip0)
             262:   18(fvec4) CompositeConstruct 260 260 260 260
             263:   18(fvec4) FDiv 261 262
                              Store 223(clip0) 263
             265:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 266 266 16 16
             264:    155(ptr) AccessChain 241(clip1) 17
             267:    8(float) Load 264
             268:   18(fvec4) Load 241(clip1)
             269:   18(fvec4) CompositeConstruct 267 267 267 267
             270:   18(fvec4) FDiv 268 269
                              Store 241(clip1) 270
             275:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 276 276 16 16
             274:    272(ptr) AccessChain 210 216 271
             277:   48(fvec2) Load 274
             278:   18(fvec4) Load 223(clip0)
             279:   48(fvec2) VectorShuffle 278 278 0 1
             280:   48(fvec2) FMul 279 277
             281:    155(ptr) AccessChain 223(clip0) 16
             282:    8(float) CompositeExtract 280 0
                              Store 281 282
             283:    155(ptr) AccessChain 223(clip0) 36
             284:    8(float) CompositeExtract 280 1
                              Store 283 284
             286:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 287 287 16 16
             285:    272(ptr) AccessChain 210 216 271
             288:   48(fvec2) Load 285
             289:   18(fvec4) Load 241(clip1)
             290:   48(fvec2) VectorShuffle 289 289 0 1
             291:   48(fvec2) FMul 290 288
             292:    155(ptr) AccessChain 241(clip1) 16
             293:    8(float) CompositeExtract 291 0
                              Store 292 293
             294:    155(ptr) AccessChain 241(clip1) 36
             295:    8(float) CompositeExtract 291 1
                              Store 294 295
             297:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 298 298 16 16
             296:   18(fvec4) Load 223(clip0)
             299:   18(fvec4) Load 241(clip1)
             300:    8(float) ExtInst 3(GLSL.std.450) 67(Distance) 296 299
             304:    302(ptr) AccessChain 210 216 301
             305:    8(float) Load 304
             306:    8(float) FDiv 300 305
             308:    302(ptr) AccessChain 210 216 307
             309:    8(float) Load 308
             310:    8(float) FMul 306 309
             313:    8(float) ExtInst 3(GLSL.std.450) 43(FClamp) 310 311 312
                              ReturnValue 313
                              FunctionEnd
59(frustumCheck(vf4;vf2;):    52(bool) Function None 55
         57(Pos):     21(ptr) FunctionParameter
        58(inUV):     50(ptr) FunctionParameter
              60:             Label
        319(pos):     21(ptr) Variable Function
          367(i):    365(ptr) Variable Function
              67:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
              66:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 64 57(Pos) 41
              70:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 68 58(inUV) 41
             318:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 63 63 16 16
             317:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 62 59(frustumCheck(vf4;vf2;)
             324:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 322 322 16 16
             323:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 320 319(pos) 41
             325:   18(fvec4) Load 57(Pos)
                              Store 319(pos) 325
             338:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 329 329 16 16
             337:         326 Load 334(textureHeight)
             348:         339 Load 345(samplerHeight)
             353:         349 SampledImage 337 348
             354:   48(fvec2) Load 58(inUV)
             355:   18(fvec4) ImageSampleExplicitLod 353 354 Lod 231
             356:    8(float) CompositeExtract 355 0
             358:    302(ptr) AccessChain 210 216 357
             359:    8(float) Load 358
             360:    8(float) FMul 356 359
             361:    155(ptr) AccessChain 319(pos) 36
             362:    8(float) Load 361
             363:    8(float) FSub 362 360
             364:    155(ptr) AccessChain 319(pos) 36
                              Store 364 363
             372:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 370 370 16 16
             371:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 368 367(i) 41
                              Store 367(i) 216
                              Branch 373
             373:             Label
             377:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
             378:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 370 370 16 16
                              LoopMerge 375 376 None
                              Branch 379
             379:             Label
             381:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
             382:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 370 370 16 16
             380:    213(int) Load 367(i)
             383:    52(bool) SLessThan 380 271
                              BranchConditional 383 374 375
             374:               Label
             385:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
             386:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 387 387 16 16
             384:   18(fvec4)   Load 319(pos)
             389:    213(int)   Load 367(i)
             392:    390(ptr)   AccessChain 210 216 388 389
             393:   18(fvec4)   Load 392
             394:    8(float)   Dot 384 393
             396:    8(float)   FAdd 394 395
             397:    52(bool)   FOrdLessThan 396 231
                                SelectionMerge 399 None
                                BranchConditional 397 398 399
             398:                 Label
             401:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
             402:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 403 403 16 16
                                  ReturnValue 400
             399:               Label
             406:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
                                Branch 376
             376:               Label
             408:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
             409:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 370 370 16 16
             407:    213(int)   Load 367(i)
             410:    213(int)   IAdd 407 217
                                Store 367(i) 410
                                Branch 373
             375:             Label
             411:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62
             412:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 413 413 16 16
                              ReturnValue 177
                              FunctionEnd
108(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];):95(ConstantsHSOutput) Function None 105
      107(patch):     89(ptr) FunctionParameter
             109:             Label
     421(output):    419(ptr) Variable Function
      431(param):     21(ptr) Variable Function
      436(param):     50(ptr) Variable Function
      471(param):     21(ptr) Variable Function
      477(param):     21(ptr) Variable Function
      482(param):     21(ptr) Variable Function
      487(param):     21(ptr) Variable Function
      492(param):     21(ptr) Variable Function
      497(param):     21(ptr) Variable Function
      502(param):     21(ptr) Variable Function
      507(param):     21(ptr) Variable Function
             116:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111
             115:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 113 107(patch) 41
             418:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 112 112 16 16
             417:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 111 108(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];)
             426:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 424 424 16 16
             425:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 422 421(output) 41
                              Store 421(output) 429
             433:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 434 434 16 16
             432:     21(ptr) AccessChain 107(patch) 216 216
             435:   18(fvec4) Load 432
                              Store 431(param) 435
             437:     50(ptr) AccessChain 107(patch) 216 430
             438:   48(fvec2) Load 437
                              Store 436(param) 438
             439:    52(bool) FunctionCall 59(frustumCheck(vf4;vf2;) 431(param) 436(param)
             440:    52(bool) LogicalNot 439
                              SelectionMerge 442 None
                              BranchConditional 440 441 462
             441:               Label
             444:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111
             445:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 446 446 16 16
             443:    155(ptr)   AccessChain 421(output) 217 216
                                Store 443 231
             448:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 449 449 16 16
             447:    155(ptr)   AccessChain 421(output) 217 217
                                Store 447 231
             451:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 452 452 16 16
             450:    155(ptr)   AccessChain 421(output) 216 216
                                Store 450 231
             454:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 455 455 16 16
             453:    155(ptr)   AccessChain 421(output) 216 217
                                Store 453 231
             457:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 458 458 16 16
             456:    155(ptr)   AccessChain 421(output) 216 430
                                Store 456 231
             460:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 461 461 16 16
             459:    155(ptr)   AccessChain 421(output) 216 388
                                Store 459 231
                                Branch 442
             462:               Label
             464:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111
             465:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 466 466 16 16
             463:    302(ptr)   AccessChain 210 216 307
             467:    8(float)   Load 463
             468:    52(bool)   FOrdGreaterThan 467 231
                                SelectionMerge 470 None
                                BranchConditional 468 469 528
             469:                 Label
             473:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111
             474:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 475 475 16 16
             472:     21(ptr)     AccessChain 107(patch) 388 216
             476:   18(fvec4)     Load 472
                                  Store 471(param) 476
             478:     21(ptr)     AccessChain 107(patch) 216 216
             479:   18(fvec4)     Load 478
                                  Store 477(param) 479
             480:    8(float)     FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 471(param) 477(param)
             481:    155(ptr)     AccessChain 421(output) 216 216
                                  Store 481 480
             484:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 485 485 16 16
             483:     21(ptr)     AccessChain 107(patch) 216 216
             486:   18(fvec4)     Load 483
                                  Store 482(param) 486
             488:     21(ptr)     AccessChain 107(patch) 217 216
             489:   18(fvec4)     Load 488
                                  Store 487(param) 489
             490:    8(float)     FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 482(param) 487(param)
             491:    155(ptr)     AccessChain 421(output) 216 217
                                  Store 491 490
             494:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 495 495 16 16
             493:     21(ptr)     AccessChain 107(patch) 217 216
             496:   18(fvec4)     Load 493
                                  Store 492(param) 496
             498:     21(ptr)     AccessChain 107(patch) 430 216
             499:   18(fvec4)     Load 498
                                  Store 497(param) 499
             500:    8(float)     FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 492(param) 497(param)
             501:    155(ptr)     AccessChain 421(output) 216 430
                                  Store 501 500
             504:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 505 505 16 16
             503:     21(ptr)     AccessChain 107(patch) 430 216
             506:   18(fvec4)     Load 503
                                  Store 502(param) 506
             508:     21(ptr)     AccessChain 107(patch) 388 216
             509:   18(fvec4)     Load 508
                                  Store 507(param) 509
             510:    8(float)     FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 502(param) 507(param)
             511:    155(ptr)     AccessChain 421(output) 216 388
                                  Store 511 510
             513:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 514 514 16 16
             512:    155(ptr)     AccessChain 421(output) 216 216
             515:    8(float)     Load 512
             516:    155(ptr)     AccessChain 421(output) 216 388
             517:    8(float)     Load 516
             518:    8(float)     ExtInst 3(GLSL.std.450) 46(FMix) 515 517 150
             519:    155(ptr)     AccessChain 421(output) 217 216
                                  Store 519 518
             521:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 522 522 16 16
             520:    155(ptr)     AccessChain 421(output) 216 430
             523:    8(float)     Load 520
             524:    155(ptr)     AccessChain 421(output) 216 217
             525:    8(float)     Load 524
             526:    8(float)     ExtInst 3(GLSL.std.450) 46(FMix) 523 525 150
             527:    155(ptr)     AccessChain 421(output) 217 217
                                  Store 527 526
                                  Branch 470
             528:                 Label
             530:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111
             531:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 532 532 16 16
             529:    155(ptr)     AccessChain 421(output) 217 216
                                  Store 529 311
             534:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 535 535 16 16
             533:    155(ptr)     AccessChain 421(output) 217 217
                                  Store 533 311
             537:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 538 538 16 16
             536:    155(ptr)     AccessChain 421(output) 216 216
                                  Store 536 311
             540:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 541 541 16 16
             539:    155(ptr)     AccessChain 421(output) 216 217
                                  Store 539 311
             543:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 544 544 16 16
             542:    155(ptr)     AccessChain 421(output) 216 430
                                  Store 542 311
             546:           4     ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 547 547 16 16
             545:    155(ptr)     AccessChain 421(output) 216 388
                                  Store 545 311
                                  Branch 470
             470:               Label
             548:           4   ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111
                                Branch 442
             442:             Label
             550:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111
             551:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 552 552 16 16
             549:95(ConstantsHSOutput) Load 421(output)
                              ReturnValue 549
                              FunctionEnd
132(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;):119(HSOutput) Function None 128
      130(patch):     89(ptr) FunctionParameter
131(InvocationID):    117(ptr) FunctionParameter
             133:             Label
     560(output):    558(ptr) Variable Function
             139:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 135
             138:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 137 130(patch) 41
             142:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 140 131(InvocationID) 41
             557:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 136 136 16 16
             556:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 135 132(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;)
             564:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 562 562 16 16
             563:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 561 560(output) 41
                              Store 560(output) 567
             569:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 570 570 16 16
             568:     11(int) Load 131(InvocationID)
             571:     21(ptr) AccessChain 130(patch) 568 216
             572:   18(fvec4) Load 571
             573:     21(ptr) AccessChain 560(output) 216
                              Store 573 572
             575:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 576 576 16 16
             574:     11(int) Load 131(InvocationID)
             579:    577(ptr) AccessChain 130(patch) 574 217
             580:   71(fvec3) Load 579
             581:    577(ptr) AccessChain 560(output) 217
                              Store 581 580
             583:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 584 584 16 16
             582:     11(int) Load 131(InvocationID)
             585:     50(ptr) AccessChain 130(patch) 582 430
             586:   48(fvec2) Load 585
             587:     50(ptr) AccessChain 560(output) 430
                              Store 587 586
             589:           4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 590 590 16 16
             588:119(HSOutput) Load 560(output)
                              ReturnValue 588
                              FunctionEnd
